Revert incorrect RCL_3 drop: RCL_3 PDK_3.0.2 PDK_3.0.3
authorPat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:57 +0100
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
child 55 9c2aa05919d9
Revert incorrect RCL_3 drop: Revision: 201029 Kit: 201035
accesssec.pro
accesssec_plat/accesssec_plat.pro
accesssec_plat/eap_qt_configuration_api/eap_qt_configuration_api.pri
accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtconfig.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtconfigexport.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtconfiginterface.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtexpandedeaptype.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtpluginhandle.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtplugininfo.h
accesssec_plat/eap_qt_configuration_api/inc/eapqtvalidator.h
accesssec_plat/eap_type_api/eap_type_api.metaxml
accesssec_plat/eap_type_api/group/bld.inf
accesssec_plat/eap_type_api/inc/EapExpandedType.h
accesssec_plat/eap_type_api/inc/EapGeneralSettings.h
accesssec_plat/eap_type_api/inc/EapGeneralSettings.inl
accesssec_plat/eap_type_api/inc/EapSettings.h
accesssec_plat/eap_type_api/inc/EapSettings.inl
accesssec_plat/eap_type_api/inc/EapTraceSymbian.h
accesssec_plat/eap_type_api/inc/EapType.h
accesssec_plat/eap_type_api/inc/EapType.inl
accesssec_plat/eap_type_api/inc/EapTypeDefinitions.h
accesssec_plat/eap_type_api/inc/EapTypeInfo.h
accesssec_plat/eap_type_api/inc/EapTypePlugin.h
accesssec_plat/eap_type_api/inc/EapTypePlugin.inl
accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml
accesssec_plat/eap_vpn_api/group/bld.inf
accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h
accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h
accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl
accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h
accesssec_plat/eapaka_db_api/eapaka_db_api.metaxml
accesssec_plat/eapaka_db_api/group/bld.inf
accesssec_plat/eapaka_db_api/inc/EapAkaUiAkaData.h
accesssec_plat/eapaka_db_api/inc/EapAkaUiConnection.h
accesssec_plat/eapaka_db_api/inc/EapAkaUiDataConnection.h
accesssec_plat/eapgtc_db_api/eapgtc_db_api.metaxml
accesssec_plat/eapgtc_db_api/group/bld.inf
accesssec_plat/eapgtc_db_api/inc/EapGtcUiConnection.h
accesssec_plat/eapgtc_db_api/inc/EapGtcUiDataConnection.h
accesssec_plat/eapgtc_db_api/inc/EapGtcUiGtcData.h
accesssec_plat/eapleap_db_api/eapleap_db_api.metaxml
accesssec_plat/eapleap_db_api/group/bld.inf
accesssec_plat/eapleap_db_api/inc/EapLeapUiConnection.h
accesssec_plat/eapleap_db_api/inc/EapLeapUiDataConnection.h
accesssec_plat/eapleap_db_api/inc/EapLeapUiLeapData.h
accesssec_plat/eapmschapv2_db_api/eapmschapv2_db_api.metaxml
accesssec_plat/eapmschapv2_db_api/group/bld.inf
accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiConnection.h
accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiDataConnection.h
accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiMsChapV2Data.h
accesssec_plat/eapsim_db_api/eapsim_db_api.metaxml
accesssec_plat/eapsim_db_api/group/bld.inf
accesssec_plat/eapsim_db_api/inc/EapSimUiConnection.h
accesssec_plat/eapsim_db_api/inc/EapSimUiDataConnection.h
accesssec_plat/eapsim_db_api/inc/EapSimUiSimData.h
accesssec_plat/eaptlspeap_db_api/eaptlspeap_db_api.metaxml
accesssec_plat/eaptlspeap_db_api/group/bld.inf
accesssec_plat/eaptlspeap_db_api/inc/AbsEapTlsPeapUiCertificates.h
accesssec_plat/eaptlspeap_db_api/inc/CertEntry.h
accesssec_plat/eaptlspeap_db_api/inc/EapFastNotifierStruct.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificate.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificates.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuite.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuites.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiConnection.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiDataConnection.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapType.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapTypes.h
accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiTlsPeapData.h
accesssec_plat/eaptlspeap_db_api/inc/EapTtlsPapNotifierStruct.h
accesssec_plat/group/bld.inf
accesssec_plat/wapi_db_api/group/bld.inf
accesssec_plat/wapi_db_api/inc/WapiCertificates.h
accesssec_plat/wapi_db_api/wapi_db_api.metaxml
accesssec_plat/wapi_security_settings_ui_api/group/bld.inf
accesssec_plat/wapi_security_settings_ui_api/inc/wapisecuritysettingsui.h
accesssec_plat/wapi_security_settings_ui_api/wapi_security_settings_ui_api.metaxml
accesssec_plat/wep_security_settings_ui_api/group/bld.inf
accesssec_plat/wep_security_settings_ui_api/inc/WEPSecuritySettingsUI.h
accesssec_plat/wep_security_settings_ui_api/wep_security_settings_ui_api.metaxml
accesssec_plat/wi-fi_protected_setup_ui_api/group/bld.inf
accesssec_plat/wi-fi_protected_setup_ui_api/inc/WiFiProtReturn.h
accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiclient.h
accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiddefs.h
accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiinprocess.h
accesssec_plat/wi-fi_protected_setup_ui_api/wi-fi_protected_setup_ui_api.metaxml
accesssec_plat/wlan_eap_settings_ui_api/group/bld.inf
accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.inl
accesssec_plat/wlan_eap_settings_ui_api/inc/EapAkaUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapGtcUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapLeapUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapMschapv2Ui.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapPeapUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapSimUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapTlsUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/EapTtlsUi.h
accesssec_plat/wlan_eap_settings_ui_api/inc/eapfastui.h
accesssec_plat/wlan_eap_settings_ui_api/inc/papui.h
accesssec_plat/wlan_eap_settings_ui_api/wlan_eap_settings_ui_api.metaxml
accesssec_plat/wpa_security_settings_ui_api/group/bld.inf
accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h
accesssec_plat/wpa_security_settings_ui_api/wpa_security_settings_ui_api.metaxml
eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp
eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h
eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp
eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp
eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp
eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp
eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp
eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp
eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp
eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp
eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp
eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp
eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp
eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp
eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp
eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp
eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp
eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp
eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp
eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h
eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp
eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_general_settings.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_message_if.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_pac_store.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_plugin.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_stack.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h
eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h
eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h
eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h
eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h
eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h
eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h
eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h
eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h
eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h
eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h
eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h
eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h
eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h
eapol/eapol_framework/eapol_common/am/include/eap_am_export.h
eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h
eapol/eapol_framework/eapol_common/am/include/eap_am_general_settings.h
eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h
eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h
eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h
eapol/eapol_framework/eapol_common/am/include/eap_am_message_if.h
eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h
eapol/eapol_framework/eapol_common/am/include/eap_am_pac_store.h
eapol/eapol_framework/eapol_common/am/include/eap_am_plugin.h
eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h
eapol/eapol_framework/eapol_common/am/include/eap_am_stack.h
eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h
eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h
eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h
eapol/eapol_framework/eapol_common/am/include/eap_am_types.h
eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h
eapol/eapol_framework/eapol_common/am/include/eap_file_config.h
eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h
eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h
eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h
eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h
eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h
eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h
eapol/eapol_framework/eapol_common/am/include/tls_am_services.h
eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp
eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp
eapol/eapol_framework/eapol_common/common/eap_base_type.cpp
eapol/eapol_framework/eapol_common/common/eap_buffer.cpp
eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp
eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp
eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp
eapol/eapol_framework/eapol_common/common/eap_handle.cpp
eapol/eapol_framework/eapol_common/common/eap_header.cpp
eapol/eapol_framework/eapol_common/common/eap_header_string.cpp
eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp
eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp
eapol/eapol_framework/eapol_common/common/eap_method_settings.cpp
eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp
eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp
eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp
eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp
eapol/eapol_framework/eapol_common/common/eap_status_string.cpp
eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp
eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp
eapol/eapol_framework/eapol_common/common/eap_tools.cpp
eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp
eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp
eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp
eapol/eapol_framework/eapol_common/common/eapol_header.cpp
eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp
eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp
eapol/eapol_framework/eapol_common/core/dummy_eap_core.cpp
eapol/eapol_framework/eapol_common/core/eap_config.cpp
eapol/eapol_framework/eapol_common/core/eap_core.cpp
eapol/eapol_framework/eapol_common/core/eap_core_client_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_core_map.cpp
eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp
eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp
eapol/eapol_framework/eapol_common/core/eap_core_server_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_general_settings_client_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_general_settings_message.cpp
eapol/eapol_framework/eapol_common/core/eap_general_settings_server_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_pac_store_client_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_pac_store_message_base.cpp
eapol/eapol_framework/eapol_common/core/eap_pac_store_server_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_plugin_client_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_plugin_message_base.cpp
eapol/eapol_framework/eapol_common/core/eap_plugin_server_message_if.cpp
eapol/eapol_framework/eapol_common/core/eap_process_tlv_message_data.cpp
eapol/eapol_framework/eapol_common/core/eap_session_core.cpp
eapol/eapol_framework/eapol_common/core/eap_session_core_base.cpp
eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp
eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp
eapol/eapol_framework/eapol_common/core/eapol_core.cpp
eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp
eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp
eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp
eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp
eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp
eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp
eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp
eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp
eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp
eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp
eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp
eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp
eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp
eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp
eapol/eapol_framework/eapol_common/core/ethernet_core.cpp
eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h
eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h
eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h
eapol/eapol_framework/eapol_common/include/abs_eap_core.h
eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h
eapol/eapol_framework/eapol_common/include/abs_eap_database_reference_if.h
eapol/eapol_framework/eapol_common/include/abs_eap_general_settings_message.h
eapol/eapol_framework/eapol_common/include/abs_eap_pac_store_message.h
eapol/eapol_framework/eapol_common/include/abs_eap_plugin_message.h
eapol/eapol_framework/eapol_common/include/abs_eap_session_core.h
eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h
eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h
eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h
eapol/eapol_framework/eapol_common/include/abs_eapol_core.h
eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h
eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h
eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h
eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h
eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_database_reference_if.h
eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h
eapol/eapol_framework/eapol_common/include/asn1_der_type.h
eapol/eapol_framework/eapol_common/include/dummy_eap_core.h
eapol/eapol_framework/eapol_common/include/eap_array.h
eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h
eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h
eapol/eapol_framework/eapol_common/include/eap_base_type.h
eapol/eapol_framework/eapol_common/include/eap_buffer.h
eapol/eapol_framework/eapol_common/include/eap_config.h
eapol/eapol_framework/eapol_common/include/eap_configuration_field.h
eapol/eapol_framework/eapol_common/include/eap_core.h
eapol/eapol_framework/eapol_common/include/eap_core_client_message_if.h
eapol/eapol_framework/eapol_common/include/eap_core_map.h
eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h
eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h
eapol/eapol_framework/eapol_common/include/eap_core_server_message_if.h
eapol/eapol_framework/eapol_common/include/eap_crypto_api.h
eapol/eapol_framework/eapol_common/include/eap_database_reference_if.h
eapol/eapol_framework/eapol_common/include/eap_expanded_type.h
eapol/eapol_framework/eapol_common/include/eap_general_header_base.h
eapol/eapol_framework/eapol_common/include/eap_general_settings_client_message_if.h
eapol/eapol_framework/eapol_common/include/eap_general_settings_message.h
eapol/eapol_framework/eapol_common/include/eap_general_settings_server_message_if.h
eapol/eapol_framework/eapol_common/include/eap_handle.h
eapol/eapol_framework/eapol_common/include/eap_header.h
eapol/eapol_framework/eapol_common/include/eap_header_string.h
eapol/eapol_framework/eapol_common/include/eap_master_session_key.h
eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h
eapol/eapol_framework/eapol_common/include/eap_method_settings.h
eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h
eapol/eapol_framework/eapol_common/include/eap_pac_store_client_message_if.h
eapol/eapol_framework/eapol_common/include/eap_pac_store_message_base.h
eapol/eapol_framework/eapol_common/include/eap_pac_store_server_message_if.h
eapol/eapol_framework/eapol_common/include/eap_plugin_client_message_if.h
eapol/eapol_framework/eapol_common/include/eap_plugin_message_base.h
eapol/eapol_framework/eapol_common/include/eap_plugin_server_message_if.h
eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h
eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h
eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h
eapol/eapol_framework/eapol_common/include/eap_session_core.h
eapol/eapol_framework/eapol_common/include/eap_session_core_base.h
eapol/eapol_framework/eapol_common/include/eap_sort.h
eapol/eapol_framework/eapol_common/include/eap_state_notification.h
eapol/eapol_framework/eapol_common/include/eap_state_selector.h
eapol/eapol_framework/eapol_common/include/eap_state_store.h
eapol/eapol_framework/eapol_common/include/eap_status.h
eapol/eapol_framework/eapol_common/include/eap_status_string.h
eapol/eapol_framework/eapol_common/include/eap_timer_queue.h
eapol/eapol_framework/eapol_common/include/eap_tlv_header.h
eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h
eapol/eapol_framework/eapol_common/include/eap_tools.h
eapol/eapol_framework/eapol_common/include/eap_type_all.h
eapol/eapol_framework/eapol_common/include/eap_type_all_types.h
eapol/eapol_framework/eapol_common/include/eap_type_selection.h
eapol/eapol_framework/eapol_common/include/eap_variable_data.h
eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h
eapol/eapol_framework/eapol_common/include/eapol_core.h
eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h
eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h
eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h
eapol/eapol_framework/eapol_common/include/eapol_header.h
eapol/eapol_framework/eapol_common/include/eapol_key_header.h
eapol/eapol_framework/eapol_common/include/eapol_key_state.h
eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h
eapol/eapol_framework/eapol_common/include/eapol_key_types.h
eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h
eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h
eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h
eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h
eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h
eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h
eapol/eapol_framework/eapol_common/include/eapol_session_key.h
eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h
eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h
eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h
eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h
eapol/eapol_framework/eapol_common/include/ethernet_core.h
eapol/eapol_framework/eapol_common/include/isakmp_header.h
eapol/eapol_framework/eapol_common/include/isakmp_payloads.h
eapol/eapol_framework/eapol_common/include/sae_cookie.h
eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp
eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp
eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h
eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h
eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h
eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h
eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h
eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp
eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp
eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp
eapol/eapol_framework/eapol_common/type/eap_type_all.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp
eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h
eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp
eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h
eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h
eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h
eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h
eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h
eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h
eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp
eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp
eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h
eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h
eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h
eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h
eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp
eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp
eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp
eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp
eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h
eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h
eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h
eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h
eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h
eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h
eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_state_notification.h
eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h
eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp
eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp
eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_state_notification.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_apply_cipher_spec.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_base_record.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_message_hash.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp
eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h
eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h
eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h
eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_state_notification.h
eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h
eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_state_notification.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp
eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp
eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp
eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp
eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp
eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConfigToolsSymbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/EapExpandedType.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/EapSettings.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf
eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf
eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/bld.inf
eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/eap_notifier.mmp
eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_notifier.h
eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_observer.h
eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_ui_strings.h
eapol/eapol_framework/eapol_symbian/am/eap_notifier/rom/eap_notifier.iby
eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp
eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_observer.cpp
eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss
eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss
eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h
eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h
eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp
eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp
eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h
eapol/eapol_framework/eapol_symbian/am/include/EapAutomatic.h
eapol/eapol_framework/eapol_symbian/am/include/EapConfigToolsSymbian.h
eapol/eapol_framework/eapol_symbian/am/include/EapConversion.h
eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h
eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h
eapol/eapol_framework/eapol_symbian/am/include/EapMessageQueue.h
eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h
eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h
eapol/eapol_framework/eapol_symbian/am/include/EapPluginTools.h
eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h
eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h
eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h
eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h
eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h
eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h
eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h
eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h
eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h
eapol/eapol_framework/eapol_symbian/am/include/Eapol.h
eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h
eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h
eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h
eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_trace_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h
eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h
eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapCertificateFetcher.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapTlsPeapUiCertificates.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastNotifierStruct.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.inl
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCertificates.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuite.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuites.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiConnection.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiDataConnection.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapType.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapTypes.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiTlsPeapData.h
eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTtlsPapNotifierStruct.h
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiAkaData.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiDataConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/inc/EapGeneric.h
eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp
eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGenericProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiDataConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiSimData.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiDataConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiMsChapV2Data.cpp
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp
eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiDataConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiGtcData.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp
eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp
eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/include/EapPluginDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/eap_am_type_tls_peap_symbian.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp
eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp
eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/inc/eap_ttls_pap_active.h
eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/src/eap_ttls_pap_active.cpp
eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss
eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h
eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp
eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF
eapol/eapol_framework/eapol_symbian/bwins/EapAuthServeru.def
eapol/eapol_framework/eapol_symbian/bwins/eap_notifieru.def
eapol/eapol_framework/eapol_symbian/bwins/eapakau.def
eapol/eapol_framework/eapol_symbian/bwins/eapclientifu.def
eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceimplementationu.def
eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceu.def
eapol/eapol_framework/eapol_symbian/bwins/eapgeneralsettingsu.def
eapol/eapol_framework/eapol_symbian/bwins/eapgenericu.def
eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def
eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def
eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def
eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def
eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def
eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def
eapol/eapol_framework/eapol_symbian/bwins/wlaneapolifu.def
eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF
eapol/eapol_framework/eapol_symbian/eabi/EapAuthServeru.def
eapol/eapol_framework/eapol_symbian/eabi/eap_notifieru.def
eapol/eapol_framework/eapol_symbian/eabi/eapakau.def
eapol/eapol_framework/eapol_symbian/eabi/eapclientifu.def
eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceimplementationu.def
eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceu.def
eapol/eapol_framework/eapol_symbian/eabi/eapgeneralsettingsu.def
eapol/eapol_framework/eapol_symbian/eabi/eapgenericu.def
eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def
eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def
eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def
eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def
eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def
eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def
eapol/eapol_framework/eapol_symbian/eabi/wlaneapolifu.def
eapol/eapol_framework/eapol_symbian/eap_if/data/20026FC8.rss
eapol/eapol_framework/eapol_symbian/eap_if/data/20026fcd.rss
eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd1.rss
eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd6.rss
eapol/eapol_framework/eapol_symbian/eap_if/data/2002BC91.rss
eapol/eapol_framework/eapol_symbian/eap_if/include/EapClientIf.h
eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterface.h
eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterfaceImplementation.h
eapol/eapol_framework/eapol_symbian/eap_if/include/EapFastPacStoreImpl.h
eapol/eapol_framework/eapol_symbian/eap_if/include/EapGeneralSettingsImpl.h
eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.h
eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.inl
eapol/eapol_framework/eapol_symbian/eap_if/include/EapSendInterface.h
eapol/eapol_framework/eapol_symbian/eap_if/include/REapSession.h
eapol/eapol_framework/eapol_symbian/eap_if/include/SendPacketHandler.h
eapol/eapol_framework/eapol_symbian/eap_if/include/eap_am_message_if_symbian.h
eapol/eapol_framework/eapol_symbian/eap_if/src/EapClientIf.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterface.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterfaceImplementation.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/EapFastPacStoreImpl.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsImpl.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsProxy.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp
eapol/eapol_framework/eapol_symbian/eap_if/src/eap_am_message_if_symbian.cpp
eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapProcessSendInterface.h
eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapSendInterface.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapCoreIf.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapPluginIf.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapScheduler.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapServer.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerBackup.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerClientDef.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerProcessHandler.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerStrings.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapSession.h
eapol/eapol_framework/eapol_symbian/eap_server/include/EapSettingsIf.h
eapol/eapol_framework/eapol_symbian/eap_server/include/PacStoreIf.h
eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_general_settings_symbian.h
eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_pac_store_symbian.h
eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_plugin_symbian.h
eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_stack_symbian.h
eapol/eapol_framework/eapol_symbian/eap_server/include/eap_loaded_type.h
eapol/eapol_framework/eapol_symbian/eap_server/src/EapCoreIf.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapPluginIf.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapScheduler.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapServer.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerBackup.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerExe.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerStrings.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapSession.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/EapSettingsIf.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/PacStoreIf.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_general_settings_symbian.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_pac_store_symbian.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_plugin_symbian.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_stack_symbian.cpp
eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp
eapol/eapol_framework/eapol_symbian/group/backup_registration.xml
eapol/eapol_framework/eapol_symbian/group/bld.inf
eapol/eapol_framework/eapol_symbian/group/eap_notifier.mmp
eapol/eapol_framework/eapol_symbian/group/eapaka.mmp
eapol/eapol_framework/eapol_symbian/group/eapauthserver.mmp
eapol/eapol_framework/eapol_symbian/group/eapauthserverexe.mmp
eapol/eapol_framework/eapol_symbian/group/eapclientif.mmp
eapol/eapol_framework/eapol_symbian/group/eapcoreinterface.mmp
eapol/eapol_framework/eapol_symbian/group/eapcoreinterfaceimplementation.mmp
eapol/eapol_framework/eapol_symbian/group/eapgeneralsettings.mmp
eapol/eapol_framework/eapol_symbian/group/eapgeneric.mmp
eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp
eapol/eapol_framework/eapol_symbian/group/eapol.mmh
eapol/eapol_framework/eapol_symbian/group/eapol.mmp
eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp
eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp
eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp
eapol/eapol_framework/eapol_symbian/group/eapsim.mmp
eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp
eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp
eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp
eapol/eapol_framework/eapol_symbian/rom/eapol.iby
eapol/eapol_framework/eapol_symbian/tools/bwins/eapsymbiantoolsu.def
eapol/eapol_framework/eapol_symbian/tools/bwins/eaptoolsu.def
eapol/eapol_framework/eapol_symbian/tools/bwins/eaptraceu.def
eapol/eapol_framework/eapol_symbian/tools/eabi/eapsymbiantoolsu.def
eapol/eapol_framework/eapol_symbian/tools/eabi/eaptoolsu.def
eapol/eapol_framework/eapol_symbian/tools/eabi/eaptraceu.def
eapol/eapol_framework/eapol_symbian/tools/group/bld.inf
eapol/eapol_framework/eapol_symbian/tools/group/eapsymbiantools.mmp
eapol/eapol_framework/eapol_symbian/tools/group/eaptools.mmp
eapol/eapol_framework/eapol_symbian/tools/group/eaptrace.mmp
eapol/group/bld.inf
group/bld.inf
layers.sysdef.xml
package_definition.xml
package_map.xml
securitysettings/cpeapuiplugins/cpeapciphersuiteui/bwins/cpeapciphersuiteuiu.def
securitysettings/cpeapuiplugins/cpeapciphersuiteui/cpeapciphersuiteui.pro
securitysettings/cpeapuiplugins/cpeapciphersuiteui/eabi/cpeapciphersuiteuiu.def
securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui.h
securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui_p.h
securitysettings/cpeapuiplugins/cpeapciphersuiteui/rom/cpeapciphersuiteui.iby
securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui.cpp
securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui_p.cpp
securitysettings/cpeapuiplugins/cpeapsimakaui/cpeapsimakaui.pro
securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaplugin.h
securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaui.h
securitysettings/cpeapuiplugins/cpeapsimakaui/rom/cpeapsimakaui.iby
securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaplugin.cpp
securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaui.cpp
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/cpeaptlsmethodsui.pro
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsinnereapui.h
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsplugin.h
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsui.h
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/rom/cpeaptlsmethodsui.iby
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsinnereapui.cpp
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsplugin.cpp
securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp
securitysettings/cpeapuiplugins/cpeapuiplugins.pro
securitysettings/cpeapuiplugins/cpeapuserpasswordui/cpeapuserpasswordui.pro
securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordplugin.h
securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordui.h
securitysettings/cpeapuiplugins/cpeapuserpasswordui/rom/cpeapuserpasswordui.iby
securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordplugin.cpp
securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordui.cpp
securitysettings/cpeapuiplugins/inc/eapuidefs.h
securitysettings/cpwlansecurityuiplugins/bwins/cpwpacmnuiu.def
securitysettings/cpwlansecurityuiplugins/cp802dot1xui/cp802dot1xui.pro
securitysettings/cpwlansecurityuiplugins/cp802dot1xui/inc/cp802dot1xui.h
securitysettings/cpwlansecurityuiplugins/cp802dot1xui/rom/cp802dot1xui.iby
securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp
securitysettings/cpwlansecurityuiplugins/cp802dot1xui/traces/OstTraceDefinitions.h
securitysettings/cpwlansecurityuiplugins/cpwepui/cpwepui.pro
securitysettings/cpwlansecurityuiplugins/cpwepui/inc/cpwepui.h
securitysettings/cpwlansecurityuiplugins/cpwepui/inc/wepkeyvalidator.h
securitysettings/cpwlansecurityuiplugins/cpwepui/rom/cpwepui.iby
securitysettings/cpwlansecurityuiplugins/cpwepui/src/cpwepui.cpp
securitysettings/cpwlansecurityuiplugins/cpwepui/src/wepkeyvalidator.cpp
securitysettings/cpwlansecurityuiplugins/cpwepui/traces/OstTraceDefinitions.h
securitysettings/cpwlansecurityuiplugins/cpwlansecurityuiplugins.pro
securitysettings/cpwlansecurityuiplugins/cpwpa2ui/cpwpa2ui.pro
securitysettings/cpwlansecurityuiplugins/cpwpa2ui/inc/cpwpa2ui.h
securitysettings/cpwlansecurityuiplugins/cpwpa2ui/rom/cpwpa2ui.iby
securitysettings/cpwlansecurityuiplugins/cpwpa2ui/src/cpwpa2ui.cpp
securitysettings/cpwlansecurityuiplugins/cpwpa2ui/traces/OstTraceDefinitions.h
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/cpwpacmnui.pro
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmneapui.h
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmnui_p.h
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/wpakeyvalidator.h
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/rom/cpwpacmnui.iby
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmneapui.cpp
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui.cpp
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/wpakeyvalidator.cpp
securitysettings/cpwlansecurityuiplugins/cpwpacmnui/traces/OstTraceDefinitions.h
securitysettings/cpwlansecurityuiplugins/cpwpaui/cpwpaui.pro
securitysettings/cpwlansecurityuiplugins/cpwpaui/inc/cpwpaui.h
securitysettings/cpwlansecurityuiplugins/cpwpaui/rom/cpwpaui.iby
securitysettings/cpwlansecurityuiplugins/cpwpaui/src/cpwpaui.cpp
securitysettings/cpwlansecurityuiplugins/cpwpaui/traces/OstTraceDefinitions.h
securitysettings/cpwlansecurityuiplugins/eabi/cpwpacmnuiu.def
securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui.h
securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui_global.h
securitysettings/cpwlansecurityuiplugins/rom/cpwlansecurityuiplugins_resources.iby
securitysettings/eapqtdialogs/eapqtdialogs.pro
securitysettings/eapqtdialogs/inc/eapdialogplugin.h
securitysettings/eapqtdialogs/inc/eapfastcreatemasterkeyquerydialog.h
securitysettings/eapqtdialogs/inc/eapfastinstallpacquerydialog.h
securitysettings/eapqtdialogs/inc/eapfastpacfilepwquerydialog.h
securitysettings/eapqtdialogs/inc/eapfastpacstorepwquerydialog.h
securitysettings/eapqtdialogs/inc/eapfastprovnotsuccessnotedialog.h
securitysettings/eapqtdialogs/inc/eapfastprovwaitnotedialog.h
securitysettings/eapqtdialogs/inc/eapmschapv2newpwddialog.h
securitysettings/eapqtdialogs/inc/eapmschapv2oldpwddialog.h
securitysettings/eapqtdialogs/inc/eapmschapv2pwdexpirednotedialog.h
securitysettings/eapqtdialogs/inc/eappasswordquerydialog.h
securitysettings/eapqtdialogs/inc/eapquerydialog.h
securitysettings/eapqtdialogs/inc/eapusernamepwddialog.h
securitysettings/eapqtdialogs/rom/eapdialogplugin.iby
securitysettings/eapqtdialogs/rom/eapdialogplugin_resources.iby
securitysettings/eapqtdialogs/src/eapdialogplugin.cpp
securitysettings/eapqtdialogs/src/eapfastcreatemasterkeyquerydialog.cpp
securitysettings/eapqtdialogs/src/eapfastinstallpacquerydialog.cpp
securitysettings/eapqtdialogs/src/eapfastpacfilepwquerydialog.cpp
securitysettings/eapqtdialogs/src/eapfastpacstorepwquerydialog.cpp
securitysettings/eapqtdialogs/src/eapfastprovnotsuccessnotedialog.cpp
securitysettings/eapqtdialogs/src/eapfastprovwaitnotedialog.cpp
securitysettings/eapqtdialogs/src/eapmschapv2newpwddialog.cpp
securitysettings/eapqtdialogs/src/eapmschapv2oldpwddialog.cpp
securitysettings/eapqtdialogs/src/eapmschapv2pwdexpirednotedialog.cpp
securitysettings/eapqtdialogs/src/eappasswordquerydialog.cpp
securitysettings/eapqtdialogs/src/eapquerydialog.cpp
securitysettings/eapqtdialogs/src/eapusernamepwddialog.cpp
securitysettings/eapqtdialogs/traces/OstTraceDefinitions.h
securitysettings/inc/cpeapplugininterface.h
securitysettings/qtconfigutils/eapqtconfiginterface/bwins/eapqtconfiginterfaceu.def
securitysettings/qtconfigutils/eapqtconfiginterface/eabi/eapqtconfiginterfaceu.def
securitysettings/qtconfigutils/eapqtconfiginterface/eapqtconfiginterface.pro
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtcertificateinfo_p.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfig_p.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfiginterface_p.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtpacstoreconfig_p.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepassword.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepasswordconfirm.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpassword.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorrealm.h
securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorusername.h
securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface.iby
securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface_resources.iby
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo_p.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig_p.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface_p.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig_p.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepassword.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepasswordconfirm.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpassword.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorrealm.cpp
securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorusername.cpp
securitysettings/qtconfigutils/eapqtplugininfo/bwins/eapqtplugininfou.def
securitysettings/qtconfigutils/eapqtplugininfo/eabi/eapqtplugininfou.def
securitysettings/qtconfigutils/eapqtplugininfo/eapqtplugininfo.pro
securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtexpandedeaptype_p.h
securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtpluginhandle_p.h
securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtplugininfo_p.h
securitysettings/qtconfigutils/eapqtplugininfo/rom/eapqtplugininfo.iby
securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype.cpp
securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype_p.cpp
securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp
securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle_p.cpp
securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo.cpp
securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo_p.cpp
securitysettings/qtconfigutils/qtconfigutils.pro
securitysettings/securitysettings.pro
sysdef_1_4_0.dtd
sysdef_1_5_1.dtd
wlansecuritysettings/group/bld.inf
wlansecuritysettings/wapisecuritysettingsui/bwinscw/wapisecuritysettingsuiu.def
wlansecuritysettings/wapisecuritysettingsui/eabi/wapisecuritysettingsuiu.def
wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsui.iby
wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsuiresources.iby
wlansecuritysettings/wapisecuritysettingsui/stub/group/bld.inf
wlansecuritysettings/wapisecuritysettingsui/stub/group/wapisecuritysettingsstub.mmp
wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsstub.cpp
wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsuistub.cpp
wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUI.iby
wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUIResources.iby
wlansecuritysettings/wepsecuritysettingsui/bwinscw/WEPSecuritySettingsUI_EKA2_ALRu.def
wlansecuritysettings/wepsecuritysettingsui/data/WEPSecuritySettingsUI.rss
wlansecuritysettings/wepsecuritysettingsui/eabi/WEPSecuritySettingsUI_EKA2_ALRu.def
wlansecuritysettings/wepsecuritysettingsui/group/WEPSecuritySettingsUI.mmp
wlansecuritysettings/wepsecuritysettingsui/group/bld.inf
wlansecuritysettings/wepsecuritysettingsui/group/wepsecuritysettingsuistub.mmp
wlansecuritysettings/wepsecuritysettingsui/inc/SecuritySettingsLogger.h
wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsDlg.h
wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.h
wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.inl
wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUI.hrh
wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiImpl.h
wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiPanic.h
wlansecuritysettings/wepsecuritysettingsui/inc/WepKeyDataTextSettingPage.h
wlansecuritysettings/wepsecuritysettingsui/inc/WepSecuritySettingsDefs.h
wlansecuritysettings/wepsecuritysettingsui/loc/wepsecuritysettingsui.loc
wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettings.cpp
wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsDlg.cpp
wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsImpl.cpp
wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUI.cpp
wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiImpl.cpp
wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiPanic.cpp
wlansecuritysettings/wepsecuritysettingsui/src/WepKeyDataTextSettingPage.cpp
wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsstub.cpp
wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsuistub.cpp
wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotclient_alru.def
wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotpluginu.def
wlansecuritysettings/wifiprotectedsetup/data/wifiprotplugin.rss
wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotclient_alru.def
wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotpluginu.def
wlansecuritysettings/wifiprotectedsetup/group/bld.inf
wlansecuritysettings/wifiprotectedsetup/group/wifiprot_icons.mk
wlansecuritysettings/wifiprotectedsetup/group/wifiprotclient.mmp
wlansecuritysettings/wifiprotectedsetup/group/wifiprotclientstub.mmp
wlansecuritysettings/wifiprotectedsetup/group/wifiprotplugin.mmp
wlansecuritysettings/wifiprotectedsetup/group/wifiprotpluginstub.mmp
wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.h
wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.inl
wlansecuritysettings/wifiprotectedsetup/inc/wifiprot.loc
wlansecuritysettings/wifiprotectedsetup/inc/wifiprotactiveresp.h
wlansecuritysettings/wifiprotectedsetup/inc/wifiprotlogger.h
wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsession.h
wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsyncclient.h
wlansecuritysettings/wifiprotectedsetup/inc/wifiprotuiclientimpl.h
wlansecuritysettings/wifiprotectedsetup/loc/wifiprot.loc
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunner.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunnercallback.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotconfirmationnotedlg.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotdlgsplugin.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotenterpindlg.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotinitiateeasysetupdlg.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.h
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.hrh
wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotselectnetworkdlg.h
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotactiverunner.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotconfirmationnotedlg.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotdlgsplugin.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotenterpindlg.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotinitiateeasysetupdlg.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotplugin.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotpluginstub.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp
wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotuiinprocess.cpp
wlansecuritysettings/wifiprotectedsetup/rom/WiFiProt.iby
wlansecuritysettings/wifiprotectedsetup/rom/WiFiProtResources.iby
wlansecuritysettings/wifiprotectedsetup/src/wifiprotactiveresp.cpp
wlansecuritysettings/wifiprotectedsetup/src/wifiprotsession.cpp
wlansecuritysettings/wifiprotectedsetup/src/wifiprotsyncclient.cpp
wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclient.cpp
wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientimpl.cpp
wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientstub.cpp
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/data/EapAkaUi.rss
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUi.hrh
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiView.h
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/loc/eapakaui.loc
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUi.cpp
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/data/EapGtcUi.rss
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUi.hrh
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiView.h
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/loc/eapgtcui.loc
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUi.cpp
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/data/GtcNotifDlgUi.rss
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCMessageDisplayDialog.h
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCResponseQueryDialog.h
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GtcNotifDlgPlugin.h
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/loc/gtcnotifdlg.loc
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCMessageDisplayDialog.cpp
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCResponseQueryDialog.cpp
wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/data/EapMschapv2Ui.rss
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2Ui.hrh
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiView.h
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2Ui.cpp
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiView.cpp
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/data/MsChapv2NotifDlgUi.rss
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDialog.h
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.h
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.inl
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDialog.cpp
wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDlgPlugin.cpp
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/data/EapPeapUi.rss
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUi.hrh
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiView.h
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/loc/eappeapui.loc
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUi.cpp
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/102072bb.rss
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/EAPPluginConfigRes.rss
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPlugInConfigurationDlg.h
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfig.hrh
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigUid.h
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfiguration.h
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.h
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.inl
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginInfo.h
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginList.h
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationDlg.cpp
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationModel.cpp
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfiguration.cpp
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfigurationProxy.cpp
wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginList.cpp
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/data/EapSimUi.rss
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUi.hrh
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiView.h
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/loc/eapsimui.loc
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUi.cpp
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiView.cpp
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/data/EapTlsUi.rss
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUi.hrh
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiView.h
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/loc/eaptlsui.loc
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUi.cpp
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiView.cpp
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/data/EapTtlsUi.rss
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUi.hrh
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiSettingArray.h
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiView.h
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/loc/eapttlsui.loc
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUi.cpp
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiSettingArray.cpp
wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiView.cpp
wlansecuritysettings/wlaneapsettingsui/bwinscw/eapfastnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/bwinscw/gtcnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/bwinscw/leapnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/bwinscw/mschapv2notifdlgu.def
wlansecuritysettings/wlaneapsettingsui/bwinscw/papnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/eabi/eapfastnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/eabi/gtcnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/eabi/leapnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/eabi/mschapv2notifdlgu.def
wlansecuritysettings/wlaneapsettingsui/eabi/papnotifdlgu.def
wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/data/2000cf2e.rss
wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/inc/eapnotifierdialoguiddefs.h
wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/src/eapnotifwrapper.cpp
wlansecuritysettings/wlaneapsettingsui/group/EapAkaUi.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapGtcUi.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapMschapv2Ui.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapPeapUi.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapPluginConfig.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapSimUi.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapTlsUi.mmp
wlansecuritysettings/wlaneapsettingsui/group/EapTtlsUi.mmp
wlansecuritysettings/wlaneapsettingsui/group/GtcNotifDlg.mmp
wlansecuritysettings/wlaneapsettingsui/group/MsChapv2NotifDlg.mmp
wlansecuritysettings/wlaneapsettingsui/group/bld.inf
wlansecuritysettings/wlaneapsettingsui/group/eapnotifwrapper.mmp
wlansecuritysettings/wlaneapsettingsui/group/papnotifdlg.mmp
wlansecuritysettings/wlaneapsettingsui/group/papui.mmp
wlansecuritysettings/wlaneapsettingsui/loc/wlaneapsettingsui.loc
wlansecuritysettings/wlaneapsettingsui/pap/configui/data/papui.rss
wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papui.hrh
wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuipwsettingitem.h
wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuisettingarray.h
wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuiview.h
wlansecuritysettings/wlaneapsettingsui/pap/configui/loc/papui.loc
wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papui.cpp
wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuipwsettingitem.cpp
wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuisettingarray.cpp
wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuiview.cpp
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/data/papnotifdlgui.rss
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papauthdialog.h
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengemsgdialog.h
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengereplydialog.h
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifdlgplugin.h
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifui.hrh
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/loc/papnotifdlg.loc
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papauthdialog.cpp
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengemsgdialog.cpp
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengereplydialog.cpp
wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp
wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUi.iby
wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUiResources.iby
wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUI.iby
wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUIResources.iby
wlansecuritysettings/wpasecuritysettingsui/bwinscw/WPASecuritySettingsUI_EKA2_ALRu.def
wlansecuritysettings/wpasecuritysettingsui/data/WPASecuritySettingsUI.rss
wlansecuritysettings/wpasecuritysettingsui/eabi/WPASecuritySettingsUI_EKA2_ALRu.def
wlansecuritysettings/wpasecuritysettingsui/group/WPASecuritySettingsUI.mmp
wlansecuritysettings/wpasecuritysettingsui/group/bld.inf
wlansecuritysettings/wpasecuritysettingsui/group/wpasecuritysettingsuistub.mmp
wlansecuritysettings/wpasecuritysettingsui/inc/SecuritySettingsLogger.h
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDefs.h
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDlg.h
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.h
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.inl
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUI.hrh
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiImpl.h
wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiPanic.h
wlansecuritysettings/wpasecuritysettingsui/loc/wpasecuritysettingsui.loc
wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettings.cpp
wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsDlg.cpp
wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsImpl.cpp
wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUI.cpp
wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiImpl.cpp
wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiPanic.cpp
wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsstub.cpp
wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsuistub.cpp
--- a/accesssec.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#	Project file for building accesssec package
-
-# %version: 5 %
-
-
-TEMPLATE = subdirs
-
-SUBDIRS  += \
-    accesssec_plat \
-    securitysettings
-
-CONFIG += ordered
-
-BLD_INF_RULES.prj_exports += \
-    "$${LITERAL_HASH}include \"./group/bld.inf\""
--- a/accesssec_plat/accesssec_plat.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#	Project file for accesssec_plat Qt exports
-#
-
-# %version: 2 %
-
-TEMPLATE = subdirs
-
-include(eap_qt_configuration_api/eap_qt_configuration_api.pri)
-
-for(filename,PLATFORM_HEADERS){
-    BLD_INF_RULES.prj_exports *= "$$filename MW_LAYER_PLATFORM_EXPORT_PATH($$basename(filename))"
-}
--- a/accesssec_plat/eap_qt_configuration_api/eap_qt_configuration_api.pri	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#	EAP Qt configuration API project include
-#
-
-# %version: 5 %
-
-
-PLATFORM_HEADERS += \
-    eap_qt_configuration_api/inc/eapqtcertificateinfo.h \
-    eap_qt_configuration_api/inc/eapqtconfig.h \
-    eap_qt_configuration_api/inc/eapqtconfiginterface.h \
-    eap_qt_configuration_api/inc/eapqtexpandedeaptype.h \
-    eap_qt_configuration_api/inc/eapqtpluginhandle.h \
-    eap_qt_configuration_api/inc/eapqtplugininfo.h \
-    eap_qt_configuration_api/inc/eapqtvalidator.h \
-    eap_qt_configuration_api/inc/eapqtconfigexport.h \
-    eap_qt_configuration_api/inc/eapqtpacstoreconfig.h
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Certificate information data structure for EAP QT
- *   configuration interface
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTCERTIFICATEINFO_H
-#define EAPQTCERTIFICATEINFO_H
-
-// System includes
-#include <QMetaType>
-#include <QVariant>
-#include <eapqtconfigexport.h>
-
-// User includes
-
-// Forward declarations
-class EapQtCertificateInfoPrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtCertificateInfo
-{
-
-public:
-
-    // Data types
-
-    enum ItemId
-    {
-        /*! QString */
-        SubjectName = 0,
-        /*! QString */
-        IssuerName,
-        /*! QString */
-        SerialNumber,
-        /*! QByteArray */
-        SubjectKeyId,
-        /*! QString */
-        ThumbPrint,
-        /*! QString */
-        CertificateLabel,
-        /* marker for the last item */
-        ItemIdLast
-    };
-
-    // default constructor
-    EapQtCertificateInfo();
-    // destructor
-    ~EapQtCertificateInfo();
-
-    // copy constuctor
-    EapQtCertificateInfo(const EapQtCertificateInfo& certInfo);
-    // assignment
-    EapQtCertificateInfo &operator=(const EapQtCertificateInfo& certInfo);
-
-    // gets the certificate field referred to by an id from ItemId
-    // returns QVariant::Invalid is the field has not been set
-    QVariant value(const ItemId id) const;
-
-    // sets the certificate field referred to by an id from ItemId
-    // does nothing if newValue >= ItemIdLast
-    void setValue(const ItemId id, const QVariant& newValue) const;
-
-    // resets the object i.e. any successive call to
-    // value() returns QVariant::Invalid
-    void clear() const;
-
-private: // data
-
-    QScopedPointer<EapQtCertificateInfoPrivate> d_ptr;
-
-};
-
-// Make the class known to QMetaType to support using QVariant
-Q_DECLARE_METATYPE(EapQtCertificateInfo)
-
-#endif // EAPQTCERTIFICATEINFO_H
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfig.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method QT configuration
- *
- */
-
-/*
- * %version: 8 %
- */
-
-#ifndef EAPQTCONFIG_H
-#define EAPQTCONFIG_H
-
-// System includes
-#include <QList>
-#include <QVariant>
-#include <eapqtconfigexport.h>
-
-// User includes
-
-// Forward declarations
-class EapQtConfigPrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtConfig
-{
-
-public:
-
-    // Data types
-
-    enum CipherSuite
-    {
-        /* from RFC4346, listing only suites supported by EAP server */
-        TLS_NULL_WITH_NULL_NULL           = 0x0000,
-        TLS_RSA_WITH_RC4_128_MD5          = 0x0004,
-        TLS_RSA_WITH_RC4_128_SHA          = 0x0005,
-        TLS_RSA_WITH_3DES_EDE_CBC_SHA     = 0x000a,
-        TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013,
-        TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016,
-        TLS_RSA_WITH_AES_128_CBC_SHA      = 0x002f,
-        TLS_DHE_DSS_WITH_AES_128_CBC_SHA  = 0x0032,
-        TLS_DHE_RSA_WITH_AES_128_CBC_SHA  = 0x0033,
-        TLS_DH_anon_WITH_AES_128_CBC_SHA  = 0x0034,
-    };
-
-    enum SettingsId
-    {
-        // see also EapSettings.h
-
-        /*! bool */
-        UsernameAutomatic = 0,
-        /*! QString */
-        Username,
-        /*! bool */
-        PasswordPrompt,
-        /*! write-only: QString */
-        Password,
-        /*! bool
-         * in read: defines if password already exists in settings database
-         * in write: when true, defines that password is not included in the provided
-         *      configuration since it already exists in settings database, i.e. earlier
-         *      set password remains unchanged */
-        PasswordStored,
-        /*! write-only: bool
-         * true: clears the password from database
-         * false: does nothing
-         */
-        PasswordClear,
-        /*! bool */
-        RealmAutomatic,
-        /*! QString */
-        Realm,
-        /*! bool */
-        UsePseudonyms,
-        /*! bool */
-        VerifyServerRealm,
-        /*! bool */
-        ClientAuthenticationRequired,
-        /*! uint */
-        SessionValidityTime,
-        /*! QList<uint>, values from EapQtConfig::CipherSuite */
-        CipherSuites,
-        /*! bool */
-        PeapVersion0Allowed,
-        /*! bool */
-        PeapVersion1Allowed,
-        /*! bool */
-        PeapVersion2Allowed,
-        /*! bool */
-        AuthorityCertificateAutomatic,
-        /*! QList< QVariant(EapQtCertificateInfo) > */
-        AuthorityCertificate,
-        /*! QList< QVariant(EapQtCertificateInfo) > */
-        UserCertificate,
-        /*! QList< QVariant(EapQtPluginHandle) > */
-        InnerType,
-        /*!  EapQtPluginHandle */
-        OuterType,
-        /*! bool */
-        ProvisioningModeAuthenticated,
-        /*! bool */
-        ProvisioningModeUnauthenticated,
-        /*! QString */
-        PACGroupReference,
-        /*! bool */
-        WarnADHPNoPAC,
-        /*! bool */
-        WarnADHPNoMatchingPAC,
-        /*! bool */
-        WarnNotDefaultServer,
-        /*! bool */
-        UseIdentityPrivacy,
-        /* marker for the last entry */
-        SettingsIdLast
-    };
-
-    // default constructor
-    EapQtConfig();
-    // destructor
-    ~EapQtConfig();
-
-    // gets the configuration field referred to by an id from SettingsId
-    // returns QVariant::Invalid is the field has not been set
-    QVariant value(const SettingsId id) const;
-
-    // sets the configuration field referred to by an id from SettingsId
-    // does nothing if newValue >= SettingsIdLast
-    void setValue(const SettingsId id, const QVariant &newValue) const;
-
-    // resets the object i.e. any successive call to
-    // value() returns QVariant::Invalid
-    void clear() const;
-
-private:
-
-    Q_DISABLE_COPY(EapQtConfig)
-
-private: // data
-
-    QScopedPointer<EapQtConfigPrivate> d_ptr;
-
-};
-
-#endif // EAPQTCONFIG_H
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfigexport.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   Export definition file for EAP QT configuration API
- *   headers
- *
- */
-
-/*
- * %version: 3 %
- */
-
-#ifndef EAPQTCONFIGEXPORT_H_
-#define EAPQTCONFIGEXPORT_H_
-
-#ifdef BUILD_EAP_QT_CONFIG_INTERFACE_DLL
-// the class gets exported
-#define EAP_QT_CONFIG_INTERFACE_EXPORT Q_DECL_EXPORT
-#else
-// the class gets imported (used)
-#define EAP_QT_CONFIG_INTERFACE_EXPORT Q_DECL_IMPORT
-#endif
-
-#ifdef BUILD_EAP_QT_PLUGIN_INFO_DLL
-// the class gets exported
-#define EAP_QT_PLUGIN_INFO_EXPORT Q_DECL_EXPORT
-#else
-// the class gets imported (used)
-#define EAP_QT_PLUGIN_INFO_EXPORT Q_DECL_IMPORT
-#endif
-
-#endif // EAPQTCONFIGEXPORT_H_
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfiginterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method configuration QT interface
- *
- */
-
-/*
- * %version: 8 %
- */
-
-#ifndef EAPQTCONFIGINTERFACE_H
-#define EAPQTCONFIGINTERFACE_H
-
-// System includes
-#include <qglobal.h>
-#include <eapqtconfig.h>
-#include <eapqtconfigexport.h>
-#include <eapqtpacstoreconfig.h>
-
-// User includes
-
-// Forward declarations
-class CpBaseSettingView;
-class EapQtValidator;
-class EapQtPluginInfo;
-class EapQtPluginHandle;
-class EapQtExpandedEapType;
-class EapQtCertificateInfo;
-class EapQtConfigInterfacePrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtConfigInterface
-{
-
-public:
-
-    // Data types
-
-    // bearer type used for creating an interface object
-    enum EapBearerType
-    {
-        // EAP configuration interface for WLAN
-        EapBearerTypeWlan = 0,
-        // EAP configuration interface for VPN
-        EapBearerTypeVpn
-    };
-
-    // IAP ID to be used for accessing limited number of
-    // API methods, see below the method descriptions
-    static const int IapIdUndefined = -1;
-
-    // NOTE: the default constuctor can only be used for creating validators
-    // with validatorEap() and validatorPacStore(), and accessing EAP-FAST PAC store,
-    // any other call throws an exeption;
-    // also, throws an exception if the construction fails
-    EapQtConfigInterface();
-
-    // this is the constructor for using the interface for all
-    // available operations, including validators;
-    // throws an exception if the construction fails;
-    // the parameter iapId is the identifier of the configured IAP;
-    // if iapId is negative (i.e. IapIdUndefined or negative), only a limited set of
-    // methods are available and setConfigurationReference must be later called to
-    // correct the IAP ID and use the rest of the API methods
-    EapQtConfigInterface(const EapBearerType bearerType, const int iapId);
-
-    // destructor
-    ~EapQtConfigInterface();
-
-    // method for creating a setting validator for the specified EAP method
-    // NOTE: CALLER OWNS the returned object
-    // returns NULL on failure (e.g. if the requested validator does not exist)
-    EapQtValidator *validatorEap(const EapQtExpandedEapType &type, const EapQtConfig::SettingsId id) const;
-
-    // method for creating a EAP-FAST PAC store validator, see also EapQtPacStoreConfig
-    // NOTE: CALLER OWNS the returned object
-    // returns NULL on failure (e.g. if EAP-FAST is not supported)
-    EapQtValidator *validatorPacStore(const EapQtPacStoreConfig::PacStoreSettings id) const;
-
-    // reads EAP-FAST PAC store configuration, see EapQtPacStoreConfig
-    // returns false on failure (e.g. if EAP-FAST is not supported)
-    bool readPacStoreConfiguration(EapQtPacStoreConfig &config) const;
-
-    // stores EAP-FAST PAC store configuration, see EapQtPacStoreConfig
-    // returns false on failure (e.g. if EAP-FAST is not supported)
-    bool savePacStoreConfiguration(const EapQtPacStoreConfig &config) const;
-
-    /**
-     * NOTE: all the following methods throw an exception if the interface
-     * instance was created with the default (validator) constructor;
-     * otherwise the return value is as defined
-     */
-
-    // sets the IAP ID for accesssing EAP settings with the other methods
-    // returns false on failure (e.g. WLAN IAP with the specified ID
-    // [if the ID is other than IapIdUndefined] does not exist)
-    bool setConfigurationReference(const int iapId) const;
-
-    // returns supported outer EAP types
-    // returns empty list on failure
-    QList<EapQtPluginInfo> supportedOuterTypes() const;
-
-    // returns supported inner EAP types for the specified outer type
-    // returns empty list on failure
-    QList<EapQtPluginInfo> supportedInnerTypes(const EapQtPluginHandle &outerType) const;
-
-    // retrieves the list of installed CA certificates;
-    // list returned from device database only when called for the first time,
-    // otherwise returns the list from cache;
-    // call updateCertificates() to update the cache;
-    // returns empty list on failure or if CA certificates do not exist
-    QList<EapQtCertificateInfo> certificateAuthorityCertificates() const;
-
-    // retrieves the lsit of installed user certificate list;
-    // list returned from device database only when called for the first time,
-    // otherwise returns the list from cache;
-    // call updateCertificates() to update the cache;
-    // returns empty list on failure or if user certificates do not exist
-    QList<EapQtCertificateInfo> userCertificates() const;
-
-    // updates CA and user certificate lists from the device database
-    bool updateCertificates() const;
-
-    // checks if the specified outer EAP is supported
-    // returns true if supported, false otherwise
-    bool isSupportedOuterType(const EapQtPluginHandle &handle) const;
-
-    // checks if the specified inner EAP is supported inside the specified outer EAP
-    // returns true if supported, false otherwise
-    bool isSupportedInnerType(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginHandle &innerHandle) const;
-
-    /**
-     * NOTE: all the following methods return failure if the current IAP
-     * ID is IapIdUndefined (or negative);
-     * setConfigurationReference must be called first to correct the IAP ID
-     */
-
-    // returns the list of activated outer EAP methods for the IAP
-    // returns empty list on failure
-    QList<EapQtPluginHandle> selectedOuterTypes() const;
-
-    // sets the list of activated outer EAP methods for the IAP
-    // returns empty list on failure
-    bool setSelectedOuterTypes(const QList<EapQtPluginHandle> &outerHandles) const;
-
-    // reads the configuration for pluginHandle inside outerHandle
-    // if outerHandle is EapQtPluginHandle::PluginUndefined, the configuration is read for
-    // pluginHandle as outer type;
-    // returns false on failure (e.g. outerHandle/pluginHandle is not supported)
-    bool readConfiguration(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginHandle &pluginHandle, EapQtConfig &config) const;
-
-    // stores the configuration for pluginHandle
-    // in config:
-    // if OuterType is defined, the configuration for pluginHandle is set inside this OuterType
-    // if OuterType is not defined, pluginHandle is for an outer type
-    // if InnerType is defined, the defined inner types in config are activated for pluginHandle
-    // if InnerType is not defined, the pluginHandle does not activate any inner type (or they do not exist)
-    // returns false on failure (e.g. pluginHandle is not supported)
-    bool saveConfiguration(const EapQtPluginHandle &pluginHandle, const EapQtConfig &config) const;
-
-    // deletes all EAP configurations for the current IAP ID
-    bool deleteConfiguration() const;
-
-    // returns control panel UI instance for the specified EAP method (pluginHandle)
-    // outerHandle specifies if the UI is for pluginHandle as outer (EapQtPluginHandle::PluginUndefined) or
-    // inner (other than EapQtPluginHandle::PluginUndefined) EAP method;
-    // NOTE: CALLER OWNS the returned object;
-    // returns NULL on failure (e.g. if the combination of outerHandle/pluginHandle is not supported)
-    // NOTE: the method throws an exception if current IAP ID is IapIdUndefined (or negative);
-    CpBaseSettingView *uiInstance(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginHandle &pluginHandle) const;
-
-private:
-
-    Q_DISABLE_COPY(EapQtConfigInterface)
-
-private: // data
-
-    QScopedPointer<EapQtConfigInterfacePrivate> d_ptr;
-
-};
-
-#endif // EAPQTCONFIGINTERFACE_H
-
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtexpandedeaptype.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Expanded EAP type QT data structure
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTEXPANDEDEAPTYPE_H
-#define EAPQTEXPANDEDEAPTYPE_H
-
-// System includes
-#include <QByteArray>
-#include <QMetaType>
-#include <eapqtconfigexport.h>
-
-// User includes
-
-// Forward declarations
-class EapQtExpandedEapTypePrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_PLUGIN_INFO_EXPORT EapQtExpandedEapType
-{
-
-public:
-
-    // Data types
-
-    enum Type
-    {
-        TypeUndefined = 0,
-        TypeEapAka,
-        TypeEapFast,
-        TypeEapGtc,
-        TypeLeap,
-        TypeEapMschapv2,
-        TypePeap,
-        TypeEapSim,
-        TypeEapTls,
-        TypeEapTtls,
-        TypeProtectedSetup,
-        TypePap,
-        TypePlainMschapv2,
-        // marker for the last item
-        TypeLast
-    };
-
-    // default constructor
-    EapQtExpandedEapType();
-
-    // constructs an instance from an EapQtExpandedEapType::Type value
-    EapQtExpandedEapType(const Type type);
-
-    // constructs an instance from expanded EAP type binary data,
-    // see RFC3748
-    EapQtExpandedEapType(const QByteArray &data);
-
-    // copy constructor
-    EapQtExpandedEapType(const EapQtExpandedEapType &type);
-
-    // destructor
-    ~EapQtExpandedEapType();
-
-    // returns expanded EAP type binary data,
-    // see RFC3748
-    QByteArray eapExpandedData() const;
-
-    // returns EapQtExpandedEapType::Type of the instance
-    Type type() const;
-
-    // assignment
-    EapQtExpandedEapType &operator=(const EapQtExpandedEapType &type);
-
-    // comparisons
-    bool operator ==(const EapQtExpandedEapType &right_type_value) const;
-    bool operator !=(const EapQtExpandedEapType &right_type_value) const;
-
-private: // data
-
-    QScopedPointer<EapQtExpandedEapTypePrivate> d_ptr;
-
-};
-
-// Make the class known to QMetaType to support using QVariant
-Q_DECLARE_METATYPE(EapQtExpandedEapType)
-
-#endif // EAPQTEXTENDEDEAPTYPE_H
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   EAP-FAST PAC store configuration data
- *
- */
-
-/*
- * %version: 6 %
- */
-
-#ifndef EAPQTPACSTORECONFIG_H
-#define EAPQTPACSTORECONFIG_H
-
-// System includes
-#include <QVariant>
-#include <eapqtconfigexport.h>
-
-// User includes
-
-// Forward declarations
-class EapQtPacStoreConfigPrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtPacStoreConfig
-{
-
-public:
-
-    // PAC store is global, i.e. only a single PAC store exists in a device
-
-    // Data types
-
-    enum PacStoreState
-    {
-        // PAC store does not exist and needs to be created
-        // (status also reverts to PacStoreStateStoreNotExists if the PAC store is
-        // corrupted, i.e. it gets deleted automatically)
-        PacStoreStateStoreNotExists = 0,
-        // PAC store exists but the password has not been stored and
-        // is needed to access the PAC store
-        PacStoreStatePasswordRequired,
-        // PAC store password has been stored to settings database
-        // and is not needed to use the PAC store
-        PacStoreStatePasswordStored,
-        // marker for the last item
-        PacStoreStateLast
-    };
-
-    enum PacStoreSettings
-    {
-        /*! write-only: QString
-         *      password to be used for accessing the PAC store
-         *      - must be new password if the read PacStoreState is PacStoreStateStoreNotExists
-         *      - must be password of the existing PAC store if the PacStoreState state is
-         *        PacStoreStatePasswordRequired */
-        PacStorePassword = 0,
-        /*! write-only: bool
-         *      true: saves the password given in settings
-         *      false: clears the earlier stored password from database, i.e. password
-         *        will be prompted when needed, PAC store itself remains valid
-         *      QVariant::Invalid: no actions */
-        PacStoreSavePassword,
-        /*! write-only: bool
-         *      true: deletes PAC store, i.e. clears everything related to the
-         *        existing PAC store inlcuding saved password
-         *      false/QVariant::Invalid: no actions */
-        PacStoreReset,
-        /*! read-only: int (PacStoreState) */
-        PacStoreState,
-        /*! no write nor read operation, for validator usage only
-         *  - uses the validator to check if the given password
-         *      can open the existing PAC store */
-        PacStorePasswordConfirmation,
-        // marker for the last item
-        PacStoreLast
-    };
-
-    // default constructor
-    EapQtPacStoreConfig();
-    // destructor
-    ~EapQtPacStoreConfig();
-
-    // gets the configuration field referred to by an id from PacStoreSettings
-    // returns QVariant::Invalid is the field has not been set
-    QVariant value(const PacStoreSettings id) const;
-
-    // sets the configuration field referred to by an id from PacStoreSettings
-    // does nothing if newValue >= PacStoreLast
-    void setValue(const PacStoreSettings id, const QVariant &newValue) const;
-
-    // resets the object i.e. any successive call to
-    // value() returns QVariant::Invalid
-    void clear() const;
-
-private:
-
-    Q_DISABLE_COPY(EapQtPacStoreConfig)
-
-private: // data
-
-    QScopedPointer<EapQtPacStoreConfigPrivate> d_ptr;
-
-};
-
-#endif // EAPQTPACSTORECONFIG_H
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtpluginhandle.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP UI plugin handle
- *
- */
-
-/*
- * %version: 7 %
- */
-
-#ifndef EAPQTPLUGINHANDLE_H
-#define EAPQTPLUGINHANDLE_H
-
-// System includes
-#include <qglobal.h>
-#include <QMetaType>
-#include <eapqtconfigexport.h>
-
-// User includes
-
-// Forward declarations
-class EapQtExpandedEapType;
-class EapQtPluginHandlePrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_PLUGIN_INFO_EXPORT EapQtPluginHandle
-{
-
-public:
-    
-    // Data types
-
-    enum Plugin
-    {
-        PluginUndefined = 0,
-        PluginEapAka,
-        PluginEapFast,
-        PluginEapGtc,
-        PluginLeap,
-        PluginEapMschapv2,
-        PluginPeap,
-        PluginEapSim,
-        PluginEapTls,
-        PluginEapTtls,
-        PluginPap,
-        PluginPlainMschapv2,
-        PluginLast
-    };
-
-    // default constructor
-    EapQtPluginHandle();
-
-    // constructs an instance from an EapQtPluginHandle::Plugin value
-    EapQtPluginHandle(const Plugin id);
-
-    // constructs an instance from an EapQtExpandedEapType object,
-    // maps the supplied type to UIDs of default EAP protocol implementations
-    EapQtPluginHandle(const EapQtExpandedEapType &type);
-
-    // copy constructor
-    EapQtPluginHandle(const EapQtPluginHandle &handle);
-
-    // constructs an instance from an EapQtExpandedEapType object and
-    // supplied EAP protocol implementation UID
-    EapQtPluginHandle(const EapQtExpandedEapType &type, int uid);
-
-    // destructor
-    ~EapQtPluginHandle();
-
-    // returns EapQtExpandedEapType of the handle instance
-    EapQtExpandedEapType type() const;
-
-    // returns EAP protocol implementation UID of the handle instance
-    int protocolImplementationUid() const;
-
-    // returns EapQtPluginHandle::Plugin of the handle instance
-    Plugin pluginId() const;
-
-    // assignment
-    EapQtPluginHandle &operator=(const EapQtPluginHandle &handle);
-
-    // comparisons
-    bool operator ==(const EapQtPluginHandle &right_type_value) const;
-    bool operator !=(const EapQtPluginHandle &right_type_value) const;
-
-private: // data
-
-    QScopedPointer<EapQtPluginHandlePrivate> d_ptr;
-
-};
-
-// Make the class known to QMetaType to support using QVariant
-Q_DECLARE_METATYPE(EapQtPluginHandle)
-
-#endif // EAPQTPLUGINHANDLE_H
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtplugininfo.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP UI plugin information
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTPLUGININFO_H
-#define EAPQTPLUGININFO_H
-
-// System includes
-#include <QString>
-#include <eapqtconfigexport.h>
-
-// User includes
-
-// Forward declarations
-class EapQtPluginHandle;
-class EapQtPluginInfoPrivate;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EAP_QT_PLUGIN_INFO_EXPORT EapQtPluginInfo
-{
-
-public:
-
-    // Data types
-
-    // copy constructor
-    EapQtPluginInfo(const EapQtPluginInfo &info);
-
-    // constructs an instance from an plugin handle,
-    // plugin name as a string (e.g. "EAP-SIM") used on the UI, and oder number;
-    // order number specifies the location of the plugin in lists of
-    // EAP plugins shown on the UI
-    EapQtPluginInfo(const EapQtPluginHandle &id, const QString &locId, const int orderNumber );
-
-    // destructor
-    ~EapQtPluginInfo();
-
-    // returns plugin handle of the instance
-    EapQtPluginHandle pluginHandle() const;
-
-    // returns plugin name string of the instance
-    QString localizationId() const;
-
-    // returns order number of the instance
-    int orderNumber() const;
-
-    // assignment
-    EapQtPluginInfo &operator=(const EapQtPluginInfo &info);
-    
-private:
-    EapQtPluginInfo();
-
-private: // data
-
-    QScopedPointer<EapQtPluginInfoPrivate> d_ptr;
-
-};
-
-#endif // EAPQTPLUGININFO_H
--- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtvalidator.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP QT configuration validator interface
- *
- */
-
-/*
- * %version: 6 %
- */
-
-#ifndef EAPQTVALIDATOR_H
-#define EAPQTVALIDATOR_H
-
-// System includes
-#include <qglobal.h>
-
-// User includes
-
-// Forward declarations
-class QVariant;
-class HbLineEdit;
-
-// External data types
-
-// Constants
-
-// Class declaration
-
-/*
- * Eap Qt Validator interface. This interface provides a method to configure
- * the editor to use required constraints, hints, editor classes and so one
- * depending on the EAP type and the configuration identifier.
- * See updateEditor() method for further details.
- * 
- * validate() method checks that the content and format are valid for
- * given configuration parameter.
- * 
- * An instance of a validator is created with
- * EapQtConfigInterface::validatorEap() method.
- */
-
-class EapQtValidator
-{
-
-public:
-
-    // Data types
-
-    /*
-     * Validation status. Can be extended.
-     */
-    enum Status {
-        /// Ok
-        StatusOk = 0,
-        /// Content is invalid
-        StatusInvalid,
-        /// The length is not valid
-        StatusInvalidLength,
-        /// Invalid characters detected
-        StatusInvalidCharacters,
-        /// Input is too short
-        StatusTooShort, 
-        /// Input is too long
-        StatusTooLong,  
-    };
-
-    EapQtValidator() {};
-    virtual ~EapQtValidator() {};
-
-    /*!
-     * Validates the given input \a value.
-     *
-     * @param value Value to be validated
-     * 
-     * @return Status code.
-     */
-    virtual Status validate(const QVariant &value) = 0;
-   
-    /*!
-     * Sets required configurations to the line edit.
-     * 
-     * Configurations depend on given EAP type and the configuration
-     * identifire which was used to instantiate the validator.
-     * 
-     * @param edit LineEdit to be updated.
-     */
-    virtual void updateEditor(HbLineEdit* const edit) = 0;
-    
-private:
-
-    Q_DISABLE_COPY(EapQtValidator)
-};
-
-#endif
--- a/accesssec_plat/eap_type_api/eap_type_api.metaxml	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_type_api/eap_type_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -3,17 +3,15 @@
   <name>EAP Type API</name>
   <description>Generic API for configuring EAP type plugins</description>
   <type>c++</type>
-  <subsystem>accesssec</subsystem>
+  <subsystem>wlaneapol</subsystem>
   <libs>
-    eapsymbiantools.lib
-    eaptools.lib
   </libs>
   <release category="domain"/>
   <attributes>
      <!-- This indicates wether the api provedes separate html documentation -->
      <!-- or is the additional documentation generated from headers. -->
      <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
+     <htmldocprovided>yes</htmldocprovided>
      <adaptation>no</adaptation>
   </attributes>
 </api>
--- a/accesssec_plat/eap_type_api/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_type_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -17,7 +17,7 @@
 */
 
 /*
-* %version: tr1cfwln#17 %
+* %version: tr1cfwln#5.1.2 %
 */
 
 #include <platform_paths.hrh>
@@ -27,16 +27,8 @@
 
 PRJ_EXPORTS
 
-../inc/EapTraceSymbian.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTraceSymbian.h)
-../inc/EapExpandedType.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapExpandedType.h)
-../inc/EapTypeDefinitions.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTypeDefinitions.h)
 ../inc/EapType.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapType.h)
 ../inc/EapType.inl     MW_LAYER_PLATFORM_EXPORT_PATH(EapType.inl)
-../inc/EapTypePlugin.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTypePlugin.h)
-../inc/EapTypePlugin.inl     MW_LAYER_PLATFORM_EXPORT_PATH(EapTypePlugin.inl)
 ../inc/EapSettings.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapSettings.h)
+../inc/EapSettings.inl     MW_LAYER_PLATFORM_EXPORT_PATH(EapSettings.inl)
 ../inc/EapTypeInfo.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTypeInfo.h)
-../inc/EapGeneralSettings.inl     MW_LAYER_PLATFORM_EXPORT_PATH(EapGeneralSettings.inl)
-../inc/EapGeneralSettings.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapGeneralSettings.h)
-
-// end
--- a/accesssec_plat/eap_type_api/inc/EapExpandedType.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +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:  EAP-expanded type definition.
-*
-*/
-
-/*
-* %version: 17 %
-*/
-
-#ifndef _SYMBIAN_EAP_EXPANDED_TYPE_H_
-#define _SYMBIAN_EAP_EXPANDED_TYPE_H_
-
-#include <e32base.h>
-
-const TUint KEapExpandedTypeLength = 8;
-
-//--------------------------------------------------
-
-class TEapExpandedType
-{
-public:
-
-	IMPORT_C TEapExpandedType();
-
-	IMPORT_C virtual ~TEapExpandedType();
-
-	IMPORT_C TEapExpandedType(const TEapExpandedType * const init);
-
-	IMPORT_C TEapExpandedType(const TEapExpandedType & init);
-
-	IMPORT_C TEapExpandedType(const TBufC8<KEapExpandedTypeLength> & init);
-
-	IMPORT_C TEapExpandedType(const TDesC8 & init);
-
-	IMPORT_C const TBuf8<KEapExpandedTypeLength> & GetValue() const;
-
-	IMPORT_C TInt SetValue(
-		const void * const data,
-		const TUint data_length);
-
-	IMPORT_C TInt SetValue(
-		const TUint vendor_id,
-		const TUint vendor_type);
-
-	IMPORT_C TEapExpandedType &operator = (const TEapExpandedType & right_type_value);
-
-	IMPORT_C TEapExpandedType &operator = (const TBufC8<KEapExpandedTypeLength> & right_type_value);
-
-	IMPORT_C TEapExpandedType &operator = (const TDesC8 &right_type_value);
-
-	IMPORT_C TInt Compare(const TEapExpandedType &right_type_value) const;
-
-	IMPORT_C bool operator == (const TEapExpandedType &right_type_value) const;
-
-	IMPORT_C bool operator != (const TEapExpandedType &right_type_value) const;
-
-	IMPORT_C TUint GetVendorId() const;
-
-	IMPORT_C TUint GetVendorType() const;
-
-private:
-
-	TBuf8<KEapExpandedTypeLength> iValue;
-};
-
-//--------------------------------------------------
-
-/// This template is binary compatible with TEapExpandedType.
-template <TUint buffer_length>
-class TConstEapExpandedTypeTemplate
-{
-public:
-
-	/// GetType() casts the constant TConstEapExpandedTypeTemplate<KEapExpandedTypeLength> object to TEapExpandedType *.
-	inline const TBufC8<buffer_length> * GetType() const;
-
-	// These must be public.
-	TUint   m_field_length;
-	TUint8  m_field[buffer_length];
-};
-
-template <TUint buffer_length>
-inline const TBufC8<buffer_length> * TConstEapExpandedTypeTemplate<buffer_length>::GetType() const
-{
-	return reinterpret_cast<const TBufC8<buffer_length> *>(this);
-}
-
-//--------------------------------------------------
-
-/// Macro initializes const TEapExpandedType object named "name".
-/// Each value value1 ... value8 initializes 8-bit byte of expanded EAP-type.
-/// EAP-type field is defined in RFC3748:
-///  0                   1                   2                   3
-///  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-/// |     Type      |               Vendor-Id                       |
-/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-/// |                          Vendor-Type                          |
-/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-/// 
-/// Type
-/// 
-///    254 for Expanded Type
-/// 
-/// Vendor-Id
-/// 
-///    The Vendor-Id is 3 octets and represents the SMI Network
-///    Management Private Enterprise Code of the Vendor in network byte
-///    order, as allocated by IANA.  A Vendor-Id of zero is reserved for
-///    use by the IETF in providing an expanded global EAP Type space.
-/// 
-/// Vendor-Type
-/// 
-///    The Vendor-Type field is four octets and represents the vendor-
-///    specific method Type.
-/// 
-///    If the Vendor-Id is zero, the Vendor-Type field is an extension
-///    and superset of the existing namespace for EAP Types.  The first
-///    256 Types are reserved for compatibility with single-octet EAP
-///    Types that have already been assigned or may be assigned in the
-///    future.  Thus, EAP Types from 0 through 255 are semantically
-///    identical, whether they appear as single octet EAP Types or as
-///    Vendor-Types when Vendor-Id is zero.  There is one exception to
-///    this rule: Expanded Nak and Legacy Nak packets share the same
-///    Type, but must be treated differently because they have a
-///    different format.
-/// 
-/// Macro casts initialized TConstEapExpandedTypeTemplate<KEapExpandedTypeLength>.
-#define EAP_EXPANDED_TYPE_CONST(name, value1, value2, value3, value4, value5, value6, value7, value8) \
-	static const TConstEapExpandedTypeTemplate<KEapExpandedTypeLength> name \
-		= {KEapExpandedTypeLength, {value1, value2, value3, value4, value5, value6, value7, value8}}
-
-//--------------------------------------------------
-
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeNone,           0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
-
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeGtc,            0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeTls,            0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeLeap,           0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeSim,            0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeTtls,           0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeAka,            0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypePeap,           0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeMsChapv2,       0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeFast,           0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b);
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeProtectedSetup, 0xfe, 0x00, 0x37, 0x2a, 0x00, 0x00, 0x00, 0x01);
-
-EAP_EXPANDED_TYPE_CONST(EapExpandedTypeTtlsPap,        0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x62); // This is for internal use only. This value is used in configuration of TTLS/PAP.
-EAP_EXPANDED_TYPE_CONST(EapExpandedPlainMsChapv2,      0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x63); // This is for internal use only. This value is used in configuration of TTLS/plain-MsChapv2.
-
-//--------------------------------------------------
-
-#endif // _SYMBIAN_EAP_EXPANDED_TYPE_H_
-
-// End of file
--- a/accesssec_plat/eap_type_api/inc/EapGeneralSettings.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Class is interface to the generic EAP type.
-*
-*/
-
-/*
-* %version: 14 %
-*/
-
-#ifndef _EAP_GENERAL_SETTINGS_H_
-#define _EAP_GENERAL_SETTINGS_H_
-
-// INCLUDES
-#include <EapType.h>
-#include <EapExpandedType.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-* Class is interface to the generic EAP type.
-*/
-class CEapGeneralSettings
-: public CBase
-{
-public:
-
-	/**
-	* Construction function. Called by ECom after the EAP generic plugin has been loaded.
-	* @param aIndexType is the bearer type, ELan for WLAN and EVpn for VPN.
-	* @param aIndex is the WLAN service ID for WLAN bearer type and IAP id for VPN. Each bearer must use same aIndex for configuration and authentication.
-	* @return Pointer to the instance.
-	*/
-	inline static CEapGeneralSettings* NewL(
-		const TIndexType aIndexType,	
-		const TInt aIndex);
-
-	/**
-	* Destructor does nothing.
-	*/
-	inline virtual ~CEapGeneralSettings();
-	
-	/**
-	* Returns the version of the interface that the EAP type implements.
-	* The client-side of the interface must always check the version with this function 
-	* and not call the functions that are not implemented. New functions must be
-	* added to the end of the interface so that the order of the old functions
-	* does not change.
-	* @return Integer indicating the version.
-	*/
-	virtual TUint GetInterfaceVersion() = 0;
-
-	/**
-	 * Function sets the active and disabled EAP-methods.
-	 * @param aActiveEapMethods includes a list of enabled EAP-methods. This list can be empty
-	 * @param aDisabledEapMethods includes a list of disabled EAP-methods. This list can be empty.
-	 */
-	virtual TInt SetEapMethods(
-		const RArray<TEapExpandedType> & aActiveEapMethods,
-		const RArray<TEapExpandedType> & aDisabledEapMethods) = 0;
-
-	/**
-	 * Function gets the active and disabled EAP-methods.
-	 * @param aActiveEapMethods includes a list of enabled EAP-methods. This list can be empty
-	 * @param aDisabledEapMethods includes a list of disabled EAP-methods. This list can be empty.
-	 */
-	virtual TInt GetEapMethods(
-		RArray<TEapExpandedType> & aActiveEapMethods,
-		RArray<TEapExpandedType> & aDisabledEapMethods) = 0;
-
-	/**
-	 * Function gets the all installed certificates.
-	 * @param aUserCerts includes a list of user certificates. This list can be empty.
-	 * @param aCACerts includes a list of CA root certificates. This list can be empty.
-	 */
-	virtual TInt GetCertificateLists(
-		RPointerArray<EapCertificateEntry> & aUserCerts,
-		RPointerArray<EapCertificateEntry> & aCACerts) = 0;
-
-	/**
-	 * Function deletes all settings of the IAP, a pair (aIndexType, aIndex) of NewL() function selects the deleted items.
-	 */
-	virtual TInt DeleteAllEapSettings() = 0;
-
-	/**
-	 * Function copies all settings of the IAP to destination.
-	 * A pair (aIndexType, aIndex) of NewL() function selects the source items.
-	 * A pair (aDestinationIndexType, aDestinationIndex) selects the destination.
-	 */
-	virtual TInt CopyAllEapSettings(
-		const TIndexType aDestinationIndexType,
-		const TInt aDestinationIndex) = 0;
-
-private:
-
-	/// ECom uses this key to keep track of DLL usage.
-	TUid iDtor_ID_Key;
-
-};
-
-#include "EapGeneralSettings.inl"
-
-#endif // _EAP_GENERAL_SETTINGS_H_
-
-// End of file
--- a/accesssec_plat/eap_type_api/inc/EapGeneralSettings.inl	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Class is interface to the generic EAP type.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#include "EapTraceSymbian.h"
-
-inline CEapGeneralSettings* CEapGeneralSettings::NewL(
-		const TIndexType aIndexType,	
-		const TInt aIndex)
-{
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapGeneralSettings::NewL(): start")));
-
-    // The arguments are stored to a iapInfo struct.
-    SIapInfo iapInfo;
-    iapInfo.indexType = aIndexType;
-    iapInfo.index = aIndex;
-    iapInfo.aEapType = *EapExpandedTypeNone.GetType();
-
-    // This call finds and loads the correct DLL and after that calls the
-    // entry function in the interface implementation in the DLL.
-    TAny* ptr = 0;
-
-    const TUid KimplementationUid = { 0x20026FD8 };
-
-    TRAPD( err, ptr = REComSession::CreateImplementationL(
-            KimplementationUid,
-            _FOFF(CEapGeneralSettings, iDtor_ID_Key), 
-            &iapInfo));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapGeneralSettings::NewL(): CreateImplementationL(Uid=0x%08x), err=%d, returns ptr=0x%08x\n"),
-		KimplementationUid.iUid,
-        err,
-        ptr));
-
-    User::LeaveIfError(err);
-
-    return (CEapGeneralSettings *) ptr;
-}
-
-inline CEapGeneralSettings::~CEapGeneralSettings()
-{
-	// Unload DLL
-    REComSession::DestroyedImplementation(iDtor_ID_Key);
-}
-
-// End of file
--- a/accesssec_plat/eap_type_api/inc/EapSettings.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_type_api/inc/EapSettings.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 11.1.29 %
+* %version: 11.1.2.1.3 %
 */
 
 // Refer the document S60_3_1_EAP_Symbian_Adaptation_Design_C.doc for more 
@@ -25,170 +25,21 @@
 #ifndef EAP_SETTINGS_H
 #define EAP_SETTINGS_H
 
-#include <unifiedcertstore.h>
-#include <cctcertinfo.h>
-#include "EapExpandedType.h"
-
 const TUint KGeneralStringMaxLength = 255;
 const TUint KKeyIdentifierLength = 255;
 const TUint KThumbprintMaxLength = 64;
-/* This is the maximum length of a certificate primary/secondary name we are interested in. */
-const TUint32 KMaxCertNameLength = 64;
 
-
-//-------------------------------------------------------------------------------
-
-class EapCertificateEntry
-: public CBase
+class CertificateEntry
 {
-
 public:
 
-	enum TCertType
-	{
-		ENone,
+	CertificateEntry();
+
+	enum TCertType {
 		EUser,
 		ECA
 	};
 
-	IMPORT_C EapCertificateEntry();
-
-	IMPORT_C virtual ~EapCertificateEntry();
-
-	IMPORT_C void trace() const;
-
-	IMPORT_C EapCertificateEntry * Copy();
-
-	// This operator is indentionally without implementation.
-	EapCertificateEntry * const operator = (const EapCertificateEntry * const right_type_value); // Do not use this.
-
-	IMPORT_C EapCertificateEntry &operator = (const EapCertificateEntry &right_type_value);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TBool GetSubjectNamePresent() const;
-
-	IMPORT_C TBool GetIssuerNamePresent() const;
-
-	IMPORT_C TBool GetSerialNumberPresent() const;
-
-	IMPORT_C TBool GetThumbprintPresent() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TBool GetLabelPresent() const;
-
-	IMPORT_C TBool GetPrimaryNamePresent() const;
-
-	IMPORT_C TBool GetSecondaryNamePresent() const;
-
-	IMPORT_C TBool GetIsEnabledPresent() const;
-
-	IMPORT_C TBool GetSubjectKeyIdPresent() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C void SetSubjectNamePresent();
-
-	IMPORT_C void SetIssuerNamePresent();
-
-	IMPORT_C void SetSerialNumberPresent();
-
-	IMPORT_C void SetThumbprintPresent();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C void SetLabelPresent();
-
-	IMPORT_C void SetPrimaryNamePresent();
-
-	IMPORT_C void SetSecondaryNamePresent();
-
-	IMPORT_C void SetIsEnabledPresent();
-
-	IMPORT_C void SetSubjectKeyIdPresent();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TCertType GetCertType() const;
-	
-	IMPORT_C const TDes * GetSubjectName() const;
-		
-	IMPORT_C const TDes * GetIssuerName() const;
-	
-	IMPORT_C const TDes * GetSerialNumber() const;
-	
-	IMPORT_C const TDes * GetThumbprint() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TDes * GetSubjectNameWritable();
-		
-	IMPORT_C TDes * GetIssuerNameWritable();
-	
-	IMPORT_C TDes * GetSerialNumberWritable();
-	
-	IMPORT_C TDes * GetThumbprintWritable();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C const TDes * GetLabel() const;
-
-	IMPORT_C const TKeyIdentifier & GetSubjectKeyId() const;
-
-	IMPORT_C const TDes * GetPrimaryName() const;
-
-	IMPORT_C const TDes * GetSecondaryName() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TDes * GetLabelWritable();
-
-	IMPORT_C TKeyIdentifier * GetSubjectKeyIdWritable();
-
-	IMPORT_C TDes * GetPrimaryNameWritable();
-
-	IMPORT_C TDes * GetSecondaryNameWritable();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TInt SetCertType(const TCertType & aType);
-	
-	IMPORT_C TInt SetSubjectName(const TBuf<KGeneralStringMaxLength> & aSubjectName);
-		
-	IMPORT_C TInt SetIssuerName(const TBuf<KGeneralStringMaxLength> & aIssuerName);
-	
-	IMPORT_C TInt SetSerialNumber(const TBuf<KGeneralStringMaxLength> & aSerialNumber);
-	
-	IMPORT_C TInt SetThumbprint(const TBuf<KThumbprintMaxLength> & aThumbprint);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TInt SetLabel(const TCertLabel & aLabel);
-
-	IMPORT_C TInt SetSubjectKeyId(const TKeyIdentifier & aSubjectKeyId);
-
-	IMPORT_C TInt SetPrimaryName(const TBuf<KMaxCertNameLength> & aPrimaryName);
-
-	IMPORT_C TInt SetSecondaryName(const TBuf<KMaxCertNameLength> & aSecondaryName);
-
-	IMPORT_C TInt SetIsEnabled(const TBool aIsEnabled);
-
-	IMPORT_C TInt SetIsValid(const TBool aIsValid);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	IMPORT_C TBool GetIsEnabled() const;
-
-	IMPORT_C TBool GetIsValid() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-private:
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// These members are used by authentication protocols.
-
 	// Specifies whether this entry describes user or CA certificate (mandatory)
 	TCertType iCertType;
 	
@@ -206,108 +57,70 @@
 	TBool iSerialNumberPresent;
 	TBuf<KGeneralStringMaxLength> iSerialNumber;
 	
+	// Subject key in binary form. This is mandatory.
+	TBool iSubjectKeyIDPresent;
+	TBuf8<KKeyIdentifierLength> iSubjectKeyID;
+	
 	// Thumbprint in binary form. This is optional.
 	TBool iThumbprintPresent;
 	TBuf<KThumbprintMaxLength> iThumbprint;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// These members are used by UI.
-
-	// This holds only the certificate label. This is the text UI will show.
-	TBool iLabelPresent;
-	TCertLabel iLabel;
-
-	// Primary name of the certificate if any.
-	TBool iPrimaryNamePresent;
-	TBuf<KMaxCertNameLength> iPrimaryName;
-
-	// Secondary name of the certificate if any.
-	TBool iSecondaryNamePresent;
-	TBuf<KMaxCertNameLength> iSecondaryName;
-
-	// UI uses this to indicate enabled certificate.
-	TBool iIsEnabledPresent;
-	TBool iIsEnabled;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// These members are used by both authentication protocols and UI.
-
-	// Subject key in binary form. This is mandatory field to find correct certificate from CUnifiedCertStore. UI uses this too.
-	TBool iSubjectKeyIdPresent;
-	//TBuf8<KKeyIdentifierLength> iSubjectKeyId;
-	TKeyIdentifier iSubjectKeyId; // This is mandatory field to find correct certificate from CUnifiedCertStore.
-
-	// Indicates this object is correctly initialized.
-	TBool iIsValid;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 };
 
-//-------------------------------------------------------------------------------
-
 class EAPSettings : public CBase
 {
 public:	
 
-	IMPORT_C EAPSettings();
-
-	IMPORT_C virtual ~EAPSettings();
-
-	IMPORT_C void trace() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	EAPSettings();
+		
+	enum TEapType
+	{
+		EEapNone		= 0,
+		EEapGtc			= 6,
+		EEapTls			= 13,
+		EEapLeap		= 17,
+		EEapSim			= 18,
+		EEapTtls		= 21,
+		EEapAka			= 23,
+		EEapPeap		= 25,
+		EEapMschapv2	= 26,
+		EEapSecurid		= 32,
+		EEapFast		= 43,
+		ETtlsPlainPap   = 98,
+		EPlainMschapv2	= 99		
+	};
 
 	// Specifies the EAP type these settings are for. 
 	// Is not really needed but is here so just some sanity checks can be made
-	TEapExpandedType iEAPExpandedType; // Use this in new code.
+	TEapType iEAPType; 
 	
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// Use automatic CA certificate.
-	TBool iUseAutomaticCACertificatePresent;
-	TBool iUseAutomaticCACertificate;
-
-	// Use automatic username.
-	TBool iUseAutomaticUsernamePresent;
-	TBool iUseAutomaticUsername;
-
-	// Use automatic realm.
-	TBool iUseAutomaticRealmPresent;
-	TBool iUseAutomaticRealm;
-
 	// Username in ASCII format
 	TBool iUsernamePresent;
 	TBuf<KGeneralStringMaxLength> iUsername; 
-
-	/// Get: Whether password is stored in database.
-	/// Set: Whether password must be cleared from database.
-	TBool iPasswordExistPresent;
-	TBool iPasswordExist;
-
+		
 	// Password in ASCII format
 	TBool iPasswordPresent;
 	TBuf<KGeneralStringMaxLength> iPassword;
-
+		
 	// Realm in ASCII format
 	TBool iRealmPresent;
 	TBuf<KGeneralStringMaxLength> iRealm; 
-
+	
 	// Use pseudonym identities in EAP-SIM/AKA
 	TBool iUsePseudonymsPresent;
 	TBool iUsePseudonyms;		
-
+	
 	// Whether EAP-TLS/TTLS/PEAP should verify server realm
 	TBool iVerifyServerRealmPresent;
 	TBool iVerifyServerRealm;
-
+	
 	// Whether EAP-TLS/TTLS/PEAP should require client authentication
 	TBool iRequireClientAuthenticationPresent;
 	TBool iRequireClientAuthentication;
-
+	
 	// General session validity time (in minutes)
 	TBool iSessionValidityTimePresent;
 	TUint iSessionValidityTime;
-
+	
 	// An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. 
 	// Refer to RFC2246 chapter A.5 for the values.
 	TBool iCipherSuitesPresent;
@@ -323,24 +136,13 @@
   	// Subject key ID and Certificate type are the only mandatory certificate 
   	// details needed at the moment.
   	TBool iCertificatesPresent;
-	RPointerArray<EapCertificateEntry> iCertificates;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// Use this in new code.
-	// Array listing the enabled encapsulated Expanded EAP types (in priority order).
-	// Use constant Expanded EAP type values from EapExpandedType.h.
-	TBool iEnabledEncapsulatedEAPExpandedTypesPresent;
-	RArray<TEapExpandedType> iEnabledEncapsulatedEAPExpandedTypes;
+	CArrayFixFlat<CertificateEntry> iCertificates;
 	
-	// Use this in new code.
-	// Array listing the disabled encapsulated Expanded EAP types.
-	// Use constant Expanded EAP type values from EapExpandedType.h.
-	TBool iDisabledEncapsulatedEAPExpandedTypesPresent;
-	RArray<TEapExpandedType> iDisabledEncapsulatedEAPExpandedTypes;
+	// Array listing the encapsulated EAP types (in priority order).
+	// Use EAP type values from TEapType.
+	TBool iEncapsulatedEAPTypesPresent;
+	RArray<TUint> iEncapsulatedEAPTypes;
 	
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	// Whether Authenticated provisioning mode allowed or not in EAP-FAST.
 	TBool iAuthProvModeAllowedPresent;
 	TBool iAuthProvModeAllowed;
@@ -367,34 +169,10 @@
 	// the client with a PAC before but is not currently selected as the default server. 
 	// EAP-FAST specific.
 	TBool iWarnNotDefaultServerPresent;
-	TBool iWarnNotDefaultServer;
-	
-	TBool iShowPassWordPromptPresent;
-	TBool iShowPassWordPrompt;
-
-	// This is used in TLS/PEAP/TTLS/FAST. It activates TLS-renegotiation, that will send user certificate with in TLS-protected application data.
-	TBool iUseIdentityPrivacyPresent;
-	TBool iUseIdentityPrivacy;
-
+	TBool iWarnNotDefaultServer;	
 };
 
-//#include "EapSettings.inl"
-
-//-------------------------------------------------------------------------------
-
-#if defined(USE_EAP_TRACE)
-
-	#define EAP_TRACE_SETTINGS(settings) { (settings)->trace(); }
-
-#else
-
-	#define EAP_TRACE_SETTINGS(settings)
-
-#endif //#if defined(USE_EAP_TRACE)
-
-
-//-------------------------------------------------------------------------------
+#include "EapSettings.inl"
 
 #endif
-
 // End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eap_type_api/inc/EapSettings.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 5.1.3 %
+*/
+
+inline CertificateEntry::CertificateEntry()
+: iCertType(ECA)
+, iSubjectNamePresent(EFalse)
+, iIssuerNamePresent(EFalse)
+, iSerialNumberPresent(EFalse)
+, iSubjectKeyIDPresent(EFalse)
+, iThumbprintPresent(EFalse)
+{
+}
+
+inline EAPSettings::EAPSettings()
+: iUsernamePresent(EFalse)
+, iPasswordPresent(EFalse)
+, iRealmPresent(EFalse)
+, iVerifyServerRealmPresent(EFalse)
+, iRequireClientAuthenticationPresent(EFalse)
+, iSessionValidityTimePresent(EFalse)
+, iCipherSuitesPresent(EFalse)
+, iCipherSuites(1)
+, iPEAPVersionsPresent(EFalse)
+, iCertificatesPresent(EFalse)
+, iCertificates(1)
+, iEncapsulatedEAPTypesPresent(EFalse)
+, iEncapsulatedEAPTypes(1)
+{
+}
+
+// end of file
--- a/accesssec_plat/eap_type_api/inc/EapTraceSymbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2001-2005 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ )
-#define _EAP_AM_TRACE_SYMBIAN_H_
-
-#include <e32debug.h>
-
-//------------------------------------------------------------------------
-
-IMPORT_C void eap_trace_data_symbian(
-	const char * const prefix,
-	const void * const p_data,
-	const TUint data_length);
-
-//------------------------------------------------------------------------
-
-#if defined(_DEBUG) || defined(DEBUG)
-
-	#define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) \
-			{ \
-				RDebug::Print _parameter_list_ ; \
-			} \
-
-	#define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_) \
-			{ \
-				eap_trace_data_symbian _parameter_list_ ; \
-			} \
-
-#else // #if defined(_DEBUG) || defined(DEBUG)
-
-	#define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) 
-
-	#define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_)
-
-#endif // #if defined(_DEBUG) || defined(DEBUG)
-
-//------------------------------------------------------------------------
-
-class eap_automatic_trace_string_symbian_c
-{
-private:
-
-	/// This is pointer to the string that will be traced on destructor.
-	const TPtrC m_string;
-
-public:
-	
-	/**
-	 * The destructor traces the string.
-	 */	
-	virtual ~eap_automatic_trace_string_symbian_c()
-	{
-		if (m_string.Length() > 0)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("<<< %S <<<\n"), &m_string));
-		}
-	}
-	
-	/**
-	 * The constructor sets the values for the member variables
-	 */	
-	eap_automatic_trace_string_symbian_c(
-		const TPtrC string)
-		: m_string(string)
-	{
-	}
-};
-
-#if defined(_DEBUG) || defined(DEBUG)
-
-	#define EAP_TRACE_RETURN_STRING_SYMBIAN(string) \
-		eap_automatic_trace_string_symbian_c __eap_trace_function_returns__(string)
-
-#else // #if defined(_DEBUG) || defined(DEBUG)
-
-	#define EAP_TRACE_RETURN_STRING_SYMBIAN(string)
-
-#endif // #if defined(_DEBUG) || defined(DEBUG)
-
-//------------------------------------------------------------------------
-
-
-#endif //#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ )
--- a/accesssec_plat/eap_type_api/inc/EapType.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_type_api/inc/EapType.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 33 %
+* %version: 18.1.3 %
 */
 
 #ifndef _EAPTYPE_H_
@@ -27,7 +27,6 @@
 #include <ecom/ecom.h> 
 
 #include <EapSettings.h>
-#include <EapTypeDefinitions.h>
 
 // FORWARD DECLARATIONS
 class abs_eap_am_tools_c;
@@ -40,38 +39,101 @@
 class abs_eap_configuration_if_c;
 #endif
 
+// LOCAL DATA
+// The UID for EAP plugin interface. ECom uses this.
+const TUid KEapTypeInterfaceUid = {0x101f8e4a};
+
+/// Possible services.
+enum TIndexType
+{
+	EDialoutISP,
+	EDialinISP,
+	EOutgoingGPRS,
+	ELan,
+	EVpn
+};
+
+struct SIapInfo {
+	TIndexType indexType;
+	TInt index;
+}; 
+
 // CLASS DECLARATION
 
 /**
 * The base interface class for EAP plug-in access.
 * Includes methods to create either the configuration interface or the EAP protocol interface.
 */
-class CEapType
-: public CBase
+class CEapType : public CBase  
 {
 public:
 
-    /**
-    * Factory function that loads the Generic EAP type implementation DLL (plug-in).
-    * @param aIndexType Indicates the bearer used for this connection.
-    * @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection.
-    * @return Pointer to the implementation.
-    */
-	inline static CEapType* NewL(const TIndexType aIndexType, const TInt aIndex, const TEapExpandedType aEapType);
-
+	/**
+	* Factory function that loads the EAP type implementation DLL (plug-in).
+	* Uses ECom architecture to load the correct EAP type DLL. Calls the initialization
+	* function of the EAP type
+	* @param aCue EAP type id that specifies which plugin is loaded.
+	* @param aIndexType Indicates the bearer used for this connection.
+	* @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection.
+	* @return Pointer to the implementation.
+	*/
+	inline static CEapType* NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex);	
+	
 	/**
 	* Unloads the implementation DLL.
 	*/
 	inline virtual ~CEapType();
 
+#ifndef RD_WLAN_3_1_BACKPORTING
 
+	/**
+	* Creates EAP protocol interface implementation. Instances an object that
+	* has been derived from eap_base_type_c that handles the communication 
+	* with EAP stack. 
+	* @param aTools Pointer to tools class.
+	* @param aPartner Used for callbacks to the stack.
+	* @param is_client_when_true Specifies whether the EAP type acts as a client or server.
+	* @param receive_network_id Network addresses
+	* @param eap_config_if Pointer used for call back to creater of stack (eapol_am_wlan_authentication_symbian_c class).
+	* @return Pointer to the implementation.
+	*/		
+	virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
+											   abs_eap_base_type_c* const aPartner,
+											   const bool is_client_when_true,
+											   const eap_am_network_id_c * const receive_network_id,
+											   abs_eap_configuration_if_c * const configuration_if) = 0;
 
+#else
+
+	/**
+	* Creates EAP protocol interface implementation. Instances an object that
+	* has been derived from eap_base_type_c that handles the communication 
+	* with EAP stack. 
+	* @param aTools Pointer to tools class.
+	* @param aPartner Used for callbacks to the stack.
+	* @param is_client_when_true Specifies whether the EAP type acts as a client or server.
+	* @param receive_network_id Network addresses
+	* @return Pointer to the implementation.
+	*/		
+
+	virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
+											   abs_eap_base_type_c* const aPartner,
+											   const bool is_client_when_true,
+											   const eap_am_network_id_c * const receive_network_id) = 0;
+	
+#endif // #ifndef RD_WLAN_3_1_BACKPORTING
+
+	/**
+	* Invokes the configuration UI. Displays a dialog for configuring the EAP type settings.
+	*/
+	virtual TInt InvokeUiL() = 0;
+	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	virtual CEapTypeInfo* GetInfoL() = 0;
-
+	virtual CEapTypeInfo* GetInfoLC() = 0;
+	
 	/**
 	* Deletes EAP type configuration
 	*/	
@@ -88,11 +150,35 @@
 	virtual TUint GetInterfaceVersion() = 0;
 
 	/**
+	* Parses the opaque_data field in CImplementationInformation and returns true if
+	* string NOT_OUTSIDE_PEAP is found.
+	* @param aImplInfo Implementation info returned by ListImplementations call
+	* @return Boolean
+	*/
+	inline static TBool IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo);
+
+	/**
+	* Parses the opaque_data field in CImplementationInformation and returns true if
+	* string NOT_INSIDE_PEAP is found.
+	* @param aImplInfo Implementation info returned by ListImplementations call
+	* @return Boolean
+	*/	
+	inline static TBool IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo);
+
+	/**
+	* Parses the opaque_data field in CImplementationInformation and returns true if
+	* string NOT_INSIDE_TTLS is found.
+	* @param aImplInfo Implementation info returned by ListImplementations call
+	* @return Boolean
+	*/	
+	inline static TBool IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo);
+
+	/**
 	* Sets the tunneling type. This is used to indicate that this type is run inside another 
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	virtual void SetTunnelingType(const TEapExpandedType aTunnelingType) = 0;
+	virtual void SetTunnelingType(const TInt aTunnelingType) = 0;
 	
 	/**
 	* Changes the index of the saved parameters.
--- a/accesssec_plat/eap_type_api/inc/EapType.inl	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_type_api/inc/EapType.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -16,53 +16,119 @@
 */
 
 /*
-* %version: 22 %
+* %version: 11.1.2 %
 */
 
-#include "EapTraceSymbian.h"
+/* The meaning and bit positions used in "opaque_data" field in ECOM implementation
+
+ 0 0 0 0 0 0 0 0 ---->All 0 means allowed both inside (encapsulated EAP) and outside (Outer EAP)
+ | | | | | | | |
+ | | | | | | | |_____ 1 means NOT_INSIDE_TUNNEL (NOT allowed as encapsulated EAP)
+ | | | | | | |
+ | | | | | | |_______ 1 means NOT_OUTSIDE_TUNNEL (only allowed as encapsulated EAP, NOT as outer EAP)
+ | | | | | |  
+ | | | | | |_________ 1 means NOT_INSIDE_PEAP
+ | | | | |  
+ | | | | |___________ 1 means NOT_OUTSIDE_PEAP  
+ | | | | 
+ | | | |_____________ 1 means NOT_INSIDE_TTLS
+ | | | 
+ | | |_______________ 1 means NOT_OUTSIDE_TTLS
+ | | 
+ | |_________________ 1 means NOT_INSIDE_FAST
+ |
+ |___________________ 1 means NOT_OUTSIDE_FAST
+ 
+ 
+ // For historical reasons NOT_OUTSIDE_PEAP is used instead of NOT_OUTSIDE_TUNNEL
+ // Both of these convey the same meaning. It means if an EAP is not allowed outside PEAP
+ // (DisallowedOutsidePEAP), it can be used only as an encapsulated EAP.
+ // EAP-MSCHAPv2 is an example for this.
+
+ // The bits can be ORed. 
+ // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP" is 0x0A (0000 1010).
+ // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP|NOT_INSIDE_PEAP|NOT_INSIDE_FAST" is 0x4E (0100 1110).
+ // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST" is 0x55 (0101 0101).
+ // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST|NOT_OUTSIDE_PEAP|NOT_OUTSIDE" is 0x5F (0101 1111).
+ 
+*/
 
 
-// Used By UI
-inline CEapType* CEapType::NewL(const TIndexType aIndexType, const TInt aIndex, const TEapExpandedType aEapType)
-{
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::NewL(EapGeneric): start")));
+
+const TUint8 KNotInsideTunnel = 0x01; // Only the last bit position is 1. 		(0000 0001)
+const TUint8 KNotOutsideTunnel = 0x02; // Only the 2nd last bit positions is 1. (0000 0010)
+
+const TUint8 KNotInsidePEAP = 0x04; // Only the 3rd last bit position is 1. 	(0000 0100)
+const TUint8 KNotOutsidePEAP = 0x08; // Only the 4th last bit positions is 1. 	(0000 1000)
 
-    // The arguments are stored to a iapInfo struct.
-    SIapInfo iapInfo;
-    iapInfo.indexType = aIndexType;
-    iapInfo.index = aIndex;
-    iapInfo.aEapType = aEapType;
+const TUint8 KNotInsideTTLS = 0x10; // Only the 5th last bit position is 1. 	(0001 0000)
+const TUint8 KNotOutsideTTLS = 0x20; // Only the 6th last bit position is 1. 	(0010 0000)
 
-    // This call finds and loads the correct DLL and after that calls the
-    // entry function in the interface implementation in the DLL.
-    TAny* ptr = 0;
+const TUint8 KNotInsideFAST = 0x40; // Only the 7th last bit position is 1. 	(0100 0000)
+const TUint8 KNotOutsideFAST = 0x80;  // Only the first bit position is 1. 		(1000 0000)
+
 
-    const TUid KimplementationUid = { 0x20026FD2 };
-
-    TRAPD( err, ptr = REComSession::CreateImplementationL(
-            KimplementationUid,
-            _FOFF(CEapType, iDtor_ID_Key), 
-            &iapInfo));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::NewL(EapGeneric): CreateImplementationL(Uid=0x%08x), err=%d, returns ptr=0x%08x\n"),
-		KimplementationUid.iUid,
-        err,
-        ptr));
-
-    User::LeaveIfError(err);
-
+inline CEapType* CEapType::NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex)
+{
+	// The EAP type id (aCue) is passed to ECom as resolver parameters
+    TEComResolverParams resolverParams;
+    resolverParams.SetDataType(aCue);
+	
+	// The arguments are stored to a iapInfo struct.
+	SIapInfo iapInfo;
+	iapInfo.indexType = aIndexType;
+	iapInfo.index = aIndex;
+	
+	// This call finds and loads the correct DLL and after that calls the
+	// entry function in the interface implementation in the DLL.
+    TAny* ptr = REComSession::CreateImplementationL(
+        KEapTypeInterfaceUid,
+        _FOFF(CEapType, iDtor_ID_Key), 
+		&iapInfo,
+        resolverParams);
     return (CEapType *) ptr;
 }
 
 inline CEapType::~CEapType()
 {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::~CEapType(): this=0x%08x"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapType::~CEapType()"));
-
 	// Unload DLL
     REComSession::DestroyedImplementation(iDtor_ID_Key);
 }
 
+inline TBool CEapType::IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo)
+{
+	
+	const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr());
+	
+	if(pluginOpaqueData & KNotOutsidePEAP)
+	{
+		return ETrue;
+	}
+	return EFalse;
+	
+}
+
+inline TBool CEapType::IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo)
+{
+	const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr());
+	
+	if(pluginOpaqueData & KNotInsidePEAP)
+	{
+		return ETrue;
+	}
+	return EFalse;
+
+}
+
+inline TBool CEapType::IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo)
+{
+	const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr());
+	
+	if(pluginOpaqueData & KNotInsideTTLS)
+	{
+		return ETrue;
+	}
+	return EFalse;
+}
+
 // End of file
--- a/accesssec_plat/eap_type_api/inc/EapTypeDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef _EAP_TYPE_DEFINITIONS_H_
-#define _EAP_TYPE_DEFINITIONS_H_
-
-// INCLUDES
-#include <e32base.h>
-#include <ecom/ecom.h> 
-
-#include <EapExpandedType.h>
-
-// The UID for EAP plugin interface. ECom uses this.
-const TUid KEapTypeInterfaceUid = {0x101f8e4a};
-
-/// Possible services.
-enum TIndexType
-{
-	EDialoutISP,
-	EDialinISP,
-	EOutgoingGPRS,
-	ELan,
-	EVpn
-};
-
-struct SIapInfo
-{
-	TIndexType indexType;
-	TInt index;
-	TEapExpandedType aEapType;
-}; 
-
-
-#endif // _EAP_TYPE_DEFINITIONS_H_
-
-// End of file
--- a/accesssec_plat/eap_type_api/inc/EapTypeInfo.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_type_api/inc/EapTypeInfo.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef _EAPTYPEINFO_H_
--- a/accesssec_plat/eap_type_api/inc/EapTypePlugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 8 %
-*/
-
-#ifndef _EAP_TYPE_PLUGIN_H_
-#define _EAP_TYPE_PLUGIN_H_
-
-// INCLUDES
-#include <e32base.h>
-#include <ecom/ecom.h> 
-
-#include <EapSettings.h>
-#include <EapTypeDefinitions.h>
-
-// FORWARD DECLARATIONS
-class abs_eap_am_tools_c;
-class eap_base_type_c;
-class abs_eap_base_type_c;
-class CEapTypeInfo;
-class eap_am_network_id_c;
-
-#ifndef RD_WLAN_3_1_BACKPORTING
-class abs_eap_configuration_if_c;
-#endif
-
-
-// CLASS DECLARATION
-
-/**
-* The interface class for direct EAP plug-in access.
-* Includes methods to create either the configuration interface or the EAP protocol interface.
-*/
-class CEapTypePlugin
-: public CBase
-{
-public:
-
-	/**
-	* Factory function that loads the EAP type implementation DLL (plug-in).
-	* Uses ECom architecture to load the correct EAP type DLL. Calls the initialization
-	* function of the EAP type
-	* @param aCue EAP type id that specifies which plugin is loaded.
-	* @param aIndexType Indicates the bearer used for this connection.
-	* @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection.
-	* @return Pointer to the implementation.
-	*/
-	inline static CEapTypePlugin* NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex);	
-
-	/**
-	* Unloads the implementation DLL.
-	*/
-	inline virtual ~CEapTypePlugin();
-
-	/**
-	* Creates EAP protocol interface implementation. Instances an object that
-	* has been derived from eap_base_type_c that handles the communication 
-	* with EAP stack. 
-	* @param aTools Pointer to tools class.
-	* @param aPartner Used for callbacks to the stack.
-	* @param is_client_when_true Specifies whether the EAP type acts as a client or server.
-	* @param receive_network_id Network addresses
-	* @param eap_config_if Pointer used for call back to creater of stack (eapol_am_wlan_authentication_symbian_c class).
-	* @return Pointer to the implementation.
-	*/		
-	virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
-											   abs_eap_base_type_c* const aPartner,
-											   const bool is_client_when_true,
-											   const eap_am_network_id_c * const receive_network_id,
-											   abs_eap_configuration_if_c * const configuration_if) = 0;
-
-#if 0
-#ifndef RD_WLAN_3_1_BACKPORTING
-
-#else
-
-	/**
-	* Creates EAP protocol interface implementation. Instances an object that
-	* has been derived from eap_base_type_c that handles the communication 
-	* with EAP stack. 
-	* @param aTools Pointer to tools class.
-	* @param aPartner Used for callbacks to the stack.
-	* @param is_client_when_true Specifies whether the EAP type acts as a client or server.
-	* @param receive_network_id Network addresses
-	* @return Pointer to the implementation.
-	*/		
-
-	virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
-											   abs_eap_base_type_c* const aPartner,
-											   const bool is_client_when_true,
-											   const eap_am_network_id_c * const receive_network_id) = 0;
-	
-#endif // #ifndef RD_WLAN_3_1_BACKPORTING
-#endif
-
-
-	
-	/**
-	* Gets information about EAP type. 
-	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
-	*/
-	virtual CEapTypeInfo* GetInfoL() = 0;
-	
-	/**
-	* Deletes EAP type configuration
-	*/	
-	virtual void DeleteConfigurationL() = 0;
-
-	/**
-	* Returns the version of the interface that the EAP type implements.
-	* The client-side of the interface must always check the version with this function 
-	* and not call the functions that are not implemented. New functions must be
-	* added to the end of the interface so that the order of the old functions
-	* does not change.
-	* @return Integer indicating the version.
-	*/
-	virtual TUint GetInterfaceVersion() = 0;
-
-	/**
-	* Parses the opaque_data field in CImplementationInformation and returns true if
-	* string NOT_OUTSIDE_PEAP is found.
-	* @param aImplInfo Implementation info returned by ListImplementations call
-	* @return Boolean
-	*/
-	inline static TBool IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo);
-
-	/**
-	* Parses the opaque_data field in CImplementationInformation and returns true if
-	* string NOT_INSIDE_PEAP is found.
-	* @param aImplInfo Implementation info returned by ListImplementations call
-	* @return Boolean
-	*/	
-	inline static TBool IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo);
-
-	/**
-	* Parses the opaque_data field in CImplementationInformation and returns true if
-	* string NOT_INSIDE_TTLS is found.
-	* @param aImplInfo Implementation info returned by ListImplementations call
-	* @return Boolean
-	*/	
-	inline static TBool IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo);
-
-	/**
-	* Sets the tunneling type. This is used to indicate that this type is run inside another 
-	* EAP type. 
-	* @param aTunnelingType Type number for the tunneling type
-	*/	
-	virtual void SetTunnelingType(const TEapExpandedType aTunnelingType) = 0;
-	
-	/**
-	* Changes the index of the saved parameters.
-	* @param aIndexType Indicates the bearer used for this connection.
-	* @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection.
-	*/
-	virtual void SetIndexL(
-		const TIndexType aIndexType, 
-		const TInt aIndex) = 0;
-
-	/**
-	* Sets the EAP types configuration
-	* @param aSettings Structure containing the settings
-	*/
-	virtual void SetConfigurationL(const EAPSettings& aSettings) = 0;
-
-	/**
-	* Gets the EAP types configuration
-	* @param aSettings Structure containing the settings
-	*/
-	virtual void GetConfigurationL(EAPSettings& aSettings) = 0;
-	
-	/**
-	* Copies the EAP types configuration
-	* @param aDestinationIndexType index type of the destination, ELan for WLAN.
-	* @param aDestinationIndex ID to where copy the settings.
-	*/
-	virtual void CopySettingsL(
-		const TIndexType aDestinationIndexType, 
-		const TInt aDestinationIndex) = 0;
-
-
-private:
-
-	/// ECom uses this key to keep track of DLL usage.
-	TUid iDtor_ID_Key;
-};
-
-#include "EapTypePlugin.inl"
-
-#endif // _EAP_TYPE_PLUGIN_H_
-
-// End of file
--- a/accesssec_plat/eap_type_api/inc/EapTypePlugin.inl	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-/* The meaning and bit positions used in "opaque_data" field in ECOM implementation
-
- 0 0 0 0 0 0 0 0 ---->All 0 means allowed both inside (encapsulated EAP) and outside (Outer EAP)
- | | | | | | | |
- | | | | | | | |_____ 1 means NOT_INSIDE_TUNNEL (NOT allowed as encapsulated EAP)
- | | | | | | |
- | | | | | | |_______ 1 means NOT_OUTSIDE_TUNNEL (only allowed as encapsulated EAP, NOT as outer EAP)
- | | | | | |  
- | | | | | |_________ 1 means NOT_INSIDE_PEAP
- | | | | |  
- | | | | |___________ 1 means NOT_OUTSIDE_PEAP  
- | | | | 
- | | | |_____________ 1 means NOT_INSIDE_TTLS
- | | | 
- | | |_______________ 1 means NOT_OUTSIDE_TTLS
- | | 
- | |_________________ 1 means NOT_INSIDE_FAST
- |
- |___________________ 1 means NOT_OUTSIDE_FAST
- 
- 
- // For historical reasons NOT_OUTSIDE_PEAP is used instead of NOT_OUTSIDE_TUNNEL
- // Both of these convey the same meaning. It means if an EAP is not allowed outside PEAP
- // (DisallowedOutsidePEAP), it can be used only as an encapsulated EAP.
- // EAP-MSCHAPv2 is an example for this.
-
- // The bits can be ORed. 
- // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP" is 0x0A (0000 1010).
- // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP|NOT_INSIDE_PEAP|NOT_INSIDE_FAST" is 0x4E (0100 1110).
- // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST" is 0x55 (0101 0101).
- // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST|NOT_OUTSIDE_PEAP|NOT_OUTSIDE" is 0x5F (0101 1111).
- 
-*/
-
-#include "EapTraceSymbian.h"
-
-
-const TUint8 KNotInsideTunnel = 0x01; // Only the last bit position is 1. 		(0000 0001)
-const TUint8 KNotOutsideTunnel = 0x02; // Only the 2nd last bit positions is 1. (0000 0010)
-
-const TUint8 KNotInsidePEAP = 0x04; // Only the 3rd last bit position is 1. 	(0000 0100)
-const TUint8 KNotOutsidePEAP = 0x08; // Only the 4th last bit positions is 1. 	(0000 1000)
-
-const TUint8 KNotInsideTTLS = 0x10; // Only the 5th last bit position is 1. 	(0001 0000)
-const TUint8 KNotOutsideTTLS = 0x20; // Only the 6th last bit position is 1. 	(0010 0000)
-
-const TUint8 KNotInsideFAST = 0x40; // Only the 7th last bit position is 1. 	(0100 0000)
-const TUint8 KNotOutsideFAST = 0x80;  // Only the first bit position is 1. 		(1000 0000)
-
-// Used By Server
-inline CEapTypePlugin* CEapTypePlugin::NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex)
-{
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::NewL(): start")));
-
-	// The EAP type id (aCue) is passed to ECom as resolver parameters
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType(aCue);
-	
-	// The arguments are stored to a iapInfo struct.
-	SIapInfo iapInfo;
-	iapInfo.indexType = aIndexType;
-	iapInfo.index = aIndex;
-	iapInfo.aEapType = aCue;
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTypePlugin::NewL(): resolverParams.DataType()",
-		resolverParams.DataType().Ptr(),
-		resolverParams.DataType().Size()));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::NewL(): iapInfo.aEapType=0xfe%06x%08x\n"),
-		iapInfo.aEapType.GetVendorId(),
-		iapInfo.aEapType.GetVendorType()));
-
-	// This call finds and loads the correct DLL and after that calls the
-	// entry function in the interface implementation in the DLL.
-	TAny* ptr = 0;
-
-    TRAPD( err, ptr = REComSession::CreateImplementationL(
-        KEapTypeInterfaceUid,
-        _FOFF(CEapTypePlugin, iDtor_ID_Key), 
-		&iapInfo,
-        resolverParams));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::NewL(): ends, err=%d, returns ptr=0x%08x\n"),
-		err,
-		ptr));
-
-	User::LeaveIfError(err);
-
-    return (CEapTypePlugin *) ptr;
-}
-
-inline CEapTypePlugin::~CEapTypePlugin()
-{
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::~CEapTypePlugin(): this=0x%08x"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTypePlugin::~CEapTypePlugin()"));
-
-	// Unload DLL
-    REComSession::DestroyedImplementation(iDtor_ID_Key);
-}
-
-inline TBool CEapTypePlugin::IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo)
-{
-	
-	const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr());
-	
-	if(pluginOpaqueData & KNotOutsidePEAP)
-	{
-		return ETrue;
-	}
-	return EFalse;
-	
-}
-
-inline TBool CEapTypePlugin::IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo)
-{
-	const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr());
-	
-	if(pluginOpaqueData & KNotInsidePEAP)
-	{
-		return ETrue;
-	}
-	return EFalse;
-
-}
-
-inline TBool CEapTypePlugin::IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo)
-{
-	const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr());
-	
-	if(pluginOpaqueData & KNotInsideTTLS)
-	{
-		return ETrue;
-	}
-	return EFalse;
-}
-
-// End of file
--- a/accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -3,7 +3,7 @@
   <name>EAP VPN API</name>
   <description>Interface for VPN implementations to request EAP authentication services</description>
   <type>c++</type>
-  <subsystem>eapol</subsystem>
+  <subsystem>wlaneapol</subsystem>
   <libs>
   </libs>
   <release category="domain"/>
@@ -11,7 +11,7 @@
      <!-- This indicates wether the api provedes separate html documentation -->
      <!-- or is the additional documentation generated from headers. -->
      <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
+     <htmldocprovided>yes</htmldocprovided>
      <adaptation>no</adaptation>
   </attributes>
 </api>
--- a/accesssec_plat/eap_vpn_api/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_vpn_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -17,7 +17,7 @@
 */
 
 /*
-* %version: %
+* %version: tr1cfwln#8 %
 */
 
 #include <platform_paths.hrh>
--- a/accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #ifndef __EAPPLUGINCALLBACKINTERFACE_H__
--- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 11 %
 */
 
 #ifndef __EAPPLUGININTERFACE_H__
--- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 10.1.2 %
+* %version: 12 %
 */
 
 // Interface's (abstract base class's) static factory method implementation.
--- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.2 %
+* %version: 10 %
 */
 
 #ifndef __EAPPLUGINUIDS_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapaka_db_api/eapaka_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<api id="6cd349f54718e6297849eee37b905363" dataversion="1.0">
+  <name>EAP-AKA DB API</name>
+  <description>Interface for the EAP-AKA UI to access the settings in the EAP-AKA DBMS database.</description>
+  <type>c++</type>
+  <subsystem>wlaneapol</subsystem>
+  <libs>
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapaka_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2006 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:  File that exports the files belonging to 
+:                EAP-AKA DB API
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EapAkaUiAkaData.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUiAkaData.h)
+../inc/EapAkaUiDataConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUiDataConnection.h)
+../inc/EapAkaUiConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUiConnection.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapaka_db_api/inc/EapAkaUiAkaData.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+#ifndef _EAPAKAUIAKADATA_H_
+#define _EAPAKAUIAKADATA_H_
+
+#include <e32std.h>
+#include <e32base.h>
+
+const TInt KMaxLengthOfManualUsername = 255;
+const TInt KMaxLengthOfManualRealm = 255;
+
+class CEapAkaUiAkaData : public CBase
+{
+public:
+
+    CEapAkaUiAkaData();
+
+    ~CEapAkaUiAkaData();
+
+    TDes& GetManualUsername();
+
+    TDes& GetManualRealm();
+
+    TBool * GetUseManualUsername();
+
+    TBool * GetUseManualRealm();
+
+private:
+
+    TBuf<KMaxLengthOfManualUsername> iManualUsername;
+
+    TBuf<KMaxLengthOfManualRealm> iManualRealm;
+
+    TBool iUseManualUsername;
+
+    TBool iUseManualRealm;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapaka_db_api/inc/EapAkaUiConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPAKAUICONNECTION_H_
+#define _EAPAKAUICONNECTION_H_
+
+#include <e32std.h>
+#include <e32base.h> 
+#include <d32dbms.h>
+#include <EapType.h>
+
+class CEapAkaUiDataConnection;
+
+class CEapAkaUiConnection : public CBase
+{
+
+public:
+
+    CEapAkaUiConnection(
+        const TIndexType iIndexType,
+        const TInt iIndex,
+        const TInt iTunnelingType);
+
+    ~CEapAkaUiConnection();
+
+    TInt Connect();
+
+    TInt Close();
+
+    CEapAkaUiDataConnection * GetDataConnection();
+
+    TIndexType GetIndexType();
+
+    TInt GetIndex();
+
+    TInt GetTunnelingType();
+
+    TInt GetDatabase(RDbNamedDatabase & aDatabase);
+
+protected:
+
+    // Bearer type
+	TIndexType iIndexType;
+	
+	// Unique index
+	TInt iIndex;
+
+	// Tunneling type
+	TInt iTunnelingType;
+
+    TBool iIsConnected;
+    
+    // database names, handlers etc...
+
+    CEapAkaUiDataConnection * iDataConn;
+
+    RDbNamedDatabase iDbNamedDatabase;
+
+    RDbs iDbs;
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapaka_db_api/inc/EapAkaUiDataConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPAKAUIDATACONNECTION_H_
+#define _EAPAKAUIDATACONNECTION_H_
+
+#include <e32base.h>
+class CEapAkaUiConnection;
+class CEapAkaUiAkaData;
+
+
+class CEapAkaUiDataConnection : public CBase
+{
+
+public:
+
+    CEapAkaUiDataConnection(CEapAkaUiConnection * aUiConn);
+
+    ~CEapAkaUiDataConnection();
+
+    TInt Open();
+
+    TInt GetData(CEapAkaUiAkaData ** aDataPtr);
+
+   	TInt Update();
+
+    TInt Close();
+
+protected:
+
+    TBool iIsOpened;
+
+    CEapAkaUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    RDbView iView;
+
+    CDbColSet* iColSet;
+
+    CEapAkaUiAkaData * iDataPtr;
+
+private:
+
+    void FetchDataL();
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapgtc_db_api/eapgtc_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<api id="0f9de3e4ff1f1791db5c97e7e88e10f9" dataversion="1.0">
+  <name>EAP-GTC DB API</name>
+  <description>Interface for the EAP-GTC UI to access the settings in the EAP-GTC DBMS database.</description>
+  <type>c++</type>
+  <subsystem>wlaneapol</subsystem>
+  <libs>
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapgtc_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2006 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:  File that exports the files belonging to 
+:                EAP-GTC DB API
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EapGtcUiConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUiConnection.h)
+../inc/EapGtcUiGtcData.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUiGtcData.h)
+../inc/EapGtcUiDataConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUiDataConnection.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapgtc_db_api/inc/EapGtcUiConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPGTCUICONNECTION_H_
+#define _EAPGTCUICONNECTION_H_
+
+#include <e32std.h>
+#include <e32base.h>
+#include <d32dbms.h>
+#include <EapType.h>
+
+class CEapGtcUiDataConnection;
+
+class CEapGtcUiConnection: public CBase
+{
+
+public:
+
+    CEapGtcUiConnection(
+        const TIndexType iIndexType,
+        const TInt iIndex,
+        const TInt iTunnelingType);
+
+    ~CEapGtcUiConnection();
+
+    TInt Connect();
+
+    TInt Close();
+
+    CEapGtcUiDataConnection * GetDataConnection();
+
+    TIndexType GetIndexType();
+
+    TInt GetIndex();
+
+    TInt GetTunnelingType();
+
+    TInt GetDatabase(RDbNamedDatabase & aDatabase);
+
+protected:
+
+    // Bearer type
+	TIndexType iIndexType;
+	
+	// Unique index
+	TInt iIndex;
+
+	// Tunneling type
+	TInt iTunnelingType;
+
+    TBool iIsConnected;
+    
+    // database names, handlers etc...
+
+    CEapGtcUiDataConnection * iDataConn;
+
+    RDbNamedDatabase iDbNamedDatabase;
+
+    RDbs iDbs;
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapgtc_db_api/inc/EapGtcUiDataConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPGTCUIDATACONNECTION_H_
+#define _EAPGTCUIDATACONNECTION_H_
+
+#include <e32base.h>
+
+class CEapGtcUiConnection;
+class CEapGtcUiGtcData;
+
+
+class CEapGtcUiDataConnection : public CBase
+{
+
+public:
+
+    CEapGtcUiDataConnection(CEapGtcUiConnection * aUiConn);
+
+    ~CEapGtcUiDataConnection();
+
+    TInt Open();
+
+    TInt GetData(CEapGtcUiGtcData ** aDataPtr);
+
+   	TInt Update();
+
+    TInt Close();
+
+protected:
+
+    TBool iIsOpened;
+
+    CEapGtcUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    RDbView iView;
+
+    CDbColSet* iColSet;
+
+    CEapGtcUiGtcData * iDataPtr;
+
+private:
+
+    void FetchDataL();
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapgtc_db_api/inc/EapGtcUiGtcData.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+#ifndef _EAPGTCUIGTCDATA_H_
+#define _EAPGTCUIGTCDATA_H_
+
+#include <e32std.h>
+#include <e32base.h>
+
+const TInt KMaxLengthOfUsername=255;
+
+class CEapGtcUiGtcData : public CBase
+{
+public:
+
+    CEapGtcUiGtcData();
+
+    ~CEapGtcUiGtcData();
+
+    TDes& GetIdentity();
+
+private:
+
+    TBuf<KMaxLengthOfUsername> iIdentity;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapleap_db_api/eapleap_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<api id="dec4e862d75cbb4110513af05869787b" dataversion="1.0">
+  <name>LEAP DB API</name>
+  <description>Interface for the LEAP UI to access the settings in the LEAP DBMS database</description>
+  <type>c++</type>
+  <subsystem>wlaneapol</subsystem>
+  <libs>
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapleap_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2006 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:  File that exports the files belonging to 
+:                EAP-LEAP DB API
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EapLeapUiDataConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUiDataConnection.h)
+../inc/EapLeapUiLeapData.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUiLeapData.h)
+../inc/EapLeapUiConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUiConnection.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapleap_db_api/inc/EapLeapUiConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPLEAPUICONNECTION_H_
+#define _EAPLEAPUICONNECTION_H_
+
+#include <e32std.h>
+#include <e32base.h>
+#include <d32dbms.h>
+#include <EapType.h>
+
+
+class CEapLeapUiDataConnection;
+
+class CEapLeapUiConnection : public CBase
+{
+
+public:
+
+    CEapLeapUiConnection(
+        const TIndexType iIndexType,
+        const TInt iIndex,
+        const TInt iTunnelingType);
+
+    ~CEapLeapUiConnection();
+
+    TInt Connect();
+
+    TInt Close();
+
+    CEapLeapUiDataConnection * GetDataConnection();
+
+    TIndexType GetIndexType();
+
+    TInt GetIndex();
+
+    TInt GetTunnelingType();
+
+    TInt GetDatabase(RDbNamedDatabase & aDatabase);
+
+protected:
+
+    // Bearer type
+	TIndexType iIndexType;
+	
+	// Unique index
+	TInt iIndex;
+
+	// Tunneling type
+	TInt iTunnelingType;
+	
+    TBool iIsConnected;	
+
+    // database names, handlers etc...
+
+    CEapLeapUiDataConnection * iDataConn;
+
+    RDbNamedDatabase iDbNamedDatabase;
+
+    RDbs iDbs;
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapleap_db_api/inc/EapLeapUiDataConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPLEAPUIDATACONNECTION_H_
+#define _EAPLEAPUIDATACONNECTION_H_
+
+#include <e32base.h>
+
+class CEapLeapUiConnection;
+class CEapLeapUiLeapData;
+
+
+class CEapLeapUiDataConnection : public CBase
+{
+
+public:
+
+    CEapLeapUiDataConnection(CEapLeapUiConnection * aUiConn);
+
+    ~CEapLeapUiDataConnection();
+
+    TInt Open();
+
+    TInt GetData(CEapLeapUiLeapData ** aDataPtr);
+
+   	TInt Update();
+
+    TInt Close();
+
+protected:
+
+    TBool iIsOpened;
+
+    CEapLeapUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    RDbView iView;
+
+    CDbColSet* iColSet;
+
+    CEapLeapUiLeapData * iDataPtr;
+
+private:
+
+    void FetchDataL();
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapleap_db_api/inc/EapLeapUiLeapData.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+#ifndef _EAPLEAPUILEAPDATA_H_
+#define _EAPLEAPUILEAPDATA_H_
+
+#include <e32std.h>
+#include <e32base.h>
+
+const TInt KMaxLengthOfUsername=255;
+const TInt KMaxLengthOfPassword=255;
+
+class CEapLeapUiLeapData : public CBase
+{
+public:
+
+    CEapLeapUiLeapData();
+
+    ~CEapLeapUiLeapData();
+
+    TDes& GetUsername();
+
+    TDes& GetPassword();
+
+    TBool * GetPasswordPrompt();
+
+private:
+
+    TBuf<KMaxLengthOfUsername> iUsername;
+
+    TBuf<KMaxLengthOfPassword> iPassword;
+
+    TBool iPasswordPrompt;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapmschapv2_db_api/eapmschapv2_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<api id="e762a883595f48c7a668d895da133acf" dataversion="1.0">
+  <name>EAP-MSCHAPV2 DB API</name>
+  <description>Interface for the EAP-MSCHAPv2 UI to access the settings in the EAP-MSCHAPv2 DBMS database</description>
+  <type>c++</type>
+  <subsystem>wlaneapol</subsystem>
+  <libs>
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapmschapv2_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2006 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:  File that exports the files belonging to 
+:                EAP-MSCHAPV2 DB API
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EapMsChapV2UiDataConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapMsChapV2UiDataConnection.h)
+../inc/EapMsChapV2UiConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapMsChapV2UiConnection.h)
+../inc/EapMsChapV2UiMsChapV2Data.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapMsChapV2UiMsChapV2Data.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+#ifndef _EAPMSCHAPV2UICONNECTION_H_
+#define _EAPMSCHAPV2UICONNECTION_H_
+
+#include <e32std.h>
+#include <e32base.h>
+#include <d32dbms.h>
+#include <EapType.h>
+
+class CEapMsChapV2UiDataConnection;
+
+class CEapMsChapV2UiConnection : public CBase
+{
+
+public:
+
+    CEapMsChapV2UiConnection(
+	    const TIndexType aIndexType,
+	    const TInt aIndex,
+	    const TInt aTunnelingType,
+	    const TInt aEAPType);
+
+    ~CEapMsChapV2UiConnection();
+
+    TInt Connect();
+
+    TInt Close();
+
+    CEapMsChapV2UiDataConnection * GetDataConnection();
+
+    TIndexType GetIndexType();
+
+    TInt GetIndex();
+
+    TInt GetTunnelingType();
+
+    TInt GetDatabase(RDbNamedDatabase & aDatabase);
+    
+    TInt GetBearerEAPType();
+
+protected:
+
+    // Bearer type
+	TIndexType iIndexType;
+	
+	// Unique index
+	TInt iIndex;
+
+	// Tunneling type
+	TInt iTunnelingType;
+
+    TBool iIsConnected;
+    
+    // database names, handlers etc...
+
+    CEapMsChapV2UiDataConnection * iDataConn;
+
+    RDbNamedDatabase iDbNamedDatabase;
+
+    RDbs iDbs;
+    
+    // Holds the bearer EAP type.
+    TInt iEAPType;
+};
+
+
+#endif
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiDataConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPMSCHAPV2UIDATACONNECTION_H_
+#define _EAPMSCHAPV2UIDATACONNECTION_H_
+
+#include <e32base.h>
+
+class CEapMsChapV2UiConnection;
+class CEapMsChapV2UiMsChapV2Data;
+
+
+class CEapMsChapV2UiDataConnection : public CBase
+{
+
+public:
+
+    CEapMsChapV2UiDataConnection(CEapMsChapV2UiConnection * aUiConn);
+
+    ~CEapMsChapV2UiDataConnection();
+
+    TInt Open();
+
+    TInt GetData(CEapMsChapV2UiMsChapV2Data ** aDataPtr);
+
+   	TInt Update();
+
+    TInt Close();
+
+protected:
+
+    TBool iIsOpened;
+
+    CEapMsChapV2UiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    RDbView iView;
+
+    CDbColSet* iColSet;
+
+    CEapMsChapV2UiMsChapV2Data * iDataPtr;
+
+private:
+
+    void FetchDataL();
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiMsChapV2Data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+#ifndef _EAPMSCHAPV2UIMSCHAPV2DATA_H_
+#define _EAPMSCHAPV2UIMSCHAPV2DATA_H_
+
+#include <e32std.h>
+#include <e32base.h>
+
+const TInt KMaxLengthOfUsername=255;
+const TInt KMaxLengthOfPassword=255;
+
+class CEapMsChapV2UiMsChapV2Data : public CBase
+{
+public:
+
+    CEapMsChapV2UiMsChapV2Data();
+
+    ~CEapMsChapV2UiMsChapV2Data();
+
+    TDes& GetUsername();
+
+    TDes& GetPassword();
+
+    TBool * GetPasswordPrompt();
+
+private:
+
+    TBuf<KMaxLengthOfUsername> iUsername;
+
+    TBuf<KMaxLengthOfPassword> iPassword;
+
+    TBool iPasswordPrompt;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapsim_db_api/eapsim_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<api id="c69621b32ab685a2316b45e342e7671f" dataversion="1.0">
+  <name>EAP-SIM DB API</name>
+  <description>Interface for the EAP-SIM UI to access the settings in the EAP-SIM DBMS database.</description>
+  <type>c++</type>
+  <subsystem>wlaneapol</subsystem>
+  <libs>
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapsim_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2006 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:  File that exports the files belonging to 
+:                EAP-SIM DB API
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EapSimUiConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUiConnection.h)
+../inc/EapSimUiDataConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUiDataConnection.h)
+../inc/EapSimUiSimData.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUiSimData.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapsim_db_api/inc/EapSimUiConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPSIMUICONNECTION_H_
+#define _EAPSIMUICONNECTION_H_
+
+#include <e32std.h>
+#include <e32base.h>
+#include <d32dbms.h>
+#include <EapType.h>
+
+class CEapSimUiDataConnection;
+
+class CEapSimUiConnection : public CBase
+{
+
+public:
+
+    CEapSimUiConnection(
+        const TIndexType iIndexType,
+        const TInt iIndex,
+        const TInt iTunnelingType);
+
+    ~CEapSimUiConnection();
+
+    TInt Connect();
+
+    TInt Close();
+
+    CEapSimUiDataConnection * GetDataConnection();
+
+    TIndexType GetIndexType();
+
+    TInt GetIndex();
+
+    TInt GetTunnelingType();
+
+    TInt GetDatabase(RDbNamedDatabase & aDatabase);
+
+protected:
+
+    // Bearer type
+	TIndexType iIndexType;
+	
+	// Unique index
+	TInt iIndex;
+
+	// Tunneling type
+	TInt iTunnelingType;
+
+    // database names, handlers etc...
+
+    TBool iIsConnected;
+        
+    CEapSimUiDataConnection * iDataConn;
+
+    RDbNamedDatabase iDbNamedDatabase;
+
+    RDbs iDbs;
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapsim_db_api/inc/EapSimUiDataConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPSIMUIDATACONNECTION_H_
+#define _EAPSIMUIDATACONNECTION_H_
+
+#include <e32base.h>
+
+class CEapSimUiConnection;
+class CEapSimUiSimData;
+
+
+class CEapSimUiDataConnection : public CBase
+{
+
+public:
+
+    CEapSimUiDataConnection(CEapSimUiConnection * aUiConn);
+
+    ~CEapSimUiDataConnection();
+
+    TInt Open();
+
+    TInt GetData(CEapSimUiSimData ** aDataPtr);
+
+   	TInt Update();
+
+    TInt Close();
+
+protected:
+
+    TBool iIsOpened;
+
+    CEapSimUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    RDbView iView;
+
+    CDbColSet* iColSet;
+
+    CEapSimUiSimData * iDataPtr;
+
+private:
+
+    void FetchDataL();
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eapsim_db_api/inc/EapSimUiSimData.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+#ifndef _EAPSIMUISIMDATA_H_
+#define _EAPSIMUISIMDATA_H_
+
+#include <e32std.h>
+#include <e32base.h>
+
+const TInt KMaxLengthOfManualUsername = 255;
+const TInt KMaxLengthOfManualRealm = 255;
+
+class CEapSimUiSimData : public CBase
+{
+public:
+
+    CEapSimUiSimData();
+
+    ~CEapSimUiSimData();
+
+    TDes& GetManualUsername();
+
+    TDes& GetManualRealm();
+
+    TBool * GetUseManualUsername();
+
+    TBool * GetUseManualRealm();
+
+private:
+
+    TBuf<KMaxLengthOfManualUsername> iManualUsername;
+
+    TBuf<KMaxLengthOfManualRealm> iManualRealm;
+
+    TBool iUseManualUsername;
+
+    TBool iUseManualRealm;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/eaptlspeap_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+<api id="24ee688fb3192d040cddb9a8e6dbdce0" dataversion="1.0">
+  <name>EAP-TLS-PEAP DB API</name>
+  <description>Interface for the UI to access the settings in the TLS-based EAP method DBMS databases</description>
+  <type>c++</type>
+  <subsystem>wlaneapol</subsystem>
+  <libs>
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2006 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:  File that exports the files belonging to 
+:                EAP-TLS-PEAP DB API
+*
+*/
+
+/*
+* %version: tr1cfwln#7.1.2 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/CertEntry.h     MW_LAYER_PLATFORM_EXPORT_PATH(CertEntry.h)
+../inc/AbsEapTlsPeapUiCertificates.h     MW_LAYER_PLATFORM_EXPORT_PATH(AbsEapTlsPeapUiCertificates.h)
+../inc/EapTlsPeapUiCipherSuite.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCipherSuite.h)
+../inc/EapTlsPeapUiEapType.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiEapType.h)
+../inc/EapTlsPeapUiConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiConnection.h)
+../inc/EapTlsPeapUiCertificate.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCertificate.h)
+../inc/EapTlsPeapUiCipherSuites.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCipherSuites.h)
+../inc/EapTlsPeapUiTlsPeapData.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiTlsPeapData.h)
+../inc/EapTlsPeapUiEapTypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiEapTypes.h)
+../inc/EapTlsPeapUiDataConnection.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiDataConnection.h)
+../inc/EapTlsPeapUiCertificates.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCertificates.h)
+../inc/EapFastNotifierStruct.h    MW_LAYER_PLATFORM_EXPORT_PATH(EapFastNotifierStruct.h)
+../inc/EapTtlsPapNotifierStruct.h    MW_LAYER_PLATFORM_EXPORT_PATH(EapTtlsPapNotifierStruct.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/AbsEapTlsPeapUiCertificates.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _ABSEAPTLSPEAPUICERTIFICATES_H_
+#define _ABSEAPTLSPEAPUICERTIFICATES_H_
+
+// INCLUDES
+
+// CLASS DECLARATION
+/**
+* Class for 
+*/
+class MEapTlsPeapUiCertificates
+{
+public:
+	/**
+	* 
+	*/
+	virtual void CompleteReadCertificates(const TInt aResult) = 0;	
+};
+
+#endif // _ABSEAPTLSPEAPUICERTIFICATES_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/CertEntry.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 8.1.2 %
+*/
+
+#ifndef _SCERTENTRY_H_
+#define _SCERTENTRY_H_
+
+
+#include <unifiedcertstore.h>
+#include <cctcertinfo.h>
+
+/* This is the maximum length of a certificate primary/secondary name we are interested in. */
+const TUint32 KMaxNameLength = 64;
+
+struct SCertEntry
+{
+	TCertLabel iLabel;	// This holds only the certificate label.
+	TKeyIdentifier iSubjectKeyId;
+	TBuf<KMaxNameLength> iPrimaryName; // Primary name of the certificate if any.
+	TBuf<KMaxNameLength> iSecondaryName; // Secondary name of the certificate if any.
+};
+
+#endif // _SCERTENTRY_H_
+
+// End of file
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapFastNotifierStruct.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+#ifndef EAPFASTNOTIFIERSTRUCT_H
+#define EAPFASTNOTIFIERSTRUCT_H
+
+const TUid KEapFastNotifierUid = {0x2000F8DF};
+
+const TUint KMaxEapFastNotifierBufLength = 255;
+
+enum EEapFastNotifierUiItem
+{
+	EEapFastNotifierPacStorePwQuery,         /* 0 */
+	EEapFastNotifierWrongPacStorePwNote,     /* 1 */
+	EEapFastNotifierAuthProvWaitNote,        /* 2 */
+	EEapFastNotifierAuthProvWaitNoteEnd,     /* 3 */
+	EEapFastNotifierUnauthProvWaitNote,      /* 4 */
+	EEapFastNotifierUnauthProvWaitNoteEnd,   /* 5 */
+	EEapFastNotifierInstallPacConfirmQuery,	 /* 6 */
+	EEapFastNotifierProvSuccessNote,         /* 7 */
+	EEapFastNotifierProvNotSuccessNote,      /* 8 */
+	EEapFastNotifierPacFilePwQuery,          /* 9 */
+	EEapFastNotifierWrongPacFilePwNote,      /* 10 */
+	EEapFastNotifierCreateMasterkeyQuery,    /* 11 */
+	EEapFastNotifierUiItemsNumber            /* 12 */ // keep always as last element
+};
+
+enum EEapFastNotifierUserAction
+{
+	EEapFastNotifierUserActionOk,
+	EEapFastNotifierUserActionCancel
+};
+
+struct TEapFastNotifierStruct
+{
+	EEapFastNotifierUiItem iEapFastNotifierUiItem;
+	TBuf<KMaxEapFastNotifierBufLength> iEapFastNotifierBuffer;
+	EEapFastNotifierUserAction iEapFastNotifierUserAction;
+};
+
+#endif // EAPFASTNOTIFIERSTRUCT_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificate.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUICERTIFICATE_H_
+#define _EAPTLSPEAPUICERTIFICATE_H_
+
+#include <e32std.h>
+#include <CertEntry.h>
+
+class TEapTlsPeapUiCertificate
+{
+public:
+	SCertEntry iCertEntry;
+	TBool iIsEnabled;		
+};
+
+#endif // _EAPTLSPEAPUICERTIFICATE_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificates.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUICERTIFICATES_H_
+#define _EAPTLSPEAPUICERTIFICATES_H_
+
+#include <CertEntry.h>
+#include <e32base.h>
+
+class CEapTlsPeapUiConnection;
+class TEapTlsPeapUiCertificate;
+class CEapTlsPeapCertFetcher;
+class MEapTlsPeapUiCertificates;
+
+class CEapTlsPeapUiCertificates : public CBase
+{
+
+public:
+
+    CEapTlsPeapUiCertificates(CEapTlsPeapUiConnection * const aUiConn, MEapTlsPeapUiCertificates * const aParent);
+
+    ~CEapTlsPeapUiCertificates();
+
+    TInt Open();
+
+	TInt GetCertificates(CArrayFixFlat<TEapTlsPeapUiCertificate> ** aUserCerts,
+						 CArrayFixFlat<TEapTlsPeapUiCertificate> ** aCACerts);
+    
+    TInt Update();
+
+    TInt Close();
+    
+    void CompleteReadCertificatesL(
+		const RArray<SCertEntry>& aUserCerts, 
+		const RArray<SCertEntry>& aCACerts);
+
+
+private:
+
+    TBool iIsOpened;
+
+    CEapTlsPeapUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    CArrayFixFlat<TEapTlsPeapUiCertificate> * iUserCerts;
+
+    CArrayFixFlat<TEapTlsPeapUiCertificate> * iCACerts;
+
+    TRequestStatus iStatus;
+	
+	CEapTlsPeapCertFetcher* iCertFetcher;
+	
+	MEapTlsPeapUiCertificates* iParent;
+	
+private:
+
+	void FetchDataL(
+		const TDesC& aTableName,
+		const RArray<SCertEntry>& aAvailableCerts,
+		CArrayFixFlat<TEapTlsPeapUiCertificate> * const aArray);    
+    
+    void UpdateL();
+};
+
+#endif // _EAPTLSPEAPUICERTIFICATES_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuite.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUICIPHERSUITE_H_
+#define _EAPTLSPEAPUICIPHERSUITE_H_
+
+#include <e32std.h>
+
+class TEapTlsPeapUiCipherSuite
+{
+public:
+
+    TBool                           iIsEnabled;        
+    TUint							iCipherSuite;
+};
+
+#endif //_EAPTLSPEAPUICIPHERSUITE_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuites.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUICIPHERSUITES_H_
+#define _EAPTLSPEAPUICIPHERSUITES_H_
+
+#include <e32base.h>
+
+class CEapTlsPeapUiConnection;
+class TEapTlsPeapUiCipherSuite;
+
+
+class CEapTlsPeapUiCipherSuites : public CBase
+{
+
+public:
+
+    CEapTlsPeapUiCipherSuites(CEapTlsPeapUiConnection * const aUiConn);
+
+    ~CEapTlsPeapUiCipherSuites();
+
+    TInt Open();
+
+    TInt GetCipherSuites(CArrayFixFlat<TEapTlsPeapUiCipherSuite> ** aDataPtr);
+   	
+    TInt Update();
+
+    TInt Close();
+
+private:
+
+    TBool iIsOpened;
+
+    CEapTlsPeapUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;    
+
+	CArrayFixFlat<TEapTlsPeapUiCipherSuite>* iDataPtr;
+
+private:
+
+    void FetchDataL();
+    
+    void UpdateL();
+};
+
+#endif //_EAPTLSPEAPUICIPHERSUITES_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 16.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUICONNECTION_H_
+#define _EAPTLSPEAPUICONNECTION_H_
+
+#include <e32std.h>
+#include <e32base.h>
+#include <d32dbms.h>
+#include <EapType.h>
+
+class CEapTlsPeapUiDataConnection;
+class CEapTlsPeapUiCipherSuites;
+class CEapTlsPeapUiCertificates;
+class CEapTlsPeapUiEapTypes;
+class MEapTlsPeapUiCertificates;
+class CPacStoreDatabase;
+
+class CEapTlsPeapUiConnection : public CBase
+{
+
+public:
+
+	// This creates a connection between EAP plugin and the EAP UI.
+	// aTunnelingType - the Vendor-Type of Tunneling EAP type.
+	// aEapType - the Vendor-Type of the EAP type 
+	// Supported Vendor-ID here is 0x 0 (3 bytes) for both.
+
+    CEapTlsPeapUiConnection(
+        const TIndexType aIndexType,
+        const TInt aIndex,
+        const TInt aTunnelingType,
+        const TInt aEapType);
+
+    ~CEapTlsPeapUiConnection();
+
+    TInt Connect();
+
+    TInt Close();
+
+    CEapTlsPeapUiDataConnection * GetDataConnection();
+
+	CEapTlsPeapUiCipherSuites * GetCipherSuiteConnection();
+	
+	CEapTlsPeapUiCertificates * GetCertificateConnection(MEapTlsPeapUiCertificates * const aParent);
+	
+	CEapTlsPeapUiEapTypes * GetEapTypeConnection();
+
+    TIndexType GetIndexType();
+
+    TInt GetIndex();
+
+	// Returns the Vendor-Type of Tunneling EAP type, in this EAP type.
+	// Supported Vendor-ID here is 0x 0 (3 bytes).
+    TInt GetTunnelingType();
+
+	// Returns the Vendor-Type of this EAP type.
+	// Supported Vendor-ID here is 0x 0 (3 bytes).
+    TInt GetEapType();
+
+    TInt GetDatabase(RDbNamedDatabase & aDatabase);
+    
+    // Check if there's the PAC store master key.
+    // Call Connect() before doing this and Close() after.	
+    // Returns ETrue if there is master key. EFalse if there is not.
+	TBool IsPacStoreMasterKeyPresentL();
+
+    // This destroys the PAC store if it is created already.
+    // Call Connect() before doing this and Close() after.
+    // Returns KErrNone if successful. Symbian error code otherwise.
+	TInt DestroyPacStore();
+	
+    // This check if the PAC store (or PAC store master key) can be decrypted 
+	// with the password provided.
+    // Call Connect() before doing this and Close() after.	
+    // Returns ETrue if successful.
+	TBool VerifyPacStorePasswordL(const TDesC& aPacStorePw);
+	
+    // This creates the PAC store master key with the password provided.
+    // Call Connect() before doing this and Close() after.	
+    // Returns KErrNone if successful. Symbian error code otherwise.
+	TInt CreatePacStoreMasterKey(const TDesC& aPacStorePw);
+	
+	CPacStoreDatabase * GetPacStoreDb();
+	
+protected:
+
+    // Bearer type
+	TIndexType iIndexType;
+	
+	// Unique index
+	TInt iIndex;
+
+	// This stores the Vendor-Type of Tunneling EAP type. Supported Vendor-ID here is 0x 0 (3 bytes).
+	TInt iTunnelingType;
+
+	// This stores the Vendor-Type of the EAP type. Supported Vendor-ID here is 0x 0 (3 bytes).
+	TInt iEapType;
+	
+    TBool iIsConnected;
+
+    // database names, handlers etc...
+
+    CEapTlsPeapUiDataConnection * iDataConn;
+
+	CEapTlsPeapUiCipherSuites * iCipherSuites;
+		
+	CEapTlsPeapUiEapTypes * iEapTypes;
+	
+	CEapTlsPeapUiCertificates * iCertificates;	
+	
+    RDbNamedDatabase iDbNamedDatabase;
+
+    RDbs iDbs;
+    
+private:
+	
+    void ConnectL();
+    
+private:
+	
+	CPacStoreDatabase * iPacStoreDb;
+	
+};
+
+#endif
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiDataConnection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 10.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUIDATACONNECTION_H_
+#define _EAPTLSPEAPUIDATACONNECTION_H_
+
+#include <e32base.h>
+
+class CEapTlsPeapUiConnection;
+class CEapTlsPeapUiTlsPeapData;
+
+
+class CEapTlsPeapUiDataConnection : public CBase
+{
+
+public:
+
+    CEapTlsPeapUiDataConnection(CEapTlsPeapUiConnection * aUiConn);
+
+    ~CEapTlsPeapUiDataConnection();
+
+    TInt Open();
+
+    TInt GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr);
+
+   	TInt Update();
+
+    TInt Close();
+
+protected:
+
+    TBool iIsOpened;
+
+    CEapTlsPeapUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    RDbView iView;
+    
+    CDbColSet* iColSet;
+   
+    CEapTlsPeapUiTlsPeapData * iDataPtr;
+
+private:
+	// Functions.
+	
+    void FetchDataL();
+    void UpdateDataL();
+    
+private:	
+	// Member variables.
+
+	// Only used with EAP-FAST. Can't use the falg here.
+    RDbView iFastSpecificView;
+    
+   // Only used with EAP-FAST. Can't use the flag here.
+    CDbColSet*  iFastSpecificColSet;
+
+};
+
+#endif // _EAPTLSPEAPUIDATACONNECTION_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapType.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 10.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUIEAPTYPE_H_
+#define _EAPTLSPEAPUIEAPTYPE_H_
+
+#include <e32std.h>
+
+class TEapTlsPeapUiEapType
+{
+public:
+    TBool		iIsEnabled;        
+    TBuf8<8>  	iEapType;      // UID of Expanded EAP type.
+};
+
+#endif // _EAPTLSPEAPUIEAPTYPE_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapTypes.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 10.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUIEAPTYPES_H_
+#define _EAPTLSPEAPUIEAPTYPES_H_
+
+#include <e32base.h>
+
+class CEapTlsPeapUiConnection;
+class TEapTlsPeapUiEapType;
+
+class CEapTlsPeapUiEapTypes : public CBase
+{
+
+public:
+
+    CEapTlsPeapUiEapTypes(CEapTlsPeapUiConnection * const aUiConn);
+
+    ~CEapTlsPeapUiEapTypes();
+
+    TInt Open();
+
+    TInt GetEapTypes(CArrayFixFlat<TEapTlsPeapUiEapType> ** aDataPtr);
+   	
+    TInt Update();
+
+    TInt Close();
+
+private:
+
+    TBool iIsOpened;
+
+    CEapTlsPeapUiConnection * iUiConn;
+
+    RDbNamedDatabase iDatabase;
+
+    CArrayFixFlat<TEapTlsPeapUiEapType>* iDataPtr;    
+    
+private:
+
+
+    void FetchExpandedDataL();
+    
+    void UpdateExpandedDataL();
+    
+};
+
+#endif // _EAPTLSPEAPUIEAPTYPES_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiTlsPeapData.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 14.1.2 %
+*/
+
+#ifndef _EAPTLSPEAPUITLSPEAPDATA_H_
+#define _EAPTLSPEAPUITLSPEAPDATA_H_
+
+#include <e32std.h>
+#include <e32base.h>
+
+const TInt KMaxLengthOfUsername=255;
+const TInt KMaxLengthOfPassword=255;
+
+const TInt KMaxLengthOfPapUserName = 253; // according to UI spec
+const TInt KMaxLengthOfPapPassword = 128; // according to UI spec
+
+class CEapTlsPeapUiTlsPeapData : public CBase
+{
+public:
+
+    CEapTlsPeapUiTlsPeapData();
+
+    ~CEapTlsPeapUiTlsPeapData();
+
+    TDes& GetManualUsername();
+
+    TBool * GetUseManualUsername();
+
+    TDes& GetManualRealm();
+
+    TBool * GetUseManualRealm();
+    
+    TBool * GetAllowVersion0();
+    
+    TBool * GetAllowVersion1();
+    
+    TBool * GetAllowVersion2();
+    
+    // New member functions for EAP-FAST 
+    
+    TBool * GetTlsPrivacy();
+    
+    TBool * GetAuthProvModeAllowed();
+
+    TBool * GetUnauthProvModeAllowed();
+    
+    TDes& GetPacStorePassword();
+
+public: // new, for TTLS PAP
+    
+    TDes& GetPapUserName();
+
+    TDes& GetPapPassword();
+
+    TBool* GetPapPasswordPrompt();
+
+private:
+
+    TBuf<KMaxLengthOfUsername> iManualUsername;
+
+    TBool iUseManualUsername;
+
+    TBuf<KMaxLengthOfUsername> iManualRealm;
+
+    TBool iUseManualRealm;
+    
+    TBool iAllowVersion0;
+    
+    TBool iAllowVersion1;
+    
+    TBool iAllowVersion2;
+    
+    // New member variables for EAP-FAST
+    TBool iTlsPrivacy;
+    
+    TBool iAuthProvModeAllowed;
+
+    TBool iUnauthProvModeAllowed;
+    
+    TBuf<KMaxLengthOfPassword> iPacStorePassword;
+    
+    TBuf<KMaxLengthOfPapUserName> iPapUserName;
+
+    TBuf<KMaxLengthOfPapPassword> iPapPassword;
+
+    TBool iPapPasswordPrompt;
+    
+};
+
+#endif
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTtlsPapNotifierStruct.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2008 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+#ifndef EAPTTLSPAPNOTIFIERSTRUCT_H
+#define EAPTTLSPAPNOTIFIERSTRUCT_H
+
+/**
+* UID of PAP notifier to display authentication query dialog.
+*/ 
+const TUid KPapNotifierUid = { 0x200159A9 };
+
+/**
+* Maximum PAP challenge length.
+*/ 
+const TUint KMaxPapChallengeLength = 4096;
+
+/**
+* Maximum PAP user name.
+*/ 
+const TUint KMaxPapUserNameLength = 253;
+
+/**
+* Maximum PAP password length.
+*/ 
+const TUint KMaxPapPasswordLength = 128;
+
+/**
+* Data structure defines user name, password and password prompt.
+*/ 
+struct TPapUserNamePasswordInfo
+    {
+    /**
+    * True if password prompt is enabled, False - otherwise.
+    */ 
+ 	TBool iPasswordPromptEnabled;
+ 	
+    /*
+ 	* Buffer for user name.
+ 	*/
+ 	TBuf16<KMaxPapUserNameLength> iUserName;
+ 	
+ 	/**
+ 	* Buffer for password.
+ 	*/ 
+ 	TBuf16<KMaxPapPasswordLength> iPassword;   
+    };
+
+/**
+* Data structure used in notifier communication.
+*/ 
+struct TPapUiNotifierInfo
+    {
+    enum TPapUiNotifierState
+        {
+        EPapUiNotifierAuthQueryDialog,               /* 0 */
+        EPapUiNotifierPapChallengeSize,              /* 1 */
+        EPapUiNotifierPapChallengeMsgDialog,         /* 2 */
+        EPapUiNotifierPapChallengeReplyQueryDialog,  /* 3 */
+        // ...
+        EPapUiNotifierStatesNumber                   /* 4 */ // keep always as last element
+        };
+
+    /**
+    * State defines UI notifier logic.
+    */ 
+    TPapUiNotifierState iState;
+
+    /**
+    * Data structure defines user name, password and password prompt.
+    */  
+    TPapUserNamePasswordInfo iUsrPwdInfo;
+    	
+	/**
+	* PAP challenge message.
+	*/
+	TUint iSrvChallengeSize;
+	TBuf16<KMaxPapChallengeLength> iPapChallenge;
+    };
+
+/**
+* Defines user action: accepting or cancelling
+* authentication query dialog.
+*/ 
+enum EPapNotifierUserAction
+    {
+    EPapNotifierUserActionOk,
+    EPapNotifierUserActionCancel
+    };
+    
+#endif // EAPTTLSPAPNOTIFIERSTRUCT_H
+
+// End of File
--- a/accesssec_plat/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ b/accesssec_plat/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2009 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  Build information file
+* Description: Build information file
 *
 */
 
 /*
-* %version: 9 %
+* %version: 6 %
 */
 
 PRJ_PLATFORMS
@@ -25,7 +25,19 @@
 PRJ_EXPORTS
 
 PRJ_MMPFILES
+#include "../wapi_security_settings_ui_api/group/bld.inf"
+#include "../wep_security_settings_ui_api/group/bld.inf"
+#include "../wi-fi_protected_setup_ui_api/group/bld.inf"
+#include "../wlan_eap_settings_ui_api/group/bld.inf"
+#include "../wpa_security_settings_ui_api/group/bld.inf"
 #include "../eap_vpn_api/group/bld.inf"
+#include "../eapsim_db_api/group/bld.inf"
 #include "../eap_type_api/group/bld.inf"
+#include "../eaptlspeap_db_api/group/bld.inf"
+#include "../eapleap_db_api/group/bld.inf"
+#include "../eapgtc_db_api/group/bld.inf"
+#include "../eapmschapv2_db_api/group/bld.inf"
+#include "../eapaka_db_api/group/bld.inf"
+#include "../wapi_db_api/group/bld.inf"
 
 PRJ_TESTMMPFILES
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_db_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2008 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:  File that exports the files belonging to 
+:                WAPI DB API
+*
+*/
+
+/*
+* %version: 4.1.2 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/WapiCertificates.h     MW_LAYER_PLATFORM_EXPORT_PATH(WapiCertificates.h)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_db_api/inc/WapiCertificates.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2008 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:  WAPI authentication protocols.
+*
+*/
+
+/*
+* %version: 14 %
+*/
+
+#ifndef _WAPICERTIFICATES_H_
+#define _WAPICERTIFICATES_H_
+
+#include <e32base.h>
+#include <e32std.h>
+
+
+const TInt KMaxLabelLength = 255;
+const TInt KMaxIdentityLength = 310;
+class CCertificateStoreDatabase;
+class abs_eap_am_tools_c;
+class dummy_wapi_core_c;
+class wapi_am_core_symbian_c;
+class ec_certificate_store_c;
+
+/**
+*  This is a wrapper class which can be used to handle WAPI related certificates
+*/
+class CWapiCertificates : /*public CBase,*/ public CActive
+{
+
+public:
+
+    IMPORT_C CWapiCertificates();
+    IMPORT_C ~CWapiCertificates();
+    
+    /**
+    * Function for creating the CWapiCertificates object
+    *
+    */
+    IMPORT_C static CWapiCertificates* NewL();
+    
+     /**
+    * Function for reserving memory for the internal data types
+    *
+    */
+    void ConstructL();
+    
+    /**
+    * Gets a list of the available WAPI user and CA certificates
+    * 
+    * NOTE that the caller is responsible for freeing the memory of the arrays
+    *
+    * @param aUserCerts Array of available WAPI User certificate labels
+    * @param aUserCertData Array of available WAPI User certificate identities
+    * @param aCACerts   Array of available WAPI CA certificate labels
+    * @param aCACertData   Array of available WAPI CA certificate identities
+    */
+    IMPORT_C void GetAllCertificateLabelsL( RArray<TBuf<KMaxLabelLength> > **aUserCerts, RArray<TBuf8<KMaxIdentityLength> > **aUserCertData,
+            RArray<TBuf<KMaxLabelLength> > **aCACerts, RArray<TBuf8<KMaxIdentityLength> >**aCACertData );
+	
+    /**
+    * Resets the WAPI Certificate store
+    *
+    */
+    IMPORT_C void ResetCertificateStoreL( );
+	
+    /**
+    * Gets the WAPI certificate configuration of a specific AP
+    *
+    * @param aId        Service table id
+    * @param aUserCert  Id matching the selected WAPI User certificate
+    * @param aCACert    Id matching the selected WAPI CA certificate
+    */
+    IMPORT_C void GetConfigurationL( const TInt aId, TDes& aCACert, TDes& aUserCert );
+	
+    /**
+    * Sets the WAPI certificate configuration of a specific AP
+    *
+    * @param aId          Service table id
+    * @param aCACertData  Selected WAPI CA certificate identity 
+    */
+    IMPORT_C void SetCACertL( const TInt aId, const TBuf8<KMaxIdentityLength> aCACertData );
+	
+    /**
+    * Sets the WAPI certificate configuration of a specific AP
+    *
+    * @param aId           Service table id
+    * @param aUserCertData Selected WAPI User certificate identity 
+    */
+    IMPORT_C void SetUserCertL( const TInt aId, const TBuf8<KMaxIdentityLength> aUserCertData );
+    
+    /**
+    * Delete AP related data from certificate database tables
+    *
+    * @param aId        Service table id
+    */
+    IMPORT_C void DeleteAPSpecificDataL( const TInt aId );
+    
+protected: // from CActive
+    
+    /**
+    * RunL from CActive
+    */    
+    void RunL();
+    
+    /**
+    * DoCancel from CActive
+    */    
+    void DoCancel();
+private:
+    // Pointer to the used certificate store object
+    CCertificateStoreDatabase* iCertDB; 
+    // amTools is needed for the certificate store object creation
+    abs_eap_am_tools_c* iAmTools;
+    dummy_wapi_core_c* iDummyCore;
+    // The pointer to the ec_certificate_store_c needed to create the wapi_am_core_symbian
+    ec_certificate_store_c* iEcCertStore;
+    // The pointer to the object needed to start the certificate import and reading of labels
+    wapi_am_core_symbian_c* iWapiCore;
+    	
+    // For wrapping asynchronous calls.
+    CActiveSchedulerWait iWait;
+};
+
+#endif // _WAPICERTIFICATES_H_
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_db_api/wapi_db_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" ?>
+<api id="c0331af85644a1aab6d4a94443387df2" dataversion="1.0">
+<name>WAPI DB API</name>
+<description>Interface for the WAPI UI to access the settings in the WAPI DBMS database.</description>
+<type>c++</type>
+<subsystem>eapol</subsystem>
+<libs></libs>
+<release category="domain" sinceversion="5.0"/>
+<attributes>
+<htmldocprovided>no</htmldocprovided>
+<adaptation>no</adaptation>
+</attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_security_settings_ui_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2001-2009 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: File that exports the files belonging to  WAPI Security Settings UI API
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/wapisecuritysettingsui.h  MW_LAYER_PLATFORM_EXPORT_PATH( wapisecuritysettingsui.h )
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_security_settings_ui_api/inc/wapisecuritysettingsui.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2001-2009 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: Declares the main handler CWAPISecuritySettings, UI CWAPISecuritySettingsUI and public API for the WAPI Security Settings. 
+*
+*/
+
+/*
+* %version: 10 %
+*/
+
+#ifndef WAPISECURITYSETTINGSUI_H
+#define WAPISECURITYSETTINGSUI_H
+
+// INCLUDES
+
+#include <e32base.h>
+#include <WapiCertificates.h>
+
+#include <metadatabase.h>
+#include <commsdattypesv1_1.h>
+
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+class CWAPISecuritySettingsUi;
+class CWAPISecuritySettingsUiImpl;
+class CWAPISecuritySettingsImpl;
+class CCommsDatabase;
+
+// CLASS DECLARATION
+/*
+* WAPI Security Settings. Enables loading, saving and editing the settings
+* (editing via CWAPISecuritySettingsUi).
+* Proxy around the real implementation in CWAPISecuritySettingsUiImpl. 
+*/
+NONSHARABLE_CLASS( CWAPISecuritySettings ) : public CBase
+    {
+
+    public: // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed CWAPISecuritySettings object.
+        */
+        IMPORT_C static CWAPISecuritySettings* NewL();
+
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C ~CWAPISecuritySettings();
+
+
+    public:     // Types
+
+        enum TEvent                     // Events happening during edit.
+            {
+            ENone           = 0x0000,   // Nothing happened.
+            EModified       = 0x0001,   // Data changed.
+            EValid          = 0x0010,   // All data entered are valid, they can be
+                                        // saved
+            
+            EExitReq        = 0x0020,   // Exit option requested, also caller 
+                                        // app should close
+            EShutDownReq    = 0x0040    // ShutDown was requested
+            };
+        
+        enum TWapiKeyFormat
+            {
+            EWapiKeyAscii   = 0,
+            EWapiKeyHex     = 1
+            };
+        
+    public:     // New methods
+
+        
+        /**
+        * Edit WAPI certificate settings.
+        * @param aUi UI to be used.
+        * @param aTitle Title Pane text to display during edit.
+        * @return Exit reason.
+        */
+        IMPORT_C TInt EditL( CWAPISecuritySettingsUi& aUi, 
+                             const TDesC& aTitle );
+
+        
+        /**
+        * Load WAPI certificate settings and configuration from database.
+        * @param aIapRecordID 
+        * @param aSession Commsdat session
+        */
+        IMPORT_C void LoadL( TUint32 aIapRecordId, CMDBSession& aSession );
+
+        /**
+        * Tells if the settings are valid and can be saved
+        * @return ETrue if all the compulsory settings have been entered
+        */
+        IMPORT_C TBool IsValid() const;
+
+        /**
+        * Save WAPI certificate settings of the IAP to the database.
+        * @param aIapRecordID 
+        * @param aSession Commsdat session
+        */
+        IMPORT_C void SaveL( TUint32 aIapRecordId, CMDBSession& aSession ) const;
+
+        /**
+        * Sets the Pre-shared key. Also sets Authentication method to PSK.
+        * @param aKeyFormat     Key format
+        * @param aPreSharedKey  The key to be set
+        */
+        IMPORT_C void SetPreSharedKeyL( const TWapiKeyFormat aKeyFormat, const TDesC& aPreSharedKey );
+                
+        /**
+        * Delete AP related data from certificate database tables
+        *
+        * @param aId        Service table id
+        */
+        IMPORT_C void DeleteAPSpecificDataL( const TInt aId );
+    
+    private:    // Data 
+
+        // Implementation. Owned.
+        CWAPISecuritySettingsImpl* iImpl;  
+
+    };
+
+/**
+* User interface to edit WAPI Security Settings.
+* Proxy around the real implementation in CWAPISecuritySettingsUiImpl.
+*/
+NONSHARABLE_CLASS( CWAPISecuritySettingsUi ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aEikEnv Eikon environment.
+        * @return The constructed CWAPISecuritySettingsUi object.
+        */
+        IMPORT_C static CWAPISecuritySettingsUi* NewL( CEikonEnv& aEikEnv );
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CWAPISecuritySettingsUi();
+
+    private:    // Friends
+
+        friend class CWAPISecuritySettings;
+
+    private:    // Data 
+
+        // Implementation. Owned.
+        CWAPISecuritySettingsUiImpl* iImpl;
+
+    };
+#endif
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_security_settings_ui_api/wapi_security_settings_ui_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?>
+<api id="05dcacc9a3b2427e80999dead4919374" dataversion="1.0">
+<name>WAPI Security Settings UI API</name>
+<description>API for accessing WAPI security settings UI</description>
+<type>c++</type>
+<subsystem>networkingutilities</subsystem>
+<libs><lib name="wapisecuritysettingsui.lib"/>
+</libs>
+<release category="domain" sinceversion="5.0"/>
+<attributes>
+<htmldocprovided>yes</htmldocprovided>
+<adaptation>no</adaptation>
+</attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wep_security_settings_ui_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2001-2009 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: File that exports the files belonging to  WEP Security Settings UI API
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/WEPSecuritySettingsUI.h  MW_LAYER_PLATFORM_EXPORT_PATH( WEPSecuritySettingsUI.h )
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wep_security_settings_ui_api/inc/WEPSecuritySettingsUI.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,246 @@
+/*
+* Copyright (c) 2001-2009 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: Declares the main handler CWEPSecuritySettings, UI CWEPSecuritySettingsUI and public API for the WEP Security Settings. 
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef WEPSECURITYSETTINGSUI_H
+#define WEPSECURITYSETTINGSUI_H
+
+// INCLUDES
+
+#include <e32base.h>
+
+#include <metadatabase.h>
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+class CWEPSecuritySettingsUi;
+class CWEPSecuritySettingsUiImpl;
+class CWEPSecuritySettingsImpl;
+class CCommsDatabase;
+
+
+
+// CLASS DECLARATION
+/*
+* WEP Security Settings. Enables loading, saving and editing the settings
+* (editing via CWEPSecuritySettingsUi).
+* Proxy around the real implementation in CWEPSecuritySettingsUiImpl. 
+* No details of the actual data are exposed.
+*/
+NONSHARABLE_CLASS( CWEPSecuritySettings ) : public CBase
+    {
+
+    public: // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed CWEPSecuritySettings object.
+        */
+        IMPORT_C static CWEPSecuritySettings* NewL();
+
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C ~CWEPSecuritySettings();
+
+
+    public:     // Types
+
+        enum TEvent                     // Events happening during edit.
+            {
+            ENone           = 0x0000,   // Nothing happened.
+            EModified       = 0x0001,   // Data changed.
+            EValid          = 0x0010,   // All data entererd are valid, they
+                                        // can be saved
+            EExitReq        = 0x0020,   // Exit option requested, also caller 
+                                        // app should close
+            EShutDownReq    = 0x0040    // ShutDown was requested
+            };
+
+
+        // Members to be showed in the setting pages
+        enum TWepMember
+            {
+            EWepKeyInUse,           // To set key in use
+            EWepAuthentication,     // To set authentication type
+            EWepKeyConfiguration,   // To open the other settings (the three below)
+
+            EWepKeyLength,          // To set the length of the key
+            EWepKeyFormat,          // To choose the format of the key
+            EWepKeyData             // To set the key
+            };
+
+
+        // Enumeration of the possible keys in use
+        enum TWEPKeyInUse
+            {
+            EKeyNumber1,            // Key number 1
+            EKeyNumber2,            // Key number 2
+            EKeyNumber3,            // Key number 3
+            EKeyNumber4             // Key number 4
+            };
+
+
+        // Enumeration of the possible authentication types
+        enum TWEPAuthentication
+            {
+            EAuthOpen,              // Open authentication
+            EAuthShared             // Shared authentication
+            };
+
+
+        // Possible lengths of the keys
+        enum TWEPKeyLength
+            {
+            E40Bits,                // 40 bits
+            E104Bits,               // 104 bits
+            E232Bits                // 232 bits
+            };
+
+
+        // Possible formats of the keys
+        enum TWEPKeyFormat
+            {
+            EAscii,                 // Ascii format
+            EHexadecimal            // Hex format
+            };
+    
+    public:     // New methods
+
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aCommsDb Comms database.
+        */
+        IMPORT_C void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb );
+        
+        /**
+        * Edit the settings.
+        * @param aUi UI to be used.
+        * @param aTitle Title Pane text to display during edit.
+        * @return Exit reason.
+        */
+        IMPORT_C TInt EditL( CWEPSecuritySettingsUi& aUi, 
+                             const TDesC& aTitle );
+
+        /**
+        * Save to database.
+        * @param aIapId Wlan Service Table Id of the IAP to be saved
+        * @param aCommsDb Comms database.
+        */
+        IMPORT_C void SaveL( TUint32 aIapId, CCommsDatabase& aCommsDb ) const;
+        
+        /**
+        * Tells if the settings are valid and can be saved
+        * @return ETrue if all the compulsory settings have been entered
+        */
+        IMPORT_C TBool IsValid() const;
+
+        /**
+        * Sets the new data of the key
+        * @param aElement   Index of the element whose data has to be set.
+        * @param aKeyData   The new value for data of the key.
+        * @param aHex       ETrue if data is in Ascii format
+        * @return KErrNone if successful, or an error code
+        */
+        IMPORT_C TInt SetKeyDataL( const TInt aElement, const TDesC& aKeyData,
+                                   const TBool aHex );
+        
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aSession Session to CommsDat.
+        */
+        IMPORT_C void LoadL( TUint32 aIapId, CMDBSession& aSession );
+        
+        /**
+        * Save to database.
+        * @param aIapId Wlan Service Table Id of the IAP to be saved
+        * @param aSession Session to CommsDat.
+        */
+        IMPORT_C void SaveL( TUint32 aIapId, CMDBSession& aSession ) const;
+
+        /**
+        * Sets the index of the key to use.
+        * @param aKey   The key to be used for authentication.
+        */
+        IMPORT_C void SetKeyInUse( TWEPKeyInUse aKey );
+        
+        /**
+        * Sets the authentication type.
+        * @param aAuthentication   The authentication type.
+        */
+        IMPORT_C void SetAuthentication( TWEPAuthentication aAuthentication );
+        
+
+    private:    // Data 
+
+        // Implementation. Owned.
+        CWEPSecuritySettingsImpl* iImpl;  
+
+    };
+
+
+
+/**
+* User interface to edit WEP Security Settings.
+* Proxy around the real implementation in CWEPSecuritySettingsUiImpl.
+*/
+NONSHARABLE_CLASS( CWEPSecuritySettingsUi ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aEikEnv Eikon environment.
+        * @return The constructed CWEPSecuritySettingsUi object.
+        */
+        IMPORT_C static CWEPSecuritySettingsUi* NewL( CEikonEnv& aEikEnv );
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CWEPSecuritySettingsUi();
+
+    public:     // New methods
+
+        /**
+        * Component Validation Test.
+        * @return KErrNone.
+        */
+        IMPORT_C static TInt Cvt();
+
+    private:    // Friends
+
+        friend class CWEPSecuritySettings;
+
+    private:    // Data 
+
+        // Implementation. Owned.
+        CWEPSecuritySettingsUiImpl* iImpl;
+
+    };
+#endif
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wep_security_settings_ui_api/wep_security_settings_ui_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?>
+<api id="c8f684fc1b499af65679c5dc7fb8d4b8" dataversion="1.0">
+<name>WEP Security Settings UI API</name>
+<description>API for accessing WEP security settings UI</description>
+<type>c++</type>
+<subsystem>networkingutilities</subsystem>
+<libs><lib name="wepsecuritysettingsui.lib"/>
+</libs>
+<release category="domain" sinceversion="3.2"/>
+<attributes>
+<htmldocprovided>yes</htmldocprovided>
+<adaptation>no</adaptation>
+</attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wi-fi_protected_setup_ui_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2001-2009 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: File that exports the files belonging to  WiFi Protected Setup UI API
+*
+*/
+
+/*
+* %version: tr1cfwln#12 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/wifiprotuiclient.h  MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotuiclient.h )
+../inc/WiFiProtReturn.h MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotreturn.h )
+../inc/wifiprotuiddefs.h  MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotuiddefs.h )
+../inc/wifiprotuiinprocess.h MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotuiinprocess.h )
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/WiFiProtReturn.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2001-2009 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: Declares the common used constants and types for Wi-Fi Protected Setup. 
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef T_WIFIRETURN_H
+#define T_WIFIRETURN_H
+
+namespace WiFiProt
+    {
+    // Return value of Wi-Fi Protected Setup ( WPS ) Ui process
+    enum TWiFiReturn 
+        {
+        // WPS has been cancelled
+        EWiFiCancel,
+        // WPS has completed without any errors
+        EWiFiOK,
+        // User has selected the option not to use WPS
+        EWifiNoAuto
+        };
+    }
+
+#endif  // T_WIFIRETURN_H
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiclient.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2001-2009 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: Declares the main handler, CWiFiProtUiClient and public API for the Wi-Fi Protected Settings. 
+*
+*/
+
+/*
+* %version: tr1cfwln#6 %
+*/
+
+#ifndef C_WIFIPROTUICLIENT_H
+#define C_WIFIPROTUICLIENT_H
+
+// INCLUDES
+
+#include <e32base.h>
+#include <wlanmgmtcommon.h>
+#include <wifiprotreturn.h>
+
+// FORWARD DECLARATIONS
+class CWiFiProtUiClientImpl;
+
+// CLASS DECLARATION
+/*
+* WiFi Protected Setup , used to show the user a sequence of dialogs to setup
+* a wlan network automatically
+* This class is just a proxy, the real implementation is in
+* CWiFiProtUiClientImpl. 
+* No details of the actual data are exposed.
+*/
+class CWiFiProtUiClient  : public CBase
+    {
+    public: // Constructors and destructor
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed CWiFiProtUiClient object.
+        */
+        IMPORT_C static CWiFiProtUiClient* NewL();
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C ~CWiFiProtUiClient();
+
+        // New methods
+
+        /**
+        * Starts WiFi Protected Setup sequence
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded - This parameter is not used anymore in
+        * the current implementation. It is just there to preserve
+        * compatibility. Please use StartWiFiProtConnL to configure a
+        * connection using Wi-Fi Protected Setup.
+        * @param aUidsReturned uids of the configured connection methods        
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use protected setup (No Automatic Setup).
+        * @param aStatus - Request status of the client       
+        */
+        IMPORT_C void StartWiFiProtL( const TWlanSsid& aSSid,
+                                      TBool aConnectionNeeded,
+                                      RArray<TUint32>& aUidsReturned,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus );
+
+        /**
+        * Starts WiFi Protected Setup sequence - sync version
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded - This parameter is not used anymore in
+        * the current implementation. It is just there to preserve
+        * compatibility. Please use StartWiFiProtConnL to configure a
+        * connection using Wi-Fi Protected Setup.
+        * @param aUidsReturned uids of the configured connection methods        
+        * @return  - possible return values are ok, cancel process
+        * and not use protected setup (No Automatic Setup).
+        * We can return a value since the call is sychronous.
+        */
+        IMPORT_C WiFiProt::TWiFiReturn StartWiFiProtSyncL(
+                                          const TWlanSsid& aSSid,
+                                          TBool aConnectionNeeded,
+                                          RArray<TUint32>& aUidsReturned );
+
+        /**
+        * Cancels WiFi Protected Setup sequence
+        */
+        IMPORT_C void CancelWiFiProt( );
+        
+        /**
+        * Starts WiFi Protected Setup sequence in Connection initiation mode
+        * (WPS phase 2 implementation)
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aNetworkSettings configuration settings of the network to use
+        * for the connection (returned as the result of Protected Setup)      
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use protected setup (No Automatic Setup).
+        * @param aStatus - Request status of the client       
+        */
+        IMPORT_C void StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus );
+
+    private:    // Data 
+        CWiFiProtUiClientImpl* iImpl;  ///< Implementation. Owned.
+    };
+
+#endif //C_WIFIPROTUICLIENT_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiddefs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of the UIDs used by Connection Dialogs
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#ifndef WIFIPROTUIDDEFS_H
+#define WIFIPROTUIDDEFS_H
+
+// INCLUDES
+#include <e32std.h>
+
+// CONSTANTS
+
+// UIDs for CConnDlg plugins
+
+// ID of Wi-Fi protected setup
+const TUid KUidWiFiProtSetup = { 0x10281BBF };
+
+#endif  // WIFIPROTUIDDEFS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiinprocess.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of CWifiProtUiInProcess
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef C_WIFIPROTUIINPROCESS_H
+#define C_WIFIPROTUIINPROCESS_H
+
+
+// INCLUDES
+#include <cmmanagerext.h>
+#include <wlanmgmtcommon.h>
+#include <wifiprotreturn.h>
+
+class CWiFiProtDlgsPlugin;
+
+/**
+ * CWifiProtUiInProcess class
+ * Private interface class that allows the client to run
+ * Wi-Fi Protected Setup directly, without using the
+ * Notifier Framework
+ */
+class CWifiProtUiInProcess : public CBase
+    {
+    
+public:
+    
+    /**
+    * NewL function
+    * @param  aCmManagerExt Cm Manager to use during Wi-Fi Protected Setup
+    * return CWifiProtUiInProcess*
+    */
+    IMPORT_C static CWifiProtUiInProcess* NewL( RCmManagerExt*
+                                                aCmManagerExt );
+
+    /**
+    * Destructor
+    */
+    ~CWifiProtUiInProcess( );
+
+    /**
+    * Starts Wi-Fi Protected Setup
+    * Private interface to be used by applications with ui
+    * runs in the same process, so pointers can be passed
+    * @param aSSid contains SSid of the network we want to configure 
+    * @param aConnectionNeeded ETrue if we need a connection via the
+    * configured network 
+    * @return  possible return values are ok, cancel process and not use 
+    * protected setup (No Auto).        
+    */    
+    IMPORT_C WiFiProt::TWiFiReturn StartFromUiL( const TWlanSsid& aSSid,
+                                             TBool aConnectionNeeded,
+                                             RArray<TUint32>& aUidsReturned);
+
+private:    
+
+    /**
+    * Constructor
+    */
+    CWifiProtUiInProcess( );
+    
+    /**
+    * Second phase constructor
+    * @param aCmManagerExt CmManager to use
+    */
+    void ConstructL( RCmManagerExt* aCmManagerExt = NULL );
+                  
+private:
+    CWiFiProtDlgsPlugin* iWiFiProtDlgsPlugin; // notifier plugin class
+    };
+
+
+#endif // C_WIFIPROTUIINPROCESS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wi-fi_protected_setup_ui_api/wi-fi_protected_setup_ui_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,19 @@
+<?xml version="1.0" ?>
+<api id="51d47a7acd0e5650437ca61be7412caf" dataversion="1.0">
+  <name>Wi-Fi Protected Setup UI API</name>
+  <description>Provides UI related functionality for Wi-Fi Protected Setup. This API can be called from a process without UI context.</description>
+  <type>c++</type>
+  <subsystem>networkingutilities</subsystem>
+  <libs>
+    <lib name="wifiprotclient.lib" />
+    <lib name="wifiprotplugin.lib" />
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2001-2009 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: File that exports the files belonging to  WLAN EAP Settings UI API
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EapAkaUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUi.h)
+../inc/EapMschapv2Ui.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapMschapv2Ui.h)
+../inc/EapTtlsUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTtlsUi.h)
+../inc/EapTlsUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsUi.h)
+../inc/EapSimUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUi.h)
+../inc/EapLeapUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUi.h)
+../inc/EapPeapUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapPeapUi.h)
+../inc/eapfastui.h     MW_LAYER_PLATFORM_EXPORT_PATH(eapfastui.h)
+../inc/EapGtcUi.h     MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUi.h)
+../inc/papui.h     MW_LAYER_PLATFORM_EXPORT_PATH(papui.h)
+../inc/EAPPluginConfigurationIf.inl     MW_LAYER_PLATFORM_EXPORT_PATH(EAPPluginConfigurationIf.inl)
+../inc/EAPPluginConfigurationIf.h     MW_LAYER_PLATFORM_EXPORT_PATH(EAPPluginConfigurationIf.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2001-2009 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: This is the ECOM interface for EAP Plugin Configuration.
+*
+*/
+
+/*
+* %version: 13 %
+*/
+
+#ifndef __EAPPLUGINCONFIGURATIONIF_H__
+#define __EAPPLUGINCONFIGURATIONIF_H__
+
+
+// INCLUDES
+#include <e32base.h>
+#include <ecom/ecom.h>
+
+
+// CONSTANTS
+const TUid KEapPluginConfigInterfaceUid = {0x102072CA};
+
+
+// CLASS DECLARATION
+/**
+* CEAPPluginConfigurationIf class
+* ECOM interface for EAP PLugin Configuration.
+*/
+class CEAPPluginConfigurationIf : public CBase
+    {
+    public:
+        inline static CEAPPluginConfigurationIf* NewL( 
+                                                const TDesC8& aMatchString );
+    
+        inline virtual ~CEAPPluginConfigurationIf();
+    
+        /**
+        * Load the EAP Plugin configuration
+        * @param    aWPAEAPPlugin   The list of EAPs in use as it was read from
+        *                           WlanEapList column of WLANServiceTable. In 
+        *                           output it contains the new list as it has 
+        *                           to be written in the same column of 
+        *                           database.
+        * @param    aConnectionName The name of the connection.
+        * @return   The ID of the button pressed to close configuration: 
+        *           typically EAknSoftkeyBack for back, EAknCmdExit for a 
+        *           request of exit or EEikCmdExit for a request of shutdown
+        */
+        virtual TInt EAPPluginConfigurationL( TDes& aWPAEAPPlugin, 
+                                              const TUint32 aIapID, 
+                                              const TDes& aConnectionName ) = 0;
+                                         
+       /**
+        * Load the EAP Plugin configuration (with expanded EAP types)
+        * @param    aWPAEnabledEAPPlugin   The list of enabled EAPs in use as 
+        *                           it was read from WlanEnabledEapList column 
+        *                           of WLANServiceTable. In output it contains 
+        *                           the new list as it has to be written in the 
+        *                           same column of database.
+        * @param    aWPADisabledEAPPlugin   The list of disabled EAPs in use as
+        *                           it was read from WlanDisabledEapList column 
+        *                           of WLANServiceTable. In output it contains 
+        *                           the new list as it has to be written in the 
+        *                           same column of database.
+        * @param    aConnectionName The name of the connection.
+        * @return   The ID of the button pressed to close configuration: 
+        *           typically EAknSoftkeyBack for back, EAknCmdExit for a 
+        *           request of exit or EEikCmdExit for a request of shutdown
+        */
+        virtual TInt EAPPluginConfigurationL( TDes8& aWPAEnabledEAPPlugin, 
+                                              TDes8& aWPADisabledEAPPlugin, 
+                                              const TUint32 aIapID, 
+                                              const TDes& aConnectionName ) = 0;
+
+        /**
+        * Shows the EAP type info.
+        */
+        virtual void ShowEAPTypeInfo() = 0;
+    
+        /**
+        * Deletes all EAP types' settings for
+        * the given IAP.
+        */
+        virtual void DeleteSettingsL( const TUint32 aIapID ) = 0;
+    
+        /**
+        * Changes the index of the EAP settings for all EAP types    
+        */
+        virtual void ChangeIapIDL( const TUint32 aOldIapID, 
+                                   const TUint32 aNewIapID ) = 0;
+
+	    /**
+        * Copies the EAP type settings to another ID
+        */
+	    virtual void CopySettingsL( const TUint32 aSourceIapID, 
+                                    const TUint32 aDestinationIapID ) = 0;
+
+
+    private: // Data    
+        // This variable holds the instance identifier.
+        TUid iDtor_ID_Key; 
+    };
+    
+
+#include "EAPPluginConfigurationIf.inl" 
+    
+#endif      // __EAPPLUGINCONFIGURATIONIF_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2009 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: Inline functions of CEAPPluginConfigurationIf
+*
+*/
+
+/*
+* %version: 10 %
+*/
+
+#ifndef __EAPPLUGINCONFIGURATIONIF_INL__
+#define __EAPPLUGINCONFIGURATIONIF_INL__
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationIf::NewL
+// ---------------------------------------------------------
+//
+inline CEAPPluginConfigurationIf* CEAPPluginConfigurationIf::NewL( 
+                                                  const TDesC8& aMatchString )
+	{
+	TEComResolverParams resolverParams; 
+	resolverParams.SetDataType(aMatchString);
+	
+	TAny* ptr = REComSession::CreateImplementationL( 
+                            KEapPluginConfigInterfaceUid, 
+                            _FOFF( CEAPPluginConfigurationIf, iDtor_ID_Key ),
+                            resolverParams );
+
+	return REINTERPRET_CAST( CEAPPluginConfigurationIf*, ptr );
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationIf::~CEAPPluginConfigurationIf
+// ---------------------------------------------------------
+//
+inline CEAPPluginConfigurationIf::~CEAPPluginConfigurationIf()
+	{
+	// Unload DLL
+	REComSession::DestroyedImplementation( iDtor_ID_Key );
+	}
+
+
+#endif  // __EAPPLUGINCONFIGURATIONIF_INL__
+
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapAkaUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP AKA settings UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPAKAUI_H_
+#define _EAPAKAUI_H_
+
+// INCLUDES
+#include <EapAkaUiConnection.h> 
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapAkaUi : public CCoeControl
+    {
+    public: 
+        /**
+        * Destructor.
+        */
+        ~CEapAkaUi();
+
+        /**
+        * Two-phased constructor.
+        */
+        static CEapAkaUi* NewL( CEapAkaUiConnection* aConnection );
+
+        TInt InvokeUiL();
+
+    protected:
+        CEapAkaUi( CEapAkaUiConnection* aConnection );
+
+        void ConstructL();
+
+    private:
+        CEapAkaUiConnection* iConnection;
+    };
+
+
+#endif // _EAPAKAUI_H_
+
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapGtcUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP GTC settings UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPGTCUI_H_
+#define _EAPGTCUI_H_
+
+// INCLUDES
+#include <EapGtcUiConnection.h>
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapGtcUi : public CCoeControl
+    {
+    public: 
+        /**
+        * Destructor.
+        */
+        ~CEapGtcUi();
+
+        /**
+        * Two-phased constructor.
+        */
+        static CEapGtcUi* NewL( CEapGtcUiConnection* aConnection );
+
+        TInt InvokeUiL();
+
+    protected:
+        /**
+        * C++ default constructor.
+        */
+        CEapGtcUi( CEapGtcUiConnection* aConnection );
+
+        void ConstructL();
+
+    private:
+        CEapGtcUiConnection* iConnection;
+    };
+
+
+#endif // _EAPGTCUI_H_
+
+//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapLeapUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP LEAP UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPLEAPUI_H_
+#define _EAPLEAPUI_H_
+
+// INCLUDES
+#include <EapLeapUiConnection.h>
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapLeapUi : public CCoeControl
+    {
+    public: 
+        ~CEapLeapUi();
+        static CEapLeapUi* NewL( CEapLeapUiConnection* aConnection );    
+        TInt InvokeUiL();
+
+    protected:
+        CEapLeapUi( CEapLeapUiConnection* aConnection );
+        void ConstructL();        
+
+    private:
+        CEapLeapUiConnection* iConnection;
+    };
+
+
+#endif //_EAPLEAPUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapMschapv2Ui.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP MsChapv2 UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPMSCHAPV2UI_H_
+#define _EAPMSCHAPV2UI_H_
+
+// INCLUDES
+#include <EapMsChapV2UiConnection.h>
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapMsChapV2Ui : public CCoeControl
+    {
+    public: 
+        ~CEapMsChapV2Ui();
+        static CEapMsChapV2Ui* NewL( CEapMsChapV2UiConnection* aConnection );
+        TInt InvokeUiL();
+
+    protected:
+        CEapMsChapV2Ui( CEapMsChapV2UiConnection* aConnection );
+        void ConstructL();        
+
+    private:
+        CEapMsChapV2UiConnection* iConnection;
+    };
+
+
+#endif // _EAPMSCHAPV2UI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapPeapUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP PEAP settings UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPPEAPUI_H_
+#define _EAPPEAPUI_H_
+
+// INCLUDES
+#include "EapTlsPeapUiConnection.h"
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapPeapUi : public CCoeControl
+    {
+    public: 
+        ~CEapPeapUi();
+        static CEapPeapUi* NewL( CEapTlsPeapUiConnection* aConnection, 
+                                 TIndexType aIndexType, 
+                                 TInt aIndex );
+        TInt InvokeUiL();
+
+    protected:
+        CEapPeapUi( CEapTlsPeapUiConnection* aConnection, 
+                    TIndexType aIndexType, 
+                    TInt aIndex );
+        void ConstructL();        
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        TIndexType iIndexType; 
+        TInt iIndex;        
+    };
+
+
+#endif // _EAPPEAPUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapSimUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP SIM settings UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPSIMUI_H_
+#define _EAPSIMUI_H_
+
+// INCLUDES
+#include <EapSimUiConnection.h>
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapSimUi : public CCoeControl
+    {
+    public: 
+        ~CEapSimUi();
+        static CEapSimUi* NewL( CEapSimUiConnection* aConnection );    
+        TInt InvokeUiL();
+
+    protected:
+        CEapSimUi( CEapSimUiConnection* aConnection );
+        void ConstructL();        
+
+    private:
+        CEapSimUiConnection* iConnection;
+    };
+
+
+#endif  // _EAPSIMUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapTlsUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP TLS settings UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPTLSUI_H_
+#define _EAPTLSUI_H_
+
+// INCLUDES
+#include <coecntrl.h>
+#include "EapTlsPeapUiConnection.h"
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapTlsUi : public CCoeControl
+    {
+    public: 
+        ~CEapTlsUi();
+        static CEapTlsUi* NewL( CEapTlsPeapUiConnection* aConnection );    
+        TInt InvokeUiL();
+
+    protected:
+        CEapTlsUi( CEapTlsPeapUiConnection* aConnection );
+        void ConstructL();        
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+    };
+
+
+#endif //_EAPTLSUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapTtlsUi.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP TTLS settings UI
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPTTLSUI_H_
+#define _EAPTTLSUI_H_
+
+// INCLUDES
+#include "EapTlsPeapUiConnection.h"
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapTtlsUi : public CCoeControl
+    {
+    public: 
+        ~CEapTtlsUi();
+        static CEapTtlsUi* NewL( CEapTlsPeapUiConnection* aConnection, 
+                                 TIndexType aIndexType, 
+                                 TInt aIndex );
+        TInt InvokeUiL();
+
+    protected:
+        CEapTtlsUi( CEapTlsPeapUiConnection* aConnection, 
+                    TIndexType aIndexType, 
+                    TInt aIndex );
+        void ConstructL();        
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        TIndexType iIndexType; 
+        TInt iIndex;
+    };
+
+
+#endif // _EAPTTLSUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/eapfastui.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP FAST settings UI
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef _EAPFASTUI_H_
+#define _EAPFASTUI_H_
+
+// INCLUDES
+#include "EapTlsPeapUiConnection.h"
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CEapFastUi : public CCoeControl
+    {
+    public: 
+        ~CEapFastUi();
+        static CEapFastUi* NewL( CEapTlsPeapUiConnection* aConnection, 
+                                 TIndexType aIndexType, 
+                                 TInt aIndex );
+        TInt InvokeUiL();
+
+    protected:
+        CEapFastUi( CEapTlsPeapUiConnection* aConnection, 
+                    TIndexType aIndexType, 
+                    TInt aIndex );
+        void ConstructL();        
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        TIndexType iIndexType; 
+        TInt iIndex;        
+    };
+
+
+#endif // _EAPFASTUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/papui.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of PAP Config UI
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef _PAPUI_H_
+#define _PAPUI_H_
+
+// INCLUDES
+#include <EapTlsPeapUiConnection.h>
+#include <coecntrl.h>
+
+
+// CLASS DECLARATION
+
+/**
+*  Main UI class definition
+*/
+class CPapUi : public CCoeControl
+    {
+    public: 
+        ~CPapUi();
+        static CPapUi* NewL( CEapTlsPeapUiConnection* aConnection );
+        TInt InvokeUiL();
+
+    protected:
+        CPapUi( CEapTlsPeapUiConnection* aConnection );
+        void ConstructL();        
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+    };
+
+
+#endif // _PAPUI_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wlan_eap_settings_ui_api/wlan_eap_settings_ui_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,25 @@
+<?xml version="1.0" ?>
+<api id="b201dac8921c275ba68ea6b0cfc18be9" dataversion="1.0">
+  <name>WLAN EAP Settings UI API</name>
+  <description>API for accessing EAP settings UI</description>
+  <type>c++</type>
+  <subsystem>networkingutilities</subsystem>
+  <libs>
+    <lib name="eapakaui.lib" />
+    <lib name="eapgtcui.lib" />
+    <lib name="eapmschapv2ui.lib" />
+    <lib name="eappeapui.lib" />
+    <lib name="eapsimui.lib" />
+    <lib name="eaptlsui.lib" />
+    <lib name="eapttlsui.lib" />
+    <lib name="papui.lib" />
+  </libs>
+  <release category="domain"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>yes</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wpa_security_settings_ui_api/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2001-2009 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: File that exports the files belonging to  WPA Security Settings UI API
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/WPASecuritySettingsUI.h  MW_LAYER_PLATFORM_EXPORT_PATH( WPASecuritySettingsUI.h )
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,252 @@
+/*
+* Copyright (c) 2001-2009 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: Declares the main handler CWPASecuritySettings, UI CWPASecuritySettingsUI and public API for the WPA Security Settings. 
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef WPASECURITYSETTINGSUI_H
+#define WPASECURITYSETTINGSUI_H
+
+// INCLUDES
+
+#include <e32base.h>
+
+#include <metadatabase.h>
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+class CWPASecuritySettingsUi;
+class CWPASecuritySettingsUiImpl;
+class CWPASecuritySettingsImpl;
+class CCommsDatabase;
+
+
+// ENUMERATIONS
+
+// Security mode in use
+enum TSecurityMode
+    {
+    ESecurityMode8021x = 4,     // 802.1x
+    ESecurityModeWpa = 8        // WPA
+    };
+
+
+// Type of saving
+enum TTypeOfSaving
+    {
+    ESavingEditedAP,      // Save an already existing AP that was edited.
+    ESavingBrandNewAP,    // Save a just created AP started from default values
+    ESavingNewAPAsACopy   // Save a new AP as a copy of an already existing AP
+    };
+
+
+
+
+// CLASS DECLARATION
+/*
+* WPA Security Settings. Enables loading, saving and editing the settings
+* (editing via CWPASecuritySettingsUi).
+* Proxy around the real implementation in CWPASecuritySettingsUiImpl. 
+* No details of the actual data are exposed.
+*/
+NONSHARABLE_CLASS( CWPASecuritySettings ) : public CBase
+    {
+
+    public: // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aSecurityMode  The chosen security mode. It can be 
+        *                       ESecurityMode8021x or ESecurityModeWpa
+        * @return The constructed CWPASecuritySettings object.
+        */
+        IMPORT_C static CWPASecuritySettings* NewL( 
+                                                TSecurityMode aSecurityMode );
+
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C ~CWPASecuritySettings();
+
+
+    public:     // Types
+
+        enum TEvent                     // Events happening during edit.
+            {
+            ENone           = 0x0000,   // Nothing happened.
+            EModified       = 0x0001,   // Data changed.
+            EValid          = 0x0010,   // All data entererd are valid, they
+                                        // can be saved
+            EExitReq        = 0x0020,   // Exit option requested, also caller 
+                                        // app should close
+            EShutDownReq    = 0x0040    // ShutDown was requested
+            };
+
+
+    public:     // New methods
+
+        /**
+        * Load from database.
+        * @param Wlan Service Table Id of the IAP to be loaded
+        * @param aCommsDb Comms database.
+        */
+        IMPORT_C void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb );
+        
+
+        /**
+        * Edit the settings.
+        * @param aUi UI to be used.
+        * @param aTitle Title Pane text to display during edit.
+        * @return Exit reason.
+        */
+        IMPORT_C TInt EditL( CWPASecuritySettingsUi& aUi, 
+                             const TDesC& aTitle );
+
+        /**
+        * Save to database.
+        * @param aIapId     Wlan Service Table Id of the IAP to be saved
+        * @param aCommsDb   Comms database.
+        * @param aTypeOfSaving	Tells what kind of AP we are going to save: it 
+        *                       can be ESavingEditedAP, ESavingBrandNewAP, or 
+        *                       ESavingNewAPAsACopy
+        * @param aOldIapId  The old Id of the IAP; it is used to save the EAP 
+        *                   configuration, only when aIsNewAP is ETrue
+        */
+        IMPORT_C void SaveL( TUint32 aIapId, 
+                             CCommsDatabase& aCommsDb, 
+                             TTypeOfSaving aTypeOfSaving, 
+                             TUint32 aOldIapId ) const;
+
+
+        /**
+        * Delete from database. It actually just removes EAP Configuration.
+        * @param aIapId Id of the IAP to be saved
+        */
+        IMPORT_C void DeleteL( TUint32 aIapId ) const;
+
+
+        /**
+        * Tells if the settings are valid and can be saved
+        * @return ETrue if all the compulsory settings have been entered
+        */
+        IMPORT_C TBool IsValid() const;
+
+
+        /**
+        * Sets the Pre-shared key
+        * @param aPreSharedKey  The key to be set
+        * @return KErrNone if successful, or an error code
+        */
+        IMPORT_C TInt SetWPAPreSharedKey( const TDesC& aPreSharedKey );
+        
+        
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aSession CommsDat session.
+        */
+        IMPORT_C void LoadL( TUint32 aIapId, CMDBSession& aSession );
+        
+        
+        /**
+        * Save to database.
+        * @param aIapId     Wlan Service Table Id of the IAP to be saved
+        * @param aSession   CommsDat session.
+        * @param aTypeOfSaving	Tells what kind of AP we are going to save: it 
+        *                       can be ESavingEditedAP, ESavingBrandNewAP, or 
+        *                       ESavingNewAPAsACopy
+        * @param aOldIapId  The old Id of the IAP; it is used to save the EAP 
+        *                   configuration, only when aIsNewAP is ETrue
+        */
+        IMPORT_C void SaveL( TUint32 aIapId, 
+                             CMDBSession& aSession, 
+                             TTypeOfSaving aTypeOfSaving, 
+                             TUint32 aOldIapId ) const;
+
+        /**
+        * Sets the list of enabled EAP types.
+        * @param aEnabledPluginList Enumeration of enabled plugins 
+        *                           in expanded EAP type format
+        * @return KErrNone if successful, or an error code
+        */
+        IMPORT_C TInt SetWPAEnabledEAPPlugin( const TDesC8& aEnabledPluginList );
+
+
+        /**
+        * Sets the list of disabled EAP types
+        * @param aDisabledPluginList Enumeration of disabled plugins
+        *                            in expanded EAP type format
+        * @return KErrNone if successful, or an error code
+        */
+        IMPORT_C TInt SetWPADisabledEAPPlugin( const TDesC8& aDisabledPluginList );
+        
+
+    private:    // Data 
+
+        // Implementation. Owned.
+        CWPASecuritySettingsImpl* iImpl;  
+
+    };
+
+
+
+/**
+* User interface to edit WPA Security Settings.
+* Proxy around the real implementation in CWPASecuritySettingsUiImpl.
+*/
+NONSHARABLE_CLASS( CWPASecuritySettingsUi ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aEikEnv Eikon environment.
+        * @return The constructed CWPASecuritySettingsUi object.
+        */
+        IMPORT_C static CWPASecuritySettingsUi* NewL( CEikonEnv& aEikEnv );
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CWPASecuritySettingsUi();
+
+    public:     // New methods
+
+        /**
+        * Component Validation Test.
+        * @return KErrNone.
+        */
+        IMPORT_C static TInt Cvt();
+
+    private:    // Friends
+
+        friend class CWPASecuritySettings;
+
+    private:    // Data 
+
+        // Implementation. Owned.
+        CWPASecuritySettingsUiImpl* iImpl;
+
+    };
+#endif
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wpa_security_settings_ui_api/wpa_security_settings_ui_api.metaxml	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?>
+<api id="fd8f25a824236be38b322b959f1e378e" dataversion="1.0">
+<name>WPA Security Settings UI API</name>
+<description>API for accessing WPA security settings UI</description>
+<type>c++</type>
+<subsystem>networkingutilities</subsystem>
+<libs><lib name="wpasecuritysettingsui.lib"/>
+</libs>
+<release category="domain" sinceversion="3.2"/>
+<attributes>
+<htmldocprovided>yes</htmldocprovided>
+<adaptation>no</adaptation>
+</attributes>
+</api>
--- a/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 10.1.5 %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -46,7 +46,6 @@
 
 static const u32_t DEBUG_BUFFER_SIZE = 80;
 
-
 /**
  *  dss_random_G() implements the G() function using modified SHA-1.
  *  @code
@@ -74,7 +73,7 @@
  *      X= 47c27eb6 16dba413 91e5165b e9c5e397 7e39a15d
  *  @endcode
 */
-eap_status_e dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *c, u32_t c_length)
+void dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *c, u32_t c_length)
 {
 	u32_t *out_array = reinterpret_cast<u32_t *>(out);
 
@@ -93,25 +92,12 @@
 			);
 		if (status != eap_status_ok)
 		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: eap_sha1_dss_G_function(): status = %d"),
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("eap_sha1_dss_G_function(): status = %d"),
 				status));
 		}
-
-		return status;
 	}
 }
 
-#define CLEAN_OPENSSL_BN(ctx) \
-	{ \
-	BN_free(&bn_mod); \
-	BN_free(&bn_tmp); \
-	BN_free(&bn_xkey); \
-	BN_free(&bn_xj); \
-	BN_free(&bn_one); \
-	BN_free(&bn_160); \
-	BN_CTX_free(ctx); \
-	}
-
 /**
  *  dss_pseudo_random() implements pseudo random function for key genearation of EAP/SIM.
  *  @code
@@ -177,16 +163,7 @@
 		u8_t debug_buffer[DEBUG_BUFFER_SIZE];
 		EAP_UNREFERENCED_PARAMETER(debug_buffer);
 
-		eap_status_e status = dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey, BLOCK_SIZE);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: dss_random_G(): status = %d"),
-				status));
-
-			CLEAN_OPENSSL_BN(ctx);
-
-			return status;
-		}
+		dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey, BLOCK_SIZE);
 
 		EAP_TRACE_FORMAT(m_am_tools, (debug_buffer, DEBUG_BUFFER_SIZE, EAPL("w[%d]   "), ind));
 		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("dss_pseudo_random(): %s = G(xkey[%d])\n"),
@@ -227,7 +204,14 @@
 			tmp_xkey, sizeof(tmp_xkey)));
 	}
 
-	CLEAN_OPENSSL_BN(ctx);
+	BN_free(&bn_mod);
+	BN_free(&bn_tmp);
+	BN_free(&bn_xkey);
+	BN_free(&bn_xj);
+	BN_free(&bn_one);
+	BN_free(&bn_160);
+
+	BN_CTX_free(ctx);
 
 	return eap_status_ok;
 }
--- a/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #include "eap_am_types.h"
--- a/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -153,7 +153,7 @@
 		}
 		else
 		{
-			const u8_t mask = static_cast<const u8_t>(0xff << shift);
+			const u8_t mask = 0xff << shift;
 			bit_index |= (input_data[data_ind] & mask) >> (shift);
 		}
 	}
--- a/eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 16 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -364,8 +364,7 @@
 // 
 EAP_FUNC_EXPORT const u8_t * eap_am_network_id_c::get_source() const
 {
-	if (m_data == 0
-		|| m_data->m_source.get_is_valid_data() == false)
+	if (m_data == 0)
 	{
 		return 0;
 	}
@@ -389,8 +388,7 @@
 // 
 EAP_FUNC_EXPORT const u8_t * eap_am_network_id_c::get_destination() const
 {
-	if (m_data == 0
-		|| m_data->m_destination.get_is_valid_data() == false)
+	if (m_data == 0)
 	{
 		return 0;
 	}
@@ -402,8 +400,7 @@
 // 
 EAP_FUNC_EXPORT u32_t eap_am_network_id_c::get_source_length() const
 {
-	if (m_data == 0
-		|| m_data->m_source.get_is_valid_data() == false)
+	if (m_data == 0)
 	{
 		return 0;
 	}
@@ -415,8 +412,7 @@
 // 
 EAP_FUNC_EXPORT u32_t eap_am_network_id_c::get_destination_length() const
 {
-	if (m_data == 0
-		|| m_data->m_destination.get_is_valid_data() == false)
+	if (m_data == 0)
 	{
 		return 0;
 	}
--- a/eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 25.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -301,14 +301,14 @@
 				data_start = ind;
 			}
 
-			*cursor_ascii++ = static_cast<u8_t>((*data >= 0x20 && *data < 0x7f) ? *data : '.');
+			*cursor_ascii++ = (*data >= 0x20 && *data < 0x7f) ? *data : '.';
 
 			*cursor++ = octet_to_ascii(((*data) & 0xf0) >> 4);
 			*cursor++ = octet_to_ascii(((*data) & 0x0f));
 			data++;
 
-			if ((ind > 0u
-				 && ((ind+1) % byte_group_size) == 0)
+			if (ind > 0u
+				&& ((ind+1) % byte_group_size) == 0
 				|| byte_group_size == 1ul)
 			{
 				*cursor++ = ' ';
@@ -445,7 +445,7 @@
 
 EAP_FUNC_EXPORT eap_status_e eap_am_tools_c::timer_thread_function()
 {
-	EAP_TRACE_TIMER(this, TRACE_FLAGS_TIMER, (EAPL("TIMER: Timer thread starts.\n")));
+	EAP_TRACE_TIMER(this, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: Timer thread starts.\n")));
 
 	u32_t static_sleep_time = get_timer_resolution_ms();
 	u64_t start_time = get_clock_ticks();
@@ -462,7 +462,7 @@
 	// Note 64-bit casted to 32-bit.
 	EAP_TRACE_TIMER(
 		this,
-		TRACE_FLAGS_TIMER, (EAPL("TIMER: get_clock_ticks_of_second() = %lu\n"),
+		TRACE_FLAGS_DEFAULT, (EAPL("TIMER: get_clock_ticks_of_second() = %lu\n"),
 		static_cast<u32_t>(get_clock_ticks_of_second())));
 
 	hw_ticks_of_millisecond = get_clock_ticks_of_second();
@@ -488,14 +488,14 @@
 
 	EAP_TRACE_TIMER(
 		this,
-		TRACE_FLAGS_TIMER,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): begin\n")));
 
 	mutex->mutex_enter();
 
 	EAP_TRACE_TIMER(
 		this,
-		TRACE_FLAGS_TIMER,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): end\n")));
 
 	while(get_is_timer_thread_active())
@@ -506,7 +506,7 @@
 
 		EAP_TRACE_TIMER(
 			this,
-			TRACE_FLAGS_TIMER,
+			TRACE_FLAGS_DEFAULT,
 			(EAPL("TIMER: timer_sleep(): current_sleep_time=%d\n"),
 			 static_cast<u32_t>(current_sleep_time)));
 
@@ -515,14 +515,14 @@
 
 		EAP_TRACE_TIMER(
 			this,
-			TRACE_FLAGS_TIMER,
+			TRACE_FLAGS_DEFAULT,
 			(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): begin\n")));
 
 		mutex->mutex_leave(this);
 
 		EAP_TRACE_TIMER(
 			this,
-			TRACE_FLAGS_TIMER,
+			TRACE_FLAGS_DEFAULT,
 			(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): end\n")));
 
 		// Sleep happens outside of the mutex.
@@ -530,14 +530,14 @@
 
 		EAP_TRACE_TIMER(
 			this,
-			TRACE_FLAGS_TIMER,
+			TRACE_FLAGS_DEFAULT,
 			(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): begin\n")));
 
 		mutex->mutex_enter();
 
 		EAP_TRACE_TIMER(
 			this,
-			TRACE_FLAGS_TIMER,
+			TRACE_FLAGS_DEFAULT,
 			(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): end\n")));
 
 		end_time = get_clock_ticks();
@@ -549,7 +549,7 @@
 			delay_time = 0ul;
 			EAP_TRACE_TIMER(
 				this,
-				TRACE_FLAGS_TIMER,
+				TRACE_FLAGS_DEFAULT,
 				(EAPL("TIMER: empty timer queue\n")));
 		}
 		else
@@ -568,7 +568,7 @@
 		{
 			EAP_TRACE_TIMER(
 				this,
-				TRACE_FLAGS_TIMER,
+				TRACE_FLAGS_DEFAULT,
 				(EAPL("TIMER: real_sleep_time=%d, delay_time=%d\n"),
 				 static_cast<u32_t>(real_sleep_time),
 				 static_cast<u32_t>(delay_time)));
@@ -609,7 +609,7 @@
 
 		EAP_TRACE_TIMER(
 			this,
-			TRACE_FLAGS_TIMER,
+			TRACE_FLAGS_DEFAULT,
 			(EAPL("TIMER: Timer thread pulse_timer, sleep time = %4d ms, real_sleep_time %4d ms, ")
 			 EAPL("virtual_time %6d, real_time %6d, next_sleep_time %4d, delay_time %4d.\n"),
 			 current_sleep_time,
@@ -623,19 +623,19 @@
 
 	EAP_TRACE_TIMER(
 		this,
-		TRACE_FLAGS_TIMER,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): begin\n")));
 
 	mutex->mutex_leave(this);
 
 	EAP_TRACE_TIMER(
 		this,
-		TRACE_FLAGS_TIMER,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): end\n")));
 
 	delete mutex;
 
-	EAP_TRACE_TIMER(this, TRACE_FLAGS_TIMER, (EAPL("TIMER: Timer thread stops.\n")));
+	EAP_TRACE_TIMER(this, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: Timer thread stops.\n")));
 
 	m_thread_stopped =true;
 
@@ -663,7 +663,7 @@
 	{
 		if (source_bytes[ind] >= 'a' && source_bytes[ind] <= 'z')
 		{
-			source_bytes[ind] = static_cast<u8_t>(source_bytes[ind] - 32);
+			source_bytes[ind] -= 32;
 		}
 	}
 
@@ -1064,7 +1064,7 @@
 		// +-+-+-+-+-+-+-+-+-+-+
 		*/
 		value = octet_from_ascii_armor(source_byte);
-		target[*output_ind] = static_cast<u8_t>(target[*output_ind] | (value & 0x30) >> 4u);
+		target[*output_ind] |= (value & 0x30) >> 4u;
 		++(*output_ind);
 		if (last_input_byte == false)
 		{
@@ -1098,7 +1098,7 @@
 		// +-+-+-+-+-+-+-+-+-+-+-+-+
 		*/
 		value = octet_from_ascii_armor(source_byte);
-		target[*output_ind] = static_cast<u8_t>(target[*output_ind] | ((value >> 2u) & 0x0f));
+		target[*output_ind] |= (value >> 2u) & 0x0f;
 		++(*output_ind);
 		if (last_input_byte == false)
 		{
@@ -1134,7 +1134,7 @@
 		// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 		*/
 		value = octet_from_ascii_armor(source_byte);
-		target[*output_ind] = static_cast<u8_t>(target[*output_ind] | value);
+		target[*output_ind] |= value;
 		++(*output_ind);
 		*missing_bit_count = 0u;
 	}
@@ -1656,12 +1656,8 @@
 	if (m_shutdown_was_called == false)
 	{
 		m_shutdown_was_called = true;
-		
-		// stop tracing as tools get deleted
-		set_trace_mask(eap_trace_mask_none);
 
 		#if !defined(NO_EAP_AM_MEMORY_STORE)
-		(void) am_cancel_all_timers();
 		if (m_memory_store != 0)
 		{
 			status = m_memory_store->shutdown();
@@ -1894,7 +1890,7 @@
 			}
 
 			previous_data = data[ind];
-			data[ind] = static_cast<u8_t>(data[ind] ^ rnd);
+			data[ind] ^= rnd;
 
 			if (previous_data != data[ind])
 			{
@@ -1972,7 +1968,7 @@
 					}
 
 					previous_data = data[index];
-					data[index] = static_cast<u8_t>(data[index] ^ rnd);
+					data[index] ^= rnd;
 				}
 				while(previous_data == data[index]);
 
@@ -2036,8 +2032,8 @@
 						return EAP_STATUS_RETURN(this, status);
 					}
 
-					delta_length = static_cast<u8_t>(delta_length % (static_cast<i32_t>(sent_packet->get_data_length())
-													- static_cast<i32_t>(minimum_packet_length)));
+					delta_length %= (static_cast<i32_t>(sent_packet->get_data_length())
+									 - static_cast<i32_t>(minimum_packet_length) /*eapol_ethernet_header_wr_c::get_header_length()*/ );
 
 					if (delta_length == 0)
 					{
@@ -2435,13 +2431,13 @@
 
 	// set the four most significant bits (bits 12 through 15) of the
 	// time_hi_and_version field to the appropriate 4-bit version number
-	hash[6] = static_cast<u8_t>(hash[6] & 0x0F);
-	hash[6] = static_cast<u8_t>(hash[6] | 0x50);
+	hash[6] &= 0x0F;
+	hash[6] |= 0x50;
 
 	// set the two most significant bits (bits 6 and 7) of the
     // clock_seq_hi_and_reserved to zero and one, respectively
-	hash[8] = static_cast<u8_t>(hash[8] & 0x3F);
-	hash[8] = static_cast<u8_t>(hash[8] | 0x80);
+	hash[8] &= 0x3F;
+	hash[8] |= 0x80;
 
 	return EAP_STATUS_RETURN(this, eap_status_ok);
 }
--- a/eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 33 %
+* %version: 17.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -31,9 +31,6 @@
 #include "eap_am_memory.h"
 #include "eap_file_config.h"
 #include "eap_automatic_variable.h"
-#include "eap_tlv_message_data.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_config.h"
 
 #if defined(_WIN32) && !defined(__GNUC__)
 	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
@@ -50,13 +47,13 @@
 //-----------------------------------------------------------------
 //-----------------------------------------------------------------
 
-EAP_FUNC_EXPORT eap_config_value_c::~eap_config_value_c()
+eap_config_value_c::~eap_config_value_c()
 {
 	delete m_subsection_map;
 	m_subsection_map = 0;
 }
 
-EAP_FUNC_EXPORT eap_config_value_c::eap_config_value_c(
+eap_config_value_c::eap_config_value_c(
 	abs_eap_am_tools_c* const tools)
 	: m_am_tools(tools)
 	, m_subsection_map(0)
@@ -64,13 +61,6 @@
 	, m_type(eap_configure_type_none)
 	, m_is_valid(false)
 {
-	EAP_ASSERT(eap_configure_type_id[eap_configure_type_none].type == eap_configure_type_none);	
-	EAP_ASSERT(eap_configure_type_id[eap_configure_type_u32_t].type == eap_configure_type_u32_t);	
-	EAP_ASSERT(eap_configure_type_id[eap_configure_type_boolean].type == eap_configure_type_boolean);	
-	EAP_ASSERT(eap_configure_type_id[eap_configure_type_string].type == eap_configure_type_string);	
-	EAP_ASSERT(eap_configure_type_id[eap_configure_type_hex_data].type == eap_configure_type_hex_data);	
-	EAP_ASSERT(eap_configure_type_id[eap_configure_type_u32array].type == eap_configure_type_u32array);	
-
 	if (m_data.get_is_valid() == false)
 	{
 		return;
@@ -79,47 +69,37 @@
 	m_is_valid = true;
 }
 
-EAP_FUNC_EXPORT void eap_config_value_c::set_subsection(
+void eap_config_value_c::set_subsection(
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const subsection_map)
 {
 	m_subsection_map = subsection_map;
 }
 
-EAP_FUNC_EXPORT eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * eap_config_value_c::get_subsection()
+eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * eap_config_value_c::get_subsection()
 {
 	return m_subsection_map;
 }
 
-EAP_FUNC_EXPORT eap_variable_data_c * eap_config_value_c::get_data()
-{
-	return &m_data;
-}
-
-EAP_FUNC_EXPORT const eap_variable_data_c * eap_config_value_c::get_const_data() const
+eap_variable_data_c * eap_config_value_c::get_data()
 {
 	return &m_data;
 }
 
-EAP_FUNC_EXPORT void eap_config_value_c::set_type(const eap_configure_type_e type)
+void eap_config_value_c::set_type(const eap_configure_type_e type)
 {
 	m_type = type;
 }
 
-EAP_FUNC_EXPORT eap_configure_type_e eap_config_value_c::get_type()
+eap_configure_type_e eap_config_value_c::get_type()
 {
 	return m_type;
 }
 
-EAP_FUNC_EXPORT eap_configure_type_e eap_config_value_c::get_const_type() const
-{
-	return m_type;
-}
-
-EAP_FUNC_EXPORT void eap_config_value_c::object_increase_reference_count()
+void eap_config_value_c::object_increase_reference_count()
 {
 }
 
-EAP_FUNC_EXPORT bool eap_config_value_c::get_is_valid() const
+bool eap_config_value_c::get_is_valid()
 {
 	return m_is_valid;
 }
@@ -131,10 +111,9 @@
 
 EAP_FUNC_EXPORT eap_file_config_c::eap_file_config_c(
 	abs_eap_am_tools_c* const tools)
-  : m_am_tools(tools)
-  , m_config_map(tools, this)
-  , m_value_buffer(tools)
-  , m_is_valid(false)
+: m_am_tools(tools)
+, m_config_map(tools, this)
+, m_is_valid(false)
 {
 	EAP_UNREFERENCED_PARAMETER(TRACE_FLAGS_CONFIGURE_DATA); // in release
 	
@@ -165,7 +144,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::expand_environment_variables(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::expand_environment_variables(
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 	const eap_variable_data_c * const original_value,
 	eap_variable_data_c * const expanded_value
@@ -184,18 +163,22 @@
 	const u8_t env_char = '$';
 	const u8_t char_left_parenthesis = '(';
 	const u8_t char_right_parenthesis = ')';
-	bool expanded_value_when_true = false;
 
-	if (m_value_buffer.get_buffer_length() < MAX_LINE_LENGTH)
+	eap_variable_data_c tmp_value_buffer(m_am_tools);
+	if (tmp_value_buffer.get_is_valid() == false)
 	{
-		status = m_value_buffer.set_buffer_length(MAX_LINE_LENGTH);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
+	status = tmp_value_buffer.set_buffer_length(MAX_LINE_LENGTH);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	bool expanded_value_when_true = false;
+
 	status = expanded_value->set_copy_of_buffer(original_value);
 	if (status != eap_status_ok)
 	{
@@ -522,7 +505,7 @@
 					if (configure_option.get_is_valid_data() == true
 						&& configure_option.get_data_length() > 0ul)
 					{
-						m_value_buffer.reset_start_offset_and_data_length();
+						tmp_value_buffer.reset();
 
 						u32_t tmp_index = 0ul;
 
@@ -531,7 +514,7 @@
 							u32_t length_of_begin = env_start-start_of_value;
 							if (length_of_begin > 0ul)
 							{
-								status = m_value_buffer.set_copy_of_buffer(
+								status = tmp_value_buffer.set_copy_of_buffer(
 									expanded_value->get_data(length_of_begin),
 									length_of_begin);
 								if (status != eap_status_ok)
@@ -546,7 +529,7 @@
 
 						if (configure_option.get_data_length() > 0ul)
 						{
-							status = m_value_buffer.add_data(&configure_option);
+							status = tmp_value_buffer.add_data(&configure_option);
 							if (status != eap_status_ok)
 							{
 								EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -561,7 +544,7 @@
 							u32_t length_of_end = tmp_end-(env_end+1);
 							if (length_of_end > 0ul)
 							{
-								status = m_value_buffer.add_data(
+								status = tmp_value_buffer.add_data(
 									(env_end+1),
 									length_of_end);
 								if (status != eap_status_ok)
@@ -574,10 +557,10 @@
 							}
 						}
 
-						if (m_value_buffer.get_is_valid_data() == true
-							&& m_value_buffer.get_data_length() > 0ul)
+						if (tmp_value_buffer.get_is_valid_data() == true
+							&& tmp_value_buffer.get_data_length() > 0ul)
 						{
-							status = expanded_value->set_copy_of_buffer(&m_value_buffer);
+							status = expanded_value->set_copy_of_buffer(&tmp_value_buffer);
 							if (status != eap_status_ok)
 							{
 								EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -647,11 +630,10 @@
 
 //-----------------------------------------------------------------
 
-u8_t * eap_file_config_c::read_hex_byte(
+EAP_FUNC_EXPORT u8_t * eap_file_config_c::read_hex_byte(
 	u8_t * cursor,
 	const u8_t * const end,
-	u8_t * const hex_byte, // This buffer is one byte in length.
-	const u32_t hex_byte_length)
+	u8_t * const hex_byte)
 {
 	u8_t * start = cursor;
 	bool stop = false;
@@ -674,15 +656,14 @@
 
 	if (cursor <= end)
 	{
-		u32_t target_length = hex_byte_length;
+		u32_t target_length = sizeof(*hex_byte);
 
 		eap_status_e status = m_am_tools->convert_hex_ascii_to_bytes(
 			start,
 			cursor-start,
 			hex_byte,
 			&target_length);
-		if (status != eap_status_ok
-			|| target_length != hex_byte_length)
+		if (status != eap_status_ok)
 		{
 			return 0;
 		}
@@ -695,7 +676,7 @@
 
 //-----------------------------------------------------------------
 
-u8_t * eap_file_config_c::read_u32_t(
+EAP_FUNC_EXPORT u8_t * eap_file_config_c::read_u32_t(
 	u8_t * cursor,
 	const u8_t * const end,
 	u32_t * const integer)
@@ -754,7 +735,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::convert_value(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::convert_value(
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 	const eap_variable_data_c * const value_buffer,
 	const eap_configure_type_e type,
@@ -869,64 +850,27 @@
 				return EAP_STATUS_RETURN(m_am_tools, status);
 			}
 			
-			status = value_data->set_buffer_length((expanded_value_buffer.get_data_length()+1)/3);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = value_data->set_data_length(value_data->get_buffer_length());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			u8_t * const target = value_data->get_data(value_data->get_buffer_length());
-			if (target == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			u32_t ind_target(0ul);
-
 			u8_t * cursor = expanded_value_buffer.get_data(expanded_value_buffer.get_data_length());
-			if (cursor == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
 			const u8_t * const cursor_end = cursor + expanded_value_buffer.get_data_length();
-
-			// Only one byte is needed. This is because coverity complains of using "u8_t hex_byte".
-			const u32_t BUFFER_SIZE=1ul;
-			u8_t hex_byte[BUFFER_SIZE];
-
+			
 			while(cursor < cursor_end)
 			{
+				u8_t hex_byte = 0;
 				cursor = read_hex_byte(
 					cursor,
 					cursor_end,
-					hex_byte,
-					BUFFER_SIZE);
+					&hex_byte);
 				if (cursor == 0)
 				{
 					break;
 				}
 
-				// Here we read only one byte.
-				target[ind_target] = hex_byte[0];
-				++ind_target;
-			}
-
-			status = value_data->set_buffer_length(ind_target);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
+				status = value_data->add_data(&hex_byte, sizeof(hex_byte));
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, status);
+				}
 			}
 		}
 		else if (type == eap_configure_type_u32array)
@@ -939,12 +883,6 @@
 			}
 			
 			u8_t * cursor = expanded_value_buffer.get_data(expanded_value_buffer.get_data_length());
-			if (cursor == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
 			const u8_t * const cursor_end = cursor + expanded_value_buffer.get_data_length();
 			
 			while(cursor < cursor_end)
@@ -978,7 +916,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::store_configure(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::store_configure(
 	abs_eap_am_file_input_c * const file,
 	const eap_variable_data_c * const line,
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map)
@@ -1324,13 +1262,6 @@
 			 config->get_data()->get_data(), 
 			 config->get_data()->get_data_length()));
 
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CONFIG: option type %d=%s\n"),
-			 config->get_type(),
-			 eap_configuration_field_c::get_configure_type_string(config->get_type())));
-
 		//-----------------------------------------------------------------------------
 
 	}
@@ -1483,7 +1414,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::cnf_parse_value(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::cnf_parse_value(
 	const eap_variable_data_c * const found_type_value,
 	const eap_variable_data_c * const found_type_name,
 	eap_configure_type_e * const parsed_type,
@@ -1611,11 +1542,6 @@
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 	
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("\n")));
-
 	if (is_environment_variable == true)
 	{
 		#if defined(EAP_FILE_CONFIG_USE_CONSOLE_PRINTS)
@@ -1652,7 +1578,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::cnf_get_string(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::cnf_get_string(
 	const eap_variable_data_c * const param,
 	eap_variable_data_c * const param_name,
 	eap_variable_data_c * const param_value,
@@ -1728,7 +1654,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::read_subsections(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_subsections(
 	abs_eap_am_file_input_c * const file,
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map)
 {
@@ -1764,7 +1690,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::read_section(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_section(
 	abs_eap_am_file_input_c * const file,
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map)
 {
@@ -1818,38 +1744,42 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::remove_spaces(eap_variable_data_c * const buffer)
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::remove_spaces(eap_variable_data_c * const buffer)
 {
-	if (buffer == 0
-		|| buffer->get_is_valid() == false)
+	eap_variable_data_c tmp(m_am_tools);
+	if (tmp.get_is_valid() == false)
 	{
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
-	u32_t length = buffer->get_data_length();
-	const u8_t * source = buffer->get_data(length);
-	u8_t * destination = buffer->get_data(length);
-	u32_t ind_dest(0ul);
+	eap_status_e status(eap_status_ok);
 
-	for (u32_t ind = 0ul; ind < length; ind++)
+	for (u32_t ind = 0ul; ind < buffer->get_data_length(); ind++)
 	{
-		const u8_t character = source[ind];
+		u8_t * const character = buffer->get_data_offset(ind, sizeof(u8_t));
+		if (character == 0)
+		{
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 
-		if (m_am_tools->isspace(character) == false)
+		if (m_am_tools->isspace(*character) == false)
 		{
-			destination[ind_dest] = character;
-			++ind_dest;
+			status = tmp.add_data(character, sizeof(*character));
+			if (status != eap_status_ok)
+			{
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
 		}
 	} // for()
 
-	eap_status_e status = buffer->set_data_length(ind_dest);
+	status = buffer->set_copy_of_buffer(&tmp);
 
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::remove_leading_spaces(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::remove_leading_spaces(
 	eap_variable_data_c * const line)
 {
 	if (line->get_data_length() == 0)
@@ -1884,7 +1814,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::file_read_line(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::file_read_line(
 	abs_eap_am_file_input_c * const file,
 	eap_variable_data_c * const line)
 {
@@ -1997,7 +1927,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::get_subsect(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::get_subsect(
 	abs_eap_am_file_input_c * const file,
 	eap_variable_data_c * const line)
 {
@@ -2072,7 +2002,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::read_configure(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configure(
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 	const eap_configuration_field_c * const field,
 	eap_variable_data_c* const data,
@@ -2133,487 +2063,7 @@
 
 //-----------------------------------------------------------------
 
-eap_status_e eap_file_config_c::read_all_configurations(
-	const eap_configuration_field_c * const /* field */,
-	eap_variable_data_c* const data,
-	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map)
-{
-	eap_status_e status = eap_status_process_general_error;
-
-	/**
-	 * Here is a figure of message data composed of Attribute-Value Pairs (See eap_tlv_header_c).
-	 * Value data follows eap_tlv_message_data_c.
-	 * @code
-	 *  Configuration data:
-	 *  0                   1                   2                   3   
-	 *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+
-	 * |       Type = eap_tlv_message_type_configuration_option        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |                             Length = 8+4+8+m+8+n              |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |       Type = eap_tlv_message_type_u32_t                       |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |                             Length = 4                        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |          option type eap_configure_type_hex_data              |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |       Type = eap_tlv_message_type_variable_data               |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  | First configuration option
-	 * |                             Length = m                        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |               Value (m octets) option name                    |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |       Type = eap_tlv_message_type_variable_data               |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |                             Length = n                        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |               Value (n octets) option data                    |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+
-	 * |       Type = eap_tlv_message_type_configuration_option        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |                             Length = 8+4+8+m+8+4              |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |       Type = eap_tlv_message_type_u32_t                       |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |                             Length = 4                        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |          option type  eap_configure_type_u32_t                |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |       Type = eap_tlv_message_type_variable_data               |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  | Second configuration option
-	 * |                             Length = m                        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |               Value (m octets) option name                    |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |       Type = eap_tlv_message_type_u32_t                       |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |                             Length = 4                        |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |
-	 * |               Value option data 32-bit integer                |  |
-	 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+
-	 *
-	 * @endcode
-	 * 
-	 */
-
-	u32_t size_of_data(0ul);
-	u32_t ind(0ul);
-
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	for (ind = 0ul; ind < config_map->get_atom_count(); ++ind)
-	{
-		const eap_state_map_atom_c<eap_config_value_c, eap_variable_data_c> * atom = config_map->get_atom(ind);
-		while (atom != 0)
-		{
-			u32_t size = message.get_payload_size(
-					atom->get_selector(),
-					atom->get_const_object());
-
-			if (size > 0ul)
-			{
-				// The extra size of header is added because the whole allocated message size includes all headers.
-				// The get_payload_size() function calculates only payload of the option without the main header.
-				size_of_data +=
-					size
-					+ eap_tlv_header_c::get_header_length();
-			}
-			else
-			{
-				// Some konfiguration objects are not included to message yet.
-			}
-
-			atom = atom->get_next_atom();
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CONFIG: data size %d\n"),
-		 size_of_data));
-
-	status = message.allocate_message_data_buffer(size_of_data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (ind = 0ul; ind < config_map->get_atom_count(); ++ind)
-	{
-		const eap_state_map_atom_c<eap_config_value_c, eap_variable_data_c> * atom = config_map->get_atom(ind);
-		while (atom != 0)
-		{
-			status = message.add_parameter_data(atom->get_selector(), atom->get_const_object());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			atom = atom->get_next_atom();
-		}
-	}
-
-	status = data->set_copy_of_buffer(
-		message.get_message_data(),
-		message.get_message_data_length());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//-----------------------------------------------------------------
-
-eap_status_e eap_file_config_c::add_option(
-	const eap_tlv_header_c * const option_header)
-{
-	eap_status_e status = eap_status_process_general_error;
-
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = message.set_message_data(option_header->get_value_length(), option_header->get_value(option_header->get_value_length()));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	status = message.parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_config_value_c * config = new eap_config_value_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_config_value_c>
-		automatic_config(m_am_tools, config);
-
-	if (config == 0
-		|| config->get_is_valid() == false)
-	{
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	u32_t parameter_index(0ul);
-
-	eap_variable_data_c selector(m_am_tools);
-	if (selector.get_is_valid() == false)
-	{
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	{
-		const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index);
-		if (a_option_header == 0
-			|| a_option_header->get_type() != eap_tlv_message_type_u32_t)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_illegal_parameter;
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		u32_t value(0ul);
-
-		status = message.get_parameter_data(
-			a_option_header,
-			&value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		config->set_type(static_cast<eap_configure_type_e>(value));
-	}
-
-	++parameter_index;
-	
-	{
-		const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index);
-		if (a_option_header == 0
-			|| a_option_header->get_type() != eap_tlv_message_type_variable_data)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_illegal_parameter;
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.get_parameter_data(
-			a_option_header,
-			&selector);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-	
-	++parameter_index;
-
-	switch(config->get_type())
-	{
-	case eap_configure_type_string:
-	case eap_configure_type_hex_data:
-		{
-			const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index);
-			if (a_option_header == 0
-				|| a_option_header->get_type() != eap_tlv_message_type_variable_data)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-				status = eap_status_illegal_parameter;
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = message.get_parameter_data(
-				a_option_header,
-				config->get_data());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-		break;
-	case eap_configure_type_u32_t:
-	case eap_configure_type_boolean:
-		{
-			const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index);
-			if (a_option_header == 0
-				|| a_option_header->get_type() != eap_tlv_message_type_u32_t)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-				status = eap_status_illegal_parameter;
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			u32_t value(0ul);
-
-			status = message.get_parameter_data(
-				a_option_header,
-				&value);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = config->get_data()->set_copy_of_buffer(&value, sizeof(value));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-		break;
-	case eap_configure_type_u32array:
-		{
-			const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index);
-			if (a_option_header == 0
-				|| a_option_header->get_type() != eap_tlv_message_type_array)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-				status = eap_status_illegal_parameter;
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			eap_process_tlv_message_data_c array_message(m_am_tools);
-
-			if (array_message.get_is_valid() == false)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = array_message.set_message_data(a_option_header->get_value_length(), a_option_header->get_value(a_option_header->get_value_length()));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			eap_array_c<eap_tlv_header_c> array_parameters(m_am_tools);
-
-			status = array_message.parse_message_data(&array_parameters);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			for (u32_t ind = 0ul; ind < array_parameters.get_object_count(); ++ind)
-			{
-				const eap_tlv_header_c * const a_option_header = array_parameters.get_object(ind);
-				if (a_option_header == 0
-					|| a_option_header->get_type() != eap_tlv_message_type_u32_t)
-				{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-					status = eap_status_illegal_parameter;
-					return EAP_STATUS_RETURN(m_am_tools, status);
-				}
-
-				u32_t value(0ul);
-
-				status = array_message.get_parameter_data(
-					a_option_header,
-					&value);
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, status);
-				}
-
-				status = config->get_data()->add_data(&value, sizeof(value));
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, status);
-				}
-			}
-		}
-		break;
-	default:
-		break;
-	};
-
-	status = m_config_map.add_handler(&selector, config);
-	if (status == eap_status_ok)
-	{
-		automatic_config.do_not_free_variable();
-	}
-	else //if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("\n")));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CONFIG MESSAGE: option added"),
-		 selector.get_data(),
-		 selector.get_data_length()));
-	
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CONFIG MESSAGE: data"), 
-		 config->get_data()->get_data(), 
-		 config->get_data()->get_data_length()));
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CONFIG MESSAGE: option type %d=%s\n"),
-		 config->get_type(),
-		 eap_configuration_field_c::get_configure_type_string(config->get_type())));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//-----------------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configuration_message(
-	const eap_variable_data_c * const configuration_message)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_file_config_c::read_configuration_message(): data=0x%08x, length=%d\n"),
-		configuration_message->get_data(),
-		configuration_message->get_data_length()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_file_config_c::read_configuration_message()");
-
-	eap_status_e status = eap_status_process_general_error;
-
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = message.set_message_data(configuration_message->get_data_length(), configuration_message->get_data());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	status = message.parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	for (u32_t ind = 0ul; ind < parameters.get_object_count(); ++ind)
-	{
-		const eap_tlv_header_c * const option_header = parameters.get_object(ind);
-		if (option_header == 0
-			|| option_header->get_type() != eap_tlv_message_type_configuration_option)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_illegal_parameter;
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = add_option(option_header);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//-----------------------------------------------------------------
-
-eap_status_e eap_file_config_c::read_configure(
+EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configure(
 	const eap_configuration_field_c * const field,
 	eap_variable_data_c* const data,
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
@@ -2711,11 +2161,9 @@
 				EAP_TRACE_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_DEFAULT,
-					(EAPL("WARNING: CONFIG: option type failed: required %d=%s != actual %d=%s\n"),
+					(EAPL("WARNING: CONFIG: option type failed: required %d != actual %d\n"),
 					 field->get_type(),
-					 eap_configuration_field_c::get_configure_type_string(field->get_type()),
-					 config->get_type(),
-					 eap_configuration_field_c::get_configure_type_string(config->get_type())));
+					 config->get_type()));
 				EAP_TRACE_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_DEFAULT,
@@ -2748,12 +2196,6 @@
 				(EAPL("WARNING: CONFIG: option not found"),
 				 field->get_field(),
 				 field->get_field_length()));
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("WARNING: CONFIG: option type %d=%s\n"),
-				 field->get_type(),
-				 eap_configuration_field_c::get_configure_type_string(field->get_type())));
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
 		}
@@ -2777,26 +2219,11 @@
 		 field->get_field(),
 		 field->get_field_length()));
 
-	eap_status_e status(eap_status_process_general_error);
-
-	if (field->get_type() == eap_configure_type_all_configurations
-		&& field->compare(
-			m_am_tools,
-			cf_str_EAP_read_all_configurations.get_field()) == true)
-	{
-		status = read_all_configurations(
-			field,
-			data,
-			&m_config_map);
-	}
-	else
-	{
-		status = read_configure(
-			field,
-			data,
-			&m_config_map,
-			true);
-	}
+	eap_status_e status = read_configure(
+		field,
+		data,
+		&m_config_map,
+		true);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
--- a/eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -424,16 +424,6 @@
 
 	deactivate_timer_queue();
 
-	trace_timer();
-
-	EAP_TRACE_TIMER(
-		m_am_tools,
-		TRACE_FLAGS_TIMER_QUEUE,
-		(EAPL("TIMER: eap_timer_queue_c::~eap_timer_queue_c(): m_timer_queue=0x%08x, m_new_event_begin=0x%08x, m_new_event_end=0x%08x\n"),
-		m_timer_queue,
-		m_new_event_begin,
-		m_new_event_end));
-
 	// cancel_all_timers() must be called before destructor.
 	EAP_ASSERT_TOOLS(m_am_tools, m_timer_queue == 0);
 	EAP_ASSERT_TOOLS(m_am_tools, m_new_event_begin == 0);
@@ -699,10 +689,10 @@
 
 				if (current != 0)
 				{
-					EAP_TRACE_DEBUG(
+					EAP_TRACE_TIMER(
 						m_am_tools,
 						TRACE_FLAGS_DEFAULT,
-						(EAPL("TIMER: eap_timer_queue_c::timer_expired(): [0x%08x]->initializer(0x%08x)->timer_expired(")
+						(EAPL("TIMER: timer_expired(): [0x%08x]->initializer(0x%08x)->timer_expired(")
 						 EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"),
 						 current,
 						 current->get_initializer(),
@@ -1280,10 +1270,10 @@
 		 event->get_time_ms()));
 
 	// Adds the new event to the end of the list to keep the order of events correct.
-	EAP_ASSERT((m_new_event_begin == 0
-				&& m_new_event_end == 0)
-			   || (m_new_event_begin != 0
-				   && m_new_event_end != 0));
+	EAP_ASSERT(m_new_event_begin == 0
+		&& m_new_event_end == 0
+		|| m_new_event_begin != 0
+		&& m_new_event_end != 0);
 
 	if (m_new_event_begin == 0
 		&& m_new_event_end == 0)
@@ -1353,16 +1343,6 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("TIMER: eap_timer_queue_c::set_timer(): [0x%08x]->initializer(0x%08x)->set_timer(")
-		 EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"),
-		 event,
-		 event->get_initializer(),
-		 event->get_id(),
-		 event->get_data(),
-		 event->get_original_time()));
 
 	if (m_use_eap_millisecond_timer == true)
 	{
@@ -1458,17 +1438,6 @@
 				m_new_event_end = previous;
 			}
 
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("TIMER: eap_timer_queue_c::cancel_pending_timer(): [0x%08x]->initializer(0x%08x)->cancel_pending_timer(")
-				 EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"),
-				 remove,
-				 remove->get_initializer(),
-				 remove->get_id(),
-				 remove->get_data(),
-				 remove->get_original_time()));
-
 			remove->set_next(0);
 			delete remove;
 
@@ -1536,15 +1505,14 @@
 
 		while(cursor != 0)
 		{
-			EAP_TRACE_DEBUG(
+			EAP_TRACE_TIMER(
 				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("TIMER: eap_timer_queue_c::cancel_timer(): [0x%08x]->initializer(0x%08x)->cancel_timer(")
-				 EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"),
+				TRACE_FLAGS_TIMER,
+				(EAPL("TIMER: [0x%08x] cancel_timer(initializer 0x%08x, ")
+				 EAPL("id 0x%02x, original time %8d)\n"),
 				 cursor,
-				 cursor->get_initializer(),
-				 cursor->get_id(),
-				 cursor->get_data(),
+				 initializer,
+				 id,
 				 cursor->get_original_time()));
 
 			if (cursor == m_timer_queue)
@@ -1709,16 +1677,11 @@
 
 			while (cursor != 0)
 			{
-				EAP_TRACE_DEBUG(
+				EAP_TRACE_TIMER(
 					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("TIMER: eap_timer_queue_c::cancel_all_timers(): [0x%08x]->initializer(0x%08x)->cancel_all_timers(")
-					 EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"),
-					 cursor,
-					 cursor->get_initializer(),
-					 cursor->get_id(),
-					 cursor->get_data(),
-					 cursor->get_original_time()));
+					TRACE_FLAGS_TIMER,
+					(EAPL("TIMER: [0x%08x] cancel_all_timers()\n"),
+					cursor));
 
 				eap_timer_queue_event_c *next = cursor->get_next_same_time();
 
--- a/eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_STACK_OUTPUT_H_)
--- a/eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 7.1.3 %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -31,7 +31,7 @@
 #include "eapol_am_wlan_authentication.h"
 
 // 
-EAP_FUNC_EXPORT eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c()
+eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c()
 {
 }
  
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_AKA_ALGORITHM_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_ABS_EAP_AM_BLOOM_ALGORITHM_STORE_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined( _ABS_EAP_AM_CRYPTO_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 15 %
 */
 
 #if !defined(_ABS_EAP_AM_FILE_INPUT_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_general_settings.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#if !defined(_ABS_EAP_AM_GENERAL_SETTINGS_H_)
-#define _ABS_EAP_AM_GENERAL_SETTINGS_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT abs_eap_am_general_settings_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~abs_eap_am_general_settings_c()
-	{
-	}
-
-	virtual eap_status_e complete_get_eap_methods(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_set_eap_methods(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_get_certificate_lists(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_delete_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_copy_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_ABS_EAP_AM_GENERAL_SETTINGS_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined( _ABS_EAP_AM_TOOLS_MEMORY_STORE_DATA_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAP_AM_MESSAGE_IF_H_)
-#define _ABS_EAP_AM_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-//--------------------------------------------------
-
-/** @file */
-
-/// This class is abstract interface to send data messages through abstract interface.
-class EAP_EXPORT abs_eap_am_message_if_c
-{
-
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	virtual ~abs_eap_am_message_if_c()
-	{
-	}
-
-	/// Function sends the data message to lower layer.
-	/// Data is formatted to Attribute-Value Pairs.
-	/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-	virtual eap_status_e send_data(const void * const data, const u32_t length) = 0;
-
-}; // class abs_eap_am_message_if_c
-
-
-#endif //#if !defined(_ABS_EAP_AM_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined( _ABS_EAP_AM_MUTEX_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_pac_store.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAP_AM_PAC_STORE_H_)
-#define _ABS_EAP_AM_PAC_STORE_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT abs_eap_am_pac_store_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~abs_eap_am_pac_store_c()
-	{
-	}
-
-	virtual eap_status_e complete_open_pac_store(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_create_device_seed(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_is_master_key_present(
-	  const bool is_present) = 0;
-
-	virtual eap_status_e complete_is_master_key_and_password_matching(
-	  const bool is_matching) = 0;
-
-	virtual eap_status_e complete_create_and_save_master_key(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_compare_pac_store_password(
-		const bool is_matching) = 0;
-
-	virtual eap_status_e complete_is_pacstore_password_present(
-		const bool is_present) = 0;
-
-	virtual eap_status_e complete_set_pac_store_password(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_destroy_pac_store(
-		const eap_status_e completion_status) = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_ABS_EAP_AM_PAC_STORE_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_plugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAP_AM_PLUGIN_H_)
-#define _ABS_EAP_AM_PLUGIN_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-
-class eap_method_settings_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT abs_eap_am_plugin_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~abs_eap_am_plugin_c()
-	{
-	}
-
-	virtual eap_status_e complete_get_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_set_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_delete_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_copy_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_set_index(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_get_type_info(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_invoke_ui(const eap_method_settings_c * const internal_settings) = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_ABS_EAP_AM_PLUGIN_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_RADIUS_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined( _ABS_EAP_AM_SEMAPHORE_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_SIM_ALGORITHM_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_stack.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAP_AM_STACK_H_)
-#define _ABS_EAP_AM_STACK_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-
-class abs_eap_am_message_if_c;
-class eap_configuration_field_c;
-class eap_variable_data_c;
-class abs_eap_am_tools_c;
-class abs_eap_base_type_c;
-class eap_base_type_c;
-class eap_am_network_id_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT abs_eap_am_stack_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~abs_eap_am_stack_c()
-	{
-	}
-
-	virtual eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode) = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_ABS_EAP_AM_STACK_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7.1.2 %
 */
 
 #if !defined( _ABS_EAP_AM_TOOLS_H_ )
@@ -369,11 +369,6 @@
 	virtual void set_trace_mask(const u32_t mask) = 0;
 
 	/**
-	 * This function sets the trace prefix string.
-	 */
-	virtual eap_status_e set_trace_prefix(const eap_variable_data_c * const prefix8bit) = 0;
-
-	/**
 	 * This function sets the trace output file name.
 	 */
 	virtual eap_status_e set_trace_file_name(const eap_variable_data_c * const trace_output_file) = 0;
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_AKA_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_GSMSIM_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #ifndef ABS_EAP_AM_TYPE_LEAP_H
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_MSCHAPV2_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #ifndef ABS_EAP_AM_TYPE_SECURID_H
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_SIM_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_SIMPLE_CONFIG_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_ABS_EAP_AM_TYPE_TLS_PEAP_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAP_AM_WIMAX_AUTHENTICATION_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAPOL_AM_WLAN_AUTHENTICATION_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #if !defined(_ABS_SIMPLE_CONFIG_AM_SERVICES_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 28 %
 */
 
 #if !defined(_ABS_TLS_AM_APPLICATION_EAP_FAST_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 17 %
 */
 
 #if !defined(_ABS_TLS_AM_SERVICES_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAP_ASSERT_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_AM_COMPILER_FLAGS_H_)
@@ -64,7 +64,7 @@
 
 	#if !defined(USE_EAP_FILE_TRACE)
 		// This macro activates file tracing.
-		//#define USE_EAP_FILE_TRACE
+		#define USE_EAP_FILE_TRACE
 	#endif //#if !defined(USE_EAP_FILE_TRACE)
 
 	#if !defined(USE_EAP_HARDWARE_TRACE)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined( _EAP_AM_CRYPTO_MD4_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if !defined( _EAP_AM_CRYPTO_OPENSSL_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 //------------------------------------------------------------
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined( _EAP_AM_CRYPTO_SHA1_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined( _EAP_AM_CRYPTO_SHA_256_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_EAP_AM_DH_PRIMES_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_export.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_export.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined( _EAP_EXPORT_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 24 %
 */
 
 #if !defined(_EAP_AM_FAST_PAC_STORE_SERVICES_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_general_settings.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_EAP_AM_GENERAL_SETTINGS_H_)
-#define _EAP_AM_GENERAL_SETTINGS_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-
-class eap_method_settings_c;
-class abs_eap_am_general_settings_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT eap_am_general_settings_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~eap_am_general_settings_c()
-	{
-	}
-
-	virtual bool get_is_valid() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	virtual eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-eap_am_general_settings_c * new_eap_am_general_settings_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_general_settings_c * const partner);
-
-#endif //#if !defined(_EAP_AM_GENERAL_SETTINGS_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAP_MEMORY_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if !defined( _EAP_AM_MEMORY_STORE_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined( _EAP_AM_TOOLS_MEMORY_STORE_DATA_H_ )
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAP_AM_MESSAGE_IF_H_)
-#define _EAP_AM_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class abs_eap_general_settings_message_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT eap_am_message_if_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~eap_am_message_if_c()
-	{
-	}
-
-	virtual bool get_is_valid() = 0;
-
-	virtual void set_partner(abs_eap_am_message_if_c * const client) = 0;
-
-	/// Function receives the data message from lower layer.
-	/// Data is formatted to Attribute-Value Pairs.
-	/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-	virtual eap_status_e process_data(const void * const data, const u32_t length) = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure(
-		const eap_variable_data_c * const client_configuration) = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	static eap_am_message_if_c * new_eap_am_server_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		const bool is_client_when_true,
-		const u32_t MTU);
-
-	static eap_am_message_if_c * new_eap_plugin_server_message_if_c(
-		abs_eap_am_tools_c * const tools);
-
-	static eap_am_message_if_c * new_eap_am_server_general_settings_c(
-		abs_eap_am_tools_c * const tools);
-
-	static eap_am_message_if_c * new_eap_general_settings_server_message_if_c(
-		abs_eap_am_tools_c * const tools);
-
-	static eap_am_message_if_c * new_eap_am_message_if_c(
-		abs_eap_am_tools_c * const tools);
-	
-	// ----------------------------------------------------------------------
-};
-
-EAP_FUNC_IMPORT eap_am_message_if_c * new_eap_am_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	const bool is_client_when_true,
-	const u32_t MTU);
-
-
-#endif //#if !defined(_EAP_AM_MESSAGE_IF_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_NETWORK_ID_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_pac_store.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAP_AM_PAC_STORE_H_)
-#define _EAP_AM_PAC_STORE_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-
-class eap_method_settings_c;
-class abs_eap_am_pac_store_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT eap_am_pac_store_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~eap_am_pac_store_c()
-	{
-	}
-
-	virtual bool get_is_valid() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	virtual eap_status_e open_pac_store() = 0;
-
-	virtual eap_status_e create_device_seed() = 0;
-
-	virtual eap_status_e is_master_key_present() = 0;
-
-	virtual eap_status_e is_master_key_and_password_matching(
-		const eap_variable_data_c * const pac_store_password) = 0;
-
-	virtual eap_status_e create_and_save_master_key(
-		const eap_variable_data_c * const pac_store_password) = 0;
-
-	virtual eap_status_e compare_pac_store_password(
-		eap_variable_data_c * pac_store_password) = 0;
-
-	virtual eap_status_e is_pacstore_password_present() = 0;
-
-	virtual eap_status_e set_pac_store_password(
-		const eap_variable_data_c * pac_store_password) = 0;
-
-	virtual eap_status_e destroy_pac_store() = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-eap_am_pac_store_c * new_eap_am_pac_store_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_pac_store_c * const partner);
-
-#endif //#if !defined(_EAP_AM_PAC_STORE_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_plugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_EAP_AM_PLUGIN_H_)
-#define _EAP_AM_PLUGIN_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-
-class eap_method_settings_c;
-class abs_eap_am_plugin_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT eap_am_plugin_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~eap_am_plugin_c()
-	{
-	}
-
-	virtual bool get_is_valid() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	virtual eap_status_e get_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e set_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e set_index(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e get_type_info(const eap_method_settings_c * const internal_settings) = 0;
-
-
-
-	// ----------------------------------------------------------------------
-};
-
-eap_am_plugin_c * new_eap_am_plugin_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_plugin_c * const partner);
-
-#endif //#if !defined(_EAP_AM_PLUGIN_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAP_AM_TYPE_RADIUS_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_stack.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-#if !defined(_EAP_AM_STACK_H_)
-#define _EAP_AM_STACK_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eapol_key_types.h"
-
-class abs_eap_am_message_if_c;
-class eap_configuration_field_c;
-class eap_variable_data_c;
-class abs_eap_am_tools_c;
-class abs_eap_base_type_c;
-class eap_base_type_c;
-class eap_am_network_id_c;
-class abs_eap_am_stack_c;
-class abs_eap_configuration_if_c;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT eap_am_stack_c
-: public eap_database_reference_if_c 
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	virtual ~eap_am_stack_c()
-	{
-	}
-
-	virtual bool get_is_valid() = 0;
-
-	virtual eap_status_e set_partner(
-		abs_eap_am_stack_c * const partner
-#if defined(USE_EAP_SIMPLE_CONFIG)
-		, abs_eap_configuration_if_c * const configuration_if
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-		) = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure(
-		const eap_variable_data_c * const client_configuration) = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	virtual eap_status_e read_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data) = 0;
-
-	virtual eap_status_e set_timer(
-		abs_eap_base_timer_c * const p_initializer, 
-		const u32_t p_id, 
-		void * const p_data,
-		const u32_t p_time_ms) = 0;
-
-	virtual eap_status_e cancel_timer(
-		abs_eap_base_timer_c * const p_initializer, 
-		const u32_t p_id) = 0;
-
-	virtual eap_status_e check_is_valid_eap_type(
-		const eap_type_value_e eap_type) = 0;
-
-	virtual eap_status_e get_eap_type_list(
-		eap_array_c<eap_type_value_e> * const eap_type_list) = 0;
-
-	virtual eap_status_e load_module(
-		const eap_type_value_e type,
-		const eap_type_value_e tunneling_type,
-		abs_eap_base_type_c * const partner,
-		eap_base_type_c ** const eap_type,
-		const bool is_client_when_true,
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
-	virtual eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type) = 0;
-
-	// ----------------------------------------------------------------------
-};
-
-EAP_FUNC_IMPORT eap_am_stack_c * new_eap_am_stack_c(
-	abs_eap_am_tools_c * const tools,
-	const bool is_client_when_true);
-
-#endif //#if !defined(_EAP_AM_STACK_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.2 %
+* %version: 10 %
 */
 
 #if !defined( _EAP_AM_TOOLS_H_ )
@@ -120,7 +120,6 @@
 		eap_trace_mask_hash_map           = (1u << 13u), ///< This value traces only data of hash table. It does map data and selector.
 		eap_trace_mask_timer_queue        = (1u << 14u), ///< This value traces the timer queue.
 		eap_trace_mask_ok_returns         = (1u << 15u), ///< This value traces the OK return values, alot of them.
-		eap_trace_mask_trace_never        = (1u << 16u), ///< This value never traces. This can disable trace always.
 	};
 
 	EAP_FUNC_IMPORT u8_t octet_to_ascii(i32_t octet);
@@ -322,8 +321,6 @@
 
 const u32_t TRACE_FLAGS_OK_RETURNS = eap_am_tools_c::eap_trace_mask_ok_returns;
 
-const u32_t EAP_TRACE_FLAGS_NEVER = eap_am_tools_c::eap_trace_mask_trace_never;
-
 //-----------------------------------------------------------------------------------------------
 
 #if !defined(USE_EAP_STATUS_RETURN)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #error Not used any more.
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if !defined(_EAP_AM_TYPE_AKA_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAP_AM_TYPE_GSMSIM_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #ifndef EAP_AM_TYPE_LEAP_H
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #ifndef _EAP_AM_TYPE_MSCHAPV2_H_
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #ifndef EAP_AM_TYPE_SECURID_H
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_AM_TYPE_SIM_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAP_AM_TYPE_SIMPLE_CONFIG_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 16 %
 */
 
 #if !defined(_EAP_AM_TYPE_TLS_PEAP_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5.1.2 %
 */
 
 /** @file */
@@ -126,7 +126,7 @@
 	 * This defines const reserved word for template types.
 	 * This is because the stupid Windows compiler cannot compile "const template_type<Type> * const".
 	 */
-	#define EAP_TEMPLATE_CONST const
+	#define EAP_TEMPLATE_CONST
 
 #endif
 
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 2.1.2 %
 */
 
 #if !defined(_EAP_AM_WIMAX_AUTHENTICATION_H_)
@@ -33,6 +33,7 @@
 class eap_base_type_c;
 class eap_am_network_id_c;
 class eap_type_selection_c;
+class abs_eapol_wlan_database_reference_if_c;
 class abs_eap_state_notification_c;
 
 /// This is interface to adaptation module of class eap_wimax_authentication_c.
@@ -54,7 +55,8 @@
 
 	EAP_FUNC_IMPORT static eap_am_wimax_authentication_c* new_eap_am_wimax_authentication(
 		abs_eap_am_tools_c * const tools,
-		const bool is_client_when_true
+		const bool is_client_when_true,
+		const abs_eapol_wlan_database_reference_if_c * const wimax_database_reference
 		);
 
 	/// This is documented in abs_eap_stack_interface_c::get_is_valid().
--- a/eapol/eapol_framework/eapol_common/am/include/eap_file_config.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_file_config.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18 %
+* %version: 11.1.2 %
 */
 
 #ifndef _FILECONFIG_H
@@ -26,8 +26,6 @@
 #include "eap_configuration_field.h"
 #include "abs_eap_am_file_input.h"
 
-class eap_tlv_header_c;
-
 
 template <class Type>
 Type minimum( Type a, Type b )
@@ -36,7 +34,7 @@
 }
 
 
-class EAP_EXPORT eap_config_value_c
+class eap_config_value_c
 {
 private:
 
@@ -52,29 +50,25 @@
 
 public:
 
-	EAP_FUNC_IMPORT virtual ~eap_config_value_c();
+	virtual ~eap_config_value_c();
 
-	EAP_FUNC_IMPORT eap_config_value_c(
+	eap_config_value_c(
 		abs_eap_am_tools_c* const tools);
 
-	EAP_FUNC_IMPORT void set_subsection(
+	void set_subsection(
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const subsection_map);
 
-	EAP_FUNC_IMPORT eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * get_subsection();
-
-	EAP_FUNC_IMPORT eap_variable_data_c * get_data();
+	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * get_subsection();
 
-	EAP_FUNC_IMPORT const eap_variable_data_c * get_const_data() const;
+	eap_variable_data_c * get_data();
 
-	EAP_FUNC_IMPORT void set_type(const eap_configure_type_e type);
+	void set_type(const eap_configure_type_e type);
 
-	EAP_FUNC_IMPORT eap_configure_type_e get_type();
-
-	EAP_FUNC_IMPORT eap_configure_type_e get_const_type() const;
+	eap_configure_type_e get_type();
 
-	EAP_FUNC_IMPORT void object_increase_reference_count();
+	void object_increase_reference_count();
 
-	EAP_FUNC_IMPORT bool get_is_valid() const;
+	bool get_is_valid();
 
 };
 
@@ -145,104 +139,87 @@
 {
   
  private:
-
 	abs_eap_am_tools_c* const m_am_tools;
 
 	/// This stores eap_config_value_c objects using eap_variable_data selector.
 	eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> m_config_map;
 
-	eap_variable_data_c m_value_buffer;
-
 	bool m_is_valid;
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e expand_environment_variables(
+	EAP_FUNC_IMPORT eap_status_e expand_environment_variables(
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 		const eap_variable_data_c * const value,
 		eap_variable_data_c * const expanded_value
 		);
 
-	eap_status_e remove_spaces(eap_variable_data_c * const buffer);
+	EAP_FUNC_IMPORT eap_status_e remove_spaces(eap_variable_data_c * const buffer);
 
-	eap_status_e remove_leading_spaces(eap_variable_data_c * const line);
+	EAP_FUNC_IMPORT eap_status_e remove_leading_spaces(eap_variable_data_c * const line);
 
-	eap_status_e read_section(
+	EAP_FUNC_IMPORT eap_status_e read_section(
 		abs_eap_am_file_input_c * const file,
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map);
 
-	eap_status_e read_subsections(
+	EAP_FUNC_IMPORT eap_status_e  read_subsections(
 		abs_eap_am_file_input_c * const file,
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map);
 
-	eap_status_e get_subsect(
+	EAP_FUNC_IMPORT eap_status_e get_subsect(
 		abs_eap_am_file_input_c * const file,
 		eap_variable_data_c * const line);
 
-	eap_status_e convert_value(
+	EAP_FUNC_IMPORT eap_status_e convert_value(
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 		const eap_variable_data_c * const value_buffer,
 		const eap_configure_type_e type,
 		eap_variable_data_c * const value_data);
 
-	eap_status_e store_configure(
+	EAP_FUNC_IMPORT eap_status_e store_configure(
 		abs_eap_am_file_input_c * const file,
 		const eap_variable_data_c * const line,
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map);
 
-	eap_status_e cnf_parse_value(
+	EAP_FUNC_IMPORT eap_status_e cnf_parse_value(
 		const eap_variable_data_c * const found_type_value,
 		const eap_variable_data_c * const found_type_name,
 		eap_configure_type_e * const parsed_type,
 		eap_variable_data_c * const parsed_type_value,
 		const bool is_environment_variable);
 
-	eap_status_e cnf_get_string(
+	EAP_FUNC_IMPORT eap_status_e cnf_get_string(
 		const eap_variable_data_c * const param,
 		eap_variable_data_c * const param_name,
 		eap_variable_data_c * const param_value,
 		eap_configure_type_e * const type);
 
-	eap_status_e find_rvalue(
+	EAP_FUNC_IMPORT eap_status_e find_rvalue(
 		const eap_variable_data_c * const config_param,
 		bool * const read_env_value,
 		eap_variable_data_c * const param_name,
 		eap_variable_data_c * const param_value
 		);
 
-	u8_t * read_hex_byte(
-		u8_t * cursor,
-		const u8_t * const end,
-		u8_t * const hex_byte,
-		const u32_t hex_byte_length);
+	EAP_FUNC_IMPORT u8_t * read_hex_byte(u8_t * cursor, const u8_t * const end, u8_t * const hex_byte);
 
-	u8_t * read_u32_t(u8_t * cursor, const u8_t * const end, u32_t * const hex_byte);
+	EAP_FUNC_IMPORT u8_t * read_u32_t(u8_t * cursor, const u8_t * const end, u32_t * const hex_byte);
 
-	eap_status_e read_configure(
+	EAP_FUNC_IMPORT eap_status_e read_configure(
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 		const eap_configuration_field_c * const field,
 		eap_variable_data_c* const data,
 		eap_configure_type_e * const configuration_data_type,
 		const bool existence_test);
 
-	eap_status_e file_read_line(
+	EAP_FUNC_IMPORT eap_status_e file_read_line(
 		abs_eap_am_file_input_c * const file,
 		eap_variable_data_c * const line);
 
-	eap_status_e read_configure(
+	EAP_FUNC_IMPORT eap_status_e read_configure(
 		const eap_configuration_field_c * const field,
 		eap_variable_data_c* const data,
 		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map,
 		const bool check_subsection_when_true);
 
-	eap_status_e read_all_configurations(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c* const data,
-		eap_core_map_c<eap_config_value_c, abs_eap_core_map_c, eap_variable_data_c> * const config_map);
-
-	eap_status_e add_option(
-		const eap_tlv_header_c * const option_header);
-
  public:
 
 	EAP_FUNC_IMPORT eap_file_config_c(
@@ -253,9 +230,6 @@
 	EAP_FUNC_IMPORT eap_status_e configure(
 		abs_eap_am_file_input_c * const file);
 
-	EAP_FUNC_IMPORT eap_status_e read_configuration_message(
-		const eap_variable_data_c * const configuration_message);
-
 	EAP_FUNC_IMPORT eap_status_e read_configure(
 		const eap_configuration_field_c * const field,
 		eap_variable_data_c* const data);
--- a/eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_SIM_TRIPLETS_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 2.1.2 %
 */
 
 #if !defined(_EAPOL_AM_WLAN_AUTHENTICATION_H_)
@@ -34,8 +34,8 @@
 class eap_base_type_c;
 class eap_am_network_id_c;
 class eap_type_selection_c;
+class abs_eapol_wlan_database_reference_if_c;
 class abs_eap_state_notification_c;
-#include "eap_database_reference_if.h"
 
 #if defined(USE_EAP_SIMPLE_CONFIG)
 class abs_eap_configuration_if_c;
@@ -44,7 +44,6 @@
 
 /// This is interface to adaptation module of class eapol_wlan_authentication_c.
 class EAP_EXPORT eapol_am_wlan_authentication_c
-: public eap_database_reference_if_c
 {
 private:
 	//--------------------------------------------------
@@ -58,14 +57,15 @@
 	//--------------------------------------------------
 
 	// 
-	EAP_FUNC_IMPORT virtual ~eapol_am_wlan_authentication_c();
+	virtual ~eapol_am_wlan_authentication_c();
 
 	/// @param tools: Constructor takes parameter tools that is pointer to adaptation of the platform.
 	/// @param is_client_when_true: Second parameter is true when object is client and false when object is server.
 	/// @param wlan_database_reference: third parameter is pointer to interface to read the current database reference.
 	EAP_FUNC_IMPORT static eapol_am_wlan_authentication_c * new_eapol_am_wlan_authentication(
 		abs_eap_am_tools_c * const tools,
-		const bool is_client_when_true
+		const bool is_client_when_true,
+		const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference
 		);
 
 	/// This is documented in abs_eap_stack_interface_c::get_is_valid().
@@ -85,8 +85,8 @@
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 		) = 0;
 
-	/// Function resets current WPA-configuration.
-	virtual eap_status_e reset_wpa_configuration() = 0;
+	/// Function resets current EAP-configuration.
+	virtual eap_status_e reset_eap_configuration() = 0;
 
 	/// Function sets the new WLAN parameters.
 	virtual eap_status_e set_wlan_parameters(
@@ -105,6 +105,13 @@
 		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
 		) = 0;
 
+	/**
+	 * This function queries the selected and active EAP-types that can be used
+	 * in current connection.
+	 */
+	virtual eap_status_e get_selected_eap_types(
+		eap_array_c<eap_type_selection_c> * const selected_eap_types) = 0;
+
 	/// Function gets the current WLAN configuration, now only the HASH of the WPA(2)-PSK.
 	virtual eap_status_e get_wlan_configuration(
 		eap_variable_data_c * const wpa_preshared_key_hash) = 0;
@@ -121,6 +128,36 @@
 		const eapol_key_authentication_type_e authentication_type) = 0;
 
 	/**
+	 * The load_module() function function indicates the lower level to
+	 * load new module of EAP-type.
+	 * @param type is the requested EAP-type.
+	 * @param tunneling_type is the EAP-type that tunnels the type. When plain EAP-type is used this parameter is eap_type_none.
+	 * @param partner is pointer to the caller object.
+	 * The partner of the new created EAP-type object is the caller object.
+	 * @param eap_type is a pointer to a pointer of EAP-type object.
+	 * Adaptation module sets eap_type pointer to created EAP-type object.
+	 * @param is_client_when_true parameter indicates whether the network entity should
+	 * act as a client (true) or server (false), in terms of EAP-protocol whether
+	 * this network entity is EAP-supplicant (true) or EAP-authenticator (false).
+	 * @param receive_network_id includes the addresses (network identity) and packet type.
+	 */
+	virtual eap_status_e load_module(
+		const eap_type_value_e type,
+		const eap_type_value_e tunneling_type,
+		abs_eap_base_type_c * const partner,
+		eap_base_type_c ** const eap_type,
+		const bool is_client_when_true,
+		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
+		) = 0;
+
+	/**
+	 * The unload_module() function unloads the module of a EAP-type. 
+	 * @param eap_type is the requested EAP-type.
+	 */
+	virtual eap_status_e unload_module(
+		const eap_type_value_e type) = 0;
+
+	/**
 	 * The read_configure() function reads the configuration data identified
 	 * by the field string of field_length bytes length. Adaptation module must direct
 	 * the query to some persistent store.
@@ -180,6 +217,21 @@
 	virtual eap_status_e cancel_all_timers() = 0;
 
 	/**
+	 * This function queries the validity of EAP-type.
+	 * Lower layer should return eap_status_ok if this EAP-type is supported.
+	 */
+	virtual eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type) = 0;
+
+	/**
+	 * This function queries the list of supported EAP-types.
+	 * Lower layer should return eap_status_ok if this call succeeds.
+	 * @param eap_type_list will include the list of supported EAP-types. Each value in list
+	 * is type of u32_t and represent one supported EAP-type. List consists of subsequent u32_t type values.
+	 */
+	virtual eap_status_e get_eap_type_list(
+		eap_array_c<eap_type_value_e> * const eap_type_list) = 0;
+
+	/**
 	 * This is notification of internal state transition.
 	 * This is used for notifications, debugging and protocol testing.
 	 * The primal notifications are eap_state_variable_e::eap_state_authentication_finished_successfully
--- a/eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_MS_MPPE_KEYS_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_MS_MPPE_SEND_RECV_KEY_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 25 %
 */
 
 #if !defined(_SIMPLE_CONFIG_AM_SERVICES_H_)
@@ -52,11 +52,10 @@
 public:
 	//--------------------------------------------------
 
-	/* The destructor does nothing */
 	virtual ~simple_config_am_services_c()
 	{
 	}
-	
+
 	/**
 	 * Object must indicate it's validity.
 	 * If object initialization fails this function must return false.
--- a/eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 29 %
 */
 
 #if !defined(_TLS_AM_APPLICATION_EAP_FAST_H_)
--- a/eapol/eapol_framework/eapol_common/am/include/tls_am_services.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/tls_am_services.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 25 %
 */
 
 #if !defined(_TLS_AM_SERVICES_H_)
--- a/eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,17 +16,9 @@
 */
 
 /*
-* %version: %
+* %version: 34 %
 */
 
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 761 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
 #include "asn1_der_type.h"
 #include "eap_automatic_variable.h"
 
@@ -682,7 +674,7 @@
 				"%02x \0",
 				oid_octet);
 
-			u8_t oid = static_cast<u8_t>(oid_octet & (~OID_HIGH_BIT));
+			u8_t oid = oid_octet & (~OID_HIGH_BIT);
 
 			if (ind > offset)
 			{
@@ -934,7 +926,7 @@
 		{
 			if ((extented_tag[0] & static_cast<u8_t>(asn1_high_bit_mask_tag)) == 0)
 			{
-				return static_cast<u16_t>(extented_tag - m_input_data);
+				return (extented_tag - m_input_data);
 			}
 
 			++extented_tag;
@@ -965,7 +957,7 @@
 	if ((length_octet1 & static_cast<u8_t>(asn1_high_bit_mask_tag)) == 0)
 	{
 		// Short Length field.
-		return static_cast<u16_t>(m_offset_of_length_field + asn1_identifier_const_short_length_size);
+		return m_offset_of_length_field + asn1_identifier_const_short_length_size;
 	}
 	else if (m_input_data_length > static_cast<u32_t>(m_offset_of_length_field + asn1_identifier_const_short_length_size))
 	{
@@ -1644,7 +1636,7 @@
 			status = sub_type->initialize(
 				current_type->get_unused_data_length(),
 				current_type->get_unused_data(),
-				static_cast<u16_t>(current_type->get_recursion() + 1u),
+				current_type->get_recursion() + 1u,
 				current_type->get_count_of_sub_types(),
 				debug_buffer);
 			if (status != eap_status_ok)
--- a/eapol/eapol_framework/eapol_common/common/eap_base_type.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_base_type.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_buffer.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_buffer.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11.1.5 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 36 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -582,7 +582,7 @@
 
 		for (u32_t ind = 0u; ind < block_size/sizeof(u64_t); ind++)
 		{
-			pdata[ind] = static_cast<u64_t>(pdata[ind] ^ pIV[ind]);
+			pdata[ind] ^= pIV[ind];
 		}
 	}
 	else
@@ -595,7 +595,7 @@
 
 		for (u32_t ind = 0u; ind < block_size/sizeof(u32_t); ind++)
 		{
-			pdata[ind] = static_cast<u32_t>(pdata[ind] ^ pIV[ind]);
+			pdata[ind] ^= pIV[ind];
 		}
 	}
 	else if ((reinterpret_cast<u32_t>(cipher_IV) % sizeof(u16_t)) == 0
@@ -606,7 +606,7 @@
 
 		for (u32_t ind = 0u; ind < block_size/sizeof(u16_t); ind++)
 		{
-			pdata[ind] = static_cast<u16_t>(pdata[ind] ^ pIV[ind]);
+			pdata[ind] ^= pIV[ind];
 		}
 	}
 	else
@@ -616,7 +616,7 @@
 
 		for (u32_t ind = 0u; ind < block_size/sizeof(u8_t); ind++)
 		{
-			pdata[ind] = static_cast<u8_t>(pdata[ind] ^ pIV[ind]);
+			pdata[ind] ^= pIV[ind];
 		}
 	}
 }
@@ -5293,7 +5293,7 @@
 
 		for (j_ind = 0; j_ind < digest_length; j_ind++)
 		{
-			p_output[j_ind] = static_cast<u8_t>(p_output[j_ind] ^ p_digest[j_ind]);
+			p_output[j_ind] ^= p_digest[j_ind];
 		}
 	} // for()
 
--- a/eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -67,38 +67,6 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT bool eap_expanded_type_c::get_is_valid() const
-{
-	return true;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool eap_expanded_type_c::get_is_valid_data() const
-{
-	return get_is_valid();
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_expanded_type_c * eap_expanded_type_c::copy() const
-{
-	eap_expanded_type_c * const new_entry = new eap_expanded_type_c;
-
-	if (new_entry == 0
-		|| new_entry->get_is_valid() == false)
-	{
-		delete new_entry;
-		return 0;
-	}
-
-	new_entry->set_eap_type_values(m_vendor_id, m_vendor_type);
-
-	return new_entry;
-}
-
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT bool eap_expanded_type_c::is_expanded_type(const eap_type_ietf_values_e eap_type)
 {
 	return (eap_type == eap_type_expanded_type);
@@ -106,17 +74,26 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 EAP_FUNC_EXPORT bool eap_expanded_type_c::is_ietf_type(const eap_expanded_type_c eap_type)
 {
 	return (eap_type.get_vendor_id() == eap_type_vendor_id_ietf
 			&& eap_type.get_vendor_type() < eap_type_expanded_type);
 }
 
+#else
+EAP_FUNC_EXPORT bool eap_expanded_type_c::is_ietf_type(const eap_type_ietf_values_e eap_type)
+{
+	return (eap_type < eap_type_expanded_type);
+}
+
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::get_type_data(
 	abs_eap_am_tools_c * const am_tools,
-	eap_type_ietf_values_e * const type) const
+	eap_type_ietf_values_e * const type)
 {
 	if (type == 0)
 	{
@@ -143,7 +120,7 @@
 
 EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::get_type_data(
 	abs_eap_am_tools_c * const am_tools,
-	eap_expanded_type_c * const type) const
+	eap_expanded_type_c * const type)
 {
 	if (type == 0)
 	{
@@ -160,10 +137,9 @@
 
 EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::get_expanded_type_data(
 	abs_eap_am_tools_c * const am_tools,
-	eap_variable_data_c * const data) const
+	eap_variable_data_c * const data)
 {
-	if (data == 0
-		|| data->get_is_valid() == false)
+	if (data == 0)
 	{
 		EAP_UNREFERENCED_PARAMETER(am_tools);
 		return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter);
@@ -245,8 +221,7 @@
 	abs_eap_am_tools_c * const am_tools,
 	const eap_variable_data_c * const data)
 {
-	if (data == 0
-		|| data->get_data_length() != get_eap_expanded_type_size()
+	if (data->get_data_length() != get_eap_expanded_type_size()
 		|| data->get_data(data->get_data_length()) == 0)
 	{
 		EAP_UNREFERENCED_PARAMETER(am_tools);
@@ -296,61 +271,6 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::set_expanded_type_data(
-	abs_eap_am_tools_c * const am_tools,
-	const void * const data,
-	const u32_t data_length)
-{
-	if (data_length != get_eap_expanded_type_size()
-		|| data == 0)
-	{
-		EAP_UNREFERENCED_PARAMETER(am_tools);
-		return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t offset = 0ul;
-
-	{
-		const u8_t * const ietf_type = &(reinterpret_cast<const u8_t *>(data)[offset]);
-		if (ietf_type == 0)
-		{
-			return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter);
-		}
-		offset += m_ietf_type_size;
-
-		if (static_cast<eap_type_ietf_values_e>(*ietf_type) != eap_type_expanded_type)
-		{
-			return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter);
-		}
-	}
-
-	{
-		const u8_t * const vendor_id = &(reinterpret_cast<const u8_t *>(data)[offset]);
-		if (vendor_id == 0)
-		{
-			return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter);
-		}
-		offset += m_vendor_id_size;
-
-		m_vendor_id = static_cast<eap_type_vendor_id_e>(eap_read_u24_t_network_order(vendor_id, m_vendor_id_size));
-	}
-
-	{
-		const u8_t * const vendor_type = &(reinterpret_cast<const u8_t *>(data)[offset]);
-		if (vendor_type == 0)
-		{
-			return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter);
-		}
-		offset += m_vendor_type_size;
-
-		m_vendor_type = eap_read_u32_t_network_order(vendor_type, m_vendor_type_size);
-	}
-
-	return EAP_STATUS_RETURN(am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT void eap_expanded_type_c::set_eap_type_values(
 	const eap_type_vendor_id_e vendor_id,
 	const u32_t vendor_type)
@@ -471,7 +391,11 @@
 	const u32_t index,
 	const void * const p_buffer,
 	const u32_t buffer_length,
+#if defined(USE_EAP_EXPANDED_TYPES)
 	eap_expanded_type_c * const type
+#else
+	eap_type_ietf_values_e * const type
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 	)
 {
 	if (p_buffer == 0)
@@ -575,11 +499,22 @@
 						sizeof(u32_t));
 				}
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 				type->set_eap_type_values(
 					vendor_id_value,
 					vendor_type_value);
 
 				EAP_ASSERT_TOOLS(am_tools, (ietf_eap_type == eap_type_expanded_type));
+#else
+				if (vendor_id_value == eap_type_vendor_id_ietf)
+				{
+					*type = static_cast<eap_type_value_e>(vendor_type_value); // Type field follows eap_header_c.
+				}
+				else
+				{
+					*type = ietf_eap_type; // Type field follows eap_header_c.
+				}
+#endif
 
 				return EAP_STATUS_RETURN(am_tools, eap_status_ok);
 			}
@@ -608,7 +543,11 @@
 	void * const p_buffer,
 	const u32_t buffer_length,
 	const bool write_extented_type_when_true,
+#if defined(USE_EAP_EXPANDED_TYPES)
 	const eap_expanded_type_c p_type ///< The EAP type to be written.
+#else
+	const eap_type_ietf_values_e p_type ///< The EAP type to be written.
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 	)
 {
 	if (p_buffer == 0)
@@ -619,6 +558,8 @@
 
 	u8_t * const buffer = static_cast<u8_t *>(p_buffer);
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	if (write_extented_type_when_true == false
 		&& is_ietf_type(p_type) == true
 		&& buffer_length >= eap_expanded_type_c::m_ietf_type_size*(index+1ul))
@@ -691,11 +632,34 @@
 		return EAP_STATUS_RETURN(am_tools, eap_status_allocation_error);
 	}
 
+#else
+
+	EAP_UNREFERENCED_PARAMETER(write_extented_type_when_true); // Only Expanded Type version uses this.
+
+	if (buffer_length >= eap_expanded_type_c::m_ietf_type_size*(index+1ul))
+	{
+		u8_t * const type_data =
+			&(buffer[eap_expanded_type_c::m_ietf_type_size*index]);
+		if (type_data == 0)
+		{
+			return EAP_STATUS_RETURN(am_tools, eap_status_allocation_error);
+		}
+		*type_data = static_cast<u8_t>(p_type);
+	}
+	else
+	{
+		return EAP_STATUS_RETURN(am_tools, eap_status_allocation_error);
+	}
+
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 	return EAP_STATUS_RETURN(am_tools, eap_status_ok);
 }
 
 //--------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_FUNC_EXPORT i32_t eap_expanded_type_c::compare(const eap_expanded_type_c * const data) const
 {
 	if (*this == *data)
@@ -719,6 +683,8 @@
 	}
 }
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 //--------------------------------------------------
 //--------------------------------------------------
 //--------------------------------------------------
@@ -732,6 +698,8 @@
 //--------------------------------------------------
 //--------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_C_FUNC_EXPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type)
 {
 	// NOTE, this returns only 8 least significant bits of vendor type.
@@ -745,6 +713,20 @@
 		| static_cast<u64_t>(type.get_vendor_type());
 }
 
+#else
+
+EAP_C_FUNC_EXPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type)
+{
+	return static_cast<u32_t>(type);
+}
+
+EAP_C_FUNC_EXPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type)
+{
+	return static_cast<u64_t>(type);
+}
+
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 //--------------------------------------------------
 //--------------------------------------------------
 //--------------------------------------------------
--- a/eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 11.1.2 %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -53,6 +53,7 @@
 	, m_error_detected(true)
 #endif //#if defined(USE_EAP_ERROR_TESTS)
 {
+	EAP_ASSERT((m_header_buffer != 0 && m_header_buffer_length > 0ul) || (m_header_buffer == 0 && m_header_buffer_length == 0ul));
 }
 
 EAP_FUNC_EXPORT void eap_general_header_base_c::set_header_buffer(u8_t * const header_buffer, const u32_t header_buffer_length)
@@ -63,6 +64,8 @@
 
 EAP_FUNC_EXPORT u8_t * eap_general_header_base_c::get_header_buffer(const u32_t data_length) const
 {
+	EAP_ASSERT(m_header_buffer != 0 && m_header_buffer_length > 0ul && m_header_buffer_length >= data_length);
+
 	if (m_header_buffer_length >= data_length)
 	{
 		return m_header_buffer;
--- a/eapol/eapol_framework/eapol_common/common/eap_handle.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_handle.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 20 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_header_string.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_header_string.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -83,7 +83,9 @@
 	else EAP_IF_RETURN_STRING(type, eap_type_fast)
 #endif //#if defined(USE_FAST_EAP_TYPE)
 	else EAP_IF_RETURN_STRING(type, eap_type_saesim)
+#if defined(USE_EAP_EXPANDED_TYPES)
 	else EAP_IF_RETURN_STRING(type, eap_expanded_type_simple_config.get_type())
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 	else
 #endif // #if defined(USE_EAP_TRACE_STRINGS)
 	{
--- a/eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_method_settings.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1236 +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:  EAP-settings class.
-*
-*/
-
-/*
-* %version: 24 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 759 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "eap_method_settings.h"
-#include "eap_array_algorithms.h"
-#include "eap_automatic_variable.h"
-
-//-------------------------------------------------------------------------------
-
-eap_certificate_entry_c::~eap_certificate_entry_c()
-{
-}
-
-//-------------------------------------------------------------------------------
-
-eap_certificate_entry_c::eap_certificate_entry_c(
-	abs_eap_am_tools_c * const tools)
-: m_am_tools(tools)
-, m_CertType(eap_certificate_type_none)
-, m_SubjectNamePresent(false)
-, m_SubjectName(tools)
-, m_IssuerNamePresent(false)
-, m_IssuerName(tools)
-, m_SerialNumberPresent(false)
-, m_SerialNumber(tools)
-, m_SubjectKeyIDPresent(false)
-, m_SubjectKeyID(tools)
-, m_ThumbprintPresent(false)
-, m_Thumbprint(tools)
-, m_LabelPresent(false)
-, m_Label(tools)
-, m_PrimaryNamePresent(false)
-, m_PrimaryName(tools)
-, m_SecondaryNamePresent(false)
-, m_SecondaryName(tools)
-, m_iIsEnabledPresent(false)
-, m_iIsEnabled(false)
-{
-}
-
-//-------------------------------------------------------------------------------
-
-bool eap_certificate_entry_c::get_is_valid()
-{
-	return true;
-}
-
-//-------------------------------------------------------------------------------
-
-bool eap_certificate_entry_c::get_is_valid_data()
-{
-	return get_is_valid();
-}
-
-//-------------------------------------------------------------------------------
-
-eap_certificate_entry_c * eap_certificate_entry_c::copy()
-{
-	eap_certificate_entry_c * const new_entry = new eap_certificate_entry_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_certificate_entry_c> automatic_new_entry(
-		m_am_tools,
-		new_entry);
-
-	if (new_entry == 0
-		|| new_entry->get_is_valid() == false)
-	{
-		(void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return 0;
-	}
-
-	eap_status_e status(eap_status_ok);
-
-	new_entry->m_CertType = m_CertType;
-
-	new_entry->m_SubjectNamePresent = m_SubjectNamePresent;
-	if (m_SubjectNamePresent == true)
-	{
-		status = new_entry->m_SubjectName.set_copy_of_buffer(&m_SubjectName);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_IssuerNamePresent = m_IssuerNamePresent;
-	if (m_IssuerNamePresent == true)
-	{
-		status = new_entry->m_IssuerName.set_copy_of_buffer(&m_IssuerName);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_SerialNumberPresent = m_SerialNumberPresent;
-	if (m_SerialNumberPresent == true)
-	{
-		status = new_entry->m_SerialNumber.set_copy_of_buffer(&m_SerialNumber);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_SubjectKeyIDPresent = m_SubjectKeyIDPresent;
-	if (m_SubjectKeyIDPresent == true)
-	{
-		status = new_entry->m_SubjectKeyID.set_copy_of_buffer(&m_SubjectKeyID);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_ThumbprintPresent = m_ThumbprintPresent;
-	if (m_ThumbprintPresent == true)
-	{
-		status = new_entry->m_Thumbprint.set_copy_of_buffer(&m_Thumbprint);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_LabelPresent = m_LabelPresent;
-	if (m_LabelPresent == true)
-	{
-		status = new_entry->m_Label.set_copy_of_buffer(&m_Label);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_PrimaryNamePresent = m_PrimaryNamePresent;
-	if (m_PrimaryNamePresent == true)
-	{
-		status = new_entry->m_PrimaryName.set_copy_of_buffer(&m_PrimaryName);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_SecondaryNamePresent = m_SecondaryNamePresent;
-	if (m_SecondaryNamePresent == true)
-	{
-		status = new_entry->m_SecondaryName.set_copy_of_buffer(&m_SecondaryName);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-	}
-
-	new_entry->m_iIsEnabledPresent = m_iIsEnabledPresent;
-	new_entry->m_iIsEnabled = m_iIsEnabled;
-
-	automatic_new_entry.do_not_free_variable();
-
-	return new_entry;
-}
-
-//-------------------------------------------------------------------------------
-
-void eap_certificate_entry_c::trace() const
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_CertType=%d\n"),
-		m_CertType));
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_SubjectNamePresent=%d\n"),
-		m_SubjectNamePresent));
-	if (m_SubjectNamePresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_SubjectName"),
-			m_SubjectName.get_data(),
-			m_SubjectName.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_IssuerNamePresent=%d\n"),
-		m_IssuerNamePresent));
-	if (m_IssuerNamePresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_IssuerName"),
-			m_IssuerName.get_data(),
-			m_IssuerName.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_SerialNumberPresent=%d\n"),
-		m_SerialNumberPresent));
-	if (m_SerialNumberPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_SerialNumber"),
-			m_SerialNumber.get_data(),
-			m_SerialNumber.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_SubjectKeyIDPresent=%d\n"),
-		m_SubjectKeyIDPresent));
-	if (m_SubjectKeyIDPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_SubjectKeyID"),
-			m_SubjectKeyID.get_data(),
-			m_SubjectKeyID.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_ThumbprintPresent=%d\n"),
-		m_ThumbprintPresent));
-	if (m_ThumbprintPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_Thumbprint"),
-			m_Thumbprint.get_data(),
-			m_Thumbprint.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_LabelPresent=%d\n"),
-		m_LabelPresent));
-	if (m_LabelPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_Label"),
-			m_Label.get_data(),
-			m_Label.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_PrimaryNamePresent=%d\n"),
-		m_PrimaryNamePresent));
-	if (m_PrimaryNamePresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_PrimaryName"),
-			m_PrimaryName.get_data(),
-			m_PrimaryName.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_SecondaryNamePresent=%d\n"),
-		m_SecondaryNamePresent));
-	if (m_SecondaryNamePresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_certificate_entry_c::trace():     m_SecondaryName"),
-			m_SecondaryName.get_data(),
-			m_SecondaryName.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_certificate_entry_c::trace(): m_iIsEnabledPresent=%d\n"),
-		m_iIsEnabledPresent));
-	if (m_iIsEnabledPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_certificate_entry_c::trace():     m_iIsEnabled=%d\n"),
-			m_iIsEnabled));
-	}
-}
-
-//-------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------
-
-eap_method_values_c::~eap_method_values_c()
-{
-}
-
-//-------------------------------------------------------------------------------
-
-eap_method_values_c::eap_method_values_c(
-	abs_eap_am_tools_c * const tools)
-: m_am_tools(tools)
-, m_is_valid(false)
-, m_completion_status(eap_status_process_general_error)
-, m_EAPType(eap_type_none)
-, m_IndexType(0ul)
-, m_Index(0ul)
-, m_UseAutomaticCACertificatePresent(false)
-, m_UseAutomaticCACertificate(false)
-, m_UseAutomaticUsernamePresent(false)
-, m_UseAutomaticUsername(false)
-, m_UseAutomaticRealmPresent(false)
-, m_UseAutomaticRealm(false)
-, m_UsernamePresent(false)
-, m_Username_fix(tools)
-, m_PasswordExistPresent(false)
-, m_PasswordPresent(false)
-, m_Password(tools)
-, m_RealmPresent(false)
-, m_Realm(tools)
-, m_UsePseudonymsPresent(false)
-, m_UsePseudonyms(false)
-, m_VerifyServerRealmPresent(false)
-, m_VerifyServerRealm(false)
-, m_RequireClientAuthenticationPresent(false)
-, m_RequireClientAuthentication(false)
-, m_SessionValidityTimePresent(false)
-, m_SessionValidityTime(0ul)
-, m_CipherSuitesPresent(false)
-, m_CipherSuites(tools)
-, m_PEAPVersionsPresent(false)
-, m_PEAPv0Allowed(false)
-, m_PEAPv1Allowed(false)
-, m_PEAPv2Allowed(false)
-, m_CertificatesPresent(false)
-, m_Certificates(tools)
-, m_EnabledEncapsulatedEAPTypesPresent(false)
-, m_EnabledEncapsulatedEAPTypes(tools)
-, m_DisabledEncapsulatedEAPTypesPresent(false)
-, m_DisabledEncapsulatedEAPTypes(tools)
-, m_AuthProvModeAllowedPresent(false)
-, m_AuthProvModeAllowed(false)
-, m_UnauthProvModeAllowedPresent(false)
-, m_UnauthProvModeAllowed(false)
-, m_PACGroupReferencePresent(false)
-, m_PACGroupReference(tools)
-, m_WarnADHPNoPACPresent(false)
-, m_WarnADHPNoPAC(false)
-, m_WarnADHPNoMatchingPACPresent(false)
-, m_WarnADHPNoMatchingPAC(false)
-, m_WarnNotDefaultServerPresent(false)
-, m_WarnNotDefaultServer(false)
-, m_SelectedEAPTypesPresent(false)
-, m_active_eap_methods(tools)
-, m_disabled_eap_methods(tools)
-, m_TunnelingTypePresent(false)
-, m_TunnelingType(eap_type_none)
-, m_DestinationIndexAndTypePresent(false)
-, m_DestinationIndexType(0ul)
-, m_DestinationIndex(0ul)
-, m_MethodInfoPresent(false)
-, m_KReleaseDate(tools)
-, m_KEapTypeVersion(tools)
-, m_KManufacturer(tools)
-, m_ButtonIdPresent(false)
-, m_ButtonId(0)
-, m_ShowPassWordPromptPresent(false)
-, m_ShowPassWordPrompt(false)
-, m_UseIdentityPrivacyPresent(false)
-, m_UseIdentityPrivacy(false)
-{
-}
-
-//-------------------------------------------------------------------------------
-
-abs_eap_am_tools_c * eap_method_values_c::get_am_tools() const
-{
-	return m_am_tools;
-}
-
-
-//-------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------
-
-eap_method_settings_c::~eap_method_settings_c()
-{
-}
-
-//-------------------------------------------------------------------------------
-
-eap_method_settings_c::eap_method_settings_c(
-	abs_eap_am_tools_c * const tools)
-	: eap_method_values_c(tools)
-{
-	m_is_valid = true;
-}
-
-//-------------------------------------------------------------------------------
-
-eap_method_settings_c::eap_method_settings_c(
-	abs_eap_am_tools_c * const tools,
-	const eap_method_settings_c * const init)
-	: eap_method_values_c(tools)
-{
-	eap_status_e status(eap_status_ok);
-
-	// The correct status is set in the end of this function.
-	m_completion_status = eap_status_allocation_error;
-
-	m_EAPType = init->m_EAPType;
-
-	m_IndexType = init->m_IndexType;
-
-	m_Index = init->m_Index;
-
-	m_UseAutomaticCACertificatePresent = init->m_UseAutomaticCACertificatePresent;
-	m_UseAutomaticCACertificate = init->m_UseAutomaticCACertificate;
-
-	m_UseAutomaticUsernamePresent = init->m_UseAutomaticUsernamePresent;
-	m_UseAutomaticUsername = init->m_UseAutomaticUsername;
-
-	m_UseAutomaticRealmPresent = init->m_UseAutomaticRealmPresent;
-	m_UseAutomaticRealm = init->m_UseAutomaticRealm;
-
-	m_UsernamePresent = init->m_UsernamePresent;
-	if (m_UsernamePresent == true)
-	{
-		status = m_Username_fix.set_copy_of_buffer(&(init->m_Username_fix));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_PasswordExistPresent = init->m_PasswordExistPresent;
-	m_PasswordExist = init->m_PasswordExist;
-
-	m_PasswordPresent = init->m_PasswordPresent;
-	if (m_PasswordPresent == true)
-	{
-		status = m_Password.set_copy_of_buffer(&(init->m_Password));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_RealmPresent = init->m_RealmPresent;
-	if (m_RealmPresent == true)
-	{
-		status = m_Realm.set_copy_of_buffer(&(init->m_Realm));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_UsePseudonymsPresent = init->m_UsePseudonymsPresent;
-	m_UsePseudonyms = init->m_UsePseudonyms;
-
-	m_VerifyServerRealmPresent = init->m_VerifyServerRealmPresent;
-	m_VerifyServerRealm = init->m_VerifyServerRealm;
-
-	m_RequireClientAuthenticationPresent = init->m_RequireClientAuthenticationPresent;
-	m_RequireClientAuthentication = init->m_RequireClientAuthentication;
-
-	m_SessionValidityTimePresent = init->m_SessionValidityTimePresent;
-	m_SessionValidityTime = init->m_SessionValidityTime;
-
-	m_CipherSuitesPresent = init->m_CipherSuitesPresent;
-	if (m_CipherSuitesPresent == true)
-	{
-		status = copy_simple<u16_t>(
-			&(init->m_CipherSuites),
-			&m_CipherSuites,
-			tools,
-			false);
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_PEAPVersionsPresent = init->m_PEAPVersionsPresent;
-	m_PEAPv0Allowed = init->m_PEAPv0Allowed;
-	m_PEAPv1Allowed = init->m_PEAPv1Allowed;
-	m_PEAPv2Allowed = init->m_PEAPv2Allowed;
-
-	m_CertificatesPresent = init->m_CertificatesPresent;
-	if (m_CertificatesPresent == true)
-	{
-		status = copy<eap_certificate_entry_c>(
-			&(init->m_Certificates),
-			&m_Certificates,
-			tools,
-			false);
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_EnabledEncapsulatedEAPTypesPresent = init->m_EnabledEncapsulatedEAPTypesPresent;
-	if (m_EnabledEncapsulatedEAPTypesPresent == true)
-	{
-		status = copy<eap_type_value_e>(
-			&(init->m_EnabledEncapsulatedEAPTypes),
-			&m_EnabledEncapsulatedEAPTypes,
-			tools,
-			false);
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_DisabledEncapsulatedEAPTypesPresent = init->m_DisabledEncapsulatedEAPTypesPresent;
-	if (m_DisabledEncapsulatedEAPTypesPresent == true)
-	{
-		status = copy<eap_type_value_e>(
-			&(init->m_DisabledEncapsulatedEAPTypes),
-			&m_DisabledEncapsulatedEAPTypes,
-			tools,
-			false);
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_AuthProvModeAllowedPresent = init->m_AuthProvModeAllowedPresent;
-	m_AuthProvModeAllowed = init->m_AuthProvModeAllowed;
-
-	m_UnauthProvModeAllowedPresent = init->m_UnauthProvModeAllowedPresent;
-	m_UnauthProvModeAllowed = init->m_UnauthProvModeAllowed;
-
-	m_PACGroupReferencePresent = init->m_PACGroupReferencePresent;
-	if (m_PACGroupReferencePresent == true)
-	{
-		status = m_PACGroupReference.set_copy_of_buffer(&(init->m_PACGroupReference));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_WarnADHPNoPACPresent = init->m_WarnADHPNoPACPresent;
-	m_WarnADHPNoPAC = init->m_WarnADHPNoPAC;
-
-	m_WarnADHPNoMatchingPACPresent = init->m_WarnADHPNoMatchingPACPresent;
-	m_WarnADHPNoMatchingPAC = init->m_WarnADHPNoMatchingPAC;
-
-	m_WarnNotDefaultServerPresent = init->m_WarnNotDefaultServerPresent;
-	m_WarnNotDefaultServer = init->m_WarnNotDefaultServer;
-
-	m_SelectedEAPTypesPresent = init->m_SelectedEAPTypesPresent;
-	if (m_SelectedEAPTypesPresent == true)
-	{
-		status = copy<eap_type_value_e>(
-			&(init->m_active_eap_methods),
-			&m_active_eap_methods,
-			tools,
-			false);
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-
-		status = copy<eap_type_value_e>(
-			&(init->m_disabled_eap_methods),
-			&m_disabled_eap_methods,
-			tools,
-			false);
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_TunnelingTypePresent = init->m_TunnelingTypePresent;
-	m_TunnelingType = init->m_TunnelingType;
-
-	m_DestinationIndexAndTypePresent = init->m_DestinationIndexAndTypePresent;
-	m_DestinationIndexType = init->m_DestinationIndexType;
-	m_DestinationIndex = init->m_DestinationIndex;
-
-	m_MethodInfoPresent = init->m_MethodInfoPresent;
-	if (m_MethodInfoPresent == true)
-	{
-		status = m_KReleaseDate.set_copy_of_buffer(&(init->m_KReleaseDate));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-
-		status = m_KEapTypeVersion.set_copy_of_buffer(&(init->m_KEapTypeVersion));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-
-		status = m_KManufacturer.set_copy_of_buffer(&(init->m_KManufacturer));
-		if (status != eap_status_ok)
-		{
-			return;
-		}
-	}
-
-	m_ButtonIdPresent = init->m_ButtonIdPresent;
-	m_ButtonId = init->m_ButtonId;
-
-	m_ShowPassWordPromptPresent = init->m_ShowPassWordPromptPresent;
-	m_ShowPassWordPrompt = init->m_ShowPassWordPrompt;
-
-	m_UseIdentityPrivacyPresent = init->m_UseIdentityPrivacyPresent;
-	m_UseIdentityPrivacy = init->m_UseIdentityPrivacy;
-
-	m_completion_status = init->m_completion_status;
-
-	m_is_valid = true;
-}
-
-//-------------------------------------------------------------------------------
-
-void eap_method_settings_c::trace() const
-{
-	u32_t ind = 0ul;
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_is_valid=%d\n"),
-		m_is_valid));
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_completion_status=%d\n"),
-		m_completion_status));
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_EAPType=0xfe%06x%08x\n"),
-		m_EAPType.get_vendor_id(),
-		m_EAPType.get_vendor_type()));
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_IndexType=%d\n"),
-		m_IndexType));
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_Index=%d\n"),
-		m_Index));
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UseAutomaticCACertificatePresent=%d\n"),
-		m_UseAutomaticCACertificatePresent));
-	if (m_UseAutomaticCACertificatePresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():  m_UseAutomaticCACertificate=%d\n"),
-			m_UseAutomaticCACertificate));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UseAutomaticUsernamePresent=%d\n"),
-		m_UseAutomaticUsernamePresent));
-	if (m_UseAutomaticUsernamePresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():  m_UseAutomaticUsername=%d\n"),
-			m_UseAutomaticUsername));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UseAutomaticRealmPresent=%d\n"),
-		m_UseAutomaticRealmPresent));
-	if (m_UseAutomaticRealmPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():  m_UseAutomaticRealm=%d\n"),
-			m_UseAutomaticRealm));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UsernamePresent=%d\n"),
-		m_UsernamePresent));
-	if (m_UsernamePresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_Username_fix"),
-			m_Username_fix.get_data(),
-			m_Username_fix.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_PasswordExistPresent=%d\n"),
-		m_PasswordExistPresent));
-	if (m_PasswordExistPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_PasswordExist=%d\n"),
-			m_PasswordExist));
-	}
-
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_PasswordPresent=%d\n"),
-		m_PasswordPresent));
-	if (m_PasswordPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_Password"),
-			m_Password.get_data(),
-			m_Password.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_RealmPresent=%d\n"),
-		m_RealmPresent));
-	if (m_RealmPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_Realm"),
-			m_Realm.get_data(),
-			m_Realm.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UsePseudonymsPresent=%d\n"),
-		m_UsePseudonymsPresent));
-	if (m_UsePseudonymsPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_UsePseudonyms=%d\n"),
-			m_UsePseudonyms));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_VerifyServerRealmPresent=%d\n"),
-		m_VerifyServerRealmPresent));
-	if (m_VerifyServerRealmPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_VerifyServerRealm=%d\n"),
-			m_VerifyServerRealm));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_RequireClientAuthenticationPresent=%d\n"),
-		m_RequireClientAuthenticationPresent));
-	if (m_RequireClientAuthenticationPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_RequireClientAuthentication=%d\n"),
-			m_RequireClientAuthentication));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_SessionValidityTimePresent=%d\n"),
-		m_SessionValidityTimePresent));
-	if (m_SessionValidityTimePresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_SessionValidityTime=%d\n"),
-			m_SessionValidityTime));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_CipherSuitesPresent=%d\n"),
-		m_CipherSuitesPresent));
-	if (m_CipherSuitesPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_CipherSuites=%d\n"),
-			m_CipherSuites.get_object_count()));
-		for (ind = 0ul; ind < m_CipherSuites.get_object_count(); ++ind)
-		{
-			u16_t * cipher_suite = m_CipherSuites.get_object(ind);
-			if (cipher_suite != 0)
-			{
-				EAP_TRACE_DEBUG(
-					get_am_tools(),
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_method_settings_c::trace():     cipher_suite=%d\n"),
-					*cipher_suite));
-			}
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_PEAPVersionsPresent=%d\n"),
-		m_PEAPVersionsPresent));
-	if (m_PEAPVersionsPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_PEAPv0Allowed=%d\n"),
-			m_PEAPv0Allowed));
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_PEAPv1Allowed=%d\n"),
-			m_PEAPv1Allowed));
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_PEAPv2Allowed=%d\n"),
-			m_PEAPv2Allowed));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_CertificatesPresent=%d\n"),
-		m_CertificatesPresent));
-	if (m_CertificatesPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_Certificates=%d\n"),
-			m_Certificates.get_object_count()));
-		for (ind = 0ul; ind < m_Certificates.get_object_count(); ++ind)
-		{
-			eap_certificate_entry_c * entry = m_Certificates.get_object(ind);
-			if (entry != 0)
-			{
-				entry->trace();
-			}
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_EnabledEncapsulatedEAPTypesPresent=%d\n"),
-		m_EnabledEncapsulatedEAPTypesPresent));
-	if (m_EnabledEncapsulatedEAPTypesPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_EnabledEncapsulatedEAPTypes=%d\n"),
-			m_EnabledEncapsulatedEAPTypes.get_object_count()));
-		for (ind = 0ul; ind < m_EnabledEncapsulatedEAPTypes.get_object_count(); ++ind)
-		{
-			eap_type_value_e * type = m_EnabledEncapsulatedEAPTypes.get_object(ind);
-			if (type != 0)
-			{
-				EAP_TRACE_DEBUG(
-					get_am_tools(),
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_method_settings_c::trace():     EAP-type=0xfe%06x%08x\n"),
-					type->get_vendor_id(),
-					type->get_vendor_type()));
-			}
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_DisabledEncapsulatedEAPTypesPresent=%d\n"),
-		m_DisabledEncapsulatedEAPTypesPresent));
-	if (m_DisabledEncapsulatedEAPTypesPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_DisabledEncapsulatedEAPTypes=%d\n"),
-			m_DisabledEncapsulatedEAPTypes.get_object_count()));
-		for (ind = 0ul; ind < m_DisabledEncapsulatedEAPTypes.get_object_count(); ++ind)
-		{
-			eap_type_value_e * type = m_DisabledEncapsulatedEAPTypes.get_object(ind);
-			if (type != 0)
-			{
-				EAP_TRACE_DEBUG(
-					get_am_tools(),
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_method_settings_c::trace():     EAP-type=0xfe%06x%08x\n"),
-					type->get_vendor_id(),
-					type->get_vendor_type()));
-			}
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_AuthProvModeAllowedPresent=%d\n"),
-		m_AuthProvModeAllowedPresent));
-	if (m_AuthProvModeAllowedPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_AuthProvModeAllowed=%d\n"),
-			m_AuthProvModeAllowed));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UnauthProvModeAllowedPresent=%d\n"),
-		m_UnauthProvModeAllowedPresent));
-	if (m_UnauthProvModeAllowedPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_UnauthProvModeAllowed=%d\n"),
-			m_UnauthProvModeAllowed));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_PACGroupReferencePresent=%d\n"),
-		m_PACGroupReferencePresent));
-	if (m_PACGroupReferencePresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_PACGroupReference"),
-			m_PACGroupReference.get_data(),
-			m_PACGroupReference.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_WarnADHPNoPACPresent=%d\n"),
-		m_WarnADHPNoPACPresent));
-	if (m_WarnADHPNoPACPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_WarnADHPNoPAC=%d\n"),
-			m_WarnADHPNoPAC));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_WarnADHPNoMatchingPACPresent=%d\n"),
-		m_WarnADHPNoMatchingPACPresent));
-	if (m_WarnADHPNoMatchingPACPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_WarnADHPNoMatchingPAC=%d\n"),
-			m_WarnADHPNoMatchingPAC));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_WarnNotDefaultServerPresent=%d\n"),
-		m_WarnNotDefaultServerPresent));
-	if (m_WarnNotDefaultServerPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_WarnNotDefaultServer=%d\n"),
-			m_WarnNotDefaultServer));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_SelectedEAPTypesPresent=%d\n"),
-		m_SelectedEAPTypesPresent));
-	if (m_SelectedEAPTypesPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_active_eap_methods=%d\n"),
-			m_active_eap_methods.get_object_count()));
-		for (ind = 0ul; ind < m_active_eap_methods.get_object_count(); ++ind)
-		{
-			eap_type_value_e * type = m_active_eap_methods.get_object(ind);
-			if (type != 0)
-			{
-				EAP_TRACE_DEBUG(
-					get_am_tools(),
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_method_settings_c::trace():         active EAP-type=0xfe%06x%08x\n"),
-					type->get_vendor_id(),
-					type->get_vendor_type()));
-			}
-		}
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_disabled_eap_methods=%d\n"),
-			m_disabled_eap_methods.get_object_count()));
-		for (ind = 0ul; ind < m_disabled_eap_methods.get_object_count(); ++ind)
-		{
-			eap_type_value_e * type = m_disabled_eap_methods.get_object(ind);
-			if (type != 0)
-			{
-				EAP_TRACE_DEBUG(
-					get_am_tools(),
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_method_settings_c::trace():         disabled EAP-type=0xfe%06x%08x\n"),
-					type->get_vendor_id(),
-					type->get_vendor_type()));
-			}
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_TunnelingTypePresent=%d\n"),
-		m_TunnelingTypePresent));
-	if (m_TunnelingTypePresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_TunnelingType=0xfe%06x%08x\n"),
-			m_TunnelingType.get_vendor_id(),
-			m_TunnelingType.get_vendor_type()));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_DestinationIndexAndTypePresent=%d\n"),
-		m_DestinationIndexAndTypePresent));
-	if (m_DestinationIndexAndTypePresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_DestinationIndexType=%d\n"),
-			m_DestinationIndexType));
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_DestinationIndex=%d\n"),
-			m_DestinationIndex));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_MethodInfoPresent=%d\n"),
-		m_MethodInfoPresent));
-	if (m_MethodInfoPresent == true)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_KReleaseDate"),
-			m_KReleaseDate.get_data(),
-			m_KReleaseDate.get_data_length()));
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_KEapTypeVersion"),
-			m_KEapTypeVersion.get_data(),
-			m_KEapTypeVersion.get_data_length()));
-		EAP_TRACE_DATA_DEBUG(
-			get_am_tools(), 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_method_settings_c::trace():     m_KManufacturer"),
-			m_KManufacturer.get_data(),
-			m_KManufacturer.get_data_length()));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_ButtonIdPresent=%d\n"),
-		m_ButtonIdPresent));
-	if (m_ButtonIdPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_ButtonId=%d\n"),
-			m_ButtonId));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_ShowPassWordPromptPresent=%d\n"),
-		m_ShowPassWordPromptPresent));
-	if (m_ShowPassWordPromptPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_ShowPassWordPrompt=%d\n"),
-			m_ShowPassWordPrompt));
-	}
-
-	EAP_TRACE_DEBUG(
-		get_am_tools(),
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_method_settings_c::trace(): m_UseIdentityPrivacyPresent=%d\n"),
-		m_UseIdentityPrivacyPresent));
-	if (m_UseIdentityPrivacyPresent == true)
-	{
-		EAP_TRACE_DEBUG(
-			get_am_tools(),
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_method_settings_c::trace():     m_UseIdentityPrivacy=%d\n"),
-			m_UseIdentityPrivacy));
-	}
-}
-
-//-------------------------------------------------------------------------------
-
-// End of file
--- a/eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 20.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -33,13 +33,10 @@
 #include "eap_am_tools.h"
 #include "eap_tools.h"
 #include "eapol_key_types.h"
-#include "eap_am_network_id.h"
 
 
 EAP_FUNC_EXPORT eap_state_notification_c::~eap_state_notification_c()
 {
-	delete m_send_network_id;
-	m_send_network_id = 0;
 }
 
 EAP_FUNC_EXPORT eap_state_notification_c::eap_state_notification_c(
@@ -61,30 +58,15 @@
 	, m_eap_type(eap_type_none)
 	, m_previous_state(previous_state)
 	, m_current_state(current_state)
-	, m_send_network_id(0)
+	, m_send_network_id(send_network_id)
 	, m_is_client(is_client)
 	, m_eap_identifier(eap_identifier)
 	, m_allow_send_eap_success(allow_send_eap_success)
 	, m_authentication_error(eap_status_ok)
 {
-	if (send_network_id == 0
-		|| send_network_id->get_is_valid() == false)
-	{
-		(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return;
-	}
-
-	m_send_network_id = send_network_id->copy();
+}
 
-	if (m_send_network_id == 0
-		|| m_send_network_id->get_is_valid() == false)
-	{
-		delete m_send_network_id;
-		m_send_network_id = 0;
-		(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return;
-	}
-}
+#if defined(USE_EAP_EXPANDED_TYPES)
 
 EAP_FUNC_EXPORT eap_state_notification_c::eap_state_notification_c(
 	abs_eap_am_tools_c * const tools,
@@ -105,30 +87,15 @@
 	, m_eap_type(eap_type)
 	, m_previous_state(previous_state)
 	, m_current_state(current_state)
-	, m_send_network_id(0)
+	, m_send_network_id(send_network_id)
 	, m_is_client(is_client)
 	, m_eap_identifier(eap_identifier)
 	, m_allow_send_eap_success(allow_send_eap_success)
 	, m_authentication_error(eap_status_ok)
 {
-	if (send_network_id == 0
-		|| send_network_id->get_is_valid() == false)
-	{
-		(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return;
-	}
-
-	m_send_network_id = send_network_id->copy();
+}
 
-	if (m_send_network_id == 0
-		|| m_send_network_id->get_is_valid() == false)
-	{
-		delete m_send_network_id;
-		m_send_network_id = 0;
-		(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return;
-	}
-}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 
 EAP_FUNC_EXPORT eap_state_notification_c::eap_state_notification_c(
@@ -150,29 +117,12 @@
 	, m_eap_type(eap_type)
 	, m_previous_state(previous_state)
 	, m_current_state(current_state)
-	, m_send_network_id(0)
+	, m_send_network_id(send_network_id)
 	, m_is_client(is_client)
 	, m_eap_identifier(eap_identifier)
 	, m_allow_send_eap_success(allow_send_eap_success)
 	, m_authentication_error(eap_status_ok)
 {
-	if (send_network_id == 0
-		|| send_network_id->get_is_valid() == false)
-	{
-		(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return;
-	}
-
-	m_send_network_id = send_network_id->copy();
-
-	if (m_send_network_id == 0
-		|| m_send_network_id->get_is_valid() == false)
-	{
-		delete m_send_network_id;
-		m_send_network_id = 0;
-		(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		return;
-	}
 }
 
 EAP_FUNC_EXPORT const eap_am_network_id_c * eap_state_notification_c::get_send_network_id() const
@@ -421,7 +371,6 @@
 #if defined(USE_WAPI_CORE)
 		else EAP_IF_RETURN_STRING(protocol, eapol_key_handshake_type_wai_handshake)
 #endif //#if defined(USE_WAPI_CORE)
-		else EAP_IF_RETURN_STRING(protocol, eapol_key_handshake_type_authenticated)
 		else
 		{
 			return EAPL("Unknown EAPOL protocol");
--- a/eapol/eapol_framework/eapol_common/common/eap_status_string.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_status_string.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 17 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 19.1.2 %
+* %version: 21 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -138,7 +138,7 @@
 
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
 		(EAPL("set_message_data()"),
 		value,
 		length));
--- a/eapol/eapol_framework/eapol_common/common/eap_tools.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_tools.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  Some integer order functions for all platforms.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 13.1.2 %
+* %version: 15 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 22 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eapol_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eapol_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,17 +16,9 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 760 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
 #include "eap_am_export.h"
 #include "eap_am_types.h"
 #include "eap_status.h"
--- a/eapol/eapol_framework/eapol_common/core/dummy_eap_core.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1190 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 716 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-#include "eap_am_memory.h"
-#include "eap_tools.h"
-#include "dummy_eap_core.h"
-#include "eap_core_nak_info.h"
-#include "eap_state_notification.h"
-#include "eap_network_id_selector.h"
-#include "eap_buffer.h"
-#include "eap_header_string.h"
-#include "eap_automatic_variable.h"
-
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT dummy_eap_core_c::~dummy_eap_core_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("dummy_eap_core_c::~dummy_eap_core_c: ")
-		 EAPL("this = 0x%08x\n"),
-		 this));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-#if defined(_WIN32) && !defined(__GNUC__)
-	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
-#endif
-
-// 
-EAP_FUNC_EXPORT dummy_eap_core_c::dummy_eap_core_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_core_c * const partner,
-	const bool is_client_when_true,
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const bool is_tunneled_eap)
-	: m_partner(partner)
-	, m_am_tools(tools)
-	, m_type_map(tools, this)
-	, m_current_eap_type(eap_type_none)
-	, m_default_eap_type(eap_type_none)
-	, m_eap_identity(tools)
-	, m_eap_header_offset(0u)
-	, m_MTU(0u)
-	, m_trailer_length(0u)
-	, m_receive_network_id(tools)
-	, m_retransmission(0)
-	, m_retransmission_time(EAP_CORE_RETRANSMISSION_TIME)
-	, m_retransmission_counter(EAP_CORE_RETRANSMISSION_COUNTER)
-	, m_session_timeout(EAP_CORE_SESSION_TIMEOUT)
-	, m_eap_core_failure_received_timeout(EAP_CORE_FAILURE_RECEIVED_TIMEOUT)
-	, m_remove_session_timeout(EAP_CORE_REMOVE_SESSION_TIMEOUT)
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-	, m_wait_eap_request_type_timeout(EAP_CORE_WAIT_EAP_REQUEST_TYPE_TIMEOUT)
-	, m_wait_eap_request_type_timeout_set(false)
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-	, m_eap_identity_request_identifier_client(0)
-	, m_is_client(is_client_when_true)
-	, m_is_client_role(is_client_when_true)
-	, m_is_valid(false)
-	, m_client_restart_authentication_initiated(false)
-	, m_marked_removed(false)
-	, m_eap_identity_response_accepted(false)
-	, m_shutdown_was_called(false)
-	, m_eap_type_response_sent(false)
-	, m_is_tunneled_eap(is_tunneled_eap)
-#if defined(USE_EAP_CORE_SERVER)
-	, m_process_eap_nak_immediately(EAP_CORE_PROCESS_EAP_NAK_IMMEDIATELY)
-	, m_nak_process_timer_active(false)
-	, m_eap_identity_request_send(false)
-	, m_eap_identity_response_received(false)
-	, m_eap_failure_sent(false)
-	, m_send_eap_success_after_notification(false)
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-	, m_skip_eap_request_identity(false)
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-#endif //#if defined(USE_EAP_CORE_SERVER)
-	, m_use_eap_expanded_type(false)
-	, m_ignore_eap_failure(false)
-	, m_ignore_notifications(false)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ummy_eap_core_c::dummy_eap_core_c: ")
-		 EAPL("this = 0x%08x\n"),
-		 this));
-
-	set_is_valid();
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT abs_eap_core_c * dummy_eap_core_c::get_partner()
-{
-
-	return m_partner;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void dummy_eap_core_c::set_partner(abs_eap_core_c * const partner)
-{
-
-	m_partner = partner;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void dummy_eap_core_c::set_is_valid()
-{
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool dummy_eap_core_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void dummy_eap_core_c::object_increase_reference_count()
-{
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT u32_t dummy_eap_core_c::object_decrease_reference_count()
-{
-	return 0u;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool dummy_eap_core_c::get_marked_removed()
-{
-	return false;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void dummy_eap_core_c::set_marked_removed()
-{
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void dummy_eap_core_c::unset_marked_removed()
-{
-}
-
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void dummy_eap_core_c::ignore_notifications()
-{
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::initialize_asynchronous_init_remove_eap_session(
-	const u32_t /* remove_session_timeout */)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::initialize_asynchronous_init_remove_eap_session(): %s.\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_asynchronous_init_remove_eap_session()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::asynchronous_init_remove_eap_session()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::asynchronous_init_remove_eap_session(): %s.\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-		eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-eap_status_e dummy_eap_core_c::init_end_of_session(
-	const abs_eap_state_notification_c * const /* state */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::init_end_of_session(): %s.\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	eap_status_e status(eap_status_process_general_error);
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT void dummy_eap_core_c::state_notification(
-	const abs_eap_state_notification_c * const /* state */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_base_type_c * dummy_eap_core_c::load_type(
-	const eap_type_value_e /* type */,
-	const eap_type_value_e /* tunneling_type */,
-	const eap_am_network_id_c * /* const receive_network_id */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_base_type_c *handler = 0;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return handler;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::check_is_valid_eap_type(const eap_type_value_e /* eap_type */)
-{
-		eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::get_eap_type_list(
-	eap_array_c<eap_type_value_e> * const /* eap_type_list */)
-{
-		eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::initialize_session_timeout(const u32_t /* session_timeout_ms */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_session_timeout()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT void dummy_eap_core_c::trace_eap_packet(
-	eap_const_string /* prefix */,
-	const eap_header_wr_c * /* const eap_header */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-}
-
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_SERVER)
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::restart_with_new_type(
-	const eap_type_value_e /* used_eap_type */,
-	const eap_am_network_id_c * /* const receive_network_id */,
-	const u8_t /* eap_identifier */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		eap_status_e status = eap_status_process_general_error;
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::client_proposes_eap_types(
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const u8_t /* eap_identifier */)
-{
-
-	/**
-	 * @{ 2005-04-19 complete Expanded Nak Type to client_proposes_eap_types(). }
-	 */
-		eap_status_e status = eap_status_process_general_error;
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_process_type(
-	const eap_type_value_e /* used_eap_type */,
-	const eap_am_network_id_c * /* const receive_network_id */,
-	eap_general_header_base_c * /* const packet_data */,
-	const u32_t /* packet_length */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::packet_process_type(): %s\n"),
-		(m_is_client == true) ? "client": "server"));
-
-
-	eap_status_e status = eap_status_process_general_error;
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-/**
- * @{ 2003-10-01 draft-ietf-eap-rfc2284bis-06.txt chapter 2.1 Support for sequences:
- * An EAP conversation MAY utilize a sequence of methods.  A common
- * example of this is an Identity request followed by a single EAP
- * authentication method such as an MD5-Challenge.  However the peer and
- * authenticator MUST utilize only one authentication method (Type 4 or
- * greater) within an EAP conversation, after which the authenticator
- * MUST send a Success or Failure packet.
- * Once a peer has sent a Response of the same Type as the initial
- * Request, an authenticator MUST NOT send a Request of a different Type
- * prior to completion of the final round of a given method (with the
- * exception of a Notification-Request) and MUST NOT send a Request for
- * an additional method of any Type after completion of the initial
- * authentication method; a peer receiving such Requests MUST treat them
- * as invalid, and silently discard them. As a result, Identity Requery
- * is not supported.
- * A peer MUST NOT send a Nak (legacy or expanded) in reply to a
- * Request, after an initial non-Nak Response has been sent.  Since
- * spoofed EAP Request packets may be sent by an attacker, an
- * authenticator receiving an unexpected Nak SHOULD discard it and log
- * the event.
- * Multiple authentication methods within an EAP conversation are not
- * supported due to their vulnerability to man-in-the-middle attacks
- * (see Section 7.4) and incompatibility with existing implementations.
- * }
- */
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_process(
-	const eap_am_network_id_c * /* const receive_network_id */,
-	eap_general_header_base_c * /* const packet_data */,
-	const u32_t /* packet_length */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::packet_process(): %s\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: dummy_eap_core_c::packet_process()");
-
-	eap_status_e status = eap_status_process_general_error;
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_send(
-	const eap_am_network_id_c * const /* send_network_id */,
-	eap_buf_chain_wr_c * const /* sent_packet */,
-	const u32_t /* header_offset */,
-	const u32_t /* data_length */,
-	const u32_t /* buffer_length */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::resend_packet(
-	const eap_am_network_id_c * const /* send_network_id */,
-	eap_buf_chain_wr_c * const /* sent_packet */,
-	const u32_t /* header_offset */,
-	const u32_t /* data_length */,
-	const u32_t /* buffer_length */,
-	const u32_t /* retransmission_counter */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_retransmission()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::init_retransmission(
-	const eap_am_network_id_c * const /* send_network_id */,
-	eap_buf_chain_wr_c * const /* sent_packet */,
-	const u32_t /* header_offset */,
-	const u32_t /* data_length */,
-	const eap_code_value_e /* eap_code */,
-	const u8_t /* eap_identifier */,
-	const eap_type_value_e /* eap_type */
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_eap_failure_timeout()
-{
-	eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_eap_failure_timeout()
-{
-	eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-
-//
-eap_status_e dummy_eap_core_c::set_wait_eap_request_type_timeout()
-{
-
-	eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-
-//
-eap_status_e dummy_eap_core_c::cancel_wait_eap_request_type_timeout()
-{
-	eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-}
-
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT u32_t dummy_eap_core_c::get_header_offset(
-	u32_t * const MTU,
-	u32_t * const trailer_length)
-{
-	EAP_UNREFERENCED_PARAMETER(MTU);
-	EAP_UNREFERENCED_PARAMETER(trailer_length);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	const u32_t offset = 0;
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("dummy_eap_core_c::get_header_offset(): offset=%d, MTU=%d, trailer_length=%d\n"),
-		offset,
-		*MTU,
-		*trailer_length));
-
-	return offset;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::load_module(
-	const eap_type_value_e /* type */,
-	const eap_type_value_e /* tunneling_type */,
-	abs_eap_base_type_c * /* const partner */,
-	eap_base_type_c ** const /* handler */,
-	const bool /* is_client_when_true */,
-	const eap_am_network_id_c * const /* receive_network_id */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::configure()
-	{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-#if !defined(USE_EAP_DEBUG_TRACE)
-	EAP_TRACE_ALWAYS(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::configure(): %s: %s.\n"),
-		 ((m_is_client == true) ? "client": "server"),
-		 (m_is_tunneled_eap == true) ? "tunneled": "outer most"));
-#else
-	EAP_TRACE_ALWAYS(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::configure(): %s: %s, this = 0x%08x => 0x%08x.\n"),
-		 ((m_is_client == true) ? "client": "server"),
-		 (m_is_tunneled_eap == true) ? "tunneled": "outer most",
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-#endif
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: dummy_eap_core_c::configure()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::shutdown_operation(
-	eap_base_type_c * const handler,
-	abs_eap_am_tools_c * const m_am_tools)
-{
-	EAP_UNREFERENCED_PARAMETER(handler);
-
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_UNREFERENCED_PARAMETER(m_am_tools);
-
-	EAP_TRACE_ALWAYS(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::shutdown_operation(): handler=0x%08x.\n"),
-		 handler));
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::shutdown()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::unload_module(const eap_type_value_e /* type */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::eap_acknowledge(
-	const eap_am_network_id_c * const /* receive_network_id */)
-{
-	// Any Network Protocol packet is accepted as a success indication.
-	// This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)".
-
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::restart_authentication(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const bool /* is_client_when_true */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_SERVER)
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_identity_request(
-	const eap_am_network_id_c * const /* receive_network_id */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::send_eap_identity_request(): %s, %s\n"),
-		 (m_is_client == true) ? "client": "server",
-		 (m_is_tunneled_eap == true) ? "tunneled": "outer most"
-		 ));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: dummy_eap_core_c::send_eap_identity_request()");
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_nak_response(
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const u8_t /* eap_identifier */,
-	const eap_array_c<eap_type_value_e> * const /* eap_type_list */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::send_eap_nak_response(): %s, %s\n"),
-		 (m_is_client == true) ? "client": "server",
-		 (m_is_tunneled_eap == true) ? "tunneled": "outer most"
-		 ));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_data_crypto_keys(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const eap_master_session_key_c * const /* master_session_key */
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::read_configure(
-	const eap_configuration_field_c * const /* field */,
-	eap_variable_data_c * const /* data */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::write_configure(
-	const eap_configuration_field_c * const /* field */,
-	eap_variable_data_c * const /* data */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::timer_expired(
-	const u32_t /* id */, void * /* data */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::timer_delete_data(
-	const u32_t /* id */, void * /* data */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::reset_operation(
-	eap_base_type_c * const handler,
-	abs_eap_am_tools_c * const m_am_tools)
-{
-	EAP_UNREFERENCED_PARAMETER(handler);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_UNREFERENCED_PARAMETER(m_am_tools);
-
-	EAP_TRACE_ALWAYS(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::reset_operation(): handler=0x%08x.\n"),
-		 handler));
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::reset()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-#if !defined(USE_EAP_DEBUG_TRACE)
-	EAP_TRACE_ALWAYS(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::reset(): %s: %s.\n"),
-		 ((m_is_client == true) ? "client": "server"),
-		 (m_is_tunneled_eap == true) ? "tunneled": "outer most"));
-#else
-	EAP_TRACE_ALWAYS(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("dummy_eap_core_c::reset(): %s: %s, this = 0x%08x => 0x%08x.\n"),
-		 ((m_is_client == true) ? "client": "server"),
-		 (m_is_tunneled_eap == true) ? "tunneled": "outer most",
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-#endif
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::handle_eap_identity_request(
-	const eap_type_value_e /* used_eap_type */,
-	const u8_t /* eap_identifier */,
-	const eap_am_network_id_c * const /* receive_network_id */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_SERVER)
-
-// 
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::handle_eap_identity_response(
-	eap_base_type_c * const /* handler */,
-	const eap_type_value_e used_eap_type,
-	const eap_am_network_id_c * const /* receive_network_id */,
-	eap_header_wr_c * const /* eap */,
-	const u32_t /* packet_length */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_UNREFERENCED_PARAMETER(used_eap_type); 
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_SERVER)
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_success(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const u8_t /* eap_identifier */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_SERVER)
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_failure(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const u8_t /* eap_identifier */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_notification_response(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const u8_t /* eap_identifier */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::create_eap_identity_response(
-	eap_buf_chain_wr_c * const /* response_packet */,
-	const eap_variable_data_c * const /* identity */,
-	const u8_t /* eap_identifier */
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_identity_response(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const eap_variable_data_c * const /* identity */,
-	const u8_t /* eap_identifier */
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-eap_status_e dummy_eap_core_c::set_eap_identity_routing_info_and_nai_decoration(
-	eap_variable_data_c * const /* identity */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::complete_eap_identity_query(
-	const eap_am_network_id_c * const /* send_network_id */,
-	const eap_variable_data_c * const /* identity */,
-	const u8_t /*eap_identifier*/) // Remove eap_identifier parameter.
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-		eap_status_e status = eap_status_process_general_error;
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::get_saved_eap_identity(
-	eap_variable_data_c * const /* identity */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN_WARNING(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_session_timeout(
-	const u32_t /* session_timeout_ms */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_timer(
-	abs_eap_base_timer_c * const p_initializer, 
-	const u32_t p_id, 
-	void * const p_data,
-	const u32_t p_time_ms)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	const eap_status_e status = m_am_tools->am_set_timer(
-		p_initializer, 
-		p_id, 
-		p_data,
-		p_time_ms);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_timer(
-	abs_eap_base_timer_c * const p_initializer, 
-	const u32_t p_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	const eap_status_e status = m_am_tools->am_cancel_timer(
-		p_initializer, 
-		p_id);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_authentication_role(const bool /* when_true_set_client */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::add_rogue_ap(
-	eap_array_c<eap_rogue_ap_entry_c> & /* rogue_ap_list */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = eap_status_process_general_error;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool dummy_eap_core_c::get_is_tunneled_eap() const
-{
-	return m_is_tunneled_eap;
-}
-
-//--------------------------------------------------
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_config.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_config.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eap_core.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_core.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 58.1.12 %
+* %version: 63 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -242,7 +242,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session(
+eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session(
 	const u32_t remove_session_timeout)
 {
 	EAP_TRACE_DEBUG(
@@ -314,7 +314,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session()
+eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -343,7 +343,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_core_c::asynchronous_init_remove_eap_session()
+eap_status_e eap_core_c::asynchronous_init_remove_eap_session()
 {
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
@@ -383,13 +383,29 @@
 	// Remove session only if the stack is not already being deleted
 	if (m_shutdown_was_called == false)
 	{
-		#if defined(USE_EAP_CORE_SIMULATOR_VERSION)
+		#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAP_CORE_RESTART_AUTHENTICATION)
+			#error ERROR: USE_EAPOL_KEY_STATE and USE_EAP_CORE_RESTART_AUTHENTICATION cannot be used same time.
+		#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAP_CORE_RESTART_AUTHENTICATION)
+
+		#if defined(USE_EAP_CORE_SIMULATOR_VERSION) && defined(USE_EAP_CORE_RESTART_AUTHENTICATION)
+
+			// Simulator reuses current session.
+			status = restart_authentication(
+				state->get_send_network_id(),
+				m_is_client);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+		#elif defined(USE_EAP_CORE_SIMULATOR_VERSION) && defined(USE_EAPOL_KEY_STATE)
 
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ")
-				 EAPL("Protocol layer %d, EAP-type 0x%02x, State transition from ")
+				 EAPL("Protocol layer %d, EAP type 0x%02x, State transition from ")
 				 EAPL("%d=%s to %d=%s, client %d.\n"),
 				 (m_is_client == true) ? "client": "server",
 				 (m_is_tunneled_eap == true) ? "tunneled": "outer most",
@@ -417,7 +433,7 @@
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ")
-			 EAPL("Protocol layer %d, EAP-type 0x%02x, State transition from ")
+			 EAPL("Protocol layer %d, EAP type 0x%02x, State transition from ")
 			 EAPL("%d=%s to %d=%s, client %d when shutdown was called.\n"),
 			 (m_is_client == true) ? "client": "server",
 			 (m_is_tunneled_eap == true) ? "tunneled": "outer most",
@@ -444,21 +460,22 @@
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	eap_status_string_c status_string;
+	eap_header_string_c eap_string;
 	EAP_UNREFERENCED_PARAMETER(status_string); // in release
+	EAP_UNREFERENCED_PARAMETER(eap_string); // in release
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_core_c::state_notification(), %s, %s, protocol_layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s.\n"),
+		(EAPL("eap_core_c::state_notification(), %s, %s, protocol_layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s.\n"),
 		(m_is_client == true) ? "client": "server",
 		(m_is_tunneled_eap == true) ? "tunneled": "outer most",
 		state->get_protocol_layer(),
 		state->get_protocol_layer_string(),
 		state->get_protocol(),
 		state->get_protocol_string(),
-		state->get_eap_type().get_vendor_id(),
-		state->get_eap_type().get_vendor_type(),
-		eap_header_string_c::get_eap_type_string(state->get_eap_type())));
+		convert_eap_type_to_u32_t(state->get_eap_type()),
+		eap_string.get_eap_type_string(state->get_eap_type())));
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
@@ -489,7 +506,7 @@
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ")
-			 EAPL("Protocol layer %d, non-active EAP-type 0x%02x, current EAP type 0x%08x, State transition from ")
+			 EAPL("Protocol layer %d, non-active EAP type 0x%02x, current EAP type 0x%08x, State transition from ")
 			 EAPL("%d=%s to %d=%s, client %d\n"),
 			 (m_is_client == true) ? "client": "server",
 			 (m_is_tunneled_eap == true) ? "tunneled": "outer most",
@@ -774,14 +791,9 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	eap_status_e status(eap_status_ok);
-
-	if (m_am_tools != 0)
-	{
-		status = m_partner->cancel_timer(
-			this,
-			EAP_CORE_SESSION_TIMEOUT_ID);
-	}
+	eap_status_e status = m_partner->cancel_timer(
+		this,
+		EAP_CORE_SESSION_TIMEOUT_ID);
 	
 	EAP_UNREFERENCED_PARAMETER(status); // in release
 	
@@ -1300,9 +1312,9 @@
 		}
 	}
 #endif //#if defined(USE_EAP_CORE_SERVER)
-	else if (((eap.get_code() == eap_code_request
+	else if ((eap.get_code() == eap_code_request
 				|| eap.get_code() == eap_code_response)
-			  && eap.get_type() == used_eap_type)
+			&& eap.get_type() == used_eap_type
 		|| eap.get_code() == eap_code_success
 		|| eap.get_code() == eap_code_failure)
 	{
@@ -1512,15 +1524,17 @@
 #if defined (_DEBUG)
 	if (m_retransmission != 0)
 	{
+		eap_header_string_c eap_string;
+
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
 			(EAPL("EAP_Core: eap_core_c::packet_process(): %s, retransmission counter %d, retrans EAP-type %s, retrans EAP-Id %d, current EAP-type %s, current EAP-Id %d, session 0x%08x.\n"),
 			 (m_is_client_role == true) ? "client": "server",
 			 m_retransmission->get_retransmission_counter(),
-			 eap_header_string_c::get_eap_type_string(m_retransmission->get_eap_type()),
+			 eap_string.get_eap_type_string(m_retransmission->get_eap_type()),
 			 m_retransmission->get_eap_identifier(),
-			 eap_header_string_c::get_eap_type_string(eap.get_type()),
+			 eap_string.get_eap_type_string(eap.get_type()),
 			 eap.get_identifier(),
 			 this));
 	}
@@ -2209,8 +2223,7 @@
 			 (m_is_tunneled_eap == true) ? "tunneled": "outer most"
 			 ));
 
-		if (m_is_client_role == false
-			&& m_partner != 0)
+		if (m_is_client_role == false)
 		{
 			// Only EAP-server uses timer to re-transmits EAP-packets.
 			m_partner->cancel_timer(this, EAP_CORE_TIMER_RETRANSMISSION_ID);
@@ -2391,16 +2404,9 @@
 		 (m_is_tunneled_eap == true) ? "tunneled": "outer most"
 		 ));
 
-	eap_status_e status(eap_status_ok);
-
-	if (m_am_tools != 0)
-	{
-		status = m_partner->cancel_timer(
-			this,
-			EAP_CORE_FAILURE_RECEIVED_ID);
-	}
-	
-	return EAP_STATUS_RETURN(m_am_tools, status);
+	return m_partner->cancel_timer(
+		this,
+		EAP_CORE_FAILURE_RECEIVED_ID);
 }
 
 //--------------------------------------------------
@@ -2468,16 +2474,9 @@
 
 		m_wait_eap_request_type_timeout_set = false;
 
-		eap_status_e status(eap_status_ok);
-
-		if (m_am_tools != 0)
-		{
-			m_partner->cancel_timer(
-				this,
-				EAP_CORE_WAIT_EAP_REQUEST_TYPE_ID);
-		}
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		return m_partner->cancel_timer(
+			this,
+			EAP_CORE_WAIT_EAP_REQUEST_TYPE_ID);
 	}
 	else
 	{
@@ -3015,6 +3014,7 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	{
 		eap_variable_data_c use_eap_expanded_type(m_am_tools);
 
@@ -3040,6 +3040,7 @@
 			}
 		}
 	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 	//----------------------------------------------------------
 
@@ -5402,12 +5403,10 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("WARNING: %s, %s, EAP-identity is unknown: current EAP-type 0xfe%06x%08x=%s\n"),
+			(EAPL("WARNING: %s, %s, EAP-identity is unknown: current EAP-type 0x%08x\n"),
 			 (m_is_client == true) ? "client": "server",
 			 (m_is_tunneled_eap == true) ? "tunneled": "outer most",
-			 m_current_eap_type.get_vendor_id(),
-			 m_current_eap_type.get_vendor_type(),
-			 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+			 convert_eap_type_to_u32_t(m_current_eap_type)));
 	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -5489,6 +5488,21 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eap_core_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
+
+	const eap_status_e status = m_partner->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eap_core_c::set_authentication_role(const bool when_true_set_client)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
--- a/eapol/eapol_framework/eapol_common/core/eap_core_client_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1494 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 34 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 60 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-#include "eap_am_memory.h"
-#include "eap_tools.h"
-#include "eap_core_client_message_if.h"
-#include "eap_state_notification.h"
-#include "eap_network_id_selector.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_config.h"
-#include "eap_core.h"
-#include "eap_buffer.h"
-#include "eap_base_type.h"
-#include "eap_automatic_variable.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_master_session_key.h"
-#include "eapol_key_types.h"
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-#include "simple_config_types.h"
-#include "simple_config_credential.h"
-#include "simple_config_payloads.h"
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT eap_core_client_message_if_c::~eap_core_client_message_if_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::~eap_core_client_message_if_c(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-
-	delete m_server_if;
-	m_server_if = 0;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-#if defined(_WIN32) && !defined(__GNUC__)
-	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
-#endif
-
-// 
-EAP_FUNC_EXPORT eap_core_client_message_if_c::eap_core_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	eap_am_message_if_c * const server,
-	abs_eap_session_core_c * const partner,
-	const bool is_client_when_true)
-: m_am_tools(tools)
-, m_server_if(server)
-, m_partner(partner)
-, m_error_code(eap_status_ok)
-, m_error_function(eap_tlv_message_type_function_none)
-, m_eap_header_offset(0ul)
-, m_MTU(0ul)
-, m_trailer_length(0ul)
-, m_is_client(is_client_when_true)
-, m_is_valid(false)
-, m_shutdown_was_called(false)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::eap_core_client_message_if_c(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	set_is_valid();
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Sends message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::process_message(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_core_client_message_if_c::send_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	{
-		eap_status_e send_status = m_server_if->process_data(
-			message->get_message_data(),
-			message->get_message_data_length());
-		if (send_status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, send_status);
-		}
-
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, send_status);
-	}
-
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_core_client_message_if_c::set_is_valid()
-{
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool eap_core_client_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::reset()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::reset(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::reset()");
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::packet_process(
-	const eap_am_network_id_c * const receive_network_id,
-	eap_general_header_base_c * const packet_data,
-	const u32_t packet_length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::packet_process(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::packet_process()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	// Creates message data composed of Attribute-Value Pairs.
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_packet_process);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = message.add_parameter_data(
-		receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (packet_length != packet_data->get_header_buffer_length())
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	status = message.add_parameter_data(
-		packet_data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = process_message(&message);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::configure()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	m_eap_header_offset = m_partner->get_header_offset(
-		&m_MTU, &m_trailer_length);
-
-	eap_variable_data_c client_configuration(m_am_tools);
-
-	eap_status_e status = m_partner->read_configure(
-		cf_str_EAP_read_all_configurations.get_field(),
-		&client_configuration);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_server_if->configure(&client_configuration);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = eap_mtu(m_MTU);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::shutdown()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::shutdown(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	if (m_shutdown_was_called == true)
-	{
-		// Shutdown function was called already.
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-	m_shutdown_was_called = true;
-
-	if (m_server_if != 0)
-	{
-		(void)m_server_if->shutdown();
-	}
-
-	eap_status_e status = reset();
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-eap_status_e eap_core_client_message_if_c::eap_mtu(
-	const u32_t MTU)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::eap_mtu(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::eap_mtu()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_eap_mtu);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(MTU);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::eap_acknowledge(
-	const eap_am_network_id_c * const receive_network_id)
-{
-	// Any Network Protocol packet is accepted as a success indication.
-	// This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)".
-
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::eap_acknowledge(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::eap_acknowledge()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (receive_network_id == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_eap_acknowledge);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_CORE_SERVER)
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::send_eap_identity_request(
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::send_eap_identity_request(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_eap_identity_request()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_send_eap_identity_request);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::set_eap_database_reference_values(
-	const eap_variable_data_c * const reference)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::set_eap_database_reference_values(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::set_eap_database_reference_values()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_set_eap_database_reference_values);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(reference);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::timer_expired(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("TIMER: [0x%08x]->eap_core_client_message_if_c::")
-		 EAPL("timer_expired(id 0x%02x, data 0x%08x), %s.\n"),
-		 this,
-		 id,
-		 data,
-		 (m_is_client == true) ? "client": "server"));
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::timer_delete_data(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("TIMER: [0x%08x]->eap_core_client_message_if_c::")
-		 EAPL("timer_delete_data(id 0x%02x, data 0x%08x).\n"),
-		this, id, data));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::cancel_all_eap_sessions()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	eap_status_e status = reset();
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::create_eap_session(
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::create_eap_session(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::create_eap_session()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_create_eap_session);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::remove_eap_session(
-	const bool complete_to_lower_layer,
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::remove_eap_session(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::remove_eap_session()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_remove_eap_session);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(complete_to_lower_layer);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::get_802_11_authentication_mode(
-	const eap_am_network_id_c * const receive_network_id,
-	const eapol_key_authentication_type_e authentication_type,
-	const eap_variable_data_c * const SSID,
-	const eap_variable_data_c * const preshared_key)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::get_802_11_authentication_mode(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::get_802_11_authentication_mode()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_get_802_11_authentication_mode);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(authentication_type);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(SSID);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(preshared_key);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::packet_send(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::packet_send(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::packet_send()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c send_network_id(m_am_tools);
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &send_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_buf_chain_wr_c packet_buffer(eap_write_buffer, m_am_tools);
-
-	if (packet_buffer.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	{
-		eap_variable_data_c packet_data(m_am_tools);
-
-		if (packet_data.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message_data.read_parameter_data(parameters, parameter_index, &packet_data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = packet_buffer.add_data_to_offset(m_eap_header_offset, &packet_data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	status = m_partner->packet_send(
-		&send_network_id,
-		&packet_buffer,
-		m_eap_header_offset,
-		packet_buffer.get_data_length()-m_eap_header_offset,
-		packet_buffer.get_data_length());
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::state_notification(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::state_notification(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::state_notification()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_state_notification_c * state = 0;
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &state);
-	if (status != eap_status_ok)
-	{
-		delete state;
-		state = 0;
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	m_partner->state_notification(
-		state);
-
-	delete state;
-	state = 0;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::packet_data_crypto_keys(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c send_network_id(m_am_tools);
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &send_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_type_value_e eap_type(eap_type_none);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &eap_type);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_master_session_key_c master_session_key(m_am_tools, eap_type);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &master_session_key);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	master_session_key.set_eap_type(eap_type);
-
-
-	status = m_partner->packet_data_crypto_keys(
-		&send_network_id,
-		&master_session_key);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::restart_authentication(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c send_network_id(m_am_tools);
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &send_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	bool is_client_when_true(false);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &is_client_when_true);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	bool force_clean_restart(false);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &force_clean_restart);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	bool from_timer(false);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &from_timer);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	status = m_partner->restart_authentication(
-		&send_network_id,
-		is_client_when_true,
-		force_clean_restart,
-		from_timer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-eap_status_e eap_core_client_message_if_c::new_protected_setup_credentials(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_process_general_error);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_array_c<simple_config_credential_c> credential_array(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &credential_array);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->save_simple_config_session(
-		simple_config_state_simple_config_success,
-		&credential_array,
-		0,
-		simple_config_Device_Password_ID_Default_PIN,
-		0);
-
-#endif //#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::complete_get_802_11_authentication_mode(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e completion_status(eap_status_process_general_error);
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &completion_status);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eapol_key_802_11_authentication_mode_e mode(eapol_key_802_11_authentication_mode_none);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &mode);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_get_802_11_authentication_mode(
-		completion_status,
-		&receive_network_id,
-		mode);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::complete_remove_eap_session(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	bool complete_to_lower_layer(false);
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &complete_to_lower_layer);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_remove_eap_session(
-		complete_to_lower_layer,
-		&receive_network_id);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::process_error_message(
-	const eap_status_e error_code,
-	const eap_tlv_message_type_function_e function)
-{
-	eap_status_e status(eap_status_ok);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(
-			eap_tlv_message_type_error,
-			static_cast<u32_t>(error_code));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_client_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::send_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_client_message_if_c::send_data(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_data()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	// Parses message data composed of Attribute-Value Pairs.
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.set_message_data(length, data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_core_client_message_if_c::send_data()"),
-		message.get_message_data(),
-		message.get_message_data_length()));
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	status = message.parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message.get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_packet_send:
-			status = packet_send(&parameters);
-			break;
-		case eap_tlv_message_type_function_state_notification:
-			status = state_notification(&parameters);
-			break;
-		case eap_tlv_message_type_function_packet_data_crypto_keys:
-			status = packet_data_crypto_keys(&parameters);
-			break;
-		case eap_tlv_message_type_function_restart_authentication:
-			status = restart_authentication(&parameters);
-			break;
-#if defined(USE_EAP_SIMPLE_CONFIG)
-		case eap_tlv_message_type_function_new_protected_setup_credentials:
-			status = new_protected_setup_credentials(&parameters);
-			break;
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-		case eap_tlv_message_type_function_complete_get_802_11_authentication_mode:
-			status = complete_get_802_11_authentication_mode(&parameters);
-			break;
-		case eap_tlv_message_type_function_complete_remove_eap_session:
-			status = complete_remove_eap_session(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: send_data(): unknown function %d.\n"),
-				 function));
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		};
-
-		if (status != eap_status_ok)
-		{
-			(void) process_error_message(
-				status,
-				function);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_core_map.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_core_map.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -32,12 +32,13 @@
 #include "eap_am_memory.h"
 #include "eap_tools.h"
 #include "eap_am_export.h"
+#include "abs_eap_core.h"
+#include "eap_core.h"
 #include "eap_base_type.h"
 #include "eap_variable_data.h"
 #include "abs_eap_base_timer.h"
 #include "eap_core_retransmission.h"
 #include "eap_buffer.h"
-#include "eap_am_network_id.h"
 
 //--------------------------------------------------
 
--- a/eapol/eapol_framework/eapol_common/core/eap_core_server_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2067 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 33 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 48 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-#include "eap_am_memory.h"
-#include "eap_tools.h"
-#include "eap_core_server_message_if.h"
-#include "eap_crypto_api.h"
-#include "eap_state_notification.h"
-#include "eap_automatic_variable.h"
-#include "eap_network_id_selector.h"
-#include "eap_config.h"
-#include "eap_buffer.h"
-#include "eapol_session_key.h"
-#include "eap_master_session_key.h"
-#include "eap_am_stack.h"
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT eap_core_server_message_if_c::~eap_core_server_message_if_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_server_message_if_c::~eap_core_server_message_if_c(): this = 0x%08x\n"),
-		this));
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-
-	delete m_eap_core;
-	delete m_am_stack;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-#if defined(_WIN32) && !defined(__GNUC__)
-	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
-#endif
-
-// 
-EAP_FUNC_EXPORT eap_core_server_message_if_c::eap_core_server_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	const bool is_client_when_true,
-	const u32_t MTU)
-	: m_partner(0)
-	, m_eap_core(eap_session_core_base_c::new_eap_session_core_c(tools, this, is_client_when_true, MTU))
-	, m_am_stack(new_eap_am_stack_c(tools, is_client_when_true))
-	, m_am_tools(tools)
-	, m_eap_header_offset(0u)
-	, m_MTU(MTU)
-	, m_trailer_length(0u)
-	, m_error_code(eap_status_ok)
-	, m_error_function(eap_tlv_message_type_function_none)
-	, m_is_client(is_client_when_true)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_server_message_if_c::eap_core_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"),
-		(m_is_client == true) ? "client": "server",
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this),
-		__DATE__,
-		__TIME__));
-
-	if (m_eap_core != 0
-		&& m_eap_core->get_is_valid() == true
-		&& m_am_stack != 0
-		&& m_am_stack->get_is_valid() == true)
-	{
-		set_is_valid();
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::configure(
-	const eap_variable_data_c * const client_configuration)
-{
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_core_server_message_if_c::configure()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::configure()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	m_eap_header_offset = 0ul;
-	m_trailer_length = 0ul;
-
-	if (m_am_stack != 0)
-	{
-		status = m_am_stack->set_partner(
-			this
-#if defined(USE_EAP_SIMPLE_CONFIG)
-			, this
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-			);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = m_am_stack->configure(client_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-	
-	if (m_eap_core != 0)
-	{
-		status = m_eap_core->configure();
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_core_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"),
-		(m_is_client == true) ? "client": "server",
-		m_shutdown_was_called));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::shutdown()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	if (m_shutdown_was_called == true)
-	{
-		// Shutdown function was called already.
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-	m_shutdown_was_called = true;
-
-	if (m_eap_core != 0)
-	{
-		(void) m_eap_core->shutdown();
-	}
-
-	if (m_am_stack != 0)
-	{
-		(void) m_am_stack->shutdown();
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_core_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner)
-{
-	m_partner = partner;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::send_error_message(
-	const eap_status_e error_code,
-	const eap_tlv_message_type_function_e function)
-{
-	eap_status_e status(eap_status_ok);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(
-			eap_tlv_message_type_error,
-			static_cast<u32_t>(error_code));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message)
-{
-	// Sends message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_core_server_message_if_c::send_message(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_core_client_message_if_c::send_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()");
-
-
-	{
-		eap_status_e send_status = m_partner->send_data(
-			message->get_message_data(),
-			message->get_message_data_length());
-		if (send_status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, send_status);
-		}
-
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, send_status);
-	}
-
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Parses message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_core_server_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::process_message()");
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	eap_status_e status = message->parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message->get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_create_eap_session:
-			status = create_eap_session(&parameters);
-			break;
-		case eap_tlv_message_type_function_remove_eap_session:
-			status = remove_eap_session(&parameters);
-			break;
-		case eap_tlv_message_type_function_send_eap_identity_request:
-			status = send_eap_identity_request(&parameters);
-			break;
-		case eap_tlv_message_type_function_packet_process:
-			status = packet_process(&parameters);
-			break;
-		case eap_tlv_message_type_function_eap_acknowledge:
-			status = eap_acknowledge(&parameters);
-			break;
-		case eap_tlv_message_type_function_set_eap_database_reference_values:
-			status = set_eap_database_reference_values(&parameters);
-			break;
-		case eap_tlv_message_type_function_eap_mtu:
-			status = eap_mtu(&parameters);
-			break;
-		case eap_tlv_message_type_function_get_802_11_authentication_mode:
-			status = get_802_11_authentication_mode(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: process_data(): unknown function %d.\n"),
-				 function));
-
-			status = eap_status_illegal_parameter;
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-		};
-
-		if (status != eap_status_ok
-			&& status != eap_status_success
-			&& status != eap_status_pending_request
-			&& status != eap_status_completed_request
-			&& status != eap_status_drop_packet_quietly)
-		{
-			(void) send_error_message(
-				status,
-				function);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-/// Function receives the data message from lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::process_data(const void * const data, const u32_t length)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_allocation_error;
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.set_message_data(length, data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::packet_send(
-	const eap_am_network_id_c * const send_network_id,
-	eap_buf_chain_wr_c * const sent_packet,
-	const u32_t header_offset,
-	const u32_t data_length,
-	const u32_t buffer_length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-	EAP_ASSERT(header_offset < sent_packet->get_data_length());
-	EAP_ASSERT(data_length <= sent_packet->get_data_length());
-	EAP_ASSERT(sent_packet->get_data_length() <= buffer_length);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (sent_packet->get_do_length_checks() == true)
-	{
-		if (header_offset != 0ul)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: packet_send: packet buffer corrupted (header_offset != %d).\n"),
-				0ul));
-			EAP_ASSERT_ALWAYS(header_offset == 0ul);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-		else if (header_offset+data_length != sent_packet->get_data_length())
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: packet_send: packet buffer corrupted ")
-				 EAPL("(data_length %d != sent_packet->get_data_length() %d).\n"),
-				 header_offset+data_length,
-				 sent_packet->get_data_length()));
-			EAP_ASSERT_ALWAYS(data_length == sent_packet->get_buffer_length());
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-		else if (header_offset+data_length > buffer_length)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: packet_send: packet buffer corrupted ")
-				 EAPL("(header_offset+data_length %d > buffer_length %d).\n"),
-				 header_offset+data_length,
-				 buffer_length));
-			EAP_ASSERT_ALWAYS(header_offset+data_length <= buffer_length);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-		else if (header_offset+data_length > m_MTU)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: packet_send: packet buffer corrupted ")
-				 EAPL("(header_offset+data_length %d > m_MTU %d).\n"),
-				 header_offset+data_length,
-				 m_MTU));
-			EAP_ASSERT_ALWAYS(header_offset+data_length <= m_MTU);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-	}
-	else
-	{
-		// Always we need at least the EAP header.
-		if (sent_packet->get_data_length()
-			< eap_header_base_c::get_header_length())
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: packet_send: packet buffer corrupted ")
-				 EAPL("(sent_packet->get_data_length() %d < ")
-				 EAPL("eap_header_base_c::get_header_length() %d).\n"),
-				 sent_packet->get_data_length(),
-				 eap_header_base_c::get_header_length()));
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-	}
-	
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_packet_send);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(send_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(sent_packet);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT u32_t eap_core_server_message_if_c::get_header_offset(
-	u32_t * const MTU,
-	u32_t * const trailer_length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	const u32_t offset = 0ul;
-
-	*MTU = m_MTU;
-	*trailer_length = m_trailer_length;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return offset;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::load_module(
-	const eap_type_value_e type,
-	const eap_type_value_e tunneling_type,
-	abs_eap_base_type_c * const partner,
-	eap_base_type_c ** const eap_type,
-	const bool is_client_when_true,
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = m_am_stack->load_module(
-		type,
-		tunneling_type,
-		partner,
-		eap_type,
-		is_client_when_true,
-		receive_network_id);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::unload_module(const eap_type_value_e /* type*/)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::packet_data_crypto_keys(
-	const eap_am_network_id_c * const send_network_id,
-	const eap_master_session_key_c * const master_session_key
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_core_server_message_if_c::packet_data_crypto_keys()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::packet_data_crypto_keys()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (master_session_key == 0
-		|| master_session_key->get_is_valid() == false)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: eap_core_server_message_if_c::packet_data_crypto_keys(), invalid key.\n")));
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_key_error);
-	}
-	
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_core_server_message_if_c::packet_data_crypto_keys(): master_session_key"), 
-		 master_session_key->get_data(),
-		 master_session_key->get_data_length()));
-	
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_packet_data_crypto_keys);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(send_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		// This adds only the EAP-type.
-		status = message.add_parameter_data(master_session_key->get_eap_type());
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		// This adds only the eap_variable_data.
-		status = message.add_parameter_data(master_session_key);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::complete_get_802_11_authentication_mode(
-	const eap_status_e completion_status,
-	const eap_am_network_id_c * const receive_network_id,
-	const eapol_key_802_11_authentication_mode_e mode)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_core_server_message_if_c::complete_get_802_11_authentication_mode()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_802_11_authentication_mode()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_complete_get_802_11_authentication_mode);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(completion_status);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(mode);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::complete_remove_eap_session(
-	const bool complete_to_lower_layer,
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_core_server_message_if_c::complete_remove_eap_session(): complete_to_lower_layer=%s\n"),
-		(m_is_client == true) ? "client": "server",
-		(complete_to_lower_layer == true) ? "true": "false"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_remove_eap_session()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_complete_remove_eap_session);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(complete_to_lower_layer);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::read_configure(
-	const eap_configuration_field_c * const field,
-	eap_variable_data_c * const data)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status = m_am_stack->read_configure(
-		field,
-		data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::write_configure(
-	const eap_configuration_field_c * const /* field */,
-	eap_variable_data_c * const /* data */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_core_server_message_if_c::set_is_valid()
-{
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool eap_core_server_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::timer_expired(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_core_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"),
-		 (m_is_client == true) ? "client": "server",
-		 this,
-		 id,
-		 data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::timer_expired()");
-
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::timer_delete_data(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_core_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"),
-		(m_is_client == true) ? "client": "server",
-		this, id, data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::timer_delete_data()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT void eap_core_server_message_if_c::state_notification(
-	const abs_eap_state_notification_c * const state)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::state_notification()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::state_notification()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			(void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			return;
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_state_notification);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			(void)EAP_STATUS_RETURN(m_am_tools, status);
-			return;
-		}
-
-		status = message.add_parameter_data(state);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			(void)EAP_STATUS_RETURN(m_am_tools, status);
-			return;
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			(void)EAP_STATUS_RETURN(m_am_tools, status);
-			return;
-		}
-	}
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::asynchronous_init_remove_eap_session(
-	const eap_am_network_id_c * const /* send_network_id */)
-{
-	// eap_core_server_message_if_c object does not support asynchronous_init_remove_eap_session().
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::asynchronous_start_authentication(
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const bool /* is_client_when_true */)
-{
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::restart_authentication(
-	const eap_am_network_id_c * const send_network_id,
-	const bool is_client_when_true,
-	const bool force_clean_restart,
-	const bool from_timer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_core_server_message_if_c::restart_authentication()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::restart_authentication()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_restart_authentication);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(send_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(is_client_when_true);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(force_clean_restart);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(from_timer);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::set_timer(
-	abs_eap_base_timer_c * const p_initializer, 
-	const u32_t p_id, 
-	void * const p_data,
-	const u32_t p_time_ms)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status = m_am_stack->set_timer(
-		p_initializer, 
-		p_id, 
-		p_data,
-		p_time_ms);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::cancel_timer(
-	abs_eap_base_timer_c * const p_initializer, 
-	const u32_t p_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_am_stack != 0)
-	{
-		status = m_am_stack->cancel_timer(
-			p_initializer, 
-			p_id);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::check_is_valid_eap_type(
-	const eap_type_value_e eap_type)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	eap_status_e status = m_am_stack->check_is_valid_eap_type(eap_type);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::get_eap_type_list(
-	eap_array_c<eap_type_value_e> * const eap_type_list)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status = m_am_stack->get_eap_type_list(eap_type_list);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-/// @see abs_eap_core_c::add_rogue_ap().
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::add_rogue_ap(
-	eap_array_c<eap_rogue_ap_entry_c> & /* rogue_ap_list */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::add_rogue_ap(): Does nothing.\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::set_session_timeout(
-	const u32_t /* session_timeout_ms */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_server_message_if_c::create_eap_session(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::create_eap_session()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::create_eap_session()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_eap_core->create_eap_session(
-		&receive_network_id ///< source includes remote address, destination includes local address.
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_server_message_if_c::remove_eap_session(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::remove_eap_session()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::remove_eap_session()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	bool complete_to_lower_layer(false);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &complete_to_lower_layer);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_eap_core->remove_eap_session(
-		complete_to_lower_layer,
-		&receive_network_id ///< source includes remote address, destination includes local address.
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// This is a new function to synchronize EAP-client and EAP-server.
-	eap_status_e completion_status = complete_remove_eap_session(
-		complete_to_lower_layer,
-		&receive_network_id ///< source includes remote address, destination includes local address.
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_server_message_if_c::send_eap_identity_request(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::send_eap_identity_request()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::send_eap_identity_request()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_eap_core->send_eap_identity_request(
-		&receive_network_id ///< source includes remote address, destination includes local address.
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_server_message_if_c::packet_process(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::packet_process()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::packet_process()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_variable_data_c packet_data_payload(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &packet_data_payload);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_header_wr_c eap(
-		m_am_tools,
-		packet_data_payload.get_data(),
-		packet_data_payload.get_data_length());
-	if (eap.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = m_eap_core->packet_process(
-		&receive_network_id,
-		&eap,
-		packet_data_payload.get_data_length()
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::eap_acknowledge(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::eap_acknowledge()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::eap_acknowledge()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_eap_core->eap_acknowledge(
-		&receive_network_id ///< source includes remote address, destination includes local address.
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::eap_mtu(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::eap_mtu()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::eap_mtu()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &m_MTU);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::get_802_11_authentication_mode(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::get_802_11_authentication_mode()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::get_802_11_authentication_mode()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_am_network_id_c receive_network_id(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eapol_key_authentication_type_e authentication_type(eapol_key_authentication_type_none);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &authentication_type);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_variable_data_c SSID(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &SSID);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++parameter_index;
-
-	eap_variable_data_c preshared_key(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &preshared_key);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (authentication_type == eapol_key_authentication_type_WPS)
-	{
-		// Save SSID and pre-shared key for WPS to memory store.
-		eap_variable_data_c memory_store_key(m_am_tools);
-
-		eap_status_e status = memory_store_key.set_copy_of_buffer(
-			EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY,
-			sizeof(EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = memory_store_key.add_data(
-			&m_is_client,
-			sizeof(m_is_client));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		eap_network_id_selector_c state_selector(
-			m_am_tools,
-			&receive_network_id);
-
-		status = memory_store_key.add_data(
-			&state_selector);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		eap_tlv_message_data_c tlv_data(m_am_tools);
-
-		status = tlv_data.add_message_data(
-			eap_type_protected_setup_stored_preshared_key,
-			preshared_key.get_data_length(),
-			preshared_key.get_data());
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = tlv_data.add_message_data(
-			eap_type_protected_setup_stored_ssid,
-			SSID.get_data_length(),
-			SSID.get_data());
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = m_am_tools->memory_store_remove_data(&memory_store_key);
-		if (status != eap_status_ok
-			&& status != eap_status_not_found)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = m_am_tools->memory_store_add_data(
-			&memory_store_key,
-			&tlv_data,
-			eap_type_default_credential_timeout);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("eap_core_server_message_if_c::get_802_11_authentication_mode(): cannot store WPS credentials\n")));
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_stack->get_802_11_authentication_mode(
-		&receive_network_id, ///< source includes remote address, destination includes local address.
-		authentication_type);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_core_server_message_if_c::set_eap_database_reference_values(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::set_eap_database_reference_values()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::set_eap_database_reference_values()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_variable_data_c reference(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &reference);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_stack->set_eap_database_reference_values(
-		&reference
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::save_simple_config_session(
-	const simple_config_state_e /* state */,
-	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-	const eap_variable_data_c * const /* new_password */,
-	const simple_config_Device_Password_ID_e /* Device_Password_ID */,
-	const simple_config_payloads_c * const /* other_configuration */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::save_simple_config_session()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::save_simple_config_session()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// Message is formatted as:
-	// 0                   1                   2                   3   
-	//  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Function                            |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 4                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Value = New_protected_setup_credentials    |
-	// +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= start of Array of Protected setup credential
-	// |                    Type = Array                               |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 137                               |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ <= start of Array of Protected setup credential value
-	// |                    Type = Protected setup credential          |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 129                               |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Unsigned 8 bit integer              |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 1                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |   u8_t value  |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Variable data                       |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 12                                |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Value = SSID string                        |
-	// +-+-+-+-                                                 -+-+-+-+
-	// |                                                               |
-	// +-+-+-+-                                                 -+-+-+-+
-	// |                                                               |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Unsigned 16 bit integer             |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 2                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |   u16_t Authentication type   |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Unsigned 16 bit integer             |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 2                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |   u16_t Encryption type       |
-	// +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= start of Array of Network key
-	// |                    Type = Array                               |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 66                                |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ <= start of Array of Network key value
-	// |                    Type = Network key                         |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 25                                |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Unsigned 8 bit integer              |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 1                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |   u8_t value  |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Variable data                       |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 8                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Value = Network key                        |
-	// +-+-+-+-                                                 -+-+-+-+
-	// |                                                               |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Network key                         |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 25                                |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Unsigned 8 bit integer              |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 1                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |   u8_t value  |
-	// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-	// |                    Type = Variable data                       |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 8                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Value = Network key                        |
-	// +-+-+-+-                                                 -+-+-+-+
-	// |                                                               |
-	// +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= end of Array of Network key
-	// |                    Type = Variable data                       |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Length = 6                                 |
-	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                    Value = MAC address                        |
-	// +-+-+-+-                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-	// |                               |
-	// +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+                                 <= end of Array of Protected setup credential
-
-
-	eap_status_e status(eap_status_ok);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_new_protected_setup_credentials);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(credential_array);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-eap_am_message_if_c * eap_am_message_if_c::new_eap_am_server_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	const bool is_client_when_true,
-	const u32_t MTU)
-{
-	eap_am_message_if_c * server = new eap_core_server_message_if_c(
-		tools,
-		is_client_when_true,
-		MTU);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-		tools,
-		server);
-
-	if (server == 0
-		|| server->get_is_valid() == false)
-	{
-		// ERROR.
-		if (server != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_message_if_c(): server->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			server->shutdown();
-		}
-
-		return 0;
-	}
-
-	automatic_server.do_not_free_variable();
-
-	return server;
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_general_settings_client_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,813 +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:  Class creates and reads the messages used in EAP-general settings interface on the client side.
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 767 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_am_assert.h"
-#include "eap_general_settings_client_message_if.h"
-#include "abs_eap_plugin_message.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_automatic_variable.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_method_settings.h"
-#include "eap_am_network_id.h"
-#include "abs_eap_general_settings_message.h"
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_general_settings_client_message_if_c::~eap_general_settings_client_message_if_c()
-{
-	delete m_client_if;
-	m_client_if = 0;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_general_settings_client_message_if_c::eap_general_settings_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	eap_am_message_if_c * const client_if,
-	abs_eap_general_settings_message_c * const partner)
-: m_am_tools(tools)
-, m_client_if(client_if)
-, m_partner(partner)
-, m_is_valid(false)
-, m_error_code(eap_status_ok)
-, m_error_function(eap_tlv_message_type_function_none)
-{
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_client_if == 0
-		|| m_client_if->get_is_valid() == false
-		|| m_partner == 0)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::reset()
-{
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::configure()
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	if (m_client_if != 0)
-	{
-		status = m_client_if->configure(0);
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::shutdown()
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	if (m_client_if != 0)
-	{
-		status = m_client_if->shutdown();
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::get_is_valid().
-EAP_FUNC_EXPORT bool eap_general_settings_client_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Process message data composed of Attribute-Value Pairs.
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::process_message(): this = 0x%08x, m_client_if=0x%08x.\n"),
-		this,
-		m_client_if));
-
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::send_message()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_general_settings_client_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	eap_status_e send_status = m_client_if->process_data(
-		message->get_message_data(),
-		message->get_message_data_length());
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, send_status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::set_eap_methods(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::set_eap_methods(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::set_eap_methods()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_set_eap_methods);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::get_eap_methods(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::get_eap_methods(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::get_eap_methods()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_get_eap_methods);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::get_certificate_lists(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::get_certificate_lists(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::get_certificate_lists()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_get_certificate_lists);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::delete_all_eap_settings(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::delete_all_eap_settings(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::delete_all_eap_settings()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_delete_all_eap_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::copy_all_eap_settings(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::copy_all_eap_settings(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::copy_all_eap_settings()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_copy_all_eap_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_client_message_if_c::complete_set_eap_methods(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::complete_set_eap_methods(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_set_eap_methods()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_set_eap_methods(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_client_message_if_c::complete_get_eap_methods(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::complete_get_eap_methods(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_get_eap_methods()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_get_eap_methods(
-		internal_settings);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_client_message_if_c::complete_get_certificate_lists(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::complete_get_certificate_lists(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_get_certificate_lists()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_get_certificate_lists(
-		internal_settings);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_client_message_if_c::complete_delete_all_eap_settings(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::complete_delete_all_eap_settings(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_delete_all_eap_settings()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_delete_all_eap_settings(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_client_message_if_c::complete_copy_all_eap_settings(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::complete_copy_all_eap_settings(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_copy_all_eap_settings()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_copy_all_eap_settings(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_client_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::process_message_type_error(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::process_message_type_error()");
-
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::send_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_client_message_if_c::send_data(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::send_data()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	// Parses message data composed of Attribute-Value Pairs.
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.set_message_data(length, data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_general_settings_client_message_if_c::send_data()"),
-		message.get_message_data(),
-		message.get_message_data_length()));
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	status = message.parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message.get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_general_settings_complete_set_eap_methods:
-			status = complete_set_eap_methods(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_complete_get_eap_methods:
-			status = complete_get_eap_methods(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_complete_get_certificate_lists:
-			status = complete_get_certificate_lists(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings:
-			status = complete_delete_all_eap_settings(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings:
-			status = complete_copy_all_eap_settings(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: send_data(): unknown function %d.\n"),
-				 function));
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-			status = eap_status_illegal_parameter;
-		};
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_general_settings_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:  Class is interface from user of EAP-general settings to eap_general_settings_client_message_if_c.
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 768 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "eap_general_settings_message.h"
-
-EAP_FUNC_EXPORT  eap_general_settings_message_c::~eap_general_settings_message_c()
-{
-}
-
-EAP_FUNC_EXPORT eap_general_settings_message_c::eap_general_settings_message_c()
-{
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_general_settings_server_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,988 +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:  Class creates and reads the messages used in EAP-general settings interface on the server side.
-*
-*/
-
-/*
-* %version: 14 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 744 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-#include "eap_am_memory.h"
-#include "eap_tools.h"
-#include "eap_general_settings_server_message_if.h"
-#include "eap_crypto_api.h"
-#include "eap_state_notification.h"
-#include "eap_automatic_variable.h"
-#include "eap_network_id_selector.h"
-#include "eap_config.h"
-#include "eap_am_general_settings.h"
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT eap_general_settings_server_message_if_c::~eap_general_settings_server_message_if_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_server_message_if_c::~eap_general_settings_server_message_if_c(): this = 0x%08x\n"),
-		this));
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-
-	delete m_am_settings;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-#if defined(_WIN32) && !defined(__GNUC__)
-	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
-#endif
-
-// 
-EAP_FUNC_EXPORT eap_general_settings_server_message_if_c::eap_general_settings_server_message_if_c(
-	abs_eap_am_tools_c * const tools)
-	: m_partner(0)
-	, m_am_settings(new_eap_am_general_settings_c(tools, this))
-	, m_am_tools(tools)
-	, m_error_code(eap_status_ok)
-	, m_error_function(eap_tlv_message_type_function_none)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_server_message_if_c::eap_general_settings_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"),
-		(m_is_client == true) ? "client": "server",
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this),
-		__DATE__,
-		__TIME__));
-
-	if (m_am_settings != 0
-		&& m_am_settings->get_is_valid() == true)
-	{
-		set_is_valid();
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::configure(
-	const eap_variable_data_c * const /* client_configuration */)
-{
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_general_settings_server_message_if_c::configure()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::configure()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (m_am_settings != 0)
-	{
-		status = m_am_settings->configure();
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_general_settings_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"),
-		(m_is_client == true) ? "client": "server",
-		m_shutdown_was_called));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::shutdown()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	if (m_shutdown_was_called == true)
-	{
-		// Shutdown function was called already.
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-	m_shutdown_was_called = true;
-
-	if (m_am_settings != 0)
-	{
-		(void) m_am_settings->shutdown();
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_general_settings_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner)
-{
-	m_partner = partner;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::send_error_message(
-	const eap_status_e error_code,
-	const eap_tlv_message_type_function_e function)
-{
-	eap_status_e status(eap_status_ok);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(
-			eap_tlv_message_type_error,
-			static_cast<u32_t>(error_code));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message)
-{
-	// Sends message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_general_settings_server_message_if_c::send_message(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_core_client_message_if_c::send_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()");
-
-
-	eap_status_e send_status = m_partner->send_data(
-		message->get_message_data(),
-		message->get_message_data_length());
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, send_status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Parses message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_general_settings_server_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::process_message()");
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	eap_status_e status = message->parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message->get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_general_settings_set_eap_methods:
-			status = set_eap_methods(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_get_eap_methods:
-			status = get_eap_methods(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_get_certificate_lists:
-			status = get_certificate_lists(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_delete_all_eap_settings:
-			status = delete_all_eap_settings(&parameters);
-			break;
-		case eap_tlv_message_type_function_general_settings_copy_all_eap_settings:
-			status = copy_all_eap_settings(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: process_data(): unknown function %d.\n"),
-				 function));
-
-			status = eap_status_illegal_parameter;
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-		};
-
-		if (status != eap_status_ok
-			&& status != eap_status_success
-			&& status != eap_status_pending_request
-			&& status != eap_status_completed_request
-			&& status != eap_status_drop_packet_quietly)
-		{
-			(void) send_error_message(
-				status,
-				function);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-/// Function receives the data message from lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::process_data(const void * const data, const u32_t length)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_allocation_error;
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.set_message_data(length, data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_general_settings_server_message_if_c::set_is_valid()
-{
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool eap_general_settings_server_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::timer_expired(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_general_settings_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"),
-		 (m_is_client == true) ? "client": "server",
-		 this,
-		 id,
-		 data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::timer_expired()");
-
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::timer_delete_data(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_general_settings_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"),
-		(m_is_client == true) ? "client": "server",
-		this, id, data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::timer_delete_data()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_server_message_if_c::set_eap_methods(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_general_settings_server_message_if_c::set_eap_methods()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::set_eap_methods()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c internal_settings(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_settings->set_eap_methods(
-		&internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_server_message_if_c::get_eap_methods(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_general_settings_server_message_if_c::get_eap_methods()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::get_eap_methods()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c internal_settings(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_settings->get_eap_methods(
-		&internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_server_message_if_c::get_certificate_lists(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_general_settings_server_message_if_c::get_certificate_lists()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::get_certificate_lists()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c internal_settings(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_settings->get_certificate_lists(
-		&internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_server_message_if_c::delete_all_eap_settings(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_general_settings_server_message_if_c::get_certificate_lists()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::delete_all_eap_settings()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c internal_settings(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_settings->delete_all_eap_settings(
-		&internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_general_settings_server_message_if_c::copy_all_eap_settings(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_general_settings_server_message_if_c::get_certificate_lists()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::copy_all_eap_settings()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c internal_settings(m_am_tools);
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_settings->copy_all_eap_settings(
-		&internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_set_eap_methods(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_set_eap_methods()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_eap_methods()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_set_eap_methods);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_get_eap_methods(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_get_eap_methods()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_eap_methods()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_get_eap_methods);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_get_certificate_lists(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_get_certificate_lists()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_certificate_lists()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_get_certificate_lists);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_delete_all_eap_settings(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_delete_all_eap_settings()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_delete_all_eap_settings()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_copy_all_eap_settings(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_copy_all_eap_settings()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_copy_all_eap_settings()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_pac_store_client_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1233 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 766 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_am_assert.h"
-#include "eap_pac_store_client_message_if.h"
-#include "abs_eap_plugin_message.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_automatic_variable.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_method_settings.h"
-#include "eap_am_network_id.h"
-
-//--------------------------------------------------
-
-/**
- * The destructor of the eap_core class does nothing special.
- */
-EAP_FUNC_EXPORT eap_pac_store_client_message_if_c::~eap_pac_store_client_message_if_c()
-{
-
-}
-
-//--------------------------------------------------
-
-/**
- * The constructor initializes member attributes using parameters passed to it.
- * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
- * @param partner is back pointer to object which created this object.
- * @param is_client_when_true indicates whether the network entity should act
- * as a client (true) or server (false), in terms of EAP-protocol
- * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
- */
-
-EAP_FUNC_EXPORT eap_pac_store_client_message_if_c::eap_pac_store_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	eap_am_message_if_c * const client_if,
-	abs_eap_pac_store_message_c * const partner)
-: m_am_tools(tools)
-, m_client_if(client_if)
-, m_partner(partner)
-, m_is_valid(false)
-, m_error_code(eap_status_ok)
-, m_error_function(eap_tlv_message_type_function_none)
-{
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_client_if == 0
-		|| m_client_if->get_is_valid() == false
-		|| m_partner == 0)
-	{
-		return;
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::eap_pac_store_client_message_if_c(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::eap_pac_store_client_message_if_c()");
-
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-/**
- * This function must reset the state of object to same as 
- * state was after the configure() function call.
- * If object reset succeeds this function must return eap_status_ok.
- * If object reset fails this function must return corresponding error status.
- * @return This function returns the status of reset operation.
- */
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::reset()
-{
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::configure()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::configure(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::configure()");
-
-	eap_status_e status = m_client_if->configure(0);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::shutdown(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::shutdown()");
-
-	eap_status_e status = m_client_if->shutdown();
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::get_is_valid().
-EAP_FUNC_EXPORT bool eap_pac_store_client_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Sends message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::process_message()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_pac_store_client_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	{
-		eap_status_e send_status = m_client_if->process_data(
-			message->get_message_data(),
-			message->get_message_data_length());
-		if (send_status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, send_status);
-		}
-
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, send_status);
-	}
-
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::open_pac_store(
-		const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::open_pac_store(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::open_pac_store()");
-
-// Creates message data composed of Attribute-Value Pairs.
-
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_open_pac_store);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = process_message(&message);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-		}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::destroy_pac_store(
-		const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::destroy_pac_store(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::destroy_pac_store()");
-
-// Creates message data composed of Attribute-Value Pairs.
-
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_destroy_pac_store);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = process_message(&message);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-		}
-//--------------------------------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::create_device_seed(
-		const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::create_device_seed(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::create_device_seed()");
-
-// Creates message data composed of Attribute-Value Pairs.
-
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_create_device_seed);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = process_message(&message);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-			
-		}
-
-//--------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::is_master_key_present(
-		const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::is_master_key_present(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::is_master_key_present()");
-			
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_is_master_key_present);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = process_message(&message);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-//--------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::is_master_key_and_password_matching(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::is_master_key_and_password_matching(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::is_master_key_and_password_matching()");
-			
-// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(pac_store_password);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-	}
-
-//--------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::create_and_save_master_key(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::create_and_save_master_key(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::create_and_save_master_key()");
-			
-// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_create_and_save_master_key);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(pac_store_password);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-		}
-
-//--------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::compare_pac_store_password(
-		eap_variable_data_c * pac_store_password)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::compare_pac_store_password(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::compare_pac_store_password()");
-
-// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_compare_pac_store_password);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(pac_store_password);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-			
-		}
-//--------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::is_pacstore_password_present()
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::is_pacstore_password_present(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::is_pacstore_password_present()");
-			
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_is_pacstore_password_present);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = process_message(&message);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-
-//--------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::set_pac_store_password(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e /* completion_status */)
-		{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::set_pac_store_password(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::set_pac_store_password()");
-
-// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_set_pac_store_password);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(pac_store_password);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-			
-		}
-
-//--------------------------------------------------
-eap_status_e eap_pac_store_client_message_if_c::complete_open_pac_store(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_open_pac_store(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_open_pac_store()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-		{
-		status = m_partner->complete_open_pac_store(
-			eap_status_allocation_error);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-  eap_status_e return_status;
-	status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status);
-	if (status != eap_status_ok)
-		{
-		status = m_partner->complete_open_pac_store(
-			status);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	
-	status = m_partner->complete_open_pac_store(
-		return_status);
-		
-	return status;	
-	
-
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_create_device_seed(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_create_device_seed(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_create_device_seed()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_create_device_seed(eap_status_allocation_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-  eap_status_e return_status;
-	status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_create_device_seed(status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_create_device_seed(return_status);
-
-	return status;
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_is_master_key_present(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_is_master_key_present(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_is_master_key_present()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_is_master_key_present(
-		false, eap_status_allocation_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-  bool is_present = false;
-	status = message_data.read_parameter_data(parameters, parameter_index, &is_present);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_is_master_key_present(
-		false, status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_is_master_key_present(is_present, status);
-	return status;
-
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_is_master_key_and_password_matching(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_is_master_key_and_password_matching(): this = 0x%08x.\n"),
-		this));
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_is_master_key_and_password_matching(
-		false, eap_status_allocation_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	bool is_matching = false;
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &is_matching);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_is_master_key_and_password_matching(
-		false, status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_is_master_key_and_password_matching(is_matching, status);
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_is_master_key_and_password_matching()");
-  return status;
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_create_and_save_master_key(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_create_and_save_master_key(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_create_and_save_master_key()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_create_and_save_master_key(
-		eap_status_allocation_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-  eap_status_e return_status;
-	status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_create_and_save_master_key(
-		status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_create_and_save_master_key(return_status);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-}
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_is_pacstore_password_present(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_is_pacstore_password_present(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_is_pacstore_password_present()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_is_pacstore_password_present(
-		false);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-  bool is_present = false;
-	status = message_data.read_parameter_data(parameters, parameter_index, &is_present);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_is_pacstore_password_present(
-		false);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_is_pacstore_password_present(is_present);
-	return status;
-
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_compare_pac_store_password(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_compare_pac_store_password(): this = 0x%08x.\n"),
-		this));
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_compare_pac_store_password(
-		false);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	bool is_matching = false;
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &is_matching);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_compare_pac_store_password(
-		false);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_compare_pac_store_password(is_matching);
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_compare_pac_store_password()");
-  return status;
-}
-
-//--------------------------------------------------
-
-//--------------------------------------------------
-/*
-eap_status_e eap_pac_store_client_message_if_c::complete_get_pac_store_password(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_get_pac_store_password(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_get_pac_store_password()");
-	
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_get_pac_store_password(
-		NULL);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools);
-	// eap_automatic_variable_c can be used in this block because no functions are leaving here.
-	eap_automatic_variable_c<eap_variable_data_c> automatic_password_data(m_am_tools, password);
-
-	if (password == 0)
-	{
-	status = m_partner->complete_get_pac_store_password(
-		password);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, password);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_get_pac_store_password(
-		password);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	status = m_partner->complete_get_pac_store_password(
-		password);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-
-}
-*/
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::complete_set_pac_store_password(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_set_pac_store_password(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_set_pac_store_password()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_set_pac_store_password(
-		eap_status_allocation_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-  eap_status_e return_status;
-	status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_set_pac_store_password(
-		status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_partner->complete_set_pac_store_password(
-		return_status);
-
-  return status;
-}
-
-//--------------------------------------------------
-eap_status_e eap_pac_store_client_message_if_c::complete_destroy_pac_store(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::complete_destroy_pac_store(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_destroy_pac_store()");
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-	status = m_partner->complete_destroy_pac_store(
-		eap_status_allocation_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-  eap_status_e return_status;
-	status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status);
-	if (status != eap_status_ok)
-	{
-	status = m_partner->complete_destroy_pac_store(
-		status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-	
-	status = m_partner->complete_destroy_pac_store(
-		return_status);
-		
-	return status;	
-	
-
-}
-
-//--------------------------------------------------
-
-//--------------------------------------------------
-
-
-//--------------------------------------------------
-
-
-//--------------------------------------------------
-
-
-//--------------------------------------------------
-
-//--------------------------------------------------
-//--------------------------------------------------
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_client_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::send_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_client_message_if_c::send_data(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::send_data()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	// Parses message data composed of Attribute-Value Pairs.
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.set_message_data(length, data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_pac_store_client_message_if_c::send_data()"),
-		message.get_message_data(),
-		message.get_message_data_length()));
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	status = message.parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message.get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_pac_store_complete_open_pac_store:
-			status = complete_open_pac_store(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_create_device_seed:
-			status = complete_create_device_seed(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_is_master_key_present:
-			status = complete_is_master_key_present(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching:
-			status = complete_is_master_key_and_password_matching(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key:
-			status = complete_create_and_save_master_key(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password:
-			status = complete_compare_pac_store_password(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present:
-			status = complete_is_pacstore_password_present(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_set_pac_store_password:
-			status = complete_set_pac_store_password(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_complete_destroy_pac_store:
-			status = complete_destroy_pac_store(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: send_data(): unknown function %d.\n"),
-				 function));
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		};
-
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_pac_store_message_base.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 765 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "eap_pac_store_message_base.h"
-
-/**
- * The destructor of the eap_core class does nothing special.
- */
-EAP_FUNC_EXPORT  eap_pac_store_message_base_c::~eap_pac_store_message_base_c()
-{
-}
-
-/**
- * The constructor initializes member attributes using parameters passed to it.
- * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
- * @param partner is back pointer to object which created this object.
- * @param is_client_when_true indicates whether the network entity should act
- * as a client (true) or server (false), in terms of EAP-protocol
- * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
- */
-EAP_FUNC_EXPORT eap_pac_store_message_base_c::eap_pac_store_message_base_c()
-{
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_pac_store_server_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1343 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 745 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-#include "eap_am_memory.h"
-#include "eap_tools.h"
-#include "eap_pac_store_server_message_if.h"
-#include "eap_crypto_api.h"
-#include "eap_state_notification.h"
-#include "eap_automatic_variable.h"
-#include "eap_network_id_selector.h"
-#include "eap_config.h"
-#include "eap_am_pac_store.h"
-#include "eap_am_pac_store_symbian.h"
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT eap_pac_store_server_message_if_c::~eap_pac_store_server_message_if_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_server_message_if_c::~eap_pac_store_server_message_if_c(): this = 0x%08x\n"),
-		this));
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-
-	if (m_am_client != 0)
-		{
-		m_am_client->shutdown();
-		delete m_am_client;
-		}
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-#if defined(_WIN32) && !defined(__GNUC__)
-	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
-#endif
-
-// 
-EAP_FUNC_EXPORT eap_pac_store_server_message_if_c::eap_pac_store_server_message_if_c(
-	abs_eap_am_tools_c * const tools)
-	: m_partner(0)
-	, m_am_client(eap_am_pac_store_symbian_c::new_eap_am_pac_store_symbian_c(tools, this))
-	, m_am_tools(tools)
-	, m_error_code(eap_status_ok)
-	, m_error_function(eap_tlv_message_type_function_none)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_pac_store_server_message_if_c::eap_pac_store_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"),
-		(m_is_client == true) ? "client": "server",
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this),
-		__DATE__,
-		__TIME__));
-
-	if (m_am_client != 0
-		&& m_am_client->get_is_valid() == true)
-	{
-		set_is_valid();
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::configure(
-	const eap_variable_data_c * const /* client_configuration */)
-{
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_pac_store_server_message_if_c::configure()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::configure()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (m_am_client != 0)
-	{
-		status = m_am_client->configure();
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_pac_store_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"),
-		(m_is_client == true) ? "client": "server",
-		m_shutdown_was_called));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::shutdown()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	if (m_shutdown_was_called == true)
-	{
-		// Shutdown function was called already.
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-	m_shutdown_was_called = true;
-
-	if (m_am_client != 0)
-	{
-		(void) m_am_client->shutdown();
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_pac_store_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner)
-{
-	m_partner = partner;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::send_error_message(
-	const eap_status_e error_code,
-	const eap_tlv_message_type_function_e function)
-{
-	eap_status_e status(eap_status_ok);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(
-			eap_tlv_message_type_error,
-			static_cast<u32_t>(error_code));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message)
-{
-	// Sends message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_core_client_message_if_c::send_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()");
-
-
-	{
-		eap_status_e send_status = m_partner->send_data(
-			message->get_message_data(),
-			message->get_message_data_length());
-		if (send_status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, send_status);
-		}
-
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, send_status);
-	}
-
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Parses message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_pac_store_server_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::process_message()");
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	eap_status_e status = message->parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message->get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_pac_store_open_pac_store:
-			status = open_pac_store(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_create_device_seed:
-			status = create_device_seed(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_is_master_key_present:
-			status = is_master_key_present(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching:
-			status = is_master_key_and_password_matching(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_create_and_save_master_key:
-			status = create_and_save_master_key(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_compare_pac_store_password:
-			status = compare_pac_store_password(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_is_pacstore_password_present:
-			status = is_pacstore_password_present(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_set_pac_store_password:
-			status = set_pac_store_password(&parameters);
-			break;
-		case eap_tlv_message_type_function_pac_store_destroy_pac_store:
-			status = destroy_pac_store(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: process_data(): unknown function %d.\n"),
-				 function));
-
-			status = eap_status_illegal_parameter;
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-		};
-
-		if (status != eap_status_ok
-			&& status != eap_status_success
-			&& status != eap_status_pending_request
-			&& status != eap_status_completed_request
-			&& status != eap_status_drop_packet_quietly)
-		{
-			(void) send_error_message(
-				status,
-				function);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-/// Function receives the data message from lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::process_data(const void * const data, const u32_t length)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_allocation_error;
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.set_message_data(length, data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_pac_store_server_message_if_c::set_is_valid()
-{
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool eap_pac_store_server_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::timer_expired(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_pac_store_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"),
-		 (m_is_client == true) ? "client": "server",
-		 this,
-		 id,
-		 data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::timer_expired()");
-
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::timer_delete_data(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_pac_store_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"),
-		(m_is_client == true) ? "client": "server",
-		this, id, data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::timer_delete_data()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::open_pac_store(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const /* parameters */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_pac_store_server_message_if_c::open_pac_store()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::open_pac_store()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_client->open_pac_store();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::create_device_seed(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const /* parameters */)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::create_device_seed(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::create_device_seed()");
-
-    status = m_am_client->create_device_seed();
-
-    return status;
-    
-    }
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::is_master_key_present(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const /* parameters */)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::is_master_key_present(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::is_master_key_present()");
- 
-    status = m_am_client->is_master_key_present();
-
-    return status;
-    
-    }
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::is_master_key_and_password_matching(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::is_master_key_and_password_matching(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::is_master_key_and_password_matching()");
- 
-    u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-    eap_process_tlv_message_data_c message_data(m_am_tools);
-
-    if (message_data.get_is_valid() == false)
-        {
-        EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-    eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools);
-    // eap_automatic_variable_c can be used in this block because no functions are leaving here.
-    eap_automatic_variable_c<eap_variable_data_c> automatic_password_data(m_am_tools, password);
-
-    if (password == 0)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-
-    status = message_data.read_parameter_data(parameters, parameter_index, password);
-    if (status != eap_status_ok)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-    status = m_am_client->is_master_key_and_password_matching(password);
-
-    return status;
-   
-    }
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::create_and_save_master_key(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::create_and_save_master_key(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::create_and_save_master_key()");
-
-    u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-    eap_process_tlv_message_data_c message_data(m_am_tools);
-
-    if (message_data.get_is_valid() == false)
-        {
-        EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-    eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools);
-    // eap_automatic_variable_c can be used in this block because no functions are leaving here.
-    eap_automatic_variable_c<eap_variable_data_c> automatic_password_data(m_am_tools, password);
-
-    if (password == 0)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-
-    status = message_data.read_parameter_data(parameters, parameter_index, password);
-    if (status != eap_status_ok)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-    status = m_am_client->create_and_save_master_key(password);
-
-    return status;
-    
-    }
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::is_pacstore_password_present(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const /* parameters */)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::is_pacstore_password_present(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::is_pacstore_password_present()");
-
-    eap_process_tlv_message_data_c message_data(m_am_tools);
-
-    if (message_data.get_is_valid() == false)
-        {
-        EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-    status = m_am_client->is_pacstore_password_present();
-
-    return status;
-    
-    }
-//--------------------------------------------------
-eap_status_e eap_pac_store_server_message_if_c::compare_pac_store_password(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::compare_pac_store_password(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::compare_pac_store_password()");
-
-    u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-    eap_process_tlv_message_data_c message_data(m_am_tools);
-
-    if (message_data.get_is_valid() == false)
-        {
-        EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-    eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools);
-    // eap_automatic_variable_c can be used in this block because no functions are leaving here.
-    eap_automatic_variable_c<eap_variable_data_c> automatic_password_data(m_am_tools, password);
-
-    if (password == 0)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-
-    status = message_data.read_parameter_data(parameters, parameter_index, password);
-    if (status != eap_status_ok)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-
-    status = m_am_client->compare_pac_store_password(password);
-
-    return status;
-    
-    }
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::set_pac_store_password(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::set_pac_store_password(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::set_pac_store_password()");
-
-    u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-    eap_process_tlv_message_data_c message_data(m_am_tools);
-
-    if (message_data.get_is_valid() == false)
-        {
-        EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-    eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools);
-    // eap_automatic_variable_c can be used in this block because no functions are leaving here.
-    eap_automatic_variable_c<eap_variable_data_c> automatic_password_data(m_am_tools, password);
-
-    if (password == 0)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-
-    status = message_data.read_parameter_data(parameters, parameter_index, password);
-    if (status != eap_status_ok)
-    {
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    }
-    status = m_am_client->set_pac_store_password(password);
-
-    return status;
-    
-    }
-//--------------------------------------------------
-
-eap_status_e eap_pac_store_server_message_if_c::destroy_pac_store(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const /* parameters */)
-    {
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    eap_status_e status(eap_status_ok);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("eap_pac_store_server_message_if_c::destroy_pac_store(): this = 0x%08x.\n"),
-        this));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::destroy_pac_store()");
- 
-    status = m_am_client->destroy_pac_store();
-
-    return status;
-   
-    }
-//--------------------------------------------------
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_open_pac_store(const eap_status_e completion_status)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_open_pac_store()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_open_pac_store()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_open_pac_store);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(completion_status);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-
-
-
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_create_device_seed(
-    const eap_status_e completion_status)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_create_device_seed()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_create_device_seed()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_create_device_seed);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(completion_status);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_is_master_key_present(
-        const bool is_present)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_is_master_key_present()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_is_master_key_present()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_is_master_key_present);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(is_present);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_is_master_key_and_password_matching(
-        const bool is_matching)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_is_master_key_and_password_matching()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_is_master_key_and_password_matching()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(is_matching);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_create_and_save_master_key(
-        const eap_status_e completion_status)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_create_and_save_master_key()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_create_and_save_master_key()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(completion_status);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_is_pacstore_password_present(
-        const bool is_present)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_is_pacstore_password_present()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_is_pacstore_password_present()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(is_present);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_compare_pac_store_password(
-        const bool is_matching)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_compare_pac_store_password()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_compare_pac_store_password()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(is_matching);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_set_pac_store_password(
-        const eap_status_e completion_status)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_set_pac_store_password()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_pac_store_password()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_set_pac_store_password);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(completion_status);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_destroy_pac_store(
-    const eap_status_e completion_status)
-    {
-    eap_status_e status(eap_status_process_general_error);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("%s: eap_core_server_message_if_c::complete_destroy_pac_store()\n"),
-         (m_is_client == true) ? "client": "server"));
-
-    EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_destroy_pac_store()");
-
-    {
-        // Creates message data composed of Attribute-Value Pairs.
-        eap_process_tlv_message_data_c message(m_am_tools);
-
-        if (message.get_is_valid() == false)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-        }
-
-        status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_destroy_pac_store);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = message.add_parameter_data(completion_status);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-
-        status = send_message(&message);
-        if (status != eap_status_ok)
-        {
-            EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-            return EAP_STATUS_RETURN(m_am_tools, status);
-        }
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-    
-    }
-//--------------------------------------------------
-
-
-eap_am_pac_store_c* eap_am_pac_store_symbian_c::new_eap_am_pac_store_symbian_c(
-        abs_eap_am_tools_c * const tools,
-        abs_eap_am_pac_store_c * const partner)
-    {
-    eap_am_pac_store_c *server =  new eap_am_pac_store_symbian_c(
-        tools, partner);
-/*    
-    eap_automatic_variable_c<eap_am_pac_store_c> automatic_server(
-        tools,
-        server);
-*/
-    if (server == 0)
-      	{
-        EAP_TRACE_DEBUG(
-            tools,
-            TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-            (EAPL("calls: eap_pac_store_server_message_if_c(): server == 0 !!!:.\n")));
-      	}
-    else if (server->get_is_valid() == false)
-        {
-        EAP_TRACE_DEBUG(
-            tools,
-            TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-            (EAPL("calls: eap_pac_store_server_message_if_c(): server->shutdown():.\n")));
-            server->shutdown();
-            delete server;
-            server = 0;
-        }
-   
-    return server;
-    
-    }
-
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_plugin_client_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1018 +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:  EAP-plugin interface message class.
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 764 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_am_assert.h"
-#include "eap_plugin_client_message_if.h"
-#include "abs_eap_plugin_message.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_automatic_variable.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_method_settings.h"
-#include "eap_am_network_id.h"
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_plugin_client_message_if_c::~eap_plugin_client_message_if_c()
-{
-	delete m_client_if;
-	m_client_if = 0;
-}
-
-//--------------------------------------------------
-
-/**
- * The constructor initializes member attributes using parameters passed to it.
- * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
- * @param client_if is pointer to client interface.
- * @param partner is back pointer to object which created this object.
- */
-EAP_FUNC_EXPORT eap_plugin_client_message_if_c::eap_plugin_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	eap_am_message_if_c * const client_if,
-	abs_eap_plugin_message_c * const partner)
-: m_am_tools(tools)
-, m_client_if(client_if)
-, m_partner(partner)
-, m_is_valid(false)
-, m_error_code(eap_status_ok)
-, m_error_function(eap_tlv_message_type_function_none)
-{
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_client_if == 0
-		|| m_client_if->get_is_valid() == false
-		|| m_partner == 0)
-	{
-		return;
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::eap_plugin_client_message_if_c(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::eap_plugin_client_message_if_c()");
-
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-/**
- * This function must reset the state of object to same as 
- * state was after the configure() function call.
- * If object reset succeeds this function must return eap_status_ok.
- * If object reset fails this function must return corresponding error status.
- * @return This function returns the status of reset operation.
- */
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::reset()
-{
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::configure()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::configure(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::configure()");
-
-	eap_status_e status = m_client_if->configure(0);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::shutdown(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::shutdown()");
-
-	eap_status_e status = m_client_if->shutdown();
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::get_is_valid().
-EAP_FUNC_EXPORT bool eap_plugin_client_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Process message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::process_message()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_plugin_client_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	eap_status_e send_status = m_client_if->process_data(
-		message->get_message_data(),
-		message->get_message_data_length());
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, send_status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::get_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::get_configuration(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::get_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_get_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::set_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::set_configuration(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::set_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_set_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::copy_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::copy_configuration(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::copy_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_copy_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::delete_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::delete_configuration(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::delete_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_delete_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::set_index(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::set_index(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::set_index()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_set_index);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::get_type_info(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::get_type_info(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::get_type_info()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_get_type_info);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::invoke_ui(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::invoke_ui(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::invoke_ui()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_invoke_ui);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_get_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_get_configuration(
-		internal_settings);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_set_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_set_configuration(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_delete_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_delete_configuration(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_copy_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_copy_configuration(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_set_index(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_set_index(
-		internal_settings->m_completion_status);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_get_type_info(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_get_type_info(
-		internal_settings);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::complete_invoke_ui(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_partner->complete_invoke_ui(
-		internal_settings);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_client_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::send_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_client_message_if_c::send_data(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::send_data()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	// Parses message data composed of Attribute-Value Pairs.
-	eap_process_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.set_message_data(length, data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_plugin_client_message_if_c::send_data()"),
-		message.get_message_data(),
-		message.get_message_data_length()));
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	status = message.parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message.get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_plugin_complete_get_configuration:
-			status = complete_get_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_complete_set_configuration:
-			status = complete_set_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_complete_delete_configuration:
-			status = complete_delete_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_complete_copy_configuration:
-			status = complete_copy_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_complete_set_index:
-			status = complete_set_index(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_complete_get_type_info:
-			status = complete_get_type_info(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_complete_invoke_ui:
-			status = complete_invoke_ui(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: send_data(): unknown function %d.\n"),
-				 function));
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-			status = EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		};
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_plugin_message_base.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  virtual functions of EAP-plugin interface.
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 769 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "eap_plugin_message_base.h"
-
-/**
- * The destructor of the eap_core class does nothing special.
- */
-EAP_FUNC_EXPORT  eap_plugin_message_base_c::~eap_plugin_message_base_c()
-{
-}
-
-/**
- * The constructor initializes member attributes.
- */
-EAP_FUNC_EXPORT eap_plugin_message_base_c::eap_plugin_message_base_c()
-{
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_plugin_server_message_if.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1292 +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:  EAP-plugin message interface in the server.
-*
-*/
-
-/*
-* %version: 14 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 746 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-#include "eap_am_memory.h"
-#include "eap_tools.h"
-#include "eap_plugin_server_message_if.h"
-#include "eap_crypto_api.h"
-#include "eap_state_notification.h"
-#include "eap_automatic_variable.h"
-#include "eap_network_id_selector.h"
-#include "eap_config.h"
-
-//--------------------------------------------------
-
-// 
-EAP_FUNC_EXPORT eap_plugin_server_message_if_c::~eap_plugin_server_message_if_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_server_message_if_c::~eap_plugin_server_message_if_c(): this = 0x%08x\n"),
-		this));
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-
-	delete m_am_plugin;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-#if defined(_WIN32) && !defined(__GNUC__)
-	#pragma warning( disable : 4355 ) // 'this' : used in base member initializer list
-#endif
-
-// 
-EAP_FUNC_EXPORT eap_plugin_server_message_if_c::eap_plugin_server_message_if_c(
-	abs_eap_am_tools_c * const tools)
-	: m_partner(0)
-	, m_am_plugin(new_eap_am_plugin_c(tools, this))
-	, m_am_tools(tools)
-	, m_error_code(eap_status_ok)
-	, m_error_function(eap_tlv_message_type_function_none)
-	, m_is_client(false)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_server_message_if_c::eap_plugin_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"),
-		(m_is_client == true) ? "client": "server",
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this),
-		__DATE__,
-		__TIME__));
-
-	if (m_am_plugin != 0
-		&& m_am_plugin->get_is_valid() == true)
-	{
-		set_is_valid();
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::configure(
-	const eap_variable_data_c * const /* client_configuration */)
-{
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_plugin_server_message_if_c::configure()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::configure()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (m_am_plugin != 0)
-	{
-		status = m_am_plugin->configure();
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("%s: eap_plugin_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"),
-		(m_is_client == true) ? "client": "server",
-		m_shutdown_was_called));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::shutdown()");
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	if (m_shutdown_was_called == true)
-	{
-		// Shutdown function was called already.
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-	m_shutdown_was_called = true;
-
-	if (m_am_plugin != 0)
-	{
-		(void) m_am_plugin->shutdown();
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_plugin_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner)
-{
-	m_partner = partner;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::send_error_message(
-	const eap_status_e error_code,
-	const eap_tlv_message_type_function_e function)
-{
-	eap_status_e status(eap_status_ok);
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(
-			eap_tlv_message_type_error,
-			static_cast<u32_t>(error_code));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message)
-{
-	// Sends message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_plugin_server_message_if_c::send_message(): this = 0x%08x => 0x%08x.\n"),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_core_client_message_if_c::send_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()");
-
-	eap_status_e send_status = m_partner->send_data(
-		message->get_message_data(),
-		message->get_message_data_length());
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, send_status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message)
-{
-	// Parses message data composed of Attribute-Value Pairs.
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_plugin_server_message_if_c::process_message()"),
-		message->get_message_data(),
-		message->get_message_data_length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::process_message()");
-
-	eap_array_c<eap_tlv_header_c> parameters(m_am_tools);
-
-	eap_status_e status = message->parse_message_data(&parameters);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (parameters.get_object_count() == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
-	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-		status = eap_status_illegal_parameter;
-
-		(void) send_error_message(
-			status,
-			eap_tlv_message_type_function_none);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	if (function_header->get_type() == eap_tlv_message_type_error)
-	{
-		status = process_message_type_error(&parameters);
-	}
-	else // function_header->get_type() == eap_tlv_message_type_function
-	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
-
-		status = message->get_parameter_data(function_header, &function);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		switch(function)
-		{
-		case eap_tlv_message_type_function_plugin_get_configuration:
-			status = get_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_set_configuration:
-			status = set_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_copy_configuration:
-			status = copy_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_delete_configuration:
-			status = delete_configuration(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_set_index:
-			status = set_index(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_get_type_info:
-			status = get_type_info(&parameters);
-			break;
-		case eap_tlv_message_type_function_plugin_invoke_ui:
-			status = invoke_ui(&parameters);
-			break;
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: process_data(): unknown function %d.\n"),
-				 function));
-
-			status = eap_status_illegal_parameter;
-
-			EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-		};
-
-		if (status != eap_status_ok
-			&& status != eap_status_success
-			&& status != eap_status_pending_request
-			&& status != eap_status_completed_request
-			&& status != eap_status_drop_packet_quietly)
-		{
-			(void) send_error_message(
-				status,
-				function);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-/// Function receives the data message from lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::process_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("eap_plugin_server_message_if_c::process_data()"),
-		data,
-		length));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::process_message()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	{
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			status = eap_status_allocation_error;
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.set_message_data(length, data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-			(void) send_error_message(
-				status,
-				eap_tlv_message_type_function_none);
-
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = process_message(&message);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT void eap_plugin_server_message_if_c::set_is_valid()
-{
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT bool eap_plugin_server_message_if_c::get_is_valid()
-{
-	return m_is_valid;
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::timer_expired(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_plugin_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"),
-		 (m_is_client == true) ? "client": "server",
-		 this,
-		 id,
-		 data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::timer_expired()");
-
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::timer_delete_data(
-	const u32_t id, void *data)
-{
-	EAP_UNREFERENCED_PARAMETER(id);
-	EAP_UNREFERENCED_PARAMETER(data);
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("TIMER: %s: [0x%08x]->eap_plugin_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"),
-		(m_is_client == true) ? "client": "server",
-		this, id, data));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::timer_delete_data()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::get_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::get_configuration(): parameters=0x%08x, count=%d\n"),
-		 (m_is_client == true) ? "client": "server",
-		 parameters,
-		 (parameters != 0) ? parameters->get_object_count(): 0));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::get_configuration()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_plugin->get_configuration(
-		internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::set_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::set_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::set_configuration()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_plugin->set_configuration(
-		internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::copy_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::copy_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::copy_configuration()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_plugin->copy_configuration(
-		internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::delete_configuration(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::delete_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::delete_configuration()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_plugin->delete_configuration(
-		internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::set_index(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::set_index()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::set_index()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_plugin->set_index(
-		internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::get_type_info(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::get_type_info()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::get_type_info()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = m_am_plugin->get_type_info(
-		internal_settings
-		);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_status_e eap_plugin_server_message_if_c::invoke_ui(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_plugin_server_message_if_c::invoke_ui()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::invoke_ui()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eap_process_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(m_am_tools, internal_settings);
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message_data.read_parameter_data(parameters, parameter_index, internal_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_get_configuration(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_get_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_get_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_set_configuration(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_set_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_set_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_delete_configuration(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_delete_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_delete_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_delete_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_copy_configuration(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_copy_configuration()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_copy_configuration()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_copy_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_set_index(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_set_index()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_index()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_set_index);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_get_type_info(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_get_type_info()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_type_info()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_get_type_info);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_invoke_ui(const eap_method_settings_c * const internal_settings)
-{
-	eap_status_e status(eap_status_process_general_error);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("%s: eap_core_server_message_if_c::complete_invoke_ui()\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_invoke_ui()");
-
-	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_invoke_ui);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(internal_settings);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_process_tlv_message_data.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8121 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 42 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 40
-	#undef EAP_FILE_NUMBER_DATE
-	#define EAP_FILE_NUMBER_DATE 1127594498
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-#include "eap_am_memory.h"
-#include "eap_automatic_variable.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_variable_data.h"
-#include "eap_am_network_id.h"
-#include "eap_buffer.h"
-#include "eapol_session_key.h"
-#include "abs_eap_state_notification.h"
-#include "eap_state_notification.h"
-
-
-/** @file */
-
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_process_tlv_message_data_c::~eap_process_tlv_message_data_c()
-{
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_process_tlv_message_data_c::eap_process_tlv_message_data_c(
-	abs_eap_am_tools_c * const tools)
-	: eap_tlv_message_data_c(tools)
-	, m_am_tools(tools)
-	, m_is_valid(true)
-{
-}
-
-//-------------------------------------------------------------------
-
-/**
- * This function should increase reference count.
- */
-EAP_FUNC_EXPORT void eap_process_tlv_message_data_c::object_increase_reference_count()
-{
-}
-
-//-------------------------------------------------------------------
-
-/**
- * This function should first decrease reference count
- * and second return the remaining reference count.
- * Reference count must not be decreased when it is zero.
- */
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::object_decrease_reference_count()
-{
-	return 0;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool eap_process_tlv_message_data_c::get_is_valid()
-{
-	return m_is_valid && eap_tlv_message_data_c::get_is_valid();
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eap_variable_data_c * const data) const
-{
-	return
-		(eap_tlv_header_c::get_header_length() // Each attribute have their own header.
-		+ data->get_data_length());
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eap_am_network_id_c * const network_id) const
-{
-	if (network_id == 0
-		|| network_id->get_is_valid_data() == false)
-	{
-		return 0ul;
-	}
-
-	return
-		(3ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header.
-		+ network_id->get_source_id()->get_data_length()
-		+ network_id->get_destination_id()->get_data_length()
-		+ sizeof(network_id->get_type()));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const abs_eap_state_notification_c * const state) const
-{
-	return
-		(7ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header.
-		+ (get_payload_size(state->get_send_network_id())
-		+ sizeof(u32_t) // eap_protocol_layer_e
-		+ sizeof(state->get_protocol())
-		+ eap_expanded_type_c::get_eap_expanded_type_size()
-		+ sizeof(state->get_current_state())
-		+ sizeof(u32_t) // bool is_client
-		+ sizeof(u32_t) // eap_status_e authentication error
-		);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eapol_session_key_c * const session_key) const
-{
-	return
-		((5ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header.
-		+ session_key->get_key()->get_data_length()
-		+ session_key->get_sequence_number()->get_data_length()
-		+ sizeof(u32_t) // const eapol_key_type_e m_key_type
-		+ sizeof(session_key->get_key_index())
-		+ sizeof(u32_t) // const bool m_key_tx_bit
-		);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array) const
-{
-	u32_t size(0ul);
-
-	for (u32_t ind = 0ul; ind < ushort_array->get_object_count(); ind++)
-	{
-		u16_t * const value = ushort_array->get_object(ind);
-		if (value != 0)
-		{
-			size += eap_tlv_header_c::get_header_length() // TLV-header of u16_t.
-				+ sizeof(u16_t); // Size of u16_t
-		}
-	} // for ()
-
-	return (size);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eap_certificate_entry_c * const cert) const
-{
-	u32_t size =
-		(10ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header.
-		+ sizeof(u32_t) // eap_certificate_type_e m_CertType
-		+ sizeof(u32_t) // bool m_SubjectNamePresent
-		+ sizeof(u32_t) // bool m_IssuerNamePresent
-		+ sizeof(u32_t) // bool m_SerialNumberPresent
-		+ sizeof(u32_t) // bool m_SubjectKeyIDPresent
-		+ sizeof(u32_t) // bool m_ThumbprintPresent
-		+ sizeof(u32_t) // bool m_LabelPresent
-		+ sizeof(u32_t) // bool m_PrimaryNamePresent
-		+ sizeof(u32_t) // bool m_SecondaryNamePresent
-		+ sizeof(u32_t) // bool m_iIsEnabledPresent
-		);
-
-	if (cert->m_SubjectNamePresent == true)
-	{
-		size += get_payload_size(&(cert->m_SubjectName));
-	}
-
-	if (cert->m_IssuerNamePresent == true)
-	{
-		size += get_payload_size(&(cert->m_IssuerName));
-	}
-
-	if (cert->m_SerialNumberPresent == true)
-	{
-		size += get_payload_size(&(cert->m_SerialNumber));
-	}
-
-	if (cert->m_SubjectKeyIDPresent == true)
-	{
-		size += get_payload_size(&(cert->m_SubjectKeyID));
-	}
-
-	if (cert->m_ThumbprintPresent == true)
-	{
-		size += get_payload_size(&(cert->m_Thumbprint));
-	}
-
-	if (cert->m_LabelPresent == true)
-	{
-		size += get_payload_size(&(cert->m_Label));
-	}
-
-	if (cert->m_PrimaryNamePresent == true)
-	{
-		size += get_payload_size(&(cert->m_PrimaryName));
-	}
-
-	if (cert->m_SecondaryNamePresent == true)
-	{
-		size += get_payload_size(&(cert->m_SecondaryName));
-	}
-
-	if (cert->m_iIsEnabledPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_iIsEnabled
-	}
-
-	return size;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eap_method_settings_c * const internal_settings) const
-{
-	u32_t size =
-		(4ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header.
-		+ sizeof(u32_t) // eap_status_e m_completion_status
-		+ eap_expanded_type_c::get_eap_expanded_type_size() // eap_type_value_e m_EAPType
-		+ sizeof(u32_t) // u32_t m_IndexType
-		+ sizeof(u32_t) // u32_t m_Index
-		);
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UseAutomaticCACertificatePresent
-	if (internal_settings->m_UseAutomaticCACertificatePresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_UseAutomaticCACertificate
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UseAutomaticUsernamePresent
-	if (internal_settings->m_UseAutomaticUsernamePresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_UseAutomaticUsername
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UseAutomaticRealmPresent
-	if (internal_settings->m_UseAutomaticRealmPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_UseAutomaticRealm
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UsernamePresent
-	if (internal_settings->m_UsernamePresent == true)
-	{
-		size += get_payload_size(&(internal_settings->m_Username_fix));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_PasswordExistPresent
-	if (internal_settings->m_PasswordExistPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_PasswordExist
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_PasswordPresent
-	if (internal_settings->m_PasswordPresent == true)
-	{
-		size += get_payload_size(&(internal_settings->m_Password));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_RealmPresent
-	if (internal_settings->m_RealmPresent == true)
-	{
-		size += get_payload_size(&(internal_settings->m_Realm));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UsePseudonymsPresent
-	if (internal_settings->m_UsePseudonymsPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_UsePseudonyms
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_VerifyServerRealmPresent
-	if (internal_settings->m_VerifyServerRealmPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_VerifyServerRealm
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_RequireClientAuthenticationPresent
-	if (internal_settings->m_RequireClientAuthenticationPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_RequireClientAuthentication
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_SessionValidityTimePresent
-	if (internal_settings->m_SessionValidityTimePresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // u32_t m_SessionValidityTime
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_CipherSuitesPresent
-	if (internal_settings->m_CipherSuitesPresent == true)
-	{
-		// Array header.
-		size += eap_tlv_header_c::get_header_length();
-		size += get_payload_size(&(internal_settings->m_CipherSuites));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_PEAPVersionsPresent
-	if (internal_settings->m_PEAPVersionsPresent == true)
-	{
-		size += (3ul * eap_tlv_header_c::get_header_length());
-		size += sizeof(u32_t); // bool m_PEAPv0Allowed
-		size += sizeof(u32_t); // bool m_PEAPv1Allowed
-		size += sizeof(u32_t); // bool m_PEAPv2Allowed
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_CertificatesPresent
-	if (internal_settings->m_CertificatesPresent == true)
-	{
-		// Array header.
-		size += eap_tlv_header_c::get_header_length();
-		size += get_payload_size(&(internal_settings->m_Certificates));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_EnabledEncapsulatedEAPTypesPresent
-	if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true)
-	{
-		// Array header.
-		size += eap_tlv_header_c::get_header_length();
-		size += get_payload_size(&(internal_settings->m_EnabledEncapsulatedEAPTypes));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_DisabledEncapsulatedEAPTypesPresent
-	if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true)
-	{
-		// Array header.
-		size += eap_tlv_header_c::get_header_length();
-		size += get_payload_size(&(internal_settings->m_DisabledEncapsulatedEAPTypes));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_AuthProvModeAllowedPresent
-	if (internal_settings->m_AuthProvModeAllowedPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_AuthProvModeAllowed
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UnauthProvModeAllowedPresent
-	if (internal_settings->m_UnauthProvModeAllowedPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_UnauthProvModeAllowed
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_PACGroupReferencePresent
-	if (internal_settings->m_PACGroupReferencePresent == true)
-	{
-		size += get_payload_size(&(internal_settings->m_PACGroupReference));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_WarnADHPNoPACPresent
-	if (internal_settings->m_WarnADHPNoPACPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_WarnADHPNoPAC
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_WarnADHPNoMatchingPACPresent
-	if (internal_settings->m_WarnADHPNoMatchingPACPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_WarnADHPNoMatchingPAC
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_WarnNotDefaultServerPresent
-	if (internal_settings->m_WarnNotDefaultServerPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_WarnNotDefaultServer
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_SelectedEAPTypesPresent
-	if (internal_settings->m_SelectedEAPTypesPresent == true)
-	{
-		// Array header.
-		size += eap_tlv_header_c::get_header_length();
-		size += get_payload_size(&(internal_settings->m_active_eap_methods));
-
-		// Array header.
-		size += eap_tlv_header_c::get_header_length();
-		size += get_payload_size(&(internal_settings->m_disabled_eap_methods));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_TunnelingTypePresent
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += eap_expanded_type_c::get_eap_expanded_type_size(); // eap_type_value_e m_TunnelingType
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_DestinationIndexAndTypePresent
-	if (internal_settings->m_DestinationIndexAndTypePresent == true)
-	{
-		size += (2ul * eap_tlv_header_c::get_header_length());
-		size += sizeof(u32_t); // u32_t m_DestinationIndexType
-		size += sizeof(u32_t); // u32_t m_DestinationIndex
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_MethodInfoPresent
-	if (internal_settings->m_MethodInfoPresent == true)
-	{
-		size += get_payload_size(&(internal_settings->m_KReleaseDate));
-		size += get_payload_size(&(internal_settings->m_KEapTypeVersion));
-		size += get_payload_size(&(internal_settings->m_KManufacturer));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_ButtonIdPresent
-	if (internal_settings->m_ButtonIdPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // i32_t m_ButtonId
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_ShowPassWordPromptPresent
-	if (internal_settings->m_ShowPassWordPromptPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_ShowPassWordPrompt));
-	}
-
-	size += eap_tlv_header_c::get_header_length();
-	size += sizeof(u32_t); // bool m_UseIdentityPrivacyPresent
-	if (internal_settings->m_UseIdentityPrivacyPresent == true)
-	{
-		size += eap_tlv_header_c::get_header_length();
-		size += sizeof(u32_t); // bool m_UseIdentityPrivacy));
-	}
-
-	return size;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array) const
-{
-	u32_t size(0ul);
-
-	for (u32_t ind = 0ul; ind < cert_array->get_object_count(); ind++)
-	{
-		eap_certificate_entry_c * const value = cert_array->get_object(ind);
-		if (value != 0)
-		{
-			// Structure header.
-			size += eap_tlv_header_c::get_header_length();
-
-			size += get_payload_size(value);
-		}
-	} // for ()
-
-	return (size);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const network_key_and_index_c * const key) const
-{
-	u32_t size(0ul);
-
-	if (key != 0)
-	{
-		size += eap_tlv_header_c::get_header_length()
-			+ sizeof(key->get_network_key_index()) // Size of Network Key Index
-			+ eap_tlv_header_c::get_header_length()
-			+ key->get_network_key_const()->get_data_length() // Size of Network Key
-			;
-	}
-
-	return (size);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eap_array_c<network_key_and_index_c> * const network_keys) const
-{
-	u32_t size(0ul);
-
-	for (u32_t ind_network_key = 0ul; ind_network_key < network_keys->get_object_count(); ind_network_key++)
-	{
-		network_key_and_index_c * const key = network_keys->get_object(ind_network_key);
-		if (key != 0)
-		{
-			size += eap_tlv_header_c::get_header_length() // Size of structure header
-				+ get_payload_size(key); // Size of Network Key
-		}
-	} // for ()
-
-	return (size);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const simple_config_credential_c * const credential) const
-{
-	u32_t size(0ul);
-
-	if (credential != 0)
-	{
-		size += eap_tlv_header_c::get_header_length()
-			+ sizeof(credential->get_network_index()) // Size of Network Index
-			+ eap_tlv_header_c::get_header_length()
-			+ credential->get_SSID_const()->get_data_length() // Size of SSID
-			+ eap_tlv_header_c::get_header_length()
-			+ sizeof(u16_t) // Size of Authentiction type
-			+ eap_tlv_header_c::get_header_length()
-			+ sizeof(u16_t) // Size of Encryption type
-			;
-
-		size += eap_tlv_header_c::get_header_length() // Size of header of Array
-			+ get_payload_size(credential->get_network_keys_const());
-
-		size += eap_tlv_header_c::get_header_length()
-			+ credential->get_MAC_address_const()->get_data_length() // Size of MAC Address
-			;
-	}
-
-	return (size);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array) const
-{
-	u32_t size(0ul);
-
-	for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++)
-	{
-		simple_config_credential_c * const credential = credential_array->get_object(ind_credential);
-		if (credential != 0)
-		{
-			size += eap_tlv_header_c::get_header_length() // Size of structure header
-				+ get_payload_size(credential);
-		}
-	} // for ()
-
-	return (size);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	const eap_variable_data_c * const selector,
-	const eap_config_value_c * const configuration_option) const
-{
-	u32_t size_of_data(0ul);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_payload_size(): type=%d=%s\n"),
-		configuration_option->get_const_type(),
-		eap_configuration_field_c::get_configure_type_string(configuration_option->get_const_type())));
-
-	switch(configuration_option->get_const_type())
-	{
-	case eap_configure_type_string:
-	case eap_configure_type_hex_data:
-		size_of_data += 3ul * eap_tlv_header_c::get_header_length()
-			+ sizeof(u32_t) // Length of the type.
-			+ selector->get_data_length() // Length of the option name.
-			+ configuration_option->get_const_data()->get_data_length(); // Length of the option data.
-		break;
-	case eap_configure_type_u32_t:
-	case eap_configure_type_boolean:
-		size_of_data += 3ul * eap_tlv_header_c::get_header_length()
-			+ sizeof(u32_t) // Length of the type.
-			+ selector->get_data_length() // Length of the option name.
-			+ sizeof(u32_t); // Length of the option data.
-		break;
-	case eap_configure_type_u32array:
-		{
-			const u32_t count_of_values = configuration_option->get_const_data()->get_data_length() / sizeof(u32_t);
-			size_of_data += 3ul * eap_tlv_header_c::get_header_length()
-				+ sizeof(u32_t) // Length of the type.
-				+ selector->get_data_length() // Length of the option name.
-				+ count_of_values*(eap_tlv_header_c::get_header_length()+sizeof(u32_t)); // Length of the option data.
-		}
-		break;
-	case eap_configure_type_subsection:
-		// No size.
-		break;
-	default:
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("ERROR: eap_process_tlv_message_data_c::get_payload_size(): Unknown type=%d=%s\n"),
-			configuration_option->get_const_type(),
-			eap_configuration_field_c::get_configure_type_string(configuration_option->get_const_type())));
-		break;
-	};
-
-	return (size_of_data);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_structured_parameter_header(
-	const eap_tlv_message_type_e type,
-	const u32_t length)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_structured_parameter_header(): type=%d=%s\n"),
-		type,
-		 get_type_string(type)));
-
-	return add_message_header(
-		type,
-		length);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_tlv_message_type_e type,
-	const u32_t integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		type,
-		 get_type_string(type)));
-
-	const u32_t network_order_integer(eap_htonl(integer));
-
-	eap_status_e status = add_message_data(
-		type,
-		sizeof(network_order_integer),
-		&network_order_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const u64_t long_integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_u64_t,
-		 get_type_string(eap_tlv_message_type_u64_t)));
-
-	const u64_t network_order_long_integer(eap_htonll(long_integer));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_u64_t,
-		sizeof(network_order_long_integer),
-		&network_order_long_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const u32_t integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_u32_t,
-		 get_type_string(eap_tlv_message_type_u32_t)));
-
-	const u32_t network_order_integer(eap_htonl(integer));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_u32_t,
-		sizeof(network_order_integer),
-		&network_order_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const u16_t short_integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_u16_t,
-		 get_type_string(eap_tlv_message_type_u16_t)));
-
-	const u16_t network_order_short_integer(eap_htons(short_integer));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_u16_t,
-		sizeof(network_order_short_integer),
-		&network_order_short_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const u8_t byte_integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_u8_t,
-		 get_type_string(eap_tlv_message_type_u8_t)));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_u8_t,
-		sizeof(byte_integer),
-		&byte_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const i32_t integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_i32_t,
-		 get_type_string(eap_tlv_message_type_i32_t)));
-
-	const i32_t network_order_integer(eap_htonl(integer));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_i32_t,
-		sizeof(network_order_integer),
-		&network_order_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const i16_t integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_i16_t,
-		 get_type_string(eap_tlv_message_type_i16_t)));
-
-	const i16_t network_order_short_integer(eap_htons(integer));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_i16_t,
-		sizeof(network_order_short_integer),
-		&network_order_short_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const i8_t byte_integer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_i8_t,
-		 get_type_string(eap_tlv_message_type_i8_t)));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_i8_t,
-		sizeof(byte_integer),
-		&byte_integer);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const bool boolean)
-{
-	const u32_t value((boolean == false) ? 0u: 1u);
-
-	return add_parameter_data(
-		eap_tlv_message_type_boolean,
-		value);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_status_e status)
-{
-	const u32_t value(static_cast<u32_t>(status));
-
-	return add_parameter_data(
-		eap_tlv_message_type_eap_status,
-		value);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eapol_key_authentication_type_e authentication_type)
-{
-	const u32_t value(static_cast<u32_t>(authentication_type));
-
-	return add_parameter_data(
-		eap_tlv_message_type_eapol_key_authentication_type,
-		value);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eapol_key_802_11_authentication_mode_e mode)
-{
-	const u32_t value(static_cast<u32_t>(mode));
-
-	return add_parameter_data(
-		eap_tlv_message_type_eapol_key_802_11_authentication_mode,
-		value);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_tlv_message_type_function_e function)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, function=%s\n"),
-		eap_tlv_message_type_function,
-		 get_type_string(eap_tlv_message_type_function),
-		 get_function_string(function)));
-
-	if (function < eap_tlv_message_type_function_none
-		|| function >= eap_tlv_message_type_function_illegal_value)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t network_order_function(eap_htonl(function));
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_function,
-		sizeof(network_order_function),
-		&network_order_function);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_variable_data_c * const variable_data)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_variable_data,
-		 get_type_string(eap_tlv_message_type_variable_data)));
-
-	if (variable_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status(eap_status_process_general_error);
-
-	if (variable_data->get_is_valid_data() == false)
-	{
-		// Empty variable data. Add just the header.
-		status = add_structured_parameter_header(
-			eap_tlv_message_type_variable_data,
-			0ul);
-	}
-	else
-	{
-		status = add_message_data(
-			eap_tlv_message_type_variable_data,
-			variable_data->get_data_length(),
-			variable_data->get_data());
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_am_network_id_c * const network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_network_id,
-		 get_type_string(eap_tlv_message_type_network_id)));
-
-	if (network_id == 0
-		|| network_id->get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t size_of_network_id = get_payload_size(network_id);
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_network_id,
-		size_of_network_id);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		network_id->get_source_id());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		network_id->get_destination_id());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		network_id->get_type());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_buf_chain_wr_c * const packet_buffer)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_variable_data,
-		 get_type_string(eap_tlv_message_type_variable_data)));
-
-	if (packet_buffer == 0
-		|| packet_buffer->get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_variable_data,
-		packet_buffer->get_data_length(),
-		packet_buffer->get_data(packet_buffer->get_data_length()));
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eapol_session_key_c * const session_key)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_session_key,
-		 get_type_string(eap_tlv_message_type_session_key)));
-
-	if (session_key == 0
-		|| session_key->get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t size_of_session_key(get_payload_size(session_key));
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_session_key,
-		size_of_session_key);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		session_key->get_key());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		session_key->get_sequence_number());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		eap_tlv_message_type_eapol_key_type,
-		static_cast<u32_t>(session_key->get_key_type()));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(session_key->get_key_index());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(session_key->get_key_tx_bit());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const abs_eap_state_notification_c * const state)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_eap_state_notification,
-		 get_type_string(eap_tlv_message_type_eap_state_notification)));
-
-	if (state == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t size_of_state(get_payload_size(state));
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_eap_state_notification,
-		size_of_state);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(state->get_send_network_id());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(
-		eap_tlv_message_type_eap_protocol_layer,
-		static_cast<u32_t>(state->get_protocol_layer()));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(state->get_protocol());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(state->get_eap_type());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(state->get_current_state());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(state->get_is_client());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = add_parameter_data(state->get_authentication_error());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_type_value_e eap_type)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_eap_type,
-		 get_type_string(eap_tlv_message_type_eap_type)));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("add_parameter_data(eap_type_value_e)"),
-		 &eap_type,
-		 sizeof(eap_type)));
-
-	void * type_buffer = 0;
-
-	eap_status_e status = allocate_message_buffer(
-		eap_tlv_message_type_eap_type,
-		eap_expanded_type_c::get_eap_expanded_type_size(),
-		&type_buffer);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = eap_expanded_type_c::write_type(
-		m_am_tools,
-		0ul, ///< Index is from 0 to n. Index 0 is the first EAP type field after base EAP header.
-		type_buffer,
-		eap_expanded_type_c::get_eap_expanded_type_size(),
-		true, ///< True value writes always Extented Type.
-		eap_type ///< The EAP type to be written.
-		);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_tlv_message_data_c::add_message_data():   type %2d=0x%08x, length %3d=0x%08x\n"),
-		 eap_tlv_message_type_eap_type,
-		 eap_tlv_message_type_eap_type,
-		 eap_expanded_type_c::get_eap_expanded_type_size(),
-		 eap_expanded_type_c::get_eap_expanded_type_size()));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("add_message_data()"),
-		type_buffer,
-		eap_expanded_type_c::get_eap_expanded_type_size()));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_general_header_base_c * const packet_data)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_variable_data,
-		 get_type_string(eap_tlv_message_type_variable_data)));
-
-	if (packet_data == 0
-		|| packet_data->get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = add_message_data(
-		eap_tlv_message_type_variable_data,
-		packet_data->get_header_buffer_length(),
-		packet_data->get_header_buffer(packet_data->get_header_buffer_length()));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_certificate_entry_c * const certificate_entry)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_eap_certificate_entry,
-		 get_type_string(eap_tlv_message_type_eap_certificate_entry)));
-
-	eap_status_e status(eap_status_not_supported);
-
-
-	const u32_t size_of_certificate(get_payload_size(certificate_entry));
-
-	status = add_structured_parameter_header(
-		eap_tlv_message_type_eap_certificate_entry,
-		size_of_certificate);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	{
-		// Specifies whether this entry describes user or CA certificate (mandatory)
-		status = add_parameter_data(static_cast<u32_t>(certificate_entry->m_CertType));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	{
-		// Subject name in distinguished name ASCII form. This is optional.
-		// For example "/C=US/O=Some organization/CN=Some common name".
-		status = add_parameter_data(certificate_entry->m_SubjectNamePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_SubjectNamePresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_SubjectName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// Issuer name in distinguished name ASCII form. This is optional.
-		// For example "/C=US/O=Some organization/CN=Some common name".
-		status = add_parameter_data(certificate_entry->m_IssuerNamePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_IssuerNamePresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_IssuerName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// Serial number in ASCII form. This is optional.
-		status = add_parameter_data(certificate_entry->m_SerialNumberPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_SerialNumberPresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_SerialNumber));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// Subject key in binary form. This is mandatory.
-		status = add_parameter_data(certificate_entry->m_SubjectKeyIDPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_SubjectKeyIDPresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_SubjectKeyID));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// Thumbprint in binary form. This is optional.
-		status = add_parameter_data(certificate_entry->m_ThumbprintPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_ThumbprintPresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_Thumbprint));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-
-	{
-		// This holds only the certificate label. This is the text UI will show.
-		status = add_parameter_data(certificate_entry->m_LabelPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_LabelPresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_Label));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// Primary name of the certificate if any, UI uses this.
-		status = add_parameter_data(certificate_entry->m_PrimaryNamePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_PrimaryNamePresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_PrimaryName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// Secondary name of the certificate if any, UI uses this.
-		status = add_parameter_data(certificate_entry->m_SecondaryNamePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_SecondaryNamePresent == true)
-		{
-			status = add_parameter_data(&(certificate_entry->m_SecondaryName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		// UI uses this to indicate enabled certificate.
-		status = add_parameter_data(certificate_entry->m_iIsEnabledPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (certificate_entry->m_iIsEnabledPresent == true)
-		{
-			status = add_parameter_data((certificate_entry->m_iIsEnabled));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_eap_method_settings,
-		 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-	eap_status_e status(eap_status_not_supported);
-
-	const u32_t size_of_settings(get_payload_size(internal_settings));
-
-	status = add_structured_parameter_header(
-		eap_tlv_message_type_eap_method_settings,
-		size_of_settings);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_completion_status\n"),
-		eap_tlv_message_type_eap_method_settings,
-		 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-	status = add_parameter_data((internal_settings->m_completion_status));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_EAPType\n"),
-		eap_tlv_message_type_eap_method_settings,
-		 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-	// Specifies the EAP-method these settings are for.
-	status = add_parameter_data(internal_settings->m_EAPType);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_IndexType\n"),
-		eap_tlv_message_type_eap_method_settings,
-		 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-	status = add_parameter_data((internal_settings->m_IndexType));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Index\n"),
-		eap_tlv_message_type_eap_method_settings,
-		 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-	status = add_parameter_data((internal_settings->m_Index));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticCACertificatePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Use automatic CA certificate.
-		status = add_parameter_data(internal_settings->m_UseAutomaticCACertificatePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseAutomaticCACertificatePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticCACertificate\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_UseAutomaticCACertificate));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticUsernamePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Use automatic username.
-		status = add_parameter_data(internal_settings->m_UseAutomaticUsernamePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseAutomaticUsernamePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticUsername\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_UseAutomaticUsername));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticRealmPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Use automatic username.
-		status = add_parameter_data(internal_settings->m_UseAutomaticRealmPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseAutomaticRealmPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticRealm\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_UseAutomaticRealm));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UsernamePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Username in ASCII format
-		status = add_parameter_data(internal_settings->m_UsernamePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UsernamePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Username_fix\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_Username_fix));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PasswordExistPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Password existence
-		status = add_parameter_data(internal_settings->m_PasswordExistPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PasswordExistPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PasswordExist\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(internal_settings->m_PasswordExist);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PasswordPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Password in ASCII format
-		status = add_parameter_data(internal_settings->m_PasswordPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PasswordPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Password\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_Password));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_RealmPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Realm in ASCII format
-		status = add_parameter_data(internal_settings->m_RealmPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_RealmPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Realm\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_Realm));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UsePseudonymsPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Use pseudonym identities in EAP-SIM/AKA
-		status = add_parameter_data(internal_settings->m_UsePseudonymsPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UsePseudonymsPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UsePseudonyms\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_UsePseudonyms));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_VerifyServerRealmPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether EAP-TLS/TTLS/PEAP should verify server realm
-		status = add_parameter_data(internal_settings->m_VerifyServerRealmPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_VerifyServerRealmPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_VerifyServerRealm\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_VerifyServerRealm));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_RequireClientAuthenticationPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether EAP-TLS/TTLS/PEAP should require client authentication
-		status = add_parameter_data(internal_settings->m_RequireClientAuthenticationPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_RequireClientAuthenticationPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_RequireClientAuthentication\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_RequireClientAuthentication));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_SessionValidityTimePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// General session validity time (in minutes)
-		status = add_parameter_data(internal_settings->m_SessionValidityTimePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_SessionValidityTimePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_SessionValidityTime\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_SessionValidityTime));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_CipherSuitesPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// An array of allowed cipher suites for EAP-TLS/TTLS/PEAP.
-		// Refer to RFC2246 chapter A.5 for the values.
-		status = add_parameter_data(internal_settings->m_CipherSuitesPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_CipherSuitesPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_CipherSuites\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_CipherSuites));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPVersionsPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Which EAP-PEAP versions are allowed
-		status = add_parameter_data(internal_settings->m_PEAPVersionsPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PEAPVersionsPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPv0Allowed\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_PEAPv0Allowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPv1Allowed\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_PEAPv1Allowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPv2Allowed\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_PEAPv2Allowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_CertificatesPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-  		// Array listing the allowed certificates for EAP-TLS/TTLS/PEAP.
-  		// Subject key ID and Certificate type are the only mandatory certificate
-  		// details needed at the moment.
-		status = add_parameter_data(internal_settings->m_CertificatesPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_CertificatesPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Certificates\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_Certificates));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypesPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Array listing the enabled encapsulated EAP types (in priority order).
-		// Use EAP type values from eap_type_value_e.
-		status = add_parameter_data(internal_settings->m_EnabledEncapsulatedEAPTypesPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypes\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_EnabledEncapsulatedEAPTypes));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypesPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Array listing the disabled encapsulated EAP types (in priority order).
-		// Use EAP type values from eap_type_value_e.
-		status = add_parameter_data(internal_settings->m_DisabledEncapsulatedEAPTypesPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypes\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_DisabledEncapsulatedEAPTypes));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_AuthProvModeAllowedPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether Authenticated provisioning mode allowed or not in EAP-FAST.
-		status = add_parameter_data(internal_settings->m_AuthProvModeAllowedPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_AuthProvModeAllowedPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_AuthProvModeAllowed\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_AuthProvModeAllowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UnauthProvModeAllowedPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether Unauthenticated provisioning mode allowed or not in EAP-FAST.
-		status = add_parameter_data(internal_settings->m_UnauthProvModeAllowedPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UnauthProvModeAllowedPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UnauthProvModeAllowed\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_UnauthProvModeAllowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PACGroupReferencePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// PAC group reference in ASCII format for EAP-FAST.
-		status = add_parameter_data(internal_settings->m_PACGroupReferencePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PACGroupReferencePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PACGroupReference\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_PACGroupReference));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoPACPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether to Warn (or Prompt) for ADHP (Authenticated Diffie-Hellman Protocol)
-		// auto-provisioning when there is no PAC at all. EAP-FAST specific.
-		status = add_parameter_data(internal_settings->m_WarnADHPNoPACPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_WarnADHPNoPACPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoPAC\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_WarnADHPNoPAC));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPACPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether to Warn (or Prompt) for ADHP auto-provisioning when
-		// there is no PAC that matches the A-ID sent by server. EAP-FAST specific.
-		status = add_parameter_data(internal_settings->m_WarnADHPNoMatchingPACPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_WarnADHPNoMatchingPACPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPAC\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_WarnADHPNoMatchingPAC));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnNotDefaultServerPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether to Warn (or Prompt) when client encouters a server that has provisioned
-		// the client with a PAC before but is not currently selected as the default server.
-		// EAP-FAST specific.
-		status = add_parameter_data(internal_settings->m_WarnNotDefaultServerPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_WarnNotDefaultServerPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnNotDefaultServer\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_WarnNotDefaultServer));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_SelectedEAPTypesPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Array listing the active and disabled EAP types (in priority order).
-		// Use EAP type values from eap_type_value_e.
-		status = add_parameter_data(internal_settings->m_SelectedEAPTypesPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_SelectedEAPTypesPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_active_eap_methods\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_active_eap_methods));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_disabled_eap_methods\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_disabled_eap_methods));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_TunnelingTypePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		status = add_parameter_data(internal_settings->m_TunnelingTypePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_TunnelingTypePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_TunnelingType\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_TunnelingType));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DestinationIndexAndTypePresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		status = add_parameter_data(internal_settings->m_DestinationIndexAndTypePresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_DestinationIndexAndTypePresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DestinationIndexType\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_DestinationIndexType));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DestinationIndex\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_DestinationIndex));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_MethodInfoPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		status = add_parameter_data(internal_settings->m_MethodInfoPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_MethodInfoPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_KReleaseDate\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_KReleaseDate));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_KEapTypeVersion\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_KEapTypeVersion));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_KManufacturer\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data(&(internal_settings->m_KManufacturer));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ButtonIdPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		status = add_parameter_data(internal_settings->m_ButtonIdPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_ButtonIdPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ButtonId\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_ButtonId));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ShowPassWordPromptPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether to show (or Prompt) password.
-		status = add_parameter_data(internal_settings->m_ShowPassWordPromptPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_ShowPassWordPromptPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ShowPassWordPrompt\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_ShowPassWordPrompt));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseIdentityPrivacyPresent\n"),
-			eap_tlv_message_type_eap_method_settings,
-			 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-		// Whether to show (or Prompt) password.
-		status = add_parameter_data(internal_settings->m_UseIdentityPrivacyPresent);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseIdentityPrivacyPresent == true)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseIdentityPrivacy\n"),
-				eap_tlv_message_type_eap_method_settings,
-				 get_type_string(eap_tlv_message_type_eap_method_settings)));
-
-			status = add_parameter_data((internal_settings->m_UseIdentityPrivacy));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): array type=%d=%s\n"),
-		eap_tlv_message_type_u16_t,
-		 get_type_string(eap_tlv_message_type_u16_t)));
-
-	if (ushort_array == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t size_of_ushort_array(get_payload_size(ushort_array));
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_array,
-		size_of_ushort_array);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind = 0ul; ind < ushort_array->get_object_count(); ind++)
-	{
-		const u16_t * const value = ushort_array->get_object(ind);
-		if (value != 0)
-		{
-			status = add_parameter_data(*value);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): array type=%d=%s\n"),
-		eap_tlv_message_type_eap_certificate_entry,
-		 get_type_string(eap_tlv_message_type_eap_certificate_entry)));
-
-	if (cert_array == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t size_of_cert_array(get_payload_size(cert_array));
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_array,
-		size_of_cert_array);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind = 0ul; ind < cert_array->get_object_count(); ind++)
-	{
-		const eap_certificate_entry_c * const value = cert_array->get_object(ind);
-		if (value != 0)
-		{
-			status = add_parameter_data(value);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): array type=%d=%s\n"),
-		eap_tlv_message_type_protected_setup_credential,
-		 get_type_string(eap_tlv_message_type_protected_setup_credential)));
-
-	if (credential_array == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const u32_t size_of_credential_array(get_payload_size(credential_array));
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_array,
-		size_of_credential_array);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++)
-	{
-		simple_config_credential_c * const credential = credential_array->get_object(ind_credential);
-		if (credential != 0)
-		{
-			const u32_t size_of_credential(get_payload_size(credential));
-
-			eap_status_e status = add_structured_parameter_header(
-				eap_tlv_message_type_protected_setup_credential,
-				size_of_credential);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = add_parameter_data(credential->get_network_index());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = add_parameter_data(credential->get_SSID());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = add_parameter_data(static_cast<u16_t>(credential->get_Authentication_Type()));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			status = add_parameter_data(static_cast<u16_t>(credential->get_Encryption_Type()));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			const u32_t size_of_network_key_array(get_payload_size(credential->get_network_keys()));
-
-			status = add_structured_parameter_header(
-				eap_tlv_message_type_array,
-				size_of_network_key_array);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			for (u32_t ind_network_key = 0ul; ind_network_key < credential->get_network_keys()->get_object_count(); ind_network_key++)
-			{
-				network_key_and_index_c * const network_key = credential->get_network_keys()->get_object(ind_network_key);
-				if (network_key != 0)
-				{
-					const u32_t size_of_network_key(get_payload_size(network_key));
-
-					status = add_structured_parameter_header(
-						eap_tlv_message_type_network_key,
-						size_of_network_key);
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-						return EAP_STATUS_RETURN(m_am_tools, status);
-					}
-
-					status = add_parameter_data(network_key->get_network_key_index());
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-						return EAP_STATUS_RETURN(m_am_tools, status);
-					}
-
-					status = add_parameter_data(network_key->get_network_key());
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-						return EAP_STATUS_RETURN(m_am_tools, status);
-					}
-				}
-			} // for ()
-
-			status = add_parameter_data(credential->get_MAC_address());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	} // for ()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	const eap_variable_data_c * const selector,
-	const eap_config_value_c * const configuration_option)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"),
-		eap_tlv_message_type_variable_data,
-		 get_type_string(eap_tlv_message_type_variable_data)));
-
-	if (selector == 0
-		|| selector->get_is_valid_data() == false
-		|| configuration_option == 0
-		|| configuration_option->get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status(eap_status_ok);
-
-	u32_t size_of_data = get_payload_size(
-		selector,
-		configuration_option);
-
-	if (size_of_data > 0ul)
-	{
-		status = add_structured_parameter_header(
-				eap_tlv_message_type_configuration_option,
-				size_of_data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = add_parameter_data(static_cast<u32_t>(configuration_option->get_const_type()));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = add_parameter_data(selector);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-
-		switch(configuration_option->get_const_type())
-		{
-		case eap_configure_type_string:
-		case eap_configure_type_hex_data:
-			status = add_parameter_data(configuration_option->get_const_data());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-			break;
-		case eap_configure_type_u32_t:
-		case eap_configure_type_boolean:
-			{
-				const u32_t * value = reinterpret_cast<const u32_t *>(configuration_option->get_const_data()->get_data(sizeof(u32_t)));
-				if (value != 0)
-				{
-					status = add_parameter_data(*value);
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-						return EAP_STATUS_RETURN(m_am_tools, status);
-					}
-				}
-			}
-			break;
-		case eap_configure_type_u32array:
-			{
-				const u32_t count_of_values = configuration_option->get_const_data()->get_data_length() / sizeof(u32_t);
-				const u32_t * value = reinterpret_cast<const u32_t *>(configuration_option->get_const_data()->get_data(sizeof(u32_t)));
-				if (value != 0)
-				{
-					status = add_structured_parameter_header(
-							eap_tlv_message_type_array,
-							count_of_values*(eap_tlv_header_c::get_header_length()+sizeof(u32_t)));
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-						return EAP_STATUS_RETURN(m_am_tools, status);
-					}
-
-					for (u32_t ind = 0ul; ind < count_of_values; ++ind)
-					{
-						status = add_parameter_data(value[ind]);
-						if (status != eap_status_ok)
-						{
-							EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-							return EAP_STATUS_RETURN(m_am_tools, status);
-						}
-					}
-				}
-			}
-			break;
-		default:
-			break;
-		};
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	u64_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u64_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-		!= eap_tlv_message_type_u64_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(u64_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value =
-		eap_read_u64_t_network_order(
-			data,
-			sizeof(u64_t));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	u32_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u32_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_boolean
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eap_protocol_layer
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eapol_key_802_11_authentication_mode
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eapol_key_authentication_type
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eapol_key_type
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eapol_tkip_mic_failure_type
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eapol_wlan_authentication_state
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_error
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_function
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_RSNA_cipher
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_u32_t
-		&& static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-			!= eap_tlv_message_type_eap_status
-			)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(u32_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value =
-		eap_read_u32_t_network_order(
-			data,
-			sizeof(u32_t));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	u16_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u16_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-		!= eap_tlv_message_type_u16_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(u16_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value =
-		eap_read_u16_t_network_order(
-			data,
-			sizeof(u16_t));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	u8_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u8_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-		!= eap_tlv_message_type_u8_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(u8_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value = *data;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	i32_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u8_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-		!= eap_tlv_message_type_i32_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(i32_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value = static_cast<i32_t>(eap_read_u32_t_network_order(
-			data,
-			sizeof(i32_t)));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	i16_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u8_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-		!= eap_tlv_message_type_i16_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(i16_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value = static_cast<i16_t>(eap_read_u16_t_network_order(
-			data,
-			sizeof(i16_t)));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const integer_header,
-	i8_t * const value)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		integer_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(integer_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(u8_t *)"),
-		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
-		integer_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(integer_header->get_type())
-		!= eap_tlv_message_type_i8_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	const u8_t * const data = integer_header->get_value(sizeof(i8_t));
-	if (data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	*value = static_cast<i8_t>(*data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const function_header,
-	eap_tlv_message_type_function_e * const function)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		function_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(function_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_tlv_message_type_function_e *)"),
-		function_header->get_header_buffer(function_header->get_header_buffer_length()),
-		function_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(function_header->get_type())
-		!= eap_tlv_message_type_function)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	u32_t host_order(0ul);
-
-	eap_status_e status = get_parameter_data(
-		function_header,
-		&host_order);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	*function = static_cast<eap_tlv_message_type_function_e>(host_order);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, function=%s\n"),
-		eap_tlv_message_type_function,
-		 get_type_string(eap_tlv_message_type_function),
-		 get_function_string(*function)
-		 ));
-
-	if (*function < eap_tlv_message_type_function_none
-		|| eap_tlv_message_type_function_illegal_value <= *function)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const network_id_header,
-	eap_am_network_id_c * const new_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		network_id_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(network_id_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_am_network_id_c *)"),
-		network_id_header->get_header_buffer(network_id_header->get_header_buffer_length()),
-		network_id_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(network_id_header->get_type())
-		!= eap_tlv_message_type_network_id)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c network_id_data(m_am_tools);
-
-	if (network_id_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = network_id_data.set_message_data(
-		network_id_header->get_value_length(),
-		network_id_header->get_value(network_id_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> network_id_members(m_am_tools);
-
-	status = network_id_data.parse_message_data(&network_id_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	u32_t member_index(0ul);
-
-	eap_variable_data_c source_id(
-		m_am_tools);
-
-	if (source_id.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	{
-		const eap_tlv_header_c * const source_id_header = network_id_members.get_object(member_index);
-		if (source_id_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = network_id_data.get_parameter_data(source_id_header, &source_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	++member_index;
-
-	eap_variable_data_c destination_id(
-		m_am_tools);
-
-	if (destination_id.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	{
-		const eap_tlv_header_c * const destination_id_header = network_id_members.get_object(member_index);
-		if (destination_id_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = network_id_data.get_parameter_data(destination_id_header, &destination_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	++member_index;
-
-	u16_t type_value(0ul);
-
-	{
-		const eap_tlv_header_c * const type_header = network_id_members.get_object(member_index);
-		if (type_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = network_id_data.get_parameter_data(type_header, &type_value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	status = new_network_id->set_copy_of_am_network_id(
-		source_id.get_data(),
-		source_id.get_data_length(),
-		destination_id.get_data(),
-		destination_id.get_data_length(),
-		type_value);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const variable_data_header,
-	eap_variable_data_c * const variable_data)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		variable_data_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(variable_data_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_variable_data_c *)"),
-		variable_data_header->get_header_buffer(variable_data_header->get_header_buffer_length()),
-		variable_data_header->get_header_buffer_length()));
-
-	if (variable_data == 0
-		|| variable_data->get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	if (static_cast<eap_tlv_message_type_e>(variable_data_header->get_type())
-		!= eap_tlv_message_type_variable_data)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_status_e status = variable_data->set_copy_of_buffer(
-		variable_data_header->get_value(variable_data_header->get_value_length()),
-		variable_data_header->get_value_length());
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const session_key_header,
-		eapol_session_key_c * const session_key)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		session_key_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(session_key_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eapol_session_key_c *)"),
-		session_key_header->get_header_buffer(session_key_header->get_header_buffer_length()),
-		session_key_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(session_key_header->get_type())
-		!= eap_tlv_message_type_session_key)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c session_key_data(m_am_tools);
-
-	if (session_key_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = session_key_data.set_message_data(
-		session_key_header->get_value_length(),
-		session_key_header->get_value(session_key_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> session_key_members(m_am_tools);
-
-	status = session_key_data.parse_message_data(&session_key_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	u32_t member_index(0ul);
-
-	{
-		const eap_tlv_header_c * const a_session_key_header = session_key_members.get_object(member_index);
-		if (a_session_key_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		eap_variable_data_c key(
-			m_am_tools);
-
-		if (key.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = session_key_data.get_parameter_data(a_session_key_header, &key);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = session_key->set_key(&key);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	++member_index;
-
-	{
-		const eap_tlv_header_c * const sequence_number_header = session_key_members.get_object(member_index);
-		if (sequence_number_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		eap_variable_data_c sequence_number(
-			m_am_tools);
-
-		if (sequence_number.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		status = session_key_data.get_parameter_data(sequence_number_header, &sequence_number);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = session_key->set_sequence_number(&sequence_number);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	++member_index;
-
-	{
-		const eap_tlv_header_c * const key_type_header = session_key_members.get_object(member_index);
-		if (key_type_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		u32_t value(0ul);
-
-		status = session_key_data.get_parameter_data(key_type_header, &value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		session_key->set_key_type(static_cast<eapol_key_type_e>(value));
-	}
-
-	++member_index;
-
-	{
-		const eap_tlv_header_c * const key_index_header = session_key_members.get_object(member_index);
-		if (key_index_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		u32_t value(0ul);
-
-		status = session_key_data.get_parameter_data(key_index_header, &value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		session_key->set_key_index(value);
-	}
-
-	++member_index;
-
-	{
-		const eap_tlv_header_c * const key_tx_bit_header = session_key_members.get_object(member_index);
-		if (key_tx_bit_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		u32_t value(0ul);
-
-		status = session_key_data.get_parameter_data(key_tx_bit_header, &value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		session_key->set_key_tx_bit((value == 0) ? false : true);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const state_header,
-	eap_state_notification_c * * const state)
-
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		state_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(state_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_state_notification_c *)"),
-		state_header->get_header_buffer(state_header->get_header_buffer_length()),
-		state_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(state_header->get_type())
-		!= eap_tlv_message_type_eap_state_notification)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c session_key_data(m_am_tools);
-
-	if (session_key_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = session_key_data.set_message_data(
-		state_header->get_value_length(),
-		state_header->get_value(state_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> session_key_members(m_am_tools);
-
-	status = session_key_data.parse_message_data(&session_key_members);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	u32_t member_index(0ul);
-
-	eap_am_network_id_c send_network_id(m_am_tools);
-
-	{
-		const eap_tlv_header_c * const send_network_id_header = session_key_members.get_object(member_index);
-		if (send_network_id_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = get_parameter_data(send_network_id_header, &send_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	++member_index;
-
-	eap_protocol_layer_e protocol_layer(eap_protocol_layer_none);
-
-	{
-		const eap_tlv_header_c * const protocol_layer_header = session_key_members.get_object(member_index);
-		if (protocol_layer_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		u32_t value(0ul);
-
-		status = session_key_data.get_parameter_data(protocol_layer_header, &value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		protocol_layer = static_cast<eap_protocol_layer_e>(value);
-	}
-
-
-	++member_index;
-
-	u32_t protocol(0ul);
-
-	{
-		const eap_tlv_header_c * const protocol_header = session_key_members.get_object(member_index);
-		if (protocol_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = session_key_data.get_parameter_data(protocol_header, &protocol);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	++member_index;
-
-	eap_type_value_e eap_type(eap_type_none);
-
-	{
-		const eap_tlv_header_c * const eap_type_header = session_key_members.get_object(member_index);
-		if (eap_type_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = session_key_data.get_parameter_data(eap_type_header, &eap_type);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	++member_index;
-
-	u32_t current_state(0ul);
-
-	{
-		const eap_tlv_header_c * const current_state_header = session_key_members.get_object(member_index);
-		if (current_state_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = session_key_data.get_parameter_data(current_state_header, &current_state);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-
-	++member_index;
-
-	bool is_client(true);
-
-	{
-		const eap_tlv_header_c * const is_client_header = session_key_members.get_object(member_index);
-		if (is_client_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		u32_t value(0ul);
-
-		status = session_key_data.get_parameter_data(is_client_header, &value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		is_client = (value == 0ul) ? false : true;
-	}
-
-
-	++member_index;
-
-	eap_status_e authentication_error(eap_status_ok);
-
-	{
-		const eap_tlv_header_c * const authentication_error_header = session_key_members.get_object(member_index);
-		if (authentication_error_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		u32_t value(0ul);
-
-		status = session_key_data.get_parameter_data(authentication_error_header, &value);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		authentication_error = static_cast<eap_status_e>(value);
-	}
-
-	if (eap_type != eap_type_none)
-	{
-		*state = new eap_state_notification_c(
-			m_am_tools,
-			&send_network_id,
-			is_client,
-			eap_state_notification_eap,
-			protocol_layer,
-			eap_type,
-			current_state,
-			current_state,
-			0ul,
-			false);
-	}
-	else
-	{
-
-
-		*state = new eap_state_notification_c(
-			m_am_tools,
-			&send_network_id,
-			is_client,
-			eap_state_notification_generic,
-			protocol_layer,
-			protocol,
-			current_state,
-			current_state,
-			0ul,
-			false);
-	}
-
-	if ((*state) == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	(*state)->set_authentication_error(authentication_error);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const eap_type_header,
-	eap_type_value_e * const eap_type)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		eap_type_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(eap_type_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_type_value_e *)"),
-		eap_type_header->get_header_buffer(eap_type_header->get_header_buffer_length()),
-		eap_type_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(eap_type_header->get_type())
-		!= eap_tlv_message_type_eap_type)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_status_e status = eap_expanded_type_c::read_type(
-		m_am_tools,
-		0ul,
-		eap_type_header->get_value(eap_type_header->get_value_length()),
-		eap_type_header->get_value_length(),
-		eap_type);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const settings_header,
-	eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		settings_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_method_settings_c *)"),
-		settings_header->get_header_buffer(settings_header->get_header_buffer_length()),
-		settings_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(settings_header->get_type())
-		!= eap_tlv_message_type_eap_method_settings)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c settings_data(m_am_tools);
-
-	if (settings_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = settings_data.set_message_data(
-		settings_header->get_value_length(),
-		settings_header->get_value(settings_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> settings_members(m_am_tools);
-
-	status = settings_data.parse_message_data(&settings_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	u32_t member_index(0ul);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_completion_status\n"),
-		settings_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-	status = read_parameter_data(
-		&settings_members,
-		member_index,
-		eap_tlv_message_type_eap_status,
-		&(internal_settings->m_completion_status));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	++member_index;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_EAPType\n"),
-		settings_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-	status = read_parameter_data(
-		&settings_members,
-		member_index,
-		&(internal_settings->m_EAPType));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	++member_index;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_IndexType\n"),
-		settings_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-	status = read_parameter_data(
-		&settings_members,
-		member_index,
-		&(internal_settings->m_IndexType));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	++member_index;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Index\n"),
-		settings_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-	status = read_parameter_data(
-		&settings_members,
-		member_index,
-		&(internal_settings->m_Index));
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticCACertificatePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Use automatic CA certificate.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UseAutomaticCACertificatePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseAutomaticCACertificatePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticCACertificate\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_UseAutomaticCACertificate));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticUsernamePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Use automatic username.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UseAutomaticUsernamePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseAutomaticUsernamePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticUsername\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_UseAutomaticUsername));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticRealmPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Use automatic username.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UseAutomaticRealmPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseAutomaticRealmPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticRealm\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_UseAutomaticRealm));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UsernamePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Username in ASCII format
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UsernamePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UsernamePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Username_fix\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_Username_fix));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PasswordExistPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Password existence
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_PasswordExistPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PasswordExistPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PasswordExist\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_PasswordExist));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PasswordPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Password in ASCII format
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_PasswordPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PasswordPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Password\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_Password));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_RealmPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Realm in ASCII format
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_RealmPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_RealmPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Realm\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_Realm));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UsePseudonymsPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Use pseudonym identities in EAP-SIM/AKA
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UsePseudonymsPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UsePseudonymsPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UsePseudonyms\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_UsePseudonyms));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_VerifyServerRealmPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether EAP-TLS/TTLS/PEAP should verify server realm
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_VerifyServerRealmPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_VerifyServerRealmPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_VerifyServerRealm\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_VerifyServerRealm));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_RequireClientAuthenticationPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether EAP-TLS/TTLS/PEAP should require client authentication
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_RequireClientAuthenticationPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_RequireClientAuthenticationPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_RequireClientAuthentication\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_RequireClientAuthentication));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_SessionValidityTimePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// General session validity time (in minutes)
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_SessionValidityTimePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_SessionValidityTimePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_SessionValidityTime\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_SessionValidityTime));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_CipherSuitesPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// An array of allowed cipher suites for EAP-TLS/TTLS/PEAP.
-		// Refer to RFC2246 chapter A.5 for the values.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_CipherSuitesPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_CipherSuitesPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_CipherSuites\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_CipherSuites));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPVersionsPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Which EAP-PEAP versions are allowed
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_PEAPVersionsPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PEAPVersionsPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPv0Allowed\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_PEAPv0Allowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPv1Allowed\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_PEAPv1Allowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPv2Allowed\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_PEAPv2Allowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_CertificatesPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-  		// Array listing the allowed certificates for EAP-TLS/TTLS/PEAP.
-  		// Subject key ID and Certificate type are the only mandatory certificate
-  		// details needed at the moment.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_CertificatesPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_CertificatesPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Certificates\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_Certificates));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypesPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Array listing the encapsulated EAP types (in priority order).
-		// Use EAP type values from eap_type_value_e.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_EnabledEncapsulatedEAPTypesPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypes\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_EnabledEncapsulatedEAPTypes));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypesPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Array listing the encapsulated EAP types (in priority order).
-		// Use EAP type values from eap_type_value_e.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_DisabledEncapsulatedEAPTypesPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypes\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_DisabledEncapsulatedEAPTypes));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_AuthProvModeAllowedPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether Authenticated provisioning mode allowed or not in EAP-FAST.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_AuthProvModeAllowedPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_AuthProvModeAllowedPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_AuthProvModeAllowed\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_AuthProvModeAllowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UnauthProvModeAllowedPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether Unauthenticated provisioning mode allowed or not in EAP-FAST.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UnauthProvModeAllowedPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UnauthProvModeAllowedPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UnauthProvModeAllowed\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_UnauthProvModeAllowed));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PACGroupReferencePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// PAC group reference in ASCII format for EAP-FAST.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_PACGroupReferencePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_PACGroupReferencePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PACGroupReference\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_PACGroupReference));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoPACPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether to Warn (or Prompt) for ADHP (Authenticated Diffie-Hellman Protocol)
-		// auto-provisioning when there is no PAC at all. EAP-FAST specific.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_WarnADHPNoPACPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_WarnADHPNoPACPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoPAC\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_WarnADHPNoPAC));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPACPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether to Warn (or Prompt) for ADHP auto-provisioning when
-		// there is no PAC that matches the A-ID sent by server. EAP-FAST specific.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_WarnADHPNoMatchingPACPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_WarnADHPNoMatchingPACPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPAC\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_WarnADHPNoMatchingPAC));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnNotDefaultServerPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Whether to Warn (or Prompt) when client encouters a server that has provisioned
-		// the client with a PAC before but is not currently selected as the default server.
-		// EAP-FAST specific.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_WarnNotDefaultServerPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_WarnNotDefaultServerPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnNotDefaultServer\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_WarnNotDefaultServer));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_SelectedEAPTypesPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		// Array listing the active and disabled EAP types (in priority order).
-		// Use EAP type values from eap_type_value_e.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_SelectedEAPTypesPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_SelectedEAPTypesPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_active_eap_methods\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_active_eap_methods));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_disabled_eap_methods\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_disabled_eap_methods));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_TunnelingTypePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_TunnelingTypePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_TunnelingTypePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_TunnelingType\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_TunnelingType));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DestinationIndexAndTypePresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_DestinationIndexAndTypePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_DestinationIndexAndTypePresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DestinationIndexType\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_DestinationIndexType));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DestinationIndex\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_DestinationIndex));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_MethodInfoPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_MethodInfoPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_MethodInfoPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_KReleaseDate\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_KReleaseDate));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_KEapTypeVersion\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_KEapTypeVersion));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_KManufacturer\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_KManufacturer));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ButtonIdPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_ButtonIdPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_ButtonIdPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ButtonId\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_ButtonId));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ShowPassWordPromptPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_ShowPassWordPromptPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_ShowPassWordPromptPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ShowPassWordPrompt\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_ShowPassWordPrompt));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			EAP_TRACE_FLAGS_MESSAGE_DATA,
-			(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseIdentityPrivacyPresent\n"),
-			settings_header->get_type(),
-			 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(internal_settings->m_UseIdentityPrivacyPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (internal_settings->m_UseIdentityPrivacyPresent == true)
-		{
-			++member_index;
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				EAP_TRACE_FLAGS_MESSAGE_DATA,
-				(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseIdentityPrivacy\n"),
-				settings_header->get_type(),
-				 get_type_string(static_cast<eap_tlv_message_type_e>(settings_header->get_type()))));
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(internal_settings->m_UseIdentityPrivacy));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const cert_entry_header,
-	eap_certificate_entry_c * const cert_entry)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		cert_entry_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(cert_entry_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_certificate_entry_c *)"),
-		cert_entry_header->get_header_buffer(cert_entry_header->get_header_buffer_length()),
-		cert_entry_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(cert_entry_header->get_type())
-		!= eap_tlv_message_type_eap_certificate_entry)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c settings_data(m_am_tools);
-
-	if (settings_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = settings_data.set_message_data(
-		cert_entry_header->get_value_length(),
-		cert_entry_header->get_value(cert_entry_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> settings_members(m_am_tools);
-
-	status = settings_data.parse_message_data(&settings_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	u32_t member_index(0ul);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
-		// Specifies whether this entry describes user or CA certificate (mandatory)
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_CertType));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	++member_index;
-
-	{
-		// Subject name in distinguished name ASCII form. This is optional.
-		// For example "/C=US/O=Some organization/CN=Some common name".
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_SubjectNamePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_SubjectNamePresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_SubjectName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// Issuer name in distinguished name ASCII form. This is optional.
-		// For example "/C=US/O=Some organization/CN=Some common name".
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_IssuerNamePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_IssuerNamePresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_IssuerName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// Serial number in ASCII form. This is optional.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_SerialNumberPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_SerialNumberPresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_SerialNumber));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// Subject key in binary form. This is mandatory.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_SubjectKeyIDPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_SubjectKeyIDPresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_SubjectKeyID));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// Subject key in binary form. This is mandatory.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_ThumbprintPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_ThumbprintPresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_Thumbprint));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// This holds only the certificate label. This is the text UI will show.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_LabelPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_LabelPresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_Label));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// Primary name of the certificate if any, UI uses this.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_PrimaryNamePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_PrimaryNamePresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_PrimaryName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// Secondary name of the certificate if any, UI uses this.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_SecondaryNamePresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_SecondaryNamePresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_SecondaryName));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	++member_index;
-
-	{
-		// UI uses this to indicate enabled certificate.
-		status = read_parameter_data(
-			&settings_members,
-			member_index,
-			&(cert_entry->m_iIsEnabledPresent));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		if (cert_entry->m_iIsEnabledPresent == true)
-		{
-			++member_index;
-
-			status = read_parameter_data(
-				&settings_members,
-				member_index,
-				&(cert_entry->m_iIsEnabled));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const ushort_array_header,
-	eap_array_c<u16_t> * const ushort_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		ushort_array_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(ushort_array_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_array_c<u16_t> *)"),
-		ushort_array_header->get_header_buffer(ushort_array_header->get_header_buffer_length()),
-		ushort_array_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(ushort_array_header->get_type())
-		!= eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c ushort_array_data(m_am_tools);
-
-	if (ushort_array_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = ushort_array_data.set_message_data(
-		ushort_array_header->get_value_length(),
-		ushort_array_header->get_value(ushort_array_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> ushort_array_members(m_am_tools);
-
-	status = ushort_array_data.parse_message_data(&ushort_array_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind_member = 0ul; ind_member < ushort_array_members.get_object_count(); ind_member++)
-	{
-		u16_t * const ushort_value = new u16_t;
-
-		eap_automatic_variable_c<u16_t> automatic_ushort_value(m_am_tools, ushort_value);
-
-		if (ushort_value == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		{
-			const eap_tlv_header_c * const ushort_header = ushort_array_members.get_object(ind_member);
-			if (ushort_header == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-			}
-
-			status = ushort_array_data.get_parameter_data(ushort_header, ushort_value);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			automatic_ushort_value.do_not_free_variable();
-
-			status = ushort_array->add_object(ushort_value, true);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	} // for ()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size(
-	EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array) const
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_payload_size(eap_array_c<eap_type_value_e> * )\n")));
-
-	u32_t size = eap_type_array->get_object_count()
-				* (eap_tlv_header_c::get_header_length()
-					+ eap_expanded_type_c::get_eap_expanded_type_size()); // Size of eap_type_value_e
-
-	return (size);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::add_parameter_data(eap_array_c<eap_type_value_e> * )\n")));
-
-	const u32_t size_of_eap_type_array(get_payload_size(eap_type_array));
-
-	eap_status_e status = add_structured_parameter_header(
-		eap_tlv_message_type_array,
-		size_of_eap_type_array);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	for (u32_t ind = 0ul; ind < eap_type_array->get_object_count(); ind++)
-	{
-		const eap_type_value_e * const value = eap_type_array->get_object(ind);
-		if (value != 0)
-		{
-			status = add_parameter_data(*value);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const eap_type_array_header,
-	eap_array_c<eap_type_value_e> * const eap_type_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		eap_type_array_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(eap_type_array_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_array_c<eap_type_value_e> *)"),
-		eap_type_array_header->get_header_buffer(eap_type_array_header->get_header_buffer_length()),
-		eap_type_array_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(eap_type_array_header->get_type())
-		!= eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c ushort_array_data(m_am_tools);
-
-	if (ushort_array_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = ushort_array_data.set_message_data(
-		eap_type_array_header->get_value_length(),
-		eap_type_array_header->get_value(eap_type_array_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> ushort_array_members(m_am_tools);
-
-	status = ushort_array_data.parse_message_data(&ushort_array_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind_member = 0ul; ind_member < ushort_array_members.get_object_count(); ind_member++)
-	{
-		eap_type_value_e * const eap_type_value = new eap_type_value_e();
-
-		eap_automatic_variable_c<eap_type_value_e> automatic_eap_type_value(m_am_tools, eap_type_value);
-
-		if (eap_type_value == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		{
-			const eap_tlv_header_c * const eap_type_value_header = ushort_array_members.get_object(ind_member);
-			if (eap_type_value_header == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-			}
-
-			status = ushort_array_data.get_parameter_data(eap_type_value_header, eap_type_value);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			automatic_eap_type_value.do_not_free_variable();
-
-			status = eap_type_array->add_object(eap_type_value, true);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	} // for ()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const cert_array_header,
-	eap_array_c<eap_certificate_entry_c> * const cert_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		cert_array_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(cert_array_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_array_c<eap_certificate_entry_c> *)"),
-		cert_array_header->get_header_buffer(cert_array_header->get_header_buffer_length()),
-		cert_array_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(cert_array_header->get_type())
-		!= eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c cert_array_data(m_am_tools);
-
-	if (cert_array_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = cert_array_data.set_message_data(
-		cert_array_header->get_value_length(),
-		cert_array_header->get_value(cert_array_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> cert_array_members(m_am_tools);
-
-	status = cert_array_data.parse_message_data(&cert_array_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind_member = 0ul; ind_member < cert_array_members.get_object_count(); ind_member++)
-	{
-		eap_certificate_entry_c * const cert_entry = new eap_certificate_entry_c(m_am_tools);
-
-		eap_automatic_variable_c<eap_certificate_entry_c> automatic_cert_entry(m_am_tools, cert_entry);
-
-		if (cert_entry == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		{
-			const eap_tlv_header_c * const cert_entry_header = cert_array_members.get_object(ind_member);
-			if (cert_entry_header == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-			}
-
-			status = cert_array_data.get_parameter_data(cert_entry_header, cert_entry);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			automatic_cert_entry.do_not_free_variable();
-
-			status = cert_array->add_object(cert_entry, true);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	} // for ()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const network_key_header,
-	network_key_and_index_c * const network_key)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		network_key_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(network_key_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(network_key_and_index_c *)"),
-		network_key_header->get_header_buffer(network_key_header->get_header_buffer_length()),
-		network_key_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(network_key_header->get_type())
-		!= eap_tlv_message_type_network_key)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c credential_data(m_am_tools);
-
-	if (credential_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = credential_data.set_message_data(
-		network_key_header->get_value_length(),
-		network_key_header->get_value(network_key_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> credential_members(m_am_tools);
-
-	status = credential_data.parse_message_data(&credential_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	u32_t member_index(0ul);
-
-	u8_t network_key_index(0ul);
-
-	{
-		const eap_tlv_header_c * const network_key_index_header = credential_members.get_object(member_index);
-		if (network_key_index_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = credential_data.get_parameter_data(network_key_index_header, &network_key_index);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	++member_index;
-
-	eap_variable_data_c key(m_am_tools);
-
-	{
-		const eap_tlv_header_c * const key_header = credential_members.get_object(member_index);
-		if (key_header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		status = credential_data.get_parameter_data(key_header, &key);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	++member_index;
-
-	network_key->set_network_key_index(network_key_index);
-
-	status = network_key->get_network_key()->set_copy_of_buffer(&key);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const network_keys_array_header,
-	eap_array_c<network_key_and_index_c> * const network_keys_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		network_keys_array_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(network_keys_array_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_array_c<network_key_and_index_c> *)"),
-		network_keys_array_header->get_header_buffer(network_keys_array_header->get_header_buffer_length()),
-		network_keys_array_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(network_keys_array_header->get_type())
-		!= eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c credential_array_data(m_am_tools);
-
-	if (credential_array_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = credential_array_data.set_message_data(
-		network_keys_array_header->get_value_length(),
-		network_keys_array_header->get_value(network_keys_array_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> credential_array_members(m_am_tools);
-
-	status = credential_array_data.parse_message_data(&credential_array_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++)
-	{
-		network_key_and_index_c * const network_key = new network_key_and_index_c(m_am_tools);
-
-		eap_automatic_variable_c<network_key_and_index_c> automatic_network_key(m_am_tools, network_key);
-
-		if (network_key == 0
-			|| network_key->get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		{
-			const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member);
-			if (simple_config_credential_header == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-			}
-
-			status = credential_array_data.get_parameter_data(simple_config_credential_header, network_key);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			automatic_network_key.do_not_free_variable();
-
-			status = network_keys_array->add_object(network_key, true);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	} // for ()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const credential_header,
-	simple_config_credential_c * const credential)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		credential_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(credential_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(simple_config_credential_c *)"),
-		credential_header->get_header_buffer(credential_header->get_header_buffer_length()),
-		credential_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(credential_header->get_type())
-		!= eap_tlv_message_type_protected_setup_credential)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c credential_data(m_am_tools);
-
-	if (credential_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = credential_data.set_message_data(
-		credential_header->get_value_length(),
-		credential_header->get_value(credential_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> credential_members(m_am_tools);
-
-	status = credential_data.parse_message_data(&credential_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	u32_t member_index(0ul);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	u8_t network_index(0ul);
-
-	status = credential_data.read_parameter_data(
-			&credential_members,
-			member_index,
-			&network_index);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++member_index;
-
-	eap_variable_data_c SSID(m_am_tools);
-
-	status = credential_data.read_parameter_data(
-			&credential_members,
-			member_index,
-			&SSID);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++member_index;
-
-	simple_config_Authentication_Type_e authentication_type(simple_config_Authentication_Type_None);
-
-	status = credential_data.read_parameter_data(
-			&credential_members,
-			member_index,
-			&authentication_type);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++member_index;
-
-	simple_config_Encryption_Type_e encryption_type(simple_config_Encryption_Type_None);
-
-	status = credential_data.read_parameter_data(
-			&credential_members,
-			member_index,
-			&encryption_type);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++member_index;
-
-	 eap_array_c<network_key_and_index_c> network_keys_array(m_am_tools);
-
-	status = credential_data.read_parameter_data(
-			&credential_members,
-			member_index,
-			&network_keys_array);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	++member_index;
-
-	 eap_variable_data_c MAC_address(m_am_tools);
-
-	status = credential_data.read_parameter_data(
-			&credential_members,
-			member_index,
-			&MAC_address);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	credential->set_network_index(network_index);
-
-	status = credential->get_SSID()->set_copy_of_buffer(&SSID);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	credential->set_Authentication_Type(authentication_type);
-
-	credential->set_Encryption_Type(encryption_type);
-
-	status = copy(
-		&network_keys_array,
-		credential->get_network_keys(),
-		m_am_tools,
-		false);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = credential->get_MAC_address()->set_copy_of_buffer(&MAC_address);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data(
-	const eap_tlv_header_c * const credential_array_header,
-	eap_array_c<simple_config_credential_c> * const credential_array)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"),
-		credential_array_header->get_type(),
-		 get_type_string(static_cast<eap_tlv_message_type_e>(credential_array_header->get_type()))));
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
-		(EAPL("get_parameter_data(eap_array_c<simple_config_credential_c> *)"),
-		credential_array_header->get_header_buffer(credential_array_header->get_header_buffer_length()),
-		credential_array_header->get_header_buffer_length()));
-
-	if (static_cast<eap_tlv_message_type_e>(credential_array_header->get_type())
-		!= eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
-	}
-
-	eap_process_tlv_message_data_c credential_array_data(m_am_tools);
-
-	if (credential_array_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = credential_array_data.set_message_data(
-		credential_array_header->get_value_length(),
-		credential_array_header->get_value(credential_array_header->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> credential_array_members(m_am_tools);
-
-	status = credential_array_data.parse_message_data(&credential_array_members);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-	for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++)
-	{
-		simple_config_credential_c * const simple_config_credential = new simple_config_credential_c(m_am_tools);
-
-		eap_automatic_variable_c<simple_config_credential_c> automatic_simple_config_credential(m_am_tools, simple_config_credential);
-
-		if (simple_config_credential == 0
-			|| simple_config_credential->get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		{
-			const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member);
-			if (simple_config_credential_header == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-			}
-
-			status = credential_array_data.get_parameter_data(simple_config_credential_header, simple_config_credential);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			automatic_simple_config_credential.do_not_free_variable();
-
-			status = credential_array->add_object(simple_config_credential, true);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		}
-	} // for ()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_am_network_id_c * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_network_id)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_variable_data_c * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_variable_data)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	const eap_tlv_message_type_e type,
-	eap_status_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != static_cast<eap_tlv_type_t>(type))
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = static_cast<eap_status_e>(value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_array_c<eap_am_network_id_c> * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const array_of_network_ids
-		= parameters->get_object(parameter_index);
-
-	if (array_of_network_ids == 0
-		|| array_of_network_ids->get_type() != eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_process_tlv_message_data_c array_data(m_am_tools);
-
-	if (array_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e status = array_data.set_message_data(
-		array_of_network_ids->get_value_length(),
-		array_of_network_ids->get_value(array_of_network_ids->get_value_length()));
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	eap_array_c<eap_tlv_header_c> network_ids(m_am_tools);
-
-	status = array_data.parse_message_data(
-		&network_ids);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	for (u32_t ind = 0ul; ind < network_ids.get_object_count(); ++ind)
-	{
-		const eap_tlv_header_c * const header = network_ids.get_object(ind);
-
-		if (header == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-		}
-
-		eap_am_network_id_c * const new_network_id = new eap_am_network_id_c(m_am_tools);
-		if (new_network_id == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		eap_automatic_variable_c<eap_am_network_id_c> automatic_new_network_id(m_am_tools, new_network_id);
-
-		status = array_data.get_parameter_data(header, new_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		automatic_new_network_id.do_not_free_variable();
-
-		status = out_data->add_object(
-			new_network_id,
-			true);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	} // for()
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_state_notification_c * * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eap_state_notification)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_RSNA_cipher)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	bool * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_boolean)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = (value == 0) ? false: true;
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_type_value_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eap_type)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eapol_key_authentication_type_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eapol_key_authentication_type)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = static_cast<eapol_key_authentication_type_e>(value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eapol_session_key_c * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_session_key)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_tlv_message_type_function_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_function)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eapol_key_802_11_authentication_mode_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eapol_key_802_11_authentication_mode)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = static_cast<eapol_key_802_11_authentication_mode_e>(value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eapol_tkip_mic_failure_type)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = static_cast<eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e>(value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eapol_wlan_authentication_state_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eapol_wlan_authentication_state)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t value(0ul);
-
-	eap_status_e status = get_parameter_data(positional_parameter, &value);
-
-	*out_data = static_cast<eapol_wlan_authentication_state_e>(value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	u64_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_u64_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	u32_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_u32_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	u16_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_u16_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	u8_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_u8_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	i32_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_i32_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	i16_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_i16_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	i8_t * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_i8_t)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_method_settings_c * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_eap_method_settings)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	out_data->trace();
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_array_c<u16_t> * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_array_c<eap_type_value_e> * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_array_c<eap_certificate_entry_c> * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_certificate_entry_c::eap_certificate_type_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u32_t integer_value(0ul);
-
-	eap_status_e status = read_parameter_data(
-		parameters,
-		parameter_index,
-		&integer_value);
-
-	*out_data = static_cast<eap_certificate_entry_c::eap_certificate_type_e>(integer_value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	simple_config_Encryption_Type_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u16_t integer_value(0ul);
-
-	eap_status_e status = read_parameter_data(
-		parameters,
-		parameter_index,
-		&integer_value);
-
-	*out_data = static_cast<simple_config_Encryption_Type_e>(integer_value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	simple_config_Authentication_Type_e * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	u16_t integer_value(0ul);
-
-	eap_status_e status = read_parameter_data(
-		parameters,
-		parameter_index,
-		&integer_value);
-
-	*out_data = static_cast<simple_config_Authentication_Type_e>(integer_value);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_array_c<simple_config_credential_c> * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-	const u32_t parameter_index,
-	eap_array_c<network_key_and_index_c> * const out_data)
-{
-	if (parameters == 0
-		|| out_data == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	const eap_tlv_header_c * const positional_parameter
-		= parameters->get_object(parameter_index);
-
-	if (positional_parameter == 0
-		|| positional_parameter->get_type() != eap_tlv_message_type_array)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	eap_status_e status = get_parameter_data(positional_parameter, out_data);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_const_string eap_process_tlv_message_data_c::get_type_string(const eap_tlv_message_type_e type)
-{
-#if defined(USE_EAP_TRACE_STRINGS)
-	EAP_IF_RETURN_STRING(type, eap_tlv_message_type_none)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_array)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_boolean)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_protocol_layer)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_state_notification)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_status)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_type)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_key_802_11_authentication_mode)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_key_authentication_type)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_key_type)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_tkip_mic_failure_type)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_wlan_authentication_state)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_error)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_function)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_network_id)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_network_key)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_protected_setup_credential)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_RSNA_cipher)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_session_key)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u8_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u16_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u32_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u64_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_variable_data)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_method_settings)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_certificate_entry)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_i8_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_i16_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_i32_t)
-	else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_configuration_option)
-	else
-#endif // #if defined(USE_EAP_TRACE_STRINGS)
-	{
-		EAP_UNREFERENCED_PARAMETER(type);
-
-		return EAPL("Unknown EAPOL-TLV message type");
-	}
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_const_string eap_process_tlv_message_data_c::get_function_string(const eap_tlv_message_type_function_e function)
-{
-#if defined(USE_EAP_TRACE_STRINGS)
-	EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_none)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_check_pmksa_cache)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_authentication)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_association)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_disassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_preauthentication)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_reassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_reassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_WPXM_reassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_WPXM_reassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_process)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_tkip_mic_failure)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_eap_acknowledge)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_update_header_offset)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_check_pmksa_cache)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_send)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_associate)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_disassociate)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_data_session_key)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_state_notification)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_reassociate)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_update_wlan_database_reference_values)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_start_WPXM_reassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_new_protected_setup_credentials)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_create_eap_session)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_remove_eap_session)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_send_eap_identity_request)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_data_crypto_keys)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_restart_authentication)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_create_state)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_remove_bksa_from_cache)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_association)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_set_eap_database_reference_values)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_eap_mtu)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_get_802_11_authentication_mode)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_get_802_11_authentication_mode)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_remove_eap_session)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_disassociation)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_last_function)
-
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_get_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_set_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_copy_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_delete_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_set_index)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_get_type_info)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_invoke_ui)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_get_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_set_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_delete_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_copy_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_set_index)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_get_type_info)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_invoke_ui)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_last_function)
-
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_set_eap_methods)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_get_eap_methods)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_get_certificate_lists)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_delete_all_eap_settings)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_copy_all_eap_settings)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_set_eap_methods)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_get_eap_methods)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_get_certificate_lists)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_last_function)
-
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_open_pac_store)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_create_device_seed)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_is_master_key_present)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_create_and_save_master_key)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_compare_pac_store_password)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_is_pacstore_password_present)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_set_pac_store_password)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_destroy_pac_store)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_open_pac_store)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_create_device_seed)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_is_master_key_present)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_set_pac_store_password)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_destroy_pac_store)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_last_function)
-
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_get_all_certificate_labels)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_reset_certificate_store)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_get_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_set_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_set_ca_cert)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_set_user_cert)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_delete_configuration)
-
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_get_all_certificate_labels)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_reset_certificate_store)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_get_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_set_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_set_ca_cert)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_set_user_cert)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_delete_configuration)
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_last_function)
-
-	else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_illegal_value)
-	else
-#endif // #if defined(USE_EAP_TRACE_STRINGS)
-	{
-		EAP_UNREFERENCED_PARAMETER(function);
-
-		return EAPL("Unknown EAPOL-TLV message function");
-	}
-}
-
-//--------------------------------------------------
-
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_session_core.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_session_core.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,13 +16,13 @@
 */
 
 /*
-* %version: 36 %
+* %version: 19.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 731 
+	#define EAP_FILE_NUMBER_ENUM 60 
 	#undef EAP_FILE_NUMBER_DATE 
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
@@ -70,7 +70,7 @@
 // 
 EAP_FUNC_EXPORT eap_session_core_c::eap_session_core_c(
 	abs_eap_am_tools_c * const tools,
-	abs_eap_session_core_c * const partner,
+	abs_eap_core_c * const partner,
 	const bool is_client_when_true)
 : m_partner(partner)
 , m_am_tools(tools)
@@ -98,7 +98,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT abs_eap_session_core_c * eap_session_core_c::get_partner()
+EAP_FUNC_EXPORT abs_eap_core_c * eap_session_core_c::get_partner()
 {
 	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
 
@@ -250,7 +250,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::create_new_session() EAP-session"),
+		(EAPL("create_new_session() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -277,14 +277,6 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_session_core_c::reset_or_remove_session(): %s.\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eap_session_core_c::reset_or_remove_session()");
-
 	eap_status_e status(eap_status_process_general_error);
 
 	if (session == 0
@@ -467,7 +459,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::packet_process() EAP-session"),
+		(EAPL("packet_process() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -475,8 +467,18 @@
 
 	if (session == 0)
 	{
+
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error);
+
+#else
 		// Create a new session.
 		session = create_new_session(receive_network_id);
+
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	}
 
 	if (session != 0)
@@ -712,7 +714,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::eap_acknowledge() EAP-session"),
+		(EAPL("eap_acknowledge() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -759,7 +761,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::restart_authentication() EAP-session"),
+		(EAPL("restart_authentication() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -812,7 +814,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::restart_authentication() EAP-session"),
+		(EAPL("restart_authentication() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -880,7 +882,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::send_eap_identity_request() EAP-session"),
+		(EAPL("send_eap_identity_request() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -992,7 +994,7 @@
 		EAP_TRACE_DATA_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_session_core_c::timer_expired() EAP-session"),
+			(EAPL("timer_expired() EAP-session"),
 			 selector->get_data(selector->get_data_length()),
 			 selector->get_data_length()));
 
@@ -1076,14 +1078,14 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_session_core_c::cancel_all_eap_sessions()
+EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_cancel_all_eap_sessions()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_session_core_c::cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"),
+		(EAPL("eap_session_core_c::synchronous_cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"),
 		this,
 		dynamic_cast<abs_eap_base_timer_c *>(this)));
 
@@ -1095,7 +1097,9 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_session_core_c::create_eap_session(
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_create_eap_session(
 	const eap_am_network_id_c * const receive_network_id)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1103,7 +1107,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_session_core_c::create_eap_session(): this = 0x%08x => 0x%08x.\n"),
+		(EAPL("eap_session_core_c::synchronous_create_eap_session(): this = 0x%08x => 0x%08x.\n"),
 		this,
 		dynamic_cast<abs_eap_base_timer_c *>(this)));
 
@@ -1133,7 +1137,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::create_eap_session() EAP-session"),
+		(EAPL("synchronous_create_eap_session() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -1162,10 +1166,11 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_session_core_c::remove_eap_session(
-	const bool /* complete_to_lower_layer */,
+EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_remove_eap_session(
 	const eap_am_network_id_c * const receive_network_id)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1173,12 +1178,10 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_session_core_c::remove_eap_session(): this = 0x%08x => 0x%08x.\n"),
+		(EAPL("eap_session_core_c::synchronous_remove_eap_session(): this = 0x%08x => 0x%08x.\n"),
 		this,
 		dynamic_cast<abs_eap_base_timer_c *>(this)));
 
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eap_session_core_c::remove_eap_session()");
-
 	eap_status_e status = eap_status_process_general_error;
 
 	// Here we swap the addresses.
@@ -1205,7 +1208,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::remove_eap_session() EAP-session"),
+		(EAPL("synchronous_remove_eap_session() EAP-session"),
 		 selector.get_data(selector.get_data_length()),
 		 selector.get_data_length()));
 
@@ -1227,11 +1230,6 @@
 	else
 	{
 		// Not found, no need to remove.
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_session_core_c::remove_eap_session(): session not found.\n")));
-
 		status = eap_status_ok;
 	}
 
@@ -1263,7 +1261,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"),
+		(EAPL("asynchronous_init_remove_eap_session() EAP-session"),
 		 state_selector.get_data(state_selector.get_data_length()),
 		 state_selector.get_data_length()));
 
@@ -1276,7 +1274,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(
+eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(
 	const eap_network_id_selector_c * const state_selector)
 {
 	EAP_TRACE_DEBUG(
@@ -1285,7 +1283,7 @@
 		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session(): %s.\n"),
 		 (m_is_client == true) ? "client": "server"));
 
-	// NOTE: we cannot call directly remove_eap_session(), because we will
+	// NOTE: we cannot call directly synchronous_remove_eap_session(), because we will
 	// return from here to removed object.
 
 	eap_status_e status = eap_status_process_general_error;
@@ -1293,7 +1291,7 @@
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"),
+		(EAPL("asynchronous_init_remove_eap_session() EAP-session"),
 		 state_selector->get_data(state_selector->get_data_length()),
 		 state_selector->get_data_length()));
 
@@ -1400,6 +1398,21 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eap_session_core_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
+
+	const eap_status_e status = m_partner->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::check_is_valid_eap_type(
 	const eap_type_value_e eap_type)
 {
@@ -1447,22 +1460,6 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_session_core_c::set_eap_database_reference_values(
-	const eap_variable_data_c * const /* reference */)
-{
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
 
-//--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_session_core_c::get_802_11_authentication_mode(
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const eapol_key_authentication_type_e /* authentication_type */,
-	const eap_variable_data_c * const /* SSID */,
-	const eap_variable_data_c * const /* preshared_key */)
-{
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-//--------------------------------------------------
 // End.
--- a/eapol/eapol_framework/eapol_common/core/eap_session_core_base.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 12 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 727 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-#include "eap_session_core_base.h"
-#include "eap_session_core.h"
-#include "eap_core_client_message_if.h"
-#include "eap_automatic_variable.h"
-
-
-EAP_FUNC_EXPORT eap_session_core_base_c::~eap_session_core_base_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-EAP_FUNC_EXPORT eap_session_core_base_c::eap_session_core_base_c()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-//--------------------------------------------------
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_session_core_base_c * eap_session_core_base_c::new_eap_session_core_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_session_core_c * const partner,
-	const bool is_client_when_true,
-	const u32_t /* MTU */)
-{
-	eap_session_core_c * new_session_core = new eap_session_core_c(tools, partner, is_client_when_true);
-
-	eap_automatic_variable_c<eap_session_core_c> automatic_new_session_core(
-		tools,
-		new_session_core);
-
-	if (new_session_core == 0
-		|| new_session_core->get_is_valid() == false)
-	{
-		// ERROR.
-		if (new_session_core != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("calls: new_eap_session_core_c(): new_session_core->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			new_session_core->shutdown();
-		}
-		return 0;
-	}
-
-	automatic_new_session_core.do_not_free_variable();
-
-	return new_session_core;
-}
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -158,7 +158,8 @@
 EAP_FUNC_EXPORT eap_wimax_authentication_c* eap_wimax_authentication_c::new_eap_wimax_authentication_c
 (abs_eap_am_tools_c* const tools,
  abs_eap_wimax_authentication_c* const partner,
- const bool is_client_when_true)
+ const bool is_client_when_true,
+ const abs_eapol_wlan_database_reference_if_c* const wimax_database_reference)
 {
   EAP_TRACE_DEBUG
     (tools, 
@@ -316,15 +317,15 @@
       EAP_TRACE_DEBUG
 		(m_am_tools,
 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->cancel_all_eap_sessions(): %s.\n"),
+		(EAPL("calls eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->synchronous_cancel_all_eap_sessions(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-      status = m_eap_core->cancel_all_eap_sessions();
+      status = m_eap_core->synchronous_cancel_all_eap_sessions();
 
       EAP_TRACE_DEBUG
 		(m_am_tools,
 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("returns from eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->cancel_all_eap_sessions(): %s, status = %s.\n"),
+		(EAPL("returns from eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->synchronous_cancel_all_eap_sessions(): %s, status = %s.\n"),
 		(m_is_client == true) ? "client": "server",
 		eap_status_string_c::get_status_string(status)));
 
--- a/eapol/eapol_framework/eapol_common/core/eapol_core.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_core.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,13 +16,13 @@
 */
 
 /*
-* %version: 100 %
+* %version: 67.1.2.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 747 
+	#define EAP_FILE_NUMBER_ENUM 48 
 	#undef EAP_FILE_NUMBER_DATE 
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
@@ -61,7 +61,6 @@
 	EAP_ASSERT(m_shutdown_was_called == true);
 
 	delete m_eap_core;
-	m_eap_core = 0;
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
@@ -78,8 +77,14 @@
 	abs_eapol_core_c * const partner,
 	const bool is_client_when_true)
 	: m_partner(partner)
-	, m_eap_core(0)
+#if !defined(NO_EAP_SESSION_CORE)
+	  , m_eap_core(new eap_session_core_c(tools, this, is_client_when_true))
+#else
+	  , m_eap_core(new eap_core_c(tools, this, is_client_when_true, 0, false))
+#endif
+#if defined(USE_EAPOL_KEY_STATE)
 	  , m_eapol_key_state_map(tools, this)
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 	  , m_am_tools(tools)
 	  , m_master_session_key(m_am_tools)
 	  , m_authentication_type(eapol_key_authentication_type_none)
@@ -93,7 +98,9 @@
 	  , m_is_valid(false)
 	  , m_shutdown_was_called(false)
 	  , m_block_state_notifications(false)
+#if defined(USE_EAPOL_KEY_STATE)
 	  , m_skip_start_4_way_handshake(false)
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -107,19 +114,8 @@
 		__DATE__,
 		__TIME__));
 
-#if defined(EAP_USE_WPXM)
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_core_c::eapol_core_c(): WPX enabled.")));
-#else
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_core_c::eapol_core_c(): WPX disabled.")));
-#endif //#if defined(EAP_USE_WPXM)
-
-	if (m_partner != 0)
+	if (m_eap_core != 0
+		&& m_eap_core->get_is_valid() == true)
 	{
 		set_is_valid();
 	}
@@ -130,118 +126,6 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::configure()
-{
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("%s: eapol_core_c::configure()\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::configure()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	m_eapol_header_offset = m_partner->get_header_offset(
-		&m_MTU, &m_trailer_length);
-
-#if defined(NO_EAP_CORE_CLIENT_MESSAGE_IF)
-	m_eap_core = eap_session_core_base_c::new_eap_session_core_c(
-		m_am_tools,
-		this,
-		m_is_client,
-		m_MTU-eapol_header_wr_c::get_header_length());
-#else
-	m_eap_core = new_eap_core_client_message_if_c(
-		m_am_tools,
-		this,
-		m_is_client,
-		m_MTU-eapol_header_wr_c::get_header_length());
-#endif
-
-	if (m_eap_core == 0
-		|| m_eap_core->get_is_valid() == false)
-	{
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	{
-		eap_variable_data_c max_eapol_starts(m_am_tools);
-
-		status = read_configure(
-			cf_str_EAPOL_CORE_starts_max_count.get_field(),
-			&max_eapol_starts);
-		if (status != eap_status_ok 
-			|| max_eapol_starts.get_is_valid_data() == false
-			|| max_eapol_starts.get_data_length() < sizeof(u32_t))
-		{
-			// Probably not found from db. Use the default value.
-			m_max_eapol_starts = EAPOL_CORE_MAX_EAPOL_START_SENDINGS;						
-		} 
-		else 
-		{
-			m_max_eapol_starts = *reinterpret_cast<u32_t *>(
-				max_eapol_starts.get_data(sizeof(u32_t)));
-		}
-	}
-
-	{
-		eap_variable_data_c eapol_start_interval(m_am_tools);
-
-		status = read_configure(
-			cf_str_EAPOL_CORE_send_start_interval.get_field(),
-			&eapol_start_interval);
-		if (status != eap_status_ok 
-			|| eapol_start_interval.get_is_valid_data() == false
-			|| eapol_start_interval.get_data_length() < sizeof(u32_t))
-		{
-			// Probably not found from db. Use the default value.
-			m_eapol_start_interval = EAPOL_CORE_TIMER_SEND_START_AGAIN_TIMEOUT;						
-		} 
-		else 
-		{
-			m_eapol_start_interval = *reinterpret_cast<u32_t *>(
-				eapol_start_interval.get_data(sizeof(u32_t)));
-		}
-	}
-
-#if defined(USE_EAP_CORE_SERVER)
-	if (m_is_client == false)
-	{
-		eap_variable_data_c data(m_am_tools);
-
-		eap_status_e status = read_configure(
-			cf_str_EAPOL_CORE_skip_start_4_way_handshake.get_field(),
-			&data);
-		if (status == eap_status_ok
-			&& data.get_data_length() == sizeof(u32_t)
-			&& data.get_data(data.get_data_length()) != 0)
-		{
-			u32_t *flag = reinterpret_cast<u32_t *>(data.get_data(data.get_data_length()));
-
-			if (flag != 0)
-			{
-				if ((*flag) != 0ul)
-				{
-					m_skip_start_4_way_handshake = true;
-				}
-				else
-				{
-					m_skip_start_4_way_handshake = false;
-				}
-			}
-		}
-	}
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-	return EAP_STATUS_RETURN(m_am_tools, m_eap_core->configure());
-}
-
-//--------------------------------------------------
-
-//
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::packet_process(
 	const eap_am_network_id_c * const receive_network_id,
 	eap_general_header_base_c * const packet_data,
@@ -381,7 +265,7 @@
 #if defined(EAP_USE_WPXM)
 			&& m_authentication_type != eapol_key_authentication_type_WPXM
 #endif //#if defined(EAP_USE_WPXM)
-			&& m_authentication_type != eapol_key_authentication_type_WPS
+			&& m_authentication_type != eapol_key_authentication_type_WFA_SC
 			&& m_authentication_type != eapol_key_authentication_type_EAP_authentication_no_encryption
 			)
 		{
@@ -395,26 +279,34 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eapol_type);
 		}
 
+
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 		// Test first we are connected.
 		if (eapol_key_state->get_is_associated() == true)
 		{
-			eap_header_wr_c eap(
-				m_am_tools,
-				eapol.get_eap_header(),
-				eapol.get_data_length());
-
-			status = m_eap_core->packet_process(
-				receive_network_id,
-				&eap,
-				eapol.get_data_length());
-
-			EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eap);
+			status = m_eap_core->synchronous_create_eap_session(receive_network_id);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
 		}
-		else
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_drop_packet_quietly);
-		}
+
+#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+
+		eap_header_wr_c eap(
+			m_am_tools,
+			eapol.get_eap_header(),
+			eapol.get_data_length());
+
+		status = m_eap_core->packet_process(
+			receive_network_id,
+			&eap,
+			eapol.get_data_length());
+
+		EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eap);
 	}
 	else if (m_is_client == false
 		&& eapol.get_packet_type() == eapol_packet_type_logoff)
@@ -427,7 +319,7 @@
 		if (m_authentication_type != eapol_key_authentication_type_RSNA_EAP
 			&& m_authentication_type != eapol_key_authentication_type_WPA_EAP
 			&& m_authentication_type != eapol_key_authentication_type_dynamic_WEP
-			&& m_authentication_type != eapol_key_authentication_type_WPS
+			&& m_authentication_type != eapol_key_authentication_type_WFA_SC
 #if defined(EAP_USE_WPXM)
 			&& m_authentication_type != eapol_key_authentication_type_WPXM
 #endif //#if defined(EAP_USE_WPXM)
@@ -450,6 +342,7 @@
 			m_is_client,
 			false);
 	}
+#if defined(USE_EAPOL_KEY_STATE)
 	else if (eapol.get_packet_type() == eapol_packet_type_key)
 	{
 		if (m_authentication_type != eapol_key_authentication_type_RSNA_EAP
@@ -496,6 +389,40 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error);
 		}
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+#if ! defined(USE_EAPOL_KEY_STATE)
+	else if (
+		m_is_client == true
+		&& eapol.get_packet_type() == eapol_packet_type_key)
+	{
+		// Handle EAPOL-Key frame.
+		// Here is assumed the EAPOL-Key frame includes RC4 Key Descriptor.
+		/**
+		 * @{ Here we need to check the Descriptor Type field.
+		 * It may be RC4 Key Descriptor, RSNA Key Descriptor or other descriptor. }
+		 */
+		
+		eapol_RC4_key_header_c eapol_key_msg(
+			m_am_tools,
+			eapol.get_header_buffer(eapol.get_header_buffer_length()),
+			eapol.get_header_buffer_length());
+		if (eapol_key_msg.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted);
+		}
+		else if (eapol_key_msg.check_header() != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		status = handle_RC4_key_descriptor(
+			receive_network_id,
+			&eapol_key_msg,
+			packet_length);
+	}
+#endif //#if ! defined(USE_EAPOL_KEY_STATE)
 	else
 	{
 		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: %s, packet_type=0x%02x=%s not handled, data length 0x%04x.\n"),
@@ -530,7 +457,7 @@
 	EAP_ASSERT(data_length <= sent_packet->get_data_length());
 	EAP_ASSERT(sent_packet->get_data_length() <= buffer_length);
 
-	if (header_offset < m_eapol_header_offset+eapol_header_wr_c::get_header_length())
+	if (header_offset < eap_header_wr_c::get_header_length())
 	{
 		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("packet_send: packet buffer corrupted.\n")));
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -540,7 +467,7 @@
 	eapol_header_wr_c eapol(
 		m_am_tools,
 		sent_packet->get_data_offset(
-			header_offset-eapol_header_wr_c::get_header_length(), data_length),
+			header_offset-eap_header_wr_c::get_header_length(), data_length),
 		data_length);
 
 	if (eapol.get_is_valid() == false)
@@ -612,11 +539,8 @@
 	}
 
 	eap_status_e status = m_partner->packet_send(
-		send_network_id,
-		sent_packet,
-		header_offset-eapol_header_wr_c::get_header_length(),
-		data_length+eapol_header_wr_c::get_header_length(),
-		buffer_length);
+		send_network_id, sent_packet, header_offset-eapol_header_wr_c::get_header_length(),
+		data_length+eapol_header_wr_c::get_header_length(), buffer_length);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
@@ -748,6 +672,13 @@
 			this,
 			EAPOL_CORE_TIMER_SEND_START_AGAIN_ID);
 
+#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+#if !defined(NO_EAP_SESSION_CORE)
+		// First we remove possible EAP session.
+		(void) m_eap_core->synchronous_remove_eap_session(receive_network_id);
+#endif
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 		// Here we swap the addresses.
 		eap_am_network_id_c send_network_id(m_am_tools,
 			receive_network_id->get_destination_id(),
@@ -826,7 +757,7 @@
 
 		if (m_authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption)
 		{
-			// Some APs need broadcast EAPOL-Start-message.
+			// This is a hack for this security mode. Some APs need broadcast EAPOL-Start-message.
 
 			const u8_t BROADCAST_ADDRESS[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
 
@@ -933,12 +864,14 @@
 		{
 			// It is bad idea to terminate on-going authentication
 			// when EAPOL-Start is received.
-			// Because of that remove_eap_session() is called
+			// Because of that synchronous_remove_eap_session() is called
 			// only when force_clean_restart is true.
+#if !defined(NO_EAP_SESSION_CORE)
 			bool previous_block = m_block_state_notifications;
 			m_block_state_notifications = true;
-			(void) m_eap_core->remove_eap_session(false, receive_network_id);
+			(void) m_eap_core->synchronous_remove_eap_session(receive_network_id);
 			m_block_state_notifications = previous_block;
+#endif
 		}
 
 		if (m_authentication_type == eapol_key_authentication_type_RSNA_EAP
@@ -947,7 +880,7 @@
 #if defined(EAP_USE_WPXM)
 			|| m_authentication_type == eapol_key_authentication_type_WPXM
 #endif //#if defined(EAP_USE_WPXM)
-			|| m_authentication_type == eapol_key_authentication_type_WPS
+			|| m_authentication_type == eapol_key_authentication_type_WFA_SC
 			|| m_authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption
 			)
 		{
@@ -1062,13 +995,6 @@
 		}
 	} // for()
 
-#if 1
-
-	status = m_partner->complete_check_pmksa_cache(bssid_sta_receive_network_ids);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-
-#else
-
 	if (bssid_sta_receive_network_ids->get_object_count() > 0ul)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
@@ -1079,9 +1005,6 @@
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_not_found);
 	}
-
-#endif
-
 }
 
 //--------------------------------------------------
@@ -1123,14 +1046,13 @@
 	}
 
 	status = remove_eapol_key_state(
-		&send_network_id,
-		true);
+		&send_network_id);
 	if (status != eap_status_ok)
 	{
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
-			(EAPL("WARNING: eapol_core_c::remove_pmksa_from_cache(): ")
+			(EAPL("WARNING: eapol_core_c::disassociation(): ")
 			 EAPL("remove_eapol_key_state(), eap_status_e %d\n"),
 			status));
 		return EAP_STATUS_RETURN(m_am_tools, status);
@@ -1156,6 +1078,8 @@
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::start_preauthentication()");
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	if (receive_network_id->get_type() != eapol_ethernet_type_preauthentication)
 	{
 		EAP_TRACE_DEBUG(
@@ -1298,8 +1222,7 @@
 	if (status != eap_status_ok)
 	{
 		status = remove_eapol_key_state(
-			&send_network_id,
-			true);
+			&send_network_id);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_DEBUG(
@@ -1321,6 +1244,8 @@
 		true,
 		false);
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -1359,6 +1284,8 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
 	}
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	// Here we swap the addresses.
 	eap_am_network_id_c old_send_network_id(
 		m_am_tools,
@@ -1455,6 +1382,8 @@
 		}
 	}
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -1500,6 +1429,8 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
 	}
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	// Here we swap the addresses.
 	eap_am_network_id_c old_send_network_id(
 		m_am_tools,
@@ -1599,6 +1530,8 @@
 		status = eap_status_not_found;
 	}
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -1606,7 +1539,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::read_reassociation_parameters(
+eap_status_e eapol_core_c::read_reassociation_parameters(
 	const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address.
 	const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address.
 	const eapol_key_authentication_type_e authentication_type,
@@ -1626,6 +1559,8 @@
 
 	eap_status_e status(eap_status_process_general_error);
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	// No need to check authentication type anymore. It can be changed in reassociation.
 
 #if defined(EAP_USE_WPXM)
@@ -1731,6 +1666,8 @@
 		status = eap_status_not_found;
 	}
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -1797,6 +1734,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
 
+#if defined(USE_EAPOL_KEY_STATE)
 		if (m_skip_start_4_way_handshake == true
 			&& (authentication_type == eapol_key_authentication_type_RSNA_EAP
 				|| authentication_type == eapol_key_authentication_type_RSNA_PSK
@@ -1813,6 +1751,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 		}
 		else
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 		{
 #if !defined(NO_EAPOL_KEY_STATE_SERVER)
 			status = eapol_key_state->start_4_way_handshake(
@@ -1850,7 +1789,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::complete_reassociation(
+eap_status_e eapol_core_c::complete_reassociation(
 	const eapol_wlan_authentication_state_e reassociation_result,
 	const eap_am_network_id_c * const receive_network_id,
 	const eapol_key_authentication_type_e authentication_type,
@@ -1870,6 +1809,8 @@
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::complete_reassociation()");
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	// Here we swap the addresses.
 	eap_am_network_id_c send_network_id(
 		m_am_tools,
@@ -1922,6 +1863,7 @@
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 	else
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
@@ -2057,6 +1999,8 @@
 			 master_session_key->get_data_length()));
 	}
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	eap_network_id_selector_c state_selector(
 		m_am_tools,
 		send_network_id);
@@ -2092,6 +2036,20 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error);
 	}
 
+#else
+
+	// Store the session key so it can be used when EAPOL-Key is received.
+	m_master_session_key.reset();
+
+	status = m_master_session_key.set_copy_of_buffer(master_session_key);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -2146,6 +2104,369 @@
 
 //--------------------------------------------------
 
+#if !defined(USE_EAPOL_KEY_STATE)
+
+//
+eap_status_e eapol_core_c::handle_RC4_key_descriptor(
+	const eap_am_network_id_c * const receive_network_id,
+	eapol_RC4_key_header_c* const packet,
+	const u32_t packet_length)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("%s: eapol_core_c::handle_RC4_key_descriptor()\n"),
+		(m_is_client == true) ? "client": "server"));
+
+	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::handle_RC4_key_descriptor()");
+
+	eap_status_e status = eap_status_process_general_error;
+
+	// Check the packet length
+	if (static_cast<u32_t>(packet->get_header_length()) != packet_length
+		&& static_cast<u32_t>(packet->get_header_length() + packet->get_key_length()) != packet_length)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("ERROR: Illegal EAPOL-Key frame length, packet->get_header_length() %d, packet_length %d\n"),
+			packet->get_header_length(),
+			packet_length));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error);
+	}
+
+	// Get MS-MPPE-Recv-Key and MS-MPPE-Send-Key
+	// Recv-Key is the first 32 bytes of master session key and Send-Key is the next 32 bytes.
+	eap_variable_data_c mppe_recv_key(m_am_tools);
+	eap_variable_data_c mppe_send_key(m_am_tools);
+	if (m_master_session_key.get_data_length() == 16ul)
+	{
+		status = mppe_recv_key.set_buffer(
+			m_master_session_key.get_data(m_master_session_key.get_data_length()),
+			m_master_session_key.get_data_length(),
+			false,
+			false);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		status = mppe_send_key.set_buffer(
+			m_master_session_key.get_data(m_master_session_key.get_data_length()),
+			m_master_session_key.get_data_length(),
+			false,
+			false);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+	else
+	{
+		status = mppe_recv_key.set_buffer(
+			m_master_session_key.get_data(MPPE_KEY_LENGTH),
+			MPPE_KEY_LENGTH,
+			false,
+			false);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		status = mppe_send_key.set_buffer(
+			m_master_session_key.get_data_offset(MPPE_KEY_LENGTH, MPPE_KEY_LENGTH),
+			MPPE_KEY_LENGTH,
+			false,
+			false);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	if (mppe_recv_key.get_is_valid() == false
+		|| mppe_send_key.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	// Verify the the MD5 signature in Eapol-Key
+	crypto_md5_c md5(m_am_tools);
+	crypto_hmac_c hmac_md5(m_am_tools, &md5, false);
+	if (hmac_md5.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	// MPPE-Send-Key is used as the signature key.
+	if (hmac_md5.hmac_set_key(&mppe_send_key) != eap_status_ok)
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: hmac_md5_init failed\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	// Save the signature from the packet
+	eap_variable_data_c signature(m_am_tools);
+	status = signature.set_copy_of_buffer(packet->get_key_signature(), EAPOL_RC4_KEY_SIGNATURE_LENGTH);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	// Replace the signature with zeros.
+	packet->zero_key_signature(m_am_tools);
+
+	// Send the data to HMAC-MD5 module
+	if (hmac_md5.hmac_update(packet->get_header_buffer(packet_length), packet_length) != eap_status_ok)
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: hmac_md5_update failed\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);		
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
+	}
+
+	// Get the calculated signature
+	u8_t tmp_signature[EAPOL_RC4_KEY_SIGNATURE_LENGTH];
+	u32_t length = EAPOL_RC4_KEY_SIGNATURE_LENGTH;
+	if (hmac_md5.hmac_final(tmp_signature, &length) != eap_status_ok)
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: hmac_md5_final failed\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
+	}
+	
+	// Compare the calculated and original signature
+	if (m_am_tools->memcmp(
+		tmp_signature,
+		signature.get_data(
+			EAPOL_RC4_KEY_SIGNATURE_LENGTH),
+			EAPOL_RC4_KEY_SIGNATURE_LENGTH) != 0)
+	{
+		// Signatures did not match. Something's wrong.
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAPOL-Key HMAC-MD5 check failed.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted);
+	}
+	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAPOL-Key HMAC-MD5 check passed.\n")));
+
+	eap_variable_data_c key_out(m_am_tools);
+	// Decrypt the RC4 encrypted key
+	if (packet->get_key() == 0)
+	{
+		// EAPOL-Key does not contain the key. This means that we should use
+		// the first bytes from MS-MPPE-Recv-Key as the key. There is a slight 
+		// confusion in draft-congdon-radius-8021x-23.txt regarding this but this is how
+		// it works.
+		if (packet->get_key_length() > 0)
+		{
+			status = key_out.set_copy_of_buffer(mppe_recv_key.get_data(packet->get_key_length()), packet->get_key_length());	
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		} 
+		else
+		{
+			// Key message with no key length?
+			// Just ignore the message.
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got empty WEP unicast key message.\n")));
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+		}
+	} 
+	else
+	{
+		// Set-up RC4 key. Key is the IV and the MS-MPPE-Recv-Key truncated together.
+		eap_variable_data_c rc4_key(m_am_tools);
+		status = rc4_key.set_copy_of_buffer(packet->get_key_IV(), EAPOL_RC4_KEY_IV_LENGTH);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		rc4_key.add_data(&mppe_recv_key);
+
+		// Set-up RC4 module
+		crypto_rc4_c rc4(m_am_tools);
+		// Set the key for RC4
+		if (rc4.set_key(&rc4_key) != eap_status_ok)
+		{
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: rc4_set_key failed\n")));
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
+		}
+
+		// Decrypt the key to key_out
+		key_out.set_buffer_length(packet->get_key_length());
+		if (rc4.decrypt_data(packet->get_key(), key_out.get_data(packet->get_key_length()), packet->get_key_length()) != eap_status_ok)
+		{
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: rc4 failed\n")));
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
+		}		
+		key_out.set_data_length(packet->get_key_length());
+	}
+
+	// Find out the key type. At the moment only WEP keys are supported.
+	eapol_key_type_e key_type;
+	switch (packet->get_key_flag())
+	{
+	case eapol_RC4_key_flag_broadcast:
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WEP broadcast key\n")));
+		key_type = eapol_key_type_broadcast;
+		break;
+	case eapol_RC4_key_flag_unicast:
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WEP unicast key\n")));
+		key_type = eapol_key_type_unicast;
+		break;
+	default:
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted);
+	}
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("Key"),
+		 key_out.get_data(key_out.get_data_length()),
+		 key_out.get_data_length()));
+
+	// Here we swap the addresses.
+	eap_am_network_id_c send_network_id(m_am_tools,
+		receive_network_id->get_destination_id(),
+		receive_network_id->get_source_id(),
+		receive_network_id->get_type());
+	if (send_network_id.get_is_valid_data() == false)
+	{
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eapol_session_key_c wep_key(
+		m_am_tools,
+		&key_out,
+		key_type,
+		packet->get_key_index(),
+		true);
+
+	// Forward the keys to lower layers
+	status = m_partner->packet_data_session_key(
+		&send_network_id,
+		&wep_key);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+#endif //#if !defined(USE_EAPOL_KEY_STATE)
+
+//--------------------------------------------------
+
+//
+EAP_FUNC_EXPORT eap_status_e eapol_core_c::configure()
+{
+	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("%s: eapol_core_c::configure()\n"),
+		(m_is_client == true) ? "client": "server"));
+
+	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::configure()");
+
+	m_eapol_header_offset = m_partner->get_header_offset(
+		&m_MTU, &m_trailer_length);
+	
+	eap_status_e status = eap_status_process_general_error;
+
+	{
+		eap_variable_data_c max_eapol_starts(m_am_tools);
+
+		status = read_configure(
+			cf_str_EAPOL_CORE_starts_max_count.get_field(),
+			&max_eapol_starts);
+		if (status != eap_status_ok 
+			|| max_eapol_starts.get_is_valid_data() == false
+			|| max_eapol_starts.get_data_length() < sizeof(u32_t))
+		{
+			// Probably not found from db. Use the default value.
+			m_max_eapol_starts = EAPOL_CORE_MAX_EAPOL_START_SENDINGS;						
+		} 
+		else 
+		{
+			m_max_eapol_starts = *reinterpret_cast<u32_t *>(
+				max_eapol_starts.get_data(sizeof(u32_t)));
+		}
+	}
+
+	{
+		eap_variable_data_c eapol_start_interval(m_am_tools);
+
+		status = read_configure(
+			cf_str_EAPOL_CORE_send_start_interval.get_field(),
+			&eapol_start_interval);
+		if (status != eap_status_ok 
+			|| eapol_start_interval.get_is_valid_data() == false
+			|| eapol_start_interval.get_data_length() < sizeof(u32_t))
+		{
+			// Probably not found from db. Use the default value.
+			m_eapol_start_interval = EAPOL_CORE_TIMER_SEND_START_AGAIN_TIMEOUT;						
+		} 
+		else 
+		{
+			m_eapol_start_interval = *reinterpret_cast<u32_t *>(
+				eapol_start_interval.get_data(sizeof(u32_t)));
+		}
+	}
+
+#if defined(USE_EAP_CORE_SERVER)
+	if (m_is_client == false)
+	{
+		eap_variable_data_c data(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAPOL_CORE_skip_start_4_way_handshake.get_field(),
+			&data);
+		if (status == eap_status_ok
+			&& data.get_data_length() == sizeof(u32_t)
+			&& data.get_data(data.get_data_length()) != 0)
+		{
+			u32_t *flag = reinterpret_cast<u32_t *>(data.get_data(data.get_data_length()));
+
+			if (flag != 0)
+			{
+				if ((*flag) != 0ul)
+				{
+					m_skip_start_4_way_handshake = true;
+				}
+				else
+				{
+					m_skip_start_4_way_handshake = false;
+				}
+			}
+		}
+	}
+#endif //#if defined(USE_EAP_CORE_SERVER)
+
+	return EAP_STATUS_RETURN(m_am_tools, m_eap_core->configure());
+}
+
+//--------------------------------------------------
+
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::shutdown_operation(
 	eapol_key_state_c * const handler,
@@ -2161,6 +2482,8 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
 //
@@ -2184,7 +2507,10 @@
 	}
 	m_shutdown_was_called = true;
 
-	eap_status_e status = m_eapol_key_state_map.for_each(shutdown_operation, true);
+	eap_status_e status;
+#if defined(USE_EAPOL_KEY_STATE)
+	status = m_eapol_key_state_map.for_each(shutdown_operation, true);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	if (m_eap_core != 0)
 	{
@@ -2193,7 +2519,9 @@
 
 	// This will cancel all timers of this object.
 	m_partner->cancel_timer(this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID);
+#if defined(USE_EAPOL_KEY_STATE)
 	m_partner->cancel_timer(this, EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 	
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -2319,6 +2647,7 @@
 			state_notification(&notification);
 		}
 	}
+#if defined(USE_EAPOL_KEY_STATE)
 	else if (id == EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID)
 	{
 		EAP_TRACE_DEBUG(
@@ -2334,8 +2663,9 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		(void) remove_eapol_key_state(send_network_id, false);
+		(void) remove_eapol_key_state(send_network_id);
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
@@ -2363,6 +2693,7 @@
 			= reinterpret_cast<const eap_am_network_id_c *>(data);
 		delete send_network_id;
 	}
+#if defined(USE_EAPOL_KEY_STATE)
 	else if (id == EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID)
 
 	{
@@ -2370,12 +2701,15 @@
 			= reinterpret_cast<const eap_am_network_id_c *>(data);
 		delete send_network_id;
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
 
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::init_eapol_key_pmksa_caching_timeout(
 	const eap_am_network_id_c * const send_network_id)
@@ -2434,8 +2768,12 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::indicate_eapol_key_state_started_eap_authentication(
 	const eap_am_network_id_c * const send_network_id)
@@ -2486,12 +2824,15 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::remove_eapol_key_state(
-	const eap_am_network_id_c * const send_network_id,
-	const bool force_remove)
+	const eap_am_network_id_c * const send_network_id)
 {
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
@@ -2523,8 +2864,7 @@
 
 	if (eapol_key_state != 0)
 	{
-		if (force_remove == false
-			&& eapol_key_state->get_marked_removed() == false)
+		if (eapol_key_state->get_marked_removed() == false)
 		{
 			// Do not remove object in use.
 			EAP_TRACE_DEBUG(
@@ -2560,10 +2900,14 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state(
+eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state(
 	const eap_am_network_id_c * const send_network_id)
 {
 	EAP_TRACE_DEBUG(
@@ -2647,6 +2991,8 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT void eapol_core_c::state_notification(
@@ -2697,6 +3043,7 @@
 			if (state->get_current_state() == eap_state_identity_request_received
 				|| state->get_current_state() == eap_state_eap_response_sent)
 			{
+#if defined(USE_EAPOL_KEY_STATE)
 				// Indicate EAPOL Key state the started EAP-authentication.
 				status = indicate_eapol_key_state_started_eap_authentication(
 					state->get_send_network_id());
@@ -2709,6 +3056,7 @@
 						 EAPL("indicate_eapol_key_state_started_eap_authentication(), eap_status_e %d\n"),
 						status));
 				}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 			}
 
 		}
@@ -2720,10 +3068,10 @@
 				(EAPL("ERROR: eapol_core_c::state_notification(): %s: EAP-authentication FAILED\n"),
 				 (state->get_is_client() == true ? "client": "server")));
 
+#if defined(USE_EAPOL_KEY_STATE)
 			// Remove possible EAPOL Key state.
 			status = remove_eapol_key_state(
-				state->get_send_network_id(),
-				true);
+				state->get_send_network_id());
 			if (status != eap_status_ok)
 			{
 				EAP_TRACE_DEBUG(
@@ -2733,6 +3081,7 @@
 					 EAPL("remove_eapol_key_state(), eap_status_e %d\n"),
 					status));
 			}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 		}
 		else if (state->get_current_state() == eap_state_authentication_finished_successfully)
@@ -2743,6 +3092,7 @@
 				(EAPL("eapol_core_c::state_notification(): %s: EAP authentication SUCCESS\n"),
 				(state->get_is_client() == true ? "client": "server")));
 
+#if defined(USE_EAPOL_KEY_STATE)
 			eap_network_id_selector_c state_selector(
 				m_am_tools,
 				state->get_send_network_id());
@@ -2870,6 +3220,7 @@
 						 EAPL("allow_4_way_handshake() failed, no eapol_key_state_c object\n")));
 				}
 			}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 		}
 		else
 		{
@@ -2888,6 +3239,7 @@
 				state->get_is_client()));
 		}
 	}
+#if defined(USE_EAPOL_KEY_STATE)
 	else if (state->get_protocol_layer() == eap_protocol_layer_eapol_key)
 	{
 		// This nofifation is from eapol_key_state_c object.
@@ -3041,6 +3393,8 @@
 				state->get_is_client()));
 		}
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 
 	m_partner->state_notification(state);
 }
@@ -3109,6 +3463,21 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
+
+	const eap_status_e status = m_partner->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::check_is_valid_eap_type(
 	const eap_type_value_e eap_type)
 {
@@ -3129,6 +3498,8 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_authentication_session(
 	eapol_key_state_c * const handler,
@@ -3151,6 +3522,8 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_all_authentication_sessions()
@@ -3172,19 +3545,26 @@
 	bool previous_block = m_block_state_notifications;
 	m_block_state_notifications = true;
 
+#if !defined(NO_EAP_SESSION_CORE)
 	if (m_eap_core != 0)
 	{
-		status = m_eap_core->cancel_all_eap_sessions();
+		status = m_eap_core->synchronous_cancel_all_eap_sessions();
 	}
-
+#endif //#if !defined(NO_EAP_SESSION_CORE)
+
+
+#if defined(USE_EAPOL_KEY_STATE)
 	status = m_eapol_key_state_map.for_each(cancel_authentication_session, true);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	m_block_state_notifications = previous_block;
 
 
 	// This will cancel all timers of this object.
 	m_partner->cancel_timer(this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID);
+#if defined(USE_EAPOL_KEY_STATE)
 	m_partner->cancel_timer(this, EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
@@ -3192,6 +3572,8 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::get_and_increment_global_key_counter(
 	eap_variable_data_c * const key_counter)
 {
@@ -3199,8 +3581,11 @@
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 /**
  * Function creates a state for later use. This is for optimazing 4-Way Handshake.
  * @param receive_network_id carries the MAC addresses.
@@ -3368,8 +3753,7 @@
 	if (status != eap_status_ok)
 	{
 		status = remove_eapol_key_state(
-			&send_network_id,
-			true);
+			&send_network_id);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_DEBUG(
@@ -3387,8 +3771,11 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
 /**
  * @param receive_network_id carries the MAC addresses.
  * MAC address of Authenticator should be in source address. MAC address of 
@@ -3465,10 +3852,112 @@
 
 	eapol_key_state_c *eapol_key_state = m_eapol_key_state_map.get_handler(&state_selector);
 
+#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+	if (eapol_key_state != 0)
+	{
+		// Reuse the session.
+		eapol_key_state->unset_marked_removed();
+
+		if (m_is_client == false)
+		{
+			// In test version do not reset server.
+		}
+		else
+		{
+			status = eapol_key_state->reset();
+			if (status != eap_status_ok)
+			{
+				// We cannot reuse the session.
+				EAP_TRACE_ERROR(
+					m_am_tools,
+					TRACE_FLAGS_ERROR,
+					(EAPL("eapol_core_c::association(): eapol_key_state NOT reused.\n")));
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	}
+#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+
 	if (eapol_key_state == 0)
 	{
+
+#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+		eapol_key_state = new eapol_key_state_c(
+			m_am_tools,
+			this,
+			m_partner,
+			m_is_client,
+			receive_network_id,
+			authentication_type,
+			authenticator_RSNA_IE,
+			supplicant_RSNA_IE,
+			eapol_pairwise_cipher,
+			eapol_group_cipher,
+			pre_shared_key_PSK);
+		if (eapol_key_state == 0
+			|| eapol_key_state->get_is_valid() == false)
+		{
+			if (eapol_key_state != 0)
+			{
+				eapol_key_state->shutdown();
+			}
+			else
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools, 
+					TRACE_FLAGS_DEFAULT, 
+					(EAPL("WARNING: eapol_core_c::association(): Cannot run eapol_key_state->shutdown() 0x%08x\n"),
+					eapol_key_state));
+			}
+			delete eapol_key_state;
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = eapol_key_state->initialize(
+			receive_network_id,
+			authentication_type,
+			authenticator_RSNA_IE,
+			supplicant_RSNA_IE,
+			eapol_pairwise_cipher,
+			eapol_group_cipher,
+			pre_shared_key_PSK);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		status = m_eapol_key_state_map.add_handler(&state_selector, eapol_key_state);
+		if (status != eap_status_ok)
+		{
+			if (eapol_key_state != 0)
+			{
+				eapol_key_state->shutdown();
+			}
+			else
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools, 
+					TRACE_FLAGS_DEFAULT, 
+					(EAPL("WARNING: eapol_core_c::association(): Cannot run eapol_key_state->shutdown() 0x%08x\n"),
+					eapol_key_state));
+			}
+			delete eapol_key_state;
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+#else
+
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error);
+
+#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	}
 	else
 	{
@@ -3487,6 +3976,29 @@
 		}
 	}
 
+
+#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+	status = eapol_key_state->configure();
+	if (status != eap_status_ok)
+	{
+		status = remove_eapol_key_state(
+			&send_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools, 
+				TRACE_FLAGS_DEFAULT, 
+				(EAPL("WARNING: eapol_core_c::association(): ")
+				 EAPL("remove_eapol_key_state(), eap_status_e %d\n"),
+				status));
+		}
+
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+
 	if (authentication_type == eapol_key_authentication_type_RSNA_PSK
 		|| authentication_type == eapol_key_authentication_type_WPA_PSK)
 	{
@@ -3494,6 +4006,7 @@
 #if !defined(NO_EAPOL_KEY_STATE_SERVER)
 		if (m_is_client == false)
 		{
+#if defined(USE_EAPOL_KEY_STATE)
 			if (m_skip_start_4_way_handshake == true)
 			{
 				// This is test to skip 4-Way Handshake start.
@@ -3506,6 +4019,7 @@
 				return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 			}
 			else
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 			{
 				status = eapol_key_state->start_4_way_handshake(
 					receive_network_id);
@@ -3523,35 +4037,40 @@
 			eapol_key_state->allow_4_way_handshake();
 		}
 	}
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	else if (authentication_type == eapol_key_authentication_type_RSNA_EAP
 		|| authentication_type == eapol_key_authentication_type_WPA_EAP
 		|| authentication_type == eapol_key_authentication_type_dynamic_WEP
 		|| authentication_type == eapol_key_authentication_type_WPXM
-		|| authentication_type == eapol_key_authentication_type_WPS
+		|| authentication_type == eapol_key_authentication_type_WFA_SC
 		|| authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption
 		)
 	{
 		// Creates a EAP-session.
-		status = m_eap_core->create_eap_session(receive_network_id);
+		status = m_eap_core->synchronous_create_eap_session(receive_network_id);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
 /**
  * @param receive_network_id carries the MAC addresses.
  * MAC address of Authenticator should be in source address.
  * MAC address of Supplicant should be in destination address.
  */
 EAP_FUNC_EXPORT eap_status_e eapol_core_c::disassociation(
-	const bool complete_to_lower_layer,
 	const eap_am_network_id_c * const receive_network_id
 	)
 {
@@ -3584,10 +4103,10 @@
 
 	(void) m_partner->cancel_timer(this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID);
 
+#if !defined(NO_EAP_SESSION_CORE)
 	// First we remove possible EAP session.
-	(void) m_eap_core->remove_eap_session(
-		complete_to_lower_layer,
-		receive_network_id);
+	(void) m_eap_core->synchronous_remove_eap_session(receive_network_id);
+#endif
 
 	status = init_eapol_key_pmksa_caching_timeout(
 		&send_network_id);
@@ -3605,6 +4124,8 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
 /// @see abs_eap_core_c::add_rogue_ap().
@@ -3642,6 +4163,8 @@
 
 	eap_status_e status = eap_status_process_general_error;
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 	// Here we swap the addresses.
 	eap_am_network_id_c send_network_id(
 		m_am_tools,
@@ -3684,6 +4207,12 @@
 		status = eap_status_handler_does_not_exists_error;
 	}
 
+#else
+
+	status = eap_status_not_supported;
+
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -3704,154 +4233,6 @@
 
 //--------------------------------------------------
 
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::save_simple_config_session(
-	const simple_config_state_e state,
-	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-	const eap_variable_data_c * const new_password,
-	const simple_config_Device_Password_ID_e Device_Password_ID,
-	const simple_config_payloads_c * const other_configuration)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("%s: eapol_core_c::save_simple_config_session().\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	const eap_status_e status = m_partner->save_simple_config_session(
-		state,
-		credential_array,
-		new_password,
-		Device_Password_ID,
-		other_configuration);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::set_eap_database_reference_values(
-	const eap_variable_data_c * const reference)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_core_c::set_eap_database_reference_values()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::set_eap_database_reference_values()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_eap_core != 0)
-	{
-		status = m_eap_core->set_eap_database_reference_values(reference);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::get_802_11_authentication_mode(
-	const eap_am_network_id_c * const receive_network_id,
-	const eapol_key_authentication_type_e authentication_type,
-	const eap_variable_data_c * const SSID,
-	const eap_variable_data_c * const preshared_key)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_core_c::get_802_11_authentication_mode()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::get_802_11_authentication_mode()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_eap_core != 0)
-	{
-		status = m_eap_core->get_802_11_authentication_mode(
-			receive_network_id,
-			authentication_type,
-			SSID,
-			preshared_key);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_core_c::complete_get_802_11_authentication_mode()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::complete_get_802_11_authentication_mode()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_partner != 0)
-	{
-		status = m_partner->complete_get_802_11_authentication_mode(
-			completion_status,
-			receive_network_id,
-			mode);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eapol_core_c::complete_remove_eap_session(
-	const bool complete_to_lower_layer,
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_core_c::complete_remove_eap_session()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::complete_remove_eap_session()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_partner != 0)
-	{
-		status = m_partner->complete_disassociation(
-			complete_to_lower_layer,
-			receive_network_id);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
+
+
 // End.
--- a/eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,13 +16,13 @@
 */
 
 /*
-* %version: 36 %
+* %version: 31.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 715 
+	#define EAP_FILE_NUMBER_ENUM 40 
 	#undef EAP_FILE_NUMBER_DATE 
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
@@ -59,18 +59,2451 @@
 
 EAP_FUNC_EXPORT eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c(
 	abs_eap_am_tools_c * const tools)
-	: eap_process_tlv_message_data_c(tools)
+	: eap_tlv_message_data_c(tools)
 	, m_am_tools(tools)
 	, m_is_valid(true)
 {
 }
 
+//-------------------------------------------------------------------
+
+/**
+ * This function should increase reference count.
+ */
+EAP_FUNC_EXPORT void eapol_handle_tlv_message_data_c::object_increase_reference_count()
+{
+}
+
+//-------------------------------------------------------------------
+
+/**
+ * This function should first decrease reference count
+ * and second return the remaining reference count.
+ * Reference count must not be decreased when it is zero.
+ */
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::object_decrease_reference_count()
+{
+	return 0;
+}
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT bool eapol_handle_tlv_message_data_c::get_is_valid()
 {
-	return m_is_valid && eap_process_tlv_message_data_c::get_is_valid();
+	return m_is_valid && eap_tlv_message_data_c::get_is_valid();
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	const eap_am_network_id_c * const network_id) const
+{
+	return
+		(3ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header.
+		+ network_id->get_source_id()->get_data_length()
+		+ network_id->get_destination_id()->get_data_length()
+		+ sizeof(network_id->get_type()));
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	const abs_eap_state_notification_c * const state) const
+{
+	return
+		(7ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header.
+		+ (get_payload_size(state->get_send_network_id())
+		+ sizeof(u32_t) // eap_protocol_layer_e
+		+ sizeof(state->get_protocol())
+		+ eap_expanded_type_c::get_eap_expanded_type_size()
+		+ sizeof(state->get_current_state())
+		+ sizeof(u32_t) // bool is_client
+		+ sizeof(u32_t) // eap_status_e authentication error
+		);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	const eapol_session_key_c * const session_key) const
+{
+	return
+		((5ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header.
+		+ session_key->get_key()->get_data_length()
+		+ session_key->get_sequence_number()->get_data_length()
+		+ sizeof(u32_t) // const eapol_key_type_e m_key_type
+		+ sizeof(session_key->get_key_index())
+		+ sizeof(u32_t) // const bool m_key_tx_bit
+		);
+}
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	network_key_and_index_c * key) const
+{
+	u32_t size(0ul);
+
+	if (key != 0)
+	{
+		size += eap_tlv_header_c::get_header_length()
+			+ sizeof(key->get_network_key_index()) // Size of Network Key Index
+			+ eap_tlv_header_c::get_header_length()
+			+ key->get_network_key()->get_data_length() // Size of Network Key
+			;
+	}
+
+	return (size);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	EAP_TEMPLATE_CONST eap_array_c<network_key_and_index_c> * network_keys) const
+{
+	u32_t size(0ul);
+
+	for (u32_t ind_network_key = 0ul; ind_network_key < network_keys->get_object_count(); ind_network_key++)
+	{
+		network_key_and_index_c * const key = network_keys->get_object(ind_network_key);
+		if (key != 0)
+		{
+			size += eap_tlv_header_c::get_header_length() // Size of structure header
+				+ get_payload_size(key); // Size of Network Key
+		}
+	} // for ()
+
+	return (size);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	simple_config_credential_c * const credential) const
+{
+	u32_t size(0ul);
+
+	if (credential != 0)
+	{
+		size += eap_tlv_header_c::get_header_length()
+			+ sizeof(credential->get_network_index()) // Size of Network Index
+			+ eap_tlv_header_c::get_header_length()
+			+ credential->get_SSID()->get_data_length() // Size of SSID
+			+ eap_tlv_header_c::get_header_length()
+			+ sizeof(u16_t) // Size of Authentiction type
+			+ eap_tlv_header_c::get_header_length()
+			+ sizeof(u16_t) // Size of Encryption type
+			;
+
+		size += eap_tlv_header_c::get_header_length() // Size of header of Array
+			+ get_payload_size(credential->get_network_keys());
+
+		size += eap_tlv_header_c::get_header_length()
+			+ credential->get_MAC_address()->get_data_length() // Size of MAC Address
+			;
+	}
+
+	return (size);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size(
+	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array) const
+{
+	u32_t size(0ul);
+
+	for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++)
+	{
+		simple_config_credential_c * const credential = credential_array->get_object(ind_credential);
+		if (credential != 0)
+		{
+			size += eap_tlv_header_c::get_header_length() // Size of structure header
+				+ get_payload_size(credential);
+		}
+	} // for ()
+
+	return (size);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_structured_parameter_header(
+	const eapol_tlv_message_type_e type,
+	const u32_t length)
+{
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_structured_parameter_header(): type=%s\n"),
+		 get_type_string(type)));
+
+	return add_message_header(
+		type,
+		length);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eapol_tlv_message_type_e type,
+	const u32_t integer)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(type)));
+
+	const u32_t network_order_integer(eap_htonl(integer));
+
+	eap_status_e status = add_message_data(
+		type,
+		sizeof(network_order_integer),
+		&network_order_integer);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const u64_t long_integer)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_u64_t)));
+
+	const u64_t network_order_long_integer(eap_htonll(long_integer));
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_u64_t,
+		sizeof(network_order_long_integer),
+		&network_order_long_integer);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const u32_t integer)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_u32_t)));
+
+	const u32_t network_order_integer(eap_htonl(integer));
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_u32_t,
+		sizeof(network_order_integer),
+		&network_order_integer);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const u16_t short_integer)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_u16_t)));
+
+	const u16_t network_order_short_integer(eap_htons(short_integer));
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_u16_t,
+		sizeof(network_order_short_integer),
+		&network_order_short_integer);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const u8_t byte_integer)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_u8_t)));
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_u8_t,
+		sizeof(byte_integer),
+		&byte_integer);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const bool boolean)
+{
+	const u32_t value((boolean == false) ? 0u: 1u);
+
+	return add_parameter_data(
+		eapol_tlv_message_type_boolean,
+		value);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eap_status_e status)
+{
+	const u32_t value(static_cast<u32_t>(status));
+
+	return add_parameter_data(
+		eapol_tlv_message_type_eap_status,
+		value);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eapol_tlv_message_type_function_e function)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s, function=%s\n"),
+		 get_type_string(eapol_tlv_message_type_function),
+		 get_function_string(function)));
+
+	if (function < eapol_tlv_message_type_function_none
+		|| function >= eapol_tlv_message_type_function_illegal_value)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	const u32_t network_order_function(eap_htonl(function));
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_function,
+		sizeof(network_order_function),
+		&network_order_function);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eap_variable_data_c * const variable_data)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_variable_data)));
+
+	if (variable_data == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	eap_status_e status(eap_status_process_general_error);
+
+	if (variable_data->get_is_valid_data() == false)
+	{
+		// Empty variable data. Add just the header.
+		status = add_structured_parameter_header(
+			eapol_tlv_message_type_variable_data,
+			0ul);
+	}
+	else
+	{
+		status = add_message_data(
+			eapol_tlv_message_type_variable_data,
+			variable_data->get_data_length(),
+			variable_data->get_data());
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eap_am_network_id_c * const network_id)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_network_id)));
+
+	if (network_id == 0
+		|| network_id->get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	const u32_t size_of_network_id = get_payload_size(network_id);
+
+	eap_status_e status = add_structured_parameter_header(
+		eapol_tlv_message_type_network_id,
+		size_of_network_id);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		network_id->get_source_id());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		network_id->get_destination_id());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		network_id->get_type());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eap_buf_chain_wr_c * const packet_buffer)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_variable_data)));
+
+	if (packet_buffer == 0
+		|| packet_buffer->get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_variable_data,
+		packet_buffer->get_data_length(),
+		packet_buffer->get_data(packet_buffer->get_data_length()));
+
+	
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eapol_session_key_c * const session_key)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_session_key)));
+
+	if (session_key == 0
+		|| session_key->get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	const u32_t size_of_session_key(get_payload_size(session_key));
+
+	eap_status_e status = add_structured_parameter_header(
+		eapol_tlv_message_type_session_key,
+		size_of_session_key);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		session_key->get_key());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		session_key->get_sequence_number());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		eapol_tlv_message_type_eapol_key_type,
+		static_cast<u32_t>(session_key->get_key_type()));
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(session_key->get_key_index());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(session_key->get_key_tx_bit());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const abs_eap_state_notification_c * const state)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_eap_state_notification)));
+
+	if (state == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	const u32_t size_of_state(get_payload_size(state));
+
+	eap_status_e status = add_structured_parameter_header(
+		eapol_tlv_message_type_eap_state_notification,
+		size_of_state);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(state->get_send_network_id());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(
+		eapol_tlv_message_type_eap_protocol_layer,
+		static_cast<u32_t>(state->get_protocol_layer()));
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(state->get_protocol());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(state->get_eap_type());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(state->get_current_state());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(state->get_is_client());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = add_parameter_data(state->get_authentication_error());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eap_type_value_e eap_type)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_eap_type)));
+
+	void * type_buffer = 0;
+
+	eap_status_e status = allocate_message_buffer(
+		eapol_tlv_message_type_eap_type,
+		eap_expanded_type_c::get_eap_expanded_type_size(),
+		&type_buffer);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = eap_expanded_type_c::write_type(
+		m_am_tools,
+		0ul, ///< Index is from 0 to n. Index 0 is the first EAP type field after base EAP header.
+		type_buffer,
+		eap_expanded_type_c::get_eap_expanded_type_size(),
+		true, ///< True value writes always Extented Type.
+		eap_type ///< The EAP type to be written.
+		);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eap_tlv_message_data_c::add_message_data():   type %2d=0x%08x, length %3d=0x%08x\n"),
+		 eapol_tlv_message_type_eap_type,
+		 eapol_tlv_message_type_eap_type,
+		 eap_expanded_type_c::get_eap_expanded_type_size(),
+		 eap_expanded_type_c::get_eap_expanded_type_size()));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("add_message_data()"),
+		type_buffer,
+		eap_expanded_type_c::get_eap_expanded_type_size()));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	const eap_general_header_base_c * const packet_data)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_variable_data)));
+
+	if (packet_data == 0
+		|| packet_data->get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	eap_status_e status = add_message_data(
+		eapol_tlv_message_type_variable_data,
+		packet_data->get_header_buffer_length(),
+		packet_data->get_header_buffer(packet_data->get_header_buffer_length()));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(
+	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"),
+		 get_type_string(eapol_tlv_message_type_protected_setup_credential)));
+
+	if (credential_array == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	const u32_t size_of_credential_array(get_payload_size(credential_array));
+
+	eap_status_e status = add_structured_parameter_header(
+		eapol_tlv_message_type_array,
+		size_of_credential_array);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+
+	for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++)
+	{
+		simple_config_credential_c * const credential = credential_array->get_object(ind_credential);
+		if (credential != 0)
+		{
+			const u32_t size_of_credential(get_payload_size(credential));
+
+			eap_status_e status = add_structured_parameter_header(
+				eapol_tlv_message_type_protected_setup_credential,
+				size_of_credential);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			status = add_parameter_data(credential->get_network_index());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			status = add_parameter_data(credential->get_SSID());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			status = add_parameter_data(static_cast<u16_t>(credential->get_Authentication_Type()));
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			status = add_parameter_data(static_cast<u16_t>(credential->get_Encryption_Type()));
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			const u32_t size_of_network_key_array(get_payload_size(credential->get_network_keys()));
+
+			status = add_structured_parameter_header(
+				eapol_tlv_message_type_array,
+				size_of_network_key_array);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			for (u32_t ind_network_key = 0ul; ind_network_key < credential->get_network_keys()->get_object_count(); ind_network_key++)
+			{
+				network_key_and_index_c * const network_key = credential->get_network_keys()->get_object(ind_network_key);
+				if (network_key != 0)
+				{
+					const u32_t size_of_network_key(get_payload_size(network_key));
+
+					status = add_structured_parameter_header(
+						eapol_tlv_message_type_network_key,
+						size_of_network_key);
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return EAP_STATUS_RETURN(m_am_tools, status);
+					}
+
+					status = add_parameter_data(network_key->get_network_key_index());
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return EAP_STATUS_RETURN(m_am_tools, status);
+					}
+
+					status = add_parameter_data(network_key->get_network_key());
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return EAP_STATUS_RETURN(m_am_tools, status);
+					}
+				}
+			} // for ()
+
+			status = add_parameter_data(credential->get_MAC_address());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	} // for ()
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const integer_header,
+	u64_t * const value)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(integer_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(u64_t *)"),
+		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
+		integer_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+		!= eapol_tlv_message_type_u64_t)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	const u8_t * const data = integer_header->get_value(sizeof(u64_t));
+	if (data == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	*value =
+		eap_read_u64_t_network_order(
+			data,
+			sizeof(u64_t));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const integer_header,
+	u32_t * const value)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(integer_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(u32_t *)"),
+		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
+		integer_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_boolean
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eap_protocol_layer
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eapol_key_802_11_authentication_mode
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eapol_key_authentication_type
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eapol_key_type
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eapol_tkip_mic_failure_type
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eapol_wlan_authentication_state
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_error
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_function
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_RSNA_cipher
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_u32_t
+		&& static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+			!= eapol_tlv_message_type_eap_status
+			)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	const u8_t * const data = integer_header->get_value(sizeof(u32_t));
+	if (data == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	*value =
+		eap_read_u32_t_network_order(
+			data,
+			sizeof(u32_t));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const integer_header,
+	u16_t * const value)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(integer_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(u16_t *)"),
+		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
+		integer_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+		!= eapol_tlv_message_type_u16_t)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	const u8_t * const data = integer_header->get_value(sizeof(u16_t));
+	if (data == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	*value =
+		eap_read_u16_t_network_order(
+			data,
+			sizeof(u16_t));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const integer_header,
+	u8_t * const value)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(integer_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(u8_t *)"),
+		integer_header->get_header_buffer(integer_header->get_header_buffer_length()),
+		integer_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(integer_header->get_type())
+		!= eapol_tlv_message_type_u8_t)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	const u8_t * const data = integer_header->get_value(sizeof(u8_t));
+	if (data == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	*value = *data;
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const function_header,
+	eapol_tlv_message_type_function_e * const function)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(function_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eapol_tlv_message_type_function_e *)"),
+		function_header->get_header_buffer(function_header->get_header_buffer_length()),
+		function_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(function_header->get_type())
+		!= eapol_tlv_message_type_function)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	u32_t host_order(0ul);
+
+	eap_status_e status = get_parameter_data(
+		function_header,
+		&host_order);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	*function = static_cast<eapol_tlv_message_type_function_e>(host_order);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s, function=%s\n"),
+		 get_type_string(eapol_tlv_message_type_function),
+		 get_function_string(*function)
+		 ));
+
+	if (*function < eapol_tlv_message_type_function_none
+		|| eapol_tlv_message_type_function_illegal_value <= *function)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
 
 //--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const network_id_header,
+	eap_am_network_id_c * const new_network_id)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(network_id_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eap_am_network_id_c *)"),
+		network_id_header->get_header_buffer(network_id_header->get_header_buffer_length()),
+		network_id_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(network_id_header->get_type())
+		!= eapol_tlv_message_type_network_id)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c network_id_data(m_am_tools);
+
+	if (network_id_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = network_id_data.set_message_data(
+		network_id_header->get_value_length(),
+		network_id_header->get_value(network_id_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> network_id_members(m_am_tools);
+
+	status = network_id_data.parse_message_data(&network_id_members);
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+
+	u32_t member_index(0ul);
+
+	eap_variable_data_c source_id(
+		m_am_tools);
+
+	if (source_id.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	{
+		const eap_tlv_header_c * const source_id_header = network_id_members.get_object(member_index);
+		if (source_id_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = network_id_data.get_parameter_data(source_id_header, &source_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	++member_index;
+
+	eap_variable_data_c destination_id(
+		m_am_tools);
+
+	if (destination_id.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	{
+		const eap_tlv_header_c * const destination_id_header = network_id_members.get_object(member_index);
+		if (destination_id_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = network_id_data.get_parameter_data(destination_id_header, &destination_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	++member_index;
+
+	u16_t type_value(0ul);
+
+	{
+		const eap_tlv_header_c * const type_header = network_id_members.get_object(member_index);
+		if (type_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = network_id_data.get_parameter_data(type_header, &type_value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	status = new_network_id->set_copy_of_am_network_id(
+		source_id.get_data(),
+		source_id.get_data_length(),
+		destination_id.get_data(),
+		destination_id.get_data_length(),
+		type_value);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const variable_data_header,
+	eap_variable_data_c * const variable_data)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(variable_data_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eap_variable_data_c *)"),
+		variable_data_header->get_header_buffer(variable_data_header->get_header_buffer_length()),
+		variable_data_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(variable_data_header->get_type())
+		!= eapol_tlv_message_type_variable_data)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eap_status_e status = variable_data->set_copy_of_buffer(
+		variable_data_header->get_value(variable_data_header->get_value_length()),
+		variable_data_header->get_value_length());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const session_key_header,
+		eapol_session_key_c * const session_key)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(session_key_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eapol_session_key_c *)"),
+		session_key_header->get_header_buffer(session_key_header->get_header_buffer_length()),
+		session_key_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(session_key_header->get_type())
+		!= eapol_tlv_message_type_session_key)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c session_key_data(m_am_tools);
+
+	if (session_key_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = session_key_data.set_message_data(
+		session_key_header->get_value_length(),
+		session_key_header->get_value(session_key_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> session_key_members(m_am_tools);
+
+	status = session_key_data.parse_message_data(&session_key_members);
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	u32_t member_index(0ul);
+
+	{
+		const eap_tlv_header_c * const tmp_session_key_header = session_key_members.get_object(member_index);
+		if (tmp_session_key_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eap_variable_data_c key(
+			m_am_tools);
+
+		if (key.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = session_key_data.get_parameter_data(tmp_session_key_header, &key);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		status = session_key->set_key(&key);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	{
+		const eap_tlv_header_c * const sequence_number_header = session_key_members.get_object(member_index);
+		if (sequence_number_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eap_variable_data_c sequence_number(
+			m_am_tools);
+
+		if (sequence_number.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = session_key_data.get_parameter_data(sequence_number_header, &sequence_number);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		status = session_key->set_sequence_number(&sequence_number);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	{
+		const eap_tlv_header_c * const key_type_header = session_key_members.get_object(member_index);
+		if (key_type_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u32_t value(0ul);
+
+		status = session_key_data.get_parameter_data(key_type_header, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		session_key->set_key_type(static_cast<eapol_key_type_e>(value));
+	}
+
+	++member_index;
+
+	{
+		const eap_tlv_header_c * const key_index_header = session_key_members.get_object(member_index);
+		if (key_index_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u32_t value(0ul);
+
+		status = session_key_data.get_parameter_data(key_index_header, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		session_key->set_key_index(value);
+	}
+
+	++member_index;
+
+	{
+		const eap_tlv_header_c * const key_tx_bit_header = session_key_members.get_object(member_index);
+		if (key_tx_bit_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u32_t value(0ul);
+
+		status = session_key_data.get_parameter_data(key_tx_bit_header, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		session_key->set_key_tx_bit((value == 0) ? false : true);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const state_header,
+	eap_state_notification_c * * const state)
+
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(state_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eap_state_notification_c *)"),
+		state_header->get_header_buffer(state_header->get_header_buffer_length()),
+		state_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(state_header->get_type())
+		!= eapol_tlv_message_type_eap_state_notification)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c session_key_data(m_am_tools);
+
+	if (session_key_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = session_key_data.set_message_data(
+		state_header->get_value_length(),
+		state_header->get_value(state_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> session_key_members(m_am_tools);
+
+	status = session_key_data.parse_message_data(&session_key_members);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+
+	u32_t member_index(0ul);
+
+	eap_am_network_id_c send_network_id(m_am_tools);
+
+	{
+		const eap_tlv_header_c * const send_network_id_header = session_key_members.get_object(member_index);
+		if (send_network_id_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = get_parameter_data(send_network_id_header, &send_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	++member_index;
+
+	eap_protocol_layer_e protocol_layer(eap_protocol_layer_none);
+
+	{
+		const eap_tlv_header_c * const protocol_layer_header = session_key_members.get_object(member_index);
+		if (protocol_layer_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u32_t value(0ul);
+
+		status = session_key_data.get_parameter_data(protocol_layer_header, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		protocol_layer = static_cast<eap_protocol_layer_e>(value);
+	}
+
+
+	++member_index;
+
+	u32_t protocol(0ul);
+
+	{
+		const eap_tlv_header_c * const protocol_header = session_key_members.get_object(member_index);
+		if (protocol_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = session_key_data.get_parameter_data(protocol_header, &protocol);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	++member_index;
+
+	eap_type_value_e eap_type(eap_type_none);
+
+	{
+		const eap_tlv_header_c * const eap_type_header = session_key_members.get_object(member_index);
+		if (eap_type_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = session_key_data.get_parameter_data(eap_type_header, &eap_type);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	++member_index;
+
+	u32_t current_state(0ul);
+
+	{
+		const eap_tlv_header_c * const current_state_header = session_key_members.get_object(member_index);
+		if (current_state_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = session_key_data.get_parameter_data(current_state_header, &current_state);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+
+	++member_index;
+
+	bool is_client(true);
+
+	{
+		const eap_tlv_header_c * const is_client_header = session_key_members.get_object(member_index);
+		if (is_client_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u32_t value(0ul);
+
+		status = session_key_data.get_parameter_data(is_client_header, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		is_client = (value == 0ul) ? false : true;
+	}
+
+
+	++member_index;
+
+	eap_status_e authentication_error(eap_status_ok);
+
+	{
+		const eap_tlv_header_c * const authentication_error_header = session_key_members.get_object(member_index);
+		if (authentication_error_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u32_t value(0ul);
+
+		status = session_key_data.get_parameter_data(authentication_error_header, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		authentication_error = static_cast<eap_status_e>(value);
+	}
+
+
+	if (eap_type != eap_type_none)
+	{
+		*state = new eap_state_notification_c(
+			m_am_tools,
+			&send_network_id,
+			is_client,
+			eap_state_notification_eap,
+			protocol_layer,
+			eap_type,
+			current_state,
+			current_state,
+			0ul,
+			false);
+	}
+	else
+	{
+		
+
+		*state = new eap_state_notification_c(
+			m_am_tools,
+			&send_network_id,
+			is_client,
+			eap_state_notification_generic,
+			protocol_layer,
+			protocol,
+			current_state,
+			current_state,
+			0ul,
+			false);
+	}
+
+	if ((*state) == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	(*state)->set_authentication_error(authentication_error);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const eap_type_header,
+	eap_type_value_e * const eap_type)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(eap_type_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eap_type_value_e *)"),
+		eap_type_header->get_header_buffer(eap_type_header->get_header_buffer_length()),
+		eap_type_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(eap_type_header->get_type())
+		!= eapol_tlv_message_type_eap_type)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eap_status_e status = eap_expanded_type_c::read_type(
+		m_am_tools,
+		0ul,
+		eap_type_header->get_value(eap_type_header->get_value_length()),
+		eap_type_header->get_value_length(),
+		eap_type);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const network_key_header,
+	network_key_and_index_c * const network_key)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(network_key_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(simple_config_credential_c *)"),
+		network_key_header->get_header_buffer(network_key_header->get_header_buffer_length()),
+		network_key_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(network_key_header->get_type())
+		!= eapol_tlv_message_type_network_key)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c credential_data(m_am_tools);
+
+	if (credential_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = credential_data.set_message_data(
+		network_key_header->get_value_length(),
+		network_key_header->get_value(network_key_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> credential_members(m_am_tools);
+
+	status = credential_data.parse_message_data(&credential_members);
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	u32_t member_index(0ul);
+
+	u8_t network_key_index(0ul);
+
+	{
+		const eap_tlv_header_c * const network_key_index_header = credential_members.get_object(member_index);
+		if (network_key_index_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = credential_data.get_parameter_data(network_key_index_header, &network_key_index);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	eap_variable_data_c key(m_am_tools);
+
+	{
+		const eap_tlv_header_c * const key_header = credential_members.get_object(member_index);
+		if (key_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = credential_data.get_parameter_data(key_header, &key);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	network_key->set_network_key_index(network_key_index);
+
+	status = network_key->get_network_key()->set_copy_of_buffer(&key);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const network_keys_array_header,
+	eap_array_c<network_key_and_index_c> * const network_keys_array)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(network_keys_array_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eap_array_c<simple_config_credential_c> *)"),
+		network_keys_array_header->get_header_buffer(network_keys_array_header->get_header_buffer_length()),
+		network_keys_array_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(network_keys_array_header->get_type())
+		!= eapol_tlv_message_type_array)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c credential_array_data(m_am_tools);
+
+	if (credential_array_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = credential_array_data.set_message_data(
+		network_keys_array_header->get_value_length(),
+		network_keys_array_header->get_value(network_keys_array_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> credential_array_members(m_am_tools);
+
+	status = credential_array_data.parse_message_data(&credential_array_members);
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+
+	for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++)
+	{
+		network_key_and_index_c * const network_key = new network_key_and_index_c(m_am_tools);
+
+		eap_automatic_variable_c<network_key_and_index_c> automatic_network_key(m_am_tools, network_key);
+
+		if (network_key == 0
+			|| network_key->get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		{
+			const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member);
+			if (simple_config_credential_header == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+			}
+
+			status = credential_array_data.get_parameter_data(simple_config_credential_header, network_key);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			automatic_network_key.do_not_free_variable();
+
+			status = network_keys_array->add_object(network_key, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	} // for ()
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const credential_header,
+	simple_config_credential_c * const credential)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(credential_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(simple_config_credential_c *)"),
+		credential_header->get_header_buffer(credential_header->get_header_buffer_length()),
+		credential_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(credential_header->get_type())
+		!= eapol_tlv_message_type_protected_setup_credential)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c credential_data(m_am_tools);
+
+	if (credential_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = credential_data.set_message_data(
+		credential_header->get_value_length(),
+		credential_header->get_value(credential_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> credential_members(m_am_tools);
+
+	status = credential_data.parse_message_data(&credential_members);
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	u32_t member_index(0ul);
+
+	u8_t network_index(0ul);
+
+	{
+		const eap_tlv_header_c * const network_index_header = credential_members.get_object(member_index);
+		if (network_index_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = credential_data.get_parameter_data(network_index_header, &network_index);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	eap_variable_data_c SSID(m_am_tools);
+
+	{
+		const eap_tlv_header_c * const SSID_header = credential_members.get_object(member_index);
+		if (SSID_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = credential_data.get_parameter_data(SSID_header, &SSID);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	simple_config_Authentication_Type_e authentication_type(simple_config_Authentication_Type_None);
+
+	{
+		const eap_tlv_header_c * const authentication_type_header = credential_members.get_object(member_index);
+		if (authentication_type_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u16_t integer_value(0ul);
+
+		status = credential_data.get_parameter_data(authentication_type_header, &integer_value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		authentication_type = static_cast<simple_config_Authentication_Type_e>(integer_value);
+	}
+
+	++member_index;
+
+	simple_config_Encryption_Type_e encryption_type(simple_config_Encryption_Type_None);
+
+	{
+		const eap_tlv_header_c * const encryption_type_header = credential_members.get_object(member_index);
+		if (encryption_type_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		u16_t integer_value(0ul);
+
+		status = credential_data.get_parameter_data(encryption_type_header, &integer_value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		encryption_type = static_cast<simple_config_Encryption_Type_e>(integer_value);
+	}
+
+	++member_index;
+
+	 eap_array_c<network_key_and_index_c> network_keys_array(m_am_tools);
+
+	{
+		const eap_tlv_header_c * const network_keys_array_header = credential_members.get_object(member_index);
+		if (network_keys_array_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = credential_data.get_parameter_data(network_keys_array_header, &network_keys_array);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+	 eap_variable_data_c MAC_address(m_am_tools);
+
+	{
+		const eap_tlv_header_c * const MAC_address_header = credential_members.get_object(member_index);
+		if (MAC_address_header == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		status = credential_data.get_parameter_data(MAC_address_header, &MAC_address);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+	}
+
+	++member_index;
+
+
+	credential->set_network_index(network_index);
+
+	status = credential->get_SSID()->set_copy_of_buffer(&SSID);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	credential->set_Authentication_Type(authentication_type);
+
+	credential->set_Encryption_Type(encryption_type);
+
+	status = copy(
+		&network_keys_array,
+		credential->get_network_keys(),
+		m_am_tools,
+		false);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	status = credential->get_MAC_address()->set_copy_of_buffer(&MAC_address);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(
+	const eap_tlv_header_c * const credential_array_header,
+	eap_array_c<simple_config_credential_c> * const credential_array)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"),
+		 get_type_string(static_cast<eapol_tlv_message_type_e>(credential_array_header->get_type()))));
+
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		(EAPL("get_parameter_data(eap_array_c<simple_config_credential_c> *)"),
+		credential_array_header->get_header_buffer(credential_array_header->get_header_buffer_length()),
+		credential_array_header->get_header_buffer_length()));
+
+	if (static_cast<eapol_tlv_message_type_e>(credential_array_header->get_type())
+		!= eapol_tlv_message_type_array)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
+	}
+
+	eapol_handle_tlv_message_data_c credential_array_data(m_am_tools);
+
+	if (credential_array_data.get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	eap_status_e status = credential_array_data.set_message_data(
+		credential_array_header->get_value_length(),
+		credential_array_header->get_value(credential_array_header->get_value_length()));
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_array_c<eap_tlv_header_c> credential_array_members(m_am_tools);
+
+	status = credential_array_data.parse_message_data(&credential_array_members);
+
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+
+	for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++)
+	{
+		simple_config_credential_c * const simple_config_credential = new simple_config_credential_c(m_am_tools);
+
+		eap_automatic_variable_c<simple_config_credential_c> automatic_simple_config_credential(m_am_tools, simple_config_credential);
+
+		if (simple_config_credential == 0
+			|| simple_config_credential->get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		{
+			const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member);
+			if (simple_config_credential_header == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+			}
+
+			status = credential_array_data.get_parameter_data(simple_config_credential_header, simple_config_credential);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			automatic_simple_config_credential.do_not_free_variable();
+
+			status = credential_array->add_object(simple_config_credential, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	} // for ()
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_const_string eapol_handle_tlv_message_data_c::get_type_string(const eapol_tlv_message_type_e type)
+{
+#if defined(USE_EAP_TRACE_STRINGS)
+	EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_none)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_array)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_boolean)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eap_protocol_layer)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eap_state_notification)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eap_type)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_key_802_11_authentication_mode)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_key_authentication_type)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_key_type)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_tkip_mic_failure_type)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_wlan_authentication_state)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_error)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_function)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_network_id)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_RSNA_cipher)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_session_key)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u8_t)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u16_t)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u32_t)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u64_t)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_variable_data)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_network_key)
+	else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_protected_setup_credential)
+	else
+#endif // #if defined(USE_EAP_TRACE_STRINGS)
+	{
+		EAP_UNREFERENCED_PARAMETER(type);
+
+		return EAPL("Unknown EAPOL-TLV message type");
+	}
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_const_string eapol_handle_tlv_message_data_c::get_function_string(const eapol_tlv_message_type_function_e function)
+{
+#if defined(USE_EAP_TRACE_STRINGS)
+	EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_none)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_check_pmksa_cache)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_authentication)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_association)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_disassociation)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_preauthentication)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_reassociation)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_reassociation)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_WPXM_reassociation)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_WPXM_reassociation)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_packet_process)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_tkip_mic_failure)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_eap_acknowledge)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_update_header_offset)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_check_pmksa_cache)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_packet_send)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_associate)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_disassociate)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_packet_data_session_key)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_state_notification)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_reassociate)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_update_wlan_database_reference_values)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_start_WPXM_reassociation)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_new_protected_setup_credentials)
+	else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_illegal_value)
+	else
+#endif // #if defined(USE_EAP_TRACE_STRINGS)
+	{
+		EAP_UNREFERENCED_PARAMETER(function);
+
+		return EAPL("Unknown EAPOL-TLV message function");
+	}
+}
+
+//--------------------------------------------------
+
 // End.
--- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 57.1.6 %
+* %version: 61 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -45,7 +45,7 @@
 
 //--------------------------------------------------
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_2(
+eap_status_e eapol_key_state_c::create_4_way_handshake_message_2(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -260,7 +260,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_4(
+eap_status_e eapol_key_state_c::create_4_way_handshake_message_4(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -411,7 +411,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_1(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_1(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t /* packet_length */)
@@ -421,12 +421,14 @@
 
 	eap_status_e status = eap_status_process_general_error;
 
+	eapol_key_state_string_c state_string;
+
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::process_4_way_handshake_message_1(): eapol_key_descriptor_type = %s = 0x%02x\n"),
 		(m_is_client == true ? "client": "server"),
-		eapol_key_state_string_c::get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()),
+		state_string.get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()),
 		eapol_key_message->get_key_descriptor_type()));
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_key_state_c::process_4_way_handshake_message_1()");
@@ -434,7 +436,6 @@
 	// Only client (supplicant) could receive 4-Way Handshake message 1.
 	EAP_ASSERT_ALWAYS(m_is_client == true);
 
-#if 0
 	if (m_eapol_key_handshake_type == eapol_key_handshake_type_none)
 	{
 		// 4-Way Handshake started again.
@@ -447,12 +448,10 @@
 			(EAPL("EAPOL_KEY: %s: process_4_way_handshake_message_1(): 4-Way Handshake restarted.\n"),
 			(m_is_client == true ? "client": "server")));
 	}
-#endif
 
 	if (get_eapol_key_state() != eapol_key_state_wait_4_way_handshake_message_1
 		&& get_eapol_key_state() != eapol_key_state_wait_4_way_handshake_message_3
 		&& get_eapol_key_state() != eapol_key_state_4_way_handshake_successfull
-		&& get_eapol_key_state() != eapol_key_state_group_key_handshake_successfull
 		&& get_eapol_key_state() != eapol_key_state_preauthenticated
 #if defined(EAP_USE_WPXM)
 		&& get_eapol_key_state() != eapol_key_state_wpxm_reassociation_finished_successfull
@@ -464,7 +463,7 @@
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: process_4_way_handshake_message_1(): wrong state %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			state_string.get_eapol_key_state_string(get_eapol_key_state())));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -770,7 +769,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length,
@@ -963,7 +962,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t /* packet_length */,
@@ -1121,13 +1120,15 @@
 	}
 	else
 	{
+		eapol_key_state_string_c state_string;
+
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
 			(EAPL("WARNING: EAPOL_KEY: eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(): ")
 			 EAPL("No keys are set on state %d=%s.\n"),
 			 get_eapol_key_state(),
-			 eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			 state_string.get_eapol_key_state_string(get_eapol_key_state())));
 	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1137,7 +1138,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_3(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_3(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -1147,12 +1148,14 @@
 
 	eap_status_e status = eap_status_process_general_error;
 
+	eapol_key_state_string_c state_string;
+
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::process_4_way_handshake_message_3(): eapol_key_descriptor_type = %s = 0x%02x\n"),
 		(m_is_client == true ? "client": "server"),
-		eapol_key_state_string_c::get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()),
+		state_string.get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()),
 		eapol_key_message->get_key_descriptor_type()));
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_key_state_c::process_4_way_handshake_message_3()");
@@ -1165,12 +1168,13 @@
 	if (m_eapol_key_handshake_type != eapol_key_handshake_type_4_way_handshake
 		&& m_eapol_key_handshake_type != eapol_key_handshake_type_group_key_handshake)
 	{
+		eapol_key_state_string_c state_string;
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: process_4_way_handshake_message_3(): wrong handshake type %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
+			state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -1188,7 +1192,7 @@
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: process_4_way_handshake_message_3(): wrong state %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			state_string.get_eapol_key_state_string(get_eapol_key_state())));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -1425,13 +1429,15 @@
 	}
 	else
 	{
+		eapol_key_state_string_c state_string;
+
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
 			(EAPL("WARNING: EAPOL_KEY: eapol_key_state_c::process_4_way_handshake_message_3(): ")
 			 EAPL("No keys are set on state %d=%s.\n"),
 			 get_eapol_key_state(),
-			 eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			 state_string.get_eapol_key_state_string(get_eapol_key_state())));
 	}
 
 
@@ -1442,7 +1448,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0(
+eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0(
 	const bool true_when_4_way_handshake, ///< With false initiates Group Key Handshake.
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
@@ -1572,7 +1578,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_group_key_handshake_message_2(
+eap_status_e eapol_key_state_c::create_group_key_handshake_message_2(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -1715,7 +1721,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message_1(
+eap_status_e eapol_key_state_c::process_group_key_handshake_message_1(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -1748,12 +1754,13 @@
 	if (m_eapol_key_handshake_type != eapol_key_handshake_type_none
 		&& m_eapol_key_handshake_type != eapol_key_handshake_type_group_key_handshake)
 	{
+		eapol_key_state_string_c state_string;
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: start_group_key_handshake(): wrong handshake type %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
+			state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -1767,12 +1774,13 @@
 #endif //#if defined(EAP_USE_WPXM)
 		)
 	{
+		eapol_key_state_string_c state_string;
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: process_group_key_handshake_message_1(): wrong state %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			state_string.get_eapol_key_state_string(get_eapol_key_state())));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -2109,7 +2117,7 @@
 
 		set_eapol_key_state(eapol_key_state_group_key_handshake_successfull);
 
-		m_eapol_key_handshake_type = eapol_key_handshake_type_authenticated;
+		m_eapol_key_handshake_type = eapol_key_handshake_type_none;
 
 		if (get_is_WPXM() == true)
 		{
@@ -2135,13 +2143,15 @@
 	}
 	else
 	{
+		eapol_key_state_string_c state_string;
+
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
 			(EAPL("WARNING: EAPOL_KEY: eapol_key_state_c::process_group_key_handshake_message_1(): ")
 			 EAPL("No keys are set on state %d=%s.\n"),
 			 get_eapol_key_state(),
-			 eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			 state_string.get_eapol_key_state_string(get_eapol_key_state())));
 	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -2151,7 +2161,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_RC4_key_descriptor(
+eap_status_e eapol_key_state_c::process_RC4_key_descriptor(
 	const eap_am_network_id_c * const receive_network_id,
 	eap_general_header_base_c * const packet_data,
 	const u32_t packet_length)
@@ -2169,12 +2179,13 @@
 
 	if (m_eapol_key_handshake_type != eapol_key_handshake_type_dynamic_WEP)
 	{
+		eapol_key_state_string_c state_string;
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("ERROR: EAPOL_KEY: %s: process_RC4_key_descriptor(): wrong handshake type %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
+			state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -2182,12 +2193,13 @@
 
 	if (get_eapol_key_state() != eapol_key_state_wait_rc4_key_message)
 	{
+		eapol_key_state_string_c state_string;
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: process_RC4_key_descriptor(): wrong state %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
+			state_string.get_eapol_key_state_string(get_eapol_key_state())));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
@@ -2549,7 +2561,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::initialize_4_way_handshake(
+eap_status_e eapol_key_state_c::initialize_4_way_handshake(
 	const eap_am_network_id_c * const receive_network_id,
 	const eapol_protocol_version_e used_eapol_version)
 {
@@ -2564,24 +2576,20 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::initialize_4_way_handshake(): m_eapol_key_handshake_type=%d=%s, m_eapol_key_state=%d=%s\n"),
-		(m_is_client == true ? "client": "server"),
-		m_eapol_key_handshake_type,
-		eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type),
-		m_eapol_key_state,
-		eapol_key_state_string_c::get_eapol_key_state_string(m_eapol_key_state)));
+		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::initialize_4_way_handshake()\n"),
+		(m_is_client == true ? "client": "server")));
 
 	if (m_eapol_key_handshake_type != eapol_key_handshake_type_none
-		&& m_eapol_key_handshake_type != eapol_key_handshake_type_authenticated
 		&& m_eapol_key_handshake_type != eapol_key_handshake_type_group_key_handshake
 		&& m_eapol_key_handshake_type != eapol_key_handshake_type_4_way_handshake)
 	{
+		eapol_key_state_string_c state_string;
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("WARNING: EAPOL_KEY: %s: initialize_4_way_handshake(): wrong handshake type %s\n"),
 			(m_is_client == true ? "client": "server"),
-			eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
+			state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type)));
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state);
--- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 135 %
+* %version: 120.1.6.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -277,6 +277,7 @@
 		}
 	}
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	{
 		m_is_associated = true;
 
@@ -287,12 +288,15 @@
 			 (m_is_client == true) ? "client": "server",
 			 (m_is_associated == true) ? "true": "false"));
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
 
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 // 
 EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::initialize(
 	const eap_am_network_id_c * const receive_network_id,
@@ -324,6 +328,7 @@
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	// Creates SNonce. This is done here in early phase of authentication.
 	// This will reduce the CPU load when time critical first message
 	// of 4-Way handshake is processed.
@@ -333,6 +338,7 @@
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
@@ -340,6 +346,8 @@
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 //--------------------------------------------------
 
 // 
@@ -513,7 +521,9 @@
 	, m_indicate_pmkid_to_lower_layer(false)
 	, m_handshake_timeout_set(false)
 	, m_server_TEST_group_key_update(false)
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	, m_is_associated(false)
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -606,7 +616,9 @@
 	, m_indicate_pmkid_to_lower_layer(false)
 	, m_handshake_timeout_set(false)
 	, m_server_TEST_group_key_update(false)
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	, m_is_associated(false)
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -941,8 +953,6 @@
 	const eapol_key_authentication_type_e authentication_type
 	)
 {
-	EAP_UNREFERENCED_PARAMETER(eapol_key_handshake_type);
-	EAP_UNREFERENCED_PARAMETER(authentication_type);
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
@@ -1138,6 +1148,8 @@
 	}
 
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	status = new_state->initialize(
 		receive_network_id,
 		m_authentication_type);
@@ -1149,6 +1161,9 @@
 		return 0;
 	}
 
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+
 	eapol_key_handshake_type_e eapol_key_handshake_type(m_eapol_key_handshake_type);
 
 	eapol_key_authentication_type_e authentication_type(m_authentication_type);
@@ -1406,17 +1421,11 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): this = 0x%08x, state %d=%s,\n"),
+		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): this = 0x%08x, state %d=%s, selected_eapol_key_authentication_type %d=%s, m_authentication_type %d=%s.\n"),
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 get_eapol_key_state(),
-		 eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state())));
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): selected_eapol_key_authentication_type %d=%s, m_authentication_type %d=%s.\n"),
-		 (m_is_client == true) ? "client": "server",
+		 eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()),
 		 selected_eapol_key_authentication_type,
 		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type),
 		 m_authentication_type,
@@ -1560,6 +1569,7 @@
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	// Creates SNonce. This is done here in early phase of authentication.
 	// This will reduce the CPU load when time critical first message
 	// of 4-Way handshake is processed.
@@ -1569,6 +1579,7 @@
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	status = init_handshake_timeout(m_handshake_timeout);
 	if (status != eap_status_ok)
@@ -1671,7 +1682,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::complete_reassociation(
+eap_status_e eapol_key_state_c::complete_reassociation(
 	const eapol_wlan_authentication_state_e reassociation_result,
 	const eap_am_network_id_c * const /* receive_network_id */,
 	const eapol_key_authentication_type_e authentication_type,
@@ -1734,6 +1745,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
 		}
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 		{
 			m_is_associated = true;
 
@@ -1744,6 +1756,8 @@
 				 (m_is_client == true) ? "client": "server",
 				 (m_is_associated == true) ? "true": "false"));
 		}
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	}
 	else
 	{
@@ -2679,7 +2693,7 @@
 //--------------------------------------------------
 
 // 
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding(
+eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding(
 	const eapol_RSNA_key_descriptor_type_e /* current_key_data_type */,
 	eapol_rsna_key_data_header_c * const key_data_payload,
 	const u32_t key_data_max_length
@@ -2711,7 +2725,7 @@
 //--------------------------------------------------
 
 // 
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::parse_generic_key_data_payload(
+eap_status_e eapol_key_state_c::parse_generic_key_data_payload(
 	const eapol_key_descriptor_type_e eapol_key_descriptor_type,
 	const eapol_RSNA_key_descriptor_type_e current_key_descriptor_type,
 	eapol_rsna_key_data_header_c * const key_data_payload,
@@ -3473,7 +3487,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::parse_key_data(
+eap_status_e eapol_key_state_c::parse_key_data(
 	const eapol_key_descriptor_type_e eapol_key_descriptor_type,
 	const eapol_rsna_key_data_header_c * const p_payload,
 	u32_t * const buffer_length,
@@ -3645,7 +3659,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::rsna_prf(
+eap_status_e eapol_key_state_c::rsna_prf(
 	const eap_variable_data_c * const key_K,
 	const eap_variable_data_c * const label_A,
 	const eap_variable_data_c * const input_B,
@@ -3785,7 +3799,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::select_minimum(
+eap_status_e eapol_key_state_c::select_minimum(
 	const eap_variable_data_c * const input_a,
 	const eap_variable_data_c * const input_b,
 	const eap_variable_data_c ** const minimum,
@@ -3834,7 +3848,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_PTK()
+eap_status_e eapol_key_state_c::derive_PTK()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -4116,7 +4130,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_nonce(
+eap_status_e eapol_key_state_c::create_nonce(
 	eap_variable_data_c * const nonce,	const u32_t nonce_length)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -4168,7 +4182,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_PMKID()
+eap_status_e eapol_key_state_c::create_PMKID()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	eap_status_e status = eap_status_process_general_error;
@@ -4305,7 +4319,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::encrypt_key_data(
+eap_status_e eapol_key_state_c::encrypt_key_data(
 	eapol_RSNA_key_header_c * const eapol_key_message)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -4538,7 +4552,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::decrypt_key_data(
+eap_status_e eapol_key_state_c::decrypt_key_data(
 	eapol_RSNA_key_header_c * const eapol_key_message)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -4687,7 +4701,7 @@
 
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_key_mic(
+eap_status_e eapol_key_state_c::create_key_mic(
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const eap_variable_data_c * const confirmation_key)
 {
@@ -4859,7 +4873,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::verify_key_mic(
+eap_status_e eapol_key_state_c::verify_key_mic(
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const eap_variable_data_c * const confirmation_key)
 {
@@ -5289,6 +5303,8 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 EAP_FUNC_EXPORT bool eapol_key_state_c::get_is_associated()
 {
 	EAP_TRACE_DEBUG(
@@ -5301,6 +5317,8 @@
 	return m_is_associated;
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT void eapol_key_state_c::set_eapol_key_state(const eapol_key_state_e state)
@@ -5694,6 +5712,7 @@
 
 	eap_status_e status(eap_status_process_general_error);
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	{
 		m_is_associated = false;
 
@@ -5704,6 +5723,7 @@
 			 (m_is_client == true) ? "client": "server",
 			 (m_is_associated == true) ? "true": "false"));
 	}
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	if ((m_authentication_type == eapol_key_authentication_type_RSNA_EAP
 #if defined(EAP_USE_WPXM)
@@ -6138,7 +6158,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_tkip_mic_failure_message(
+eap_status_e eapol_key_state_c::create_tkip_mic_failure_message(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -6474,7 +6494,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::allow_4_way_handshake()
+eap_status_e eapol_key_state_c::allow_4_way_handshake()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	eap_status_e status = eap_status_process_general_error;
@@ -6589,6 +6609,18 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 	}
 	
+#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+	// Creates SNonce. This is done here in early phase of authentication.
+	// This will reduce the CPU load when time critical first message
+	// of 4-Way handshake is processed.
+	status = create_nonce(&m_SNonce, EAPOL_RSNA_NONCE_LENGTH_BYTES);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	status = init_handshake_timeout(m_handshake_timeout);
 	if (status != eap_status_ok)
 	{
@@ -6610,7 +6642,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::start_group_key_handshake(
+eap_status_e eapol_key_state_c::start_group_key_handshake(
 	const eap_am_network_id_c * const receive_network_id,
 	const eapol_protocol_version_e received_eapol_version,
 	const eapol_key_descriptor_type_e received_key_descriptor_type)
@@ -6741,7 +6773,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::get_key_length(
+eap_status_e eapol_key_state_c::get_key_length(
 	const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e cipher,
 	u16_t * const key_length)
 {
@@ -6779,7 +6811,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -6884,7 +6916,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message(
+eap_status_e eapol_key_state_c::process_group_key_handshake_message(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -6953,7 +6985,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_RSNA_key_descriptor(
+eap_status_e eapol_key_state_c::process_RSNA_key_descriptor(
 	const eap_am_network_id_c * const receive_network_id,
 	eap_general_header_base_c * const packet_data,
 	const u32_t packet_length)
--- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 49 %
+* %version: 46.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -48,7 +48,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_1(
+eap_status_e eapol_key_state_c::create_4_way_handshake_message_1(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -303,7 +303,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_3(
+eap_status_e eapol_key_state_c::create_4_way_handshake_message_3(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -897,7 +897,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages()
+eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -948,7 +948,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::start_4_way_handshake(
+eap_status_e eapol_key_state_c::start_4_way_handshake(
 	const eap_am_network_id_c * const receive_network_id)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1140,7 +1140,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -1315,7 +1315,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_0(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_0(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t /* packet_length */)
@@ -1427,7 +1427,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_2(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_2(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -1598,7 +1598,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_4(
+eap_status_e eapol_key_state_c::process_4_way_handshake_message_4(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -1869,7 +1869,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_group_key_handshake_message_1(
+eap_status_e eapol_key_state_c::create_group_key_handshake_message_1(
 	eap_buf_chain_wr_c * const sent_packet,
 	const u32_t eapol_header_offset,
 	u32_t * const data_length,
@@ -2157,7 +2157,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message_0(
+eap_status_e eapol_key_state_c::process_group_key_handshake_message_0(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
@@ -2289,7 +2289,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message_2(
+eap_status_e eapol_key_state_c::process_group_key_handshake_message_2(
 	const eap_am_network_id_c * const receive_network_id,
 	eapol_RSNA_key_header_c * const eapol_key_message,
 	const u32_t packet_length)
--- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,13 +16,13 @@
 */
 
 /*
-* %version: 12 %
+* %version: 9.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 719 
+	#define EAP_FILE_NUMBER_ENUM 50 
 	#undef EAP_FILE_NUMBER_DATE 
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
@@ -103,7 +103,6 @@
 #if defined(USE_WAPI_CORE)
 	else EAP_IF_RETURN_STRING(handshake_type, eapol_key_handshake_type_wai_handshake)
 #endif //#if defined(USE_WAPI_CORE)
-	else EAP_IF_RETURN_STRING(handshake_type, eapol_key_handshake_type_authenticated)
 	else
 #endif // #if defined(USE_EAP_TRACE_STRINGS)
 	{
@@ -129,7 +128,7 @@
 #if defined(EAP_USE_WPXM)
 	else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WPXM)
 #endif //#if defined(EAP_USE_WPXM)
-	else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WPS)
+	else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WFA_SC)
 #if defined(USE_WAPI_CORE)
 	else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WAI_PSK)
 	else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WAI_certificate)
@@ -147,7 +146,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_const_string eapol_key_state_string_c::get_eapol_key_descriptor_type_string(
+eap_const_string eapol_key_state_string_c::get_eapol_key_descriptor_type_string(
 	const eapol_key_descriptor_type_e key_descriptor_type)
 {
 
--- a/eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 62 %
+* %version: 46.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -82,7 +82,7 @@
 	, m_MTU(0ul)
 	, m_trailer_length(0ul)
 	, m_error_code(wlan_eap_if_send_status_ok)
-	, m_error_function(eap_tlv_message_type_function_none)
+	, m_error_function(eapol_tlv_message_type_function_none)
 	, m_use_asyncronous_test(false)
 	, m_is_valid(true)
 {
@@ -109,7 +109,8 @@
 	m_wauth = eapol_wlan_authentication_c::new_eapol_wlan_authentication(
 		m_am_tools,
 		this,
-		true);
+		true,
+		this);
 	if (m_wauth != 0
 		&& m_wauth->get_is_valid() == true)
 	{
@@ -182,7 +183,7 @@
 	
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
+		TRACE_FLAGS_DEFAULT, 
 		(EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired")
 		 EAPL("(id 0x%02x, data 0x%08x).\n"),
 		 this, id, data));
@@ -193,7 +194,7 @@
 	{
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
-			EAP_TRACE_FLAGS_MESSAGE_DATA, 
+			TRACE_FLAGS_DEFAULT, 
 			(EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired: EAPOL_MESSAGE_TIMER_PROCESS_DATA_ID")
 			 EAPL("(id 0x%02x, data 0x%08x).\n"),
 			 this, id, data));
@@ -210,7 +211,7 @@
 	{
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
-			EAP_TRACE_FLAGS_MESSAGE_DATA, 
+			TRACE_FLAGS_DEFAULT, 
 			(EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired: EAPOL_MESSAGE_TIMER_SEND_DATA_ID")
 			 EAPL("(id 0x%02x, data 0x%08x).\n"),
 			 this, id, data));
@@ -334,9 +335,6 @@
 	}
 	else
 	{
-
-#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 		// Always we need at least the Ethernet header.
 		if (sent_packet->get_data_length()
 			< eapol_ethernet_header_wr_c::get_header_length())
@@ -351,9 +349,6 @@
 				 eapol_ethernet_header_wr_c::get_header_length()));
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
 		}
-
-#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 	}
 	
 	eapol_ethernet_header_wr_c eth(
@@ -377,7 +372,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_packet_send);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_packet_send);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -444,7 +439,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_associate);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_associate);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -452,7 +447,7 @@
 		}
 
 		status = message.add_parameter_data(
-			eap_tlv_message_type_eapol_key_802_11_authentication_mode,
+			eapol_tlv_message_type_eapol_key_802_11_authentication_mode,
 			static_cast<u32_t>(authentication_mode));
 		if (status != eap_status_ok)
 		{
@@ -490,7 +485,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_disassociate);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_disassociate);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -545,14 +540,14 @@
 	
 	EAP_TRACE_DEBUG(
 		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("test_eapol_c::packet_data_session_key(): key_type 0x%02x, key_index %d\n"),
 		 key->get_key_type(),
 		 key->get_key_index()));
 	
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("test_eapol_c::packet_data_session_key"), 
 		 key->get_key()->get_data(key->get_key()->get_data_length()),
 		 key->get_key()->get_data_length()));
@@ -567,7 +562,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_packet_data_session_key);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_packet_data_session_key);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -620,7 +615,7 @@
 			return;
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_state_notification);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_state_notification);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -678,7 +673,7 @@
 	
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
-		EAP_TRACE_FLAGS_MESSAGE_DATA,
+		TRACE_FLAGS_DEFAULT,
 		(EAPL("eapol_message_wlan_authentication_c::reassociate"), 
 		 PMKID->get_data(PMKID->get_data_length()),
 		 PMKID->get_data_length()));
@@ -693,7 +688,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_reassociate);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_reassociate);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -708,7 +703,7 @@
 		}
 
 		status = message.add_parameter_data(
-			eap_tlv_message_type_eapol_key_authentication_type,
+			eapol_tlv_message_type_eapol_key_authentication_type,
 			static_cast<u32_t>(authentication_type));
 		if (status != eap_status_ok)
 		{
@@ -737,9 +732,33 @@
 
 //--------------------------------------------------
 
+EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::get_wlan_database_reference_values(
+	eap_variable_data_c * const reference) const
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	if (m_wlan_database_reference.get_is_valid_data() == true
+		&& m_wlan_database_reference.get_data_length() > 0ul)
+	{
+
+		return reference->set_copy_of_buffer(&m_wlan_database_reference);
+	}
+	else
+	{
+		EAP_TRACE_ERROR(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("ERROR: get_header_offset(): no completed parameters.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT)
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+	}
+}
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::send_error_message(
 	const eap_status_e function_status,
-	const eap_tlv_message_type_function_e function)
+	const eapol_tlv_message_type_function_e function)
 {
 	wlan_eap_if_send_status_e error_code = wlan_eap_if_send_status_conversion_c::convert(function_status);
 
@@ -756,7 +775,7 @@
 		}
 
 		status = message.add_parameter_data(
-			eap_tlv_message_type_error,
+			eapol_tlv_message_type_error,
 			static_cast<u32_t>(error_code));
 		if (status != eap_status_ok)
 		{
@@ -908,7 +927,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_new_protected_setup_credentials);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_new_protected_setup_credentials);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -938,116 +957,62 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::complete_check_pmksa_cache(
-	EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids)
+EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::process_message_type_error(
+	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_message_wlan_authentication_c::complete_check_pmksa_cache()\n")));
-
-	eap_status_e status(eap_status_process_general_error);
-
-	// Creates message data composed of Attribute-Value Pairs.
-	eapol_handle_tlv_message_data_c message(m_am_tools);
-
-	if (message.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	status = message.add_parameter_data(eap_tlv_message_type_function_complete_check_pmksa_cache);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
+	eap_status_e status(eap_status_ok);
 
 	{
-		u32_t bssid_sta_receive_network_ids_size(0ul);
-		u32_t ind(0ul);
-
-		for (ind = 0ul; ind < bssid_sta_receive_network_ids->get_object_count(); ++ind)
+		// Error payload is the first in this case.
+		const eap_tlv_header_c * const error_header = parameters->get_object(eapol_message_payload_index_function);
+
+		if (error_header == 0
+			|| error_header->get_type() != eapol_tlv_message_type_error)
 		{
-			const eap_am_network_id_c * const network_id = bssid_sta_receive_network_ids->get_object(ind);
-			if (network_id == 0)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			const u32_t size_of_network_id = 
-				eap_tlv_header_c::get_header_length()
-				+ message.get_payload_size(network_id);
-
-			bssid_sta_receive_network_ids_size += size_of_network_id;
-		} // for()
-
-		eap_status_e status = message.add_structured_parameter_header(
-			eap_tlv_message_type_array,
-			bssid_sta_receive_network_ids_size);
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(error_header, &value);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
 
-		for (ind = 0ul; ind < bssid_sta_receive_network_ids->get_object_count(); ++ind)
-		{
-			status = message.add_parameter_data(
-				bssid_sta_receive_network_ids->get_object(ind));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-		} // for()
+		m_error_code = static_cast<wlan_eap_if_send_status_e>(value);
 	}
 
-	status = send_message(&message);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::complete_disassociation(
-	const eap_am_network_id_c * const receive_network_id) ///< source includes remote address, destination includes local address.
-{
-	eap_status_e status(eap_status_ok);
-
 	{
-		// Creates message data composed of Attribute-Value Pairs.
-		eapol_handle_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
+		// Fuction payload is the second in this case.
+		const eap_tlv_header_c * const function_header = parameters->get_object(eapol_message_payload_index_first_parameter);
+
+		if (function_header == 0
+			|| function_header->get_type() != eapol_tlv_message_type_function)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_complete_disassociation);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = message.add_parameter_data(receive_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = send_message(&message);
+		status = message_data.get_parameter_data(function_header, &m_error_function);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1061,59 +1026,13 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::process_message_type_error(
-	EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters)
-{
-	eap_status_e status(eap_status_ok);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_status_e code(eap_status_process_general_error);
-
-	// Error payload is the first in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &code);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	m_error_code = wlan_eap_if_send_status_conversion_c::convert(code);
-
-	// Fuction payload is the second in this case.
-	status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::send_message(eapol_handle_tlv_message_data_c * const message)
 {
 	// Sends message data composed of Attribute-Value Pairs.
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("TIMER: eapol_message_wlan_authentication_c::send_message()\n")));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eapol_message_wlan_authentication_c::send_message()");
-
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
 		(EAPL("eapol_message_wlan_authentication_c::send_message()"),
 		message->get_message_data(),
 		message->get_message_data_length()));
@@ -1137,7 +1056,7 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
@@ -1151,7 +1070,7 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
@@ -1206,13 +1125,6 @@
 {
 	// Parses message data composed of Attribute-Value Pairs.
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("TIMER: eapol_message_wlan_authentication_c::process_data()\n")));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eapol_message_wlan_authentication_c::process_data()");
-
 	eap_status_e status(eap_status_ok);
 
 #if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_ASYNCRONOUS_TEST)
@@ -1232,7 +1144,7 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return wlan_eap_if_send_status_conversion_c::convert(
 				EAP_STATUS_RETURN(m_am_tools, status));
@@ -1245,7 +1157,7 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return wlan_eap_if_send_status_conversion_c::convert(
 				EAP_STATUS_RETURN(m_am_tools, status));
@@ -1255,7 +1167,7 @@
 
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
-			EAP_TRACE_FLAGS_MESSAGE_DATA, 
+			TRACE_FLAGS_DEFAULT, 
 			(EAPL("TIMER: eapol_message_wlan_authentication_c::process_data(): sets EAPOL_MESSAGE_TIMER_PROCESS_DATA_ID\n")));
 	
 		status = m_am_tools->am_set_timer(
@@ -1285,7 +1197,7 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return wlan_eap_if_send_status_conversion_c::convert(
 				EAP_STATUS_RETURN(m_am_tools, status));
@@ -1298,7 +1210,7 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return wlan_eap_if_send_status_conversion_c::convert(
 				EAP_STATUS_RETURN(m_am_tools, status));
@@ -1317,16 +1229,9 @@
 {
 	// Parses message data composed of Attribute-Value Pairs.
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("TIMER: eapol_message_wlan_authentication_c::process_message()\n")));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eapol_message_wlan_authentication_c::process_message()");
-
 	EAP_TRACE_DATA_DEBUG(
 		m_am_tools,
-		EAP_TRACE_FLAGS_NEVER,
+		EAP_TRACE_FLAGS_MESSAGE_DATA,
 		(EAPL("eapol_message_wlan_authentication_c::process_message()"),
 		message->get_message_data(),
 		message->get_message_data_length()));
@@ -1340,7 +1245,7 @@
 
 		(void) send_error_message(
 			status,
-			eap_tlv_message_type_function_none);
+			eapol_tlv_message_type_function_none);
 
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
@@ -1353,15 +1258,15 @@
 
 		(void) send_error_message(
 			status,
-			eap_tlv_message_type_function_none);
+			eapol_tlv_message_type_function_none);
 
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 
-	const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function);
+	const eap_tlv_header_c * const function_header = parameters.get_object(eapol_message_payload_index_function);
 	if (function_header == 0
-		|| (function_header->get_type() != eap_tlv_message_type_error
-			&& function_header->get_type() != eap_tlv_message_type_function))
+		|| (function_header->get_type() != eapol_tlv_message_type_error
+			&& function_header->get_type() != eapol_tlv_message_type_function))
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -1369,18 +1274,18 @@
 
 		(void) send_error_message(
 			status,
-			eap_tlv_message_type_function_none);
+			eapol_tlv_message_type_function_none);
 
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 
-	if (function_header->get_type() == eap_tlv_message_type_error)
+	if (function_header->get_type() == eapol_tlv_message_type_error)
 	{
 		status = process_message_type_error(&parameters);
 	}
-	else // function_header->get_type() == eap_tlv_message_type_function
+	else // function_header->get_type() == eapol_tlv_message_type_function
 	{
-		eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none);
+		eapol_tlv_message_type_function_e function(eapol_tlv_message_type_function_none);
 
 		status = message->get_parameter_data(function_header, &function);
 		if (status != eap_status_ok)
@@ -1389,53 +1294,53 @@
 
 			(void) send_error_message(
 				status,
-				eap_tlv_message_type_function_none);
+				eapol_tlv_message_type_function_none);
 
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
 
 		switch(function)
 		{
-		case eap_tlv_message_type_function_check_pmksa_cache:
+		case eapol_tlv_message_type_function_check_pmksa_cache:
 			status = check_pmksa_cache(&parameters);
 			break;
-		case eap_tlv_message_type_function_start_authentication:
+		case eapol_tlv_message_type_function_start_authentication:
 			status = start_authentication(&parameters);
 			break;
-		case eap_tlv_message_type_function_complete_association:
+		case eapol_tlv_message_type_function_complete_association:
 			status = complete_association(&parameters);
 			break;
-		case eap_tlv_message_type_function_disassociation:
+		case eapol_tlv_message_type_function_disassociation:
 			status = disassociation(&parameters);
 			break;
-		case eap_tlv_message_type_function_start_preauthentication:
+		case eapol_tlv_message_type_function_start_preauthentication:
 			status = start_preauthentication(&parameters);
 			break;
-		case eap_tlv_message_type_function_start_reassociation:
+		case eapol_tlv_message_type_function_start_reassociation:
 			status = start_reassociation(&parameters);
 			break;
-		case eap_tlv_message_type_function_complete_reassociation:
+		case eapol_tlv_message_type_function_complete_reassociation:
 			status = complete_reassociation(&parameters);
 			break;
-		case eap_tlv_message_type_function_start_WPXM_reassociation:
+		case eapol_tlv_message_type_function_start_WPXM_reassociation:
 			status = start_WPXM_reassociation(&parameters);
 			break;
-		case eap_tlv_message_type_function_complete_WPXM_reassociation:
+		case eapol_tlv_message_type_function_complete_WPXM_reassociation:
 			status = complete_WPXM_reassociation(&parameters);
 			break;
-		case eap_tlv_message_type_function_packet_process:
+		case eapol_tlv_message_type_function_packet_process:
 			status = packet_process(&parameters);
 			break;
-		case eap_tlv_message_type_function_tkip_mic_failure:
+		case eapol_tlv_message_type_function_tkip_mic_failure:
 			status = tkip_mic_failure(&parameters);
 			break;
-		case eap_tlv_message_type_function_eap_acknowledge:
+		case eapol_tlv_message_type_function_eap_acknowledge:
 			status = eap_acknowledge(&parameters);
 			break;
-		case eap_tlv_message_type_function_update_header_offset:
+		case eapol_tlv_message_type_function_update_header_offset:
 			status = update_header_offset(&parameters);
 			break;
-		case eap_tlv_message_type_function_update_wlan_database_reference_values:
+		case eapol_tlv_message_type_function_update_wlan_database_reference_values:
 			status = update_wlan_database_reference_values(&parameters);
 			break;
 		default:
@@ -1475,64 +1380,195 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_array_c<eap_am_network_id_c> bssid_sta_receive_network_ids(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &bssid_sta_receive_network_ids);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const array_of_network_ids
+			= parameters->get_object(parameter_index);
+
+		if (array_of_network_ids == 0
+			|| array_of_network_ids->get_type() != eapol_tlv_message_type_array)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c array_data(m_am_tools);
+
+		if (array_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = array_data.set_message_data(
+			array_of_network_ids->get_value_length(),
+			array_of_network_ids->get_value(array_of_network_ids->get_value_length()));
+
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		eap_array_c<eap_tlv_header_c> network_ids(m_am_tools);
+
+		status = array_data.parse_message_data(
+			&network_ids);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		for (u32_t ind = 0ul; ind < network_ids.get_object_count(); ++ind)
+		{
+			const eap_tlv_header_c * const header = network_ids.get_object(ind);
+
+			if (header == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+			}
+
+			eap_am_network_id_c * const new_network_id = new eap_am_network_id_c(m_am_tools);
+			if (new_network_id == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			eap_automatic_variable_c<eap_am_network_id_c> automatic_new_network_id(m_am_tools, new_network_id);
+
+			status = array_data.get_parameter_data(header, new_network_id);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			automatic_new_network_id.do_not_free_variable();
+
+			status = bssid_sta_receive_network_ids.add_object(
+				new_network_id,
+				true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+		} // for()
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_key_authentication_type_e selected_eapol_key_authentication_type(eapol_key_authentication_type_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &selected_eapol_key_authentication_type);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const authentication_type
+			= parameters->get_object(parameter_index);
+
+		if (authentication_type == 0
+			|| authentication_type->get_type() != eapol_tlv_message_type_eapol_key_authentication_type)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(authentication_type, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		selected_eapol_key_authentication_type = static_cast<eapol_key_authentication_type_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &pairwise_key_cipher_suite);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const authentication_type
+			= parameters->get_object(parameter_index);
+
+		if (authentication_type == 0
+			|| authentication_type->get_type() != eapol_tlv_message_type_RSNA_cipher)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(authentication_type, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		pairwise_key_cipher_suite = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &group_key_cipher_suite);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const authentication_type
+			= parameters->get_object(parameter_index);
+
+		if (authentication_type == 0
+			|| authentication_type->get_type() != eapol_tlv_message_type_RSNA_cipher)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(authentication_type, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		group_key_cipher_suite = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -1545,8 +1581,6 @@
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
-#if 0
-
 	if (status == eap_status_ok
 		|| status == eap_status_not_found)
 	{
@@ -1560,7 +1594,7 @@
 		}
 
 		status = message.add_parameter_data(
-			eap_tlv_message_type_function_complete_check_pmksa_cache);
+			eapol_tlv_message_type_function_complete_check_pmksa_cache);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1586,7 +1620,7 @@
 		}
 
 		status = message.add_structured_parameter_header(
-			eap_tlv_message_type_array,
+			eapol_tlv_message_type_array,
 			network_id_parameters_size);
 		if (status != eap_status_ok)
 		{
@@ -1621,8 +1655,6 @@
 		}
 	}
 
-#endif //#if 0
-
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1640,17 +1672,7 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_variable_data_c SSID(m_am_tools);
 
@@ -1660,73 +1682,183 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &SSID);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const ssid_parameter
+			= parameters->get_object(parameter_index);
+
+		if (ssid_parameter == 0
+			|| ssid_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(ssid_parameter, &SSID);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_key_authentication_type_e selected_eapol_key_authentication_type(eapol_key_authentication_type_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &selected_eapol_key_authentication_type);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const authentication_type_parameter
+			= parameters->get_object(parameter_index);
+
+		if (authentication_type_parameter == 0
+			|| authentication_type_parameter->get_type() != eapol_tlv_message_type_eapol_key_authentication_type)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(authentication_type_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		selected_eapol_key_authentication_type = static_cast<eapol_key_authentication_type_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eap_variable_data_c wpa_preshared_key(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &wpa_preshared_key);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const wpa_preshared_key_parameter
+			= parameters->get_object(parameter_index);
+
+		if (wpa_preshared_key_parameter == 0
+			|| wpa_preshared_key_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(wpa_preshared_key_parameter, &wpa_preshared_key);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	bool WPA_override_enabled(false);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &WPA_override_enabled);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const WPA_override_enabled_parameter
+			= parameters->get_object(parameter_index);
+
+		if (WPA_override_enabled_parameter == 0
+			|| WPA_override_enabled_parameter->get_type() != eapol_tlv_message_type_boolean)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(WPA_override_enabled_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		WPA_override_enabled = (value == 0) ? false: true;
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	++parameter_index;
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	status = m_wauth->start_authentication(
 		&SSID,
 		selected_eapol_key_authentication_type,
 		&wpa_preshared_key,
-		WPA_override_enabled,
-		&receive_network_id
+		WPA_override_enabled
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+		, &receive_network_id
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 		);
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -1746,91 +1878,206 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eapol_wlan_authentication_state_e association_result(eapol_wlan_authentication_state_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &association_result);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const association_result_parameter
+			= parameters->get_object(parameter_index);
+
+		if (association_result_parameter == 0
+			|| association_result_parameter->get_type() != eapol_tlv_message_type_eapol_wlan_authentication_state)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(association_result_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		association_result = static_cast<eapol_wlan_authentication_state_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eap_variable_data_c received_WPA_IE(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_IE);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const received_WPA_IE_parameter
+			= parameters->get_object(parameter_index);
+
+		if (received_WPA_IE_parameter == 0
+			|| received_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(received_WPA_IE_parameter, &received_WPA_IE);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eap_variable_data_c sent_WPA_IE(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_IE);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const sent_WPA_IE_parameter
+			= parameters->get_object(parameter_index);
+
+		if (sent_WPA_IE_parameter == 0
+			|| sent_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(sent_WPA_IE_parameter, &sent_WPA_IE);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &pairwise_key_cipher_suite);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const pairwise_key_cipher_suite_parameter
+			= parameters->get_object(parameter_index);
+
+		if (pairwise_key_cipher_suite_parameter == 0
+			|| pairwise_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(pairwise_key_cipher_suite_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		pairwise_key_cipher_suite = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &group_key_cipher_suite);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const group_key_cipher_suite_parameter
+			= parameters->get_object(parameter_index);
+
+		if (group_key_cipher_suite_parameter == 0
+			|| group_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(group_key_cipher_suite_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		group_key_cipher_suite = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -1861,25 +2108,35 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -1905,25 +2162,35 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -1949,53 +2216,105 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c old_receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &old_receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const old_receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (old_receive_network_id_parameter == 0
+			|| old_receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(old_receive_network_id_parameter, &old_receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eap_am_network_id_c new_receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &new_receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const new_receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (new_receive_network_id_parameter == 0
+			|| new_receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(new_receive_network_id_parameter, &new_receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_key_authentication_type_e selected_eapol_key_authentication_type(eapol_key_authentication_type_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &selected_eapol_key_authentication_type);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const authentication_type
+			= parameters->get_object(parameter_index);
+
+		if (authentication_type == 0
+			|| authentication_type->get_type() != eapol_tlv_message_type_eapol_key_authentication_type)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(authentication_type, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		selected_eapol_key_authentication_type = static_cast<eapol_key_authentication_type_e>(value);
 	}
 
+
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	status = m_wauth->start_reassociation(
@@ -2020,91 +2339,206 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eapol_wlan_authentication_state_e association_result(eapol_wlan_authentication_state_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &association_result);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const association_result_parameter
+			= parameters->get_object(parameter_index);
+
+		if (association_result_parameter == 0
+			|| association_result_parameter->get_type() != eapol_tlv_message_type_eapol_wlan_authentication_state)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(association_result_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		association_result = static_cast<eapol_wlan_authentication_state_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eap_variable_data_c received_WPA_IE(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_IE);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const received_WPA_IE_parameter
+			= parameters->get_object(parameter_index);
+
+		if (received_WPA_IE_parameter == 0
+			|| received_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(received_WPA_IE_parameter, &received_WPA_IE);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eap_variable_data_c sent_WPA_IE(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_IE);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const sent_WPA_IE_parameter
+			= parameters->get_object(parameter_index);
+
+		if (sent_WPA_IE_parameter == 0
+			|| sent_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(sent_WPA_IE_parameter, &sent_WPA_IE);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &pairwise_key_cipher_suite);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const pairwise_key_cipher_suite_parameter
+			= parameters->get_object(parameter_index);
+
+		if (pairwise_key_cipher_suite_parameter == 0
+			|| pairwise_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(pairwise_key_cipher_suite_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		pairwise_key_cipher_suite = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &group_key_cipher_suite);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const group_key_cipher_suite_parameter
+			= parameters->get_object(parameter_index);
+
+		if (group_key_cipher_suite_parameter == 0
+			|| group_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(group_key_cipher_suite_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		group_key_cipher_suite = static_cast<eapol_RSNA_key_header_c::eapol_RSNA_cipher_e>(value);
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2135,25 +2569,35 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c old_receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &old_receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &old_receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2162,24 +2606,65 @@
 
 	eap_am_network_id_c new_receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &new_receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &new_receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
+
 	++parameter_index;
 
 	eap_variable_data_c send_reassociation_request_ie(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &send_reassociation_request_ie);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const send_reassociation_request_ie_parameter
+			= parameters->get_object(parameter_index);
+
+		if (send_reassociation_request_ie_parameter == 0
+			|| send_reassociation_request_ie_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(send_reassociation_request_ie_parameter, &send_reassociation_request_ie);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2190,11 +2675,26 @@
 
 	if (parameters->get_object_count() > parameter_index)
 	{
-		status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_ie);
-		if (status != eap_status_ok)
+		const eap_tlv_header_c * const send_reassociation_request_ie_parameter
+			= parameters->get_object(parameter_index);
+
+		if (send_reassociation_request_ie_parameter != 0
+			&& send_reassociation_request_ie_parameter->get_type() == eapol_tlv_message_type_variable_data)
 		{
-			// This is optional parameter.
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
+			eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+			if (message_data.get_is_valid() == false)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			status = message_data.get_parameter_data(send_reassociation_request_ie_parameter, &received_WPA_ie);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
 		}
 	}
 
@@ -2206,11 +2706,26 @@
 
 	if (parameters->get_object_count() > parameter_index)
 	{
-		status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_ie);
-		if (status != eap_status_ok)
+		const eap_tlv_header_c * const send_reassociation_request_ie_parameter
+			= parameters->get_object(parameter_index);
+
+		if (send_reassociation_request_ie_parameter != 0
+			&& send_reassociation_request_ie_parameter->get_type() == eapol_tlv_message_type_variable_data)
 		{
-			// This is optional parameter.
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
+			eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+			if (message_data.get_is_valid() == false)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			status = message_data.get_parameter_data(send_reassociation_request_ie_parameter, &sent_WPA_ie);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
 		}
 	}
 
@@ -2237,7 +2752,7 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 
-		status = message.add_parameter_data(eap_tlv_message_type_function_complete_start_WPXM_reassociation);
+		status = message.add_parameter_data(eapol_tlv_message_type_function_complete_start_WPXM_reassociation);
 		if (status != eap_status_ok)
 		{
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -2283,54 +2798,106 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eapol_wlan_authentication_state_e reassociation_result(eapol_wlan_authentication_state_none);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &reassociation_result);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const reassociation_result_parameter
+			= parameters->get_object(parameter_index);
+
+		if (reassociation_result_parameter == 0
+			|| reassociation_result_parameter->get_type() != eapol_tlv_message_type_eapol_wlan_authentication_state)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(reassociation_result_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		reassociation_result = static_cast<eapol_wlan_authentication_state_e>(value);
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eap_variable_data_c received_reassociation_ie(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &received_reassociation_ie);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const received_reassociation_ie_parameter
+			= parameters->get_object(parameter_index);
+
+		if (received_reassociation_ie_parameter == 0
+			|| received_reassociation_ie_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(received_reassociation_ie_parameter, &received_reassociation_ie);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
+
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	status = m_wauth->complete_WPXM_reassociation(
@@ -2355,41 +2922,70 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	eap_variable_data_c packet_data_payload(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &packet_data_payload);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const packet_data_parameter
+			= parameters->get_object(parameter_index);
+
+		if (packet_data_parameter == 0
+			|| packet_data_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(packet_data_parameter, &packet_data_payload);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
+
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	eapol_ethernet_header_wr_c eth(
@@ -2425,51 +3021,106 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	++parameter_index;
 
 	bool fatal_failure_when_true(false);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &fatal_failure_when_true);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const fatal_failure_when_true_parameter
+			= parameters->get_object(parameter_index);
+
+		if (fatal_failure_when_true_parameter == 0
+			|| fatal_failure_when_true_parameter->get_type() != eapol_tlv_message_type_boolean)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(fatal_failure_when_true_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		fatal_failure_when_true = (value == 0) ? false: true;
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
 	eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type(eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_group_key);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &tkip_mic_failure_type);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const tkip_mic_failure_type_parameter
+			= parameters->get_object(parameter_index);
+
+		if (tkip_mic_failure_type_parameter == 0
+			|| tkip_mic_failure_type_parameter->get_type() != eapol_tlv_message_type_eapol_tkip_mic_failure_type)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		u32_t value(0ul);
+
+		status = message_data.get_parameter_data(tkip_mic_failure_type_parameter, &value);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		tkip_mic_failure_type = static_cast<eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e>(value);
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2497,25 +3148,35 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
 
 	eap_am_network_id_c receive_network_id(m_am_tools);
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const receive_network_id_parameter
+			= parameters->get_object(parameter_index);
+
+		if (receive_network_id_parameter == 0
+			|| receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2541,43 +3202,93 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
+
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		const eap_tlv_header_c * const header_offset_value_parameter
+			= parameters->get_object(parameter_index);
+
+		if (header_offset_value_parameter == 0
+			|| header_offset_value_parameter->get_type() != eapol_tlv_message_type_u32_t)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(header_offset_value_parameter, &m_header_offset);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &m_header_offset);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &m_MTU);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const MTU_value_parameter
+			= parameters->get_object(parameter_index);
+
+		if (MTU_value_parameter == 0
+			|| MTU_value_parameter->get_type() != eapol_tlv_message_type_u32_t)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(MTU_value_parameter, &m_MTU);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	++parameter_index;
 
-	status = message_data.read_parameter_data(parameters, parameter_index, &m_trailer_length);
-	if (status != eap_status_ok)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const trailer_length_parameter
+			= parameters->get_object(parameter_index);
+
+		if (trailer_length_parameter == 0
+			|| trailer_length_parameter->get_type() != eapol_tlv_message_type_u32_t)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(trailer_length_parameter, &m_trailer_length);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -2597,30 +3308,33 @@
 
 	eap_status_e status(eap_status_ok);
 
-	u32_t parameter_index(eap_message_payload_index_first_parameter);
-
-	eapol_handle_tlv_message_data_c message_data(m_am_tools);
-
-	if (message_data.get_is_valid() == false)
+	u32_t parameter_index(eapol_message_payload_index_first_parameter);
+
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = message_data.read_parameter_data(parameters, parameter_index, &m_wlan_database_reference);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = m_wauth->set_eap_database_reference_values(&m_wlan_database_reference);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		const eap_tlv_header_c * const reference_parameter
+			= parameters->get_object(parameter_index);
+
+		if (reference_parameter == 0
+			|| reference_parameter->get_type() != eapol_tlv_message_type_variable_data)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
+		}
+
+		eapol_handle_tlv_message_data_c message_data(m_am_tools);
+
+		if (message_data.get_is_valid() == false)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+
+		status = message_data.get_parameter_data(reference_parameter, &m_wlan_database_reference);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--- a/eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -308,8 +308,7 @@
 	u8_t * const data = get_header_offset(m_offset_key_index, sizeof(u8_t));
 	if (data != 0)
 	{
-		*data = static_cast<u8_t>(((*data) & ~m_flag_mask_key_flag)
-								  | static_cast<u8_t>((flags << m_flag_shift_key_flag) & m_flag_mask_key_flag));
+		*data = ((*data) & ~m_flag_mask_key_flag) | static_cast<u8_t>((((flags << m_flag_shift_key_flag) & m_flag_mask_key_flag)));
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 	}
 	else
@@ -325,8 +324,7 @@
 	u8_t * const data = get_header_offset(m_offset_key_index, sizeof(u8_t));
 	if (data != 0)
 	{
-		*data = static_cast<u8_t>(((*data) & m_flag_mask_key_flag)
-								  | static_cast<u8_t>((index & ~m_flag_mask_key_flag)));
+		*data = ((*data) & m_flag_mask_key_flag) | static_cast<u8_t>((index & ~m_flag_mask_key_flag));
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 	}
 	else
--- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 15 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 115 %
+* %version: 86.1.2.1.1 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -50,7 +50,6 @@
 #include "eap_array_algorithms.h"
 #include "eap_state_notification.h"
 #include "eap_automatic_variable.h"
-#include "eapol_key_state_string.h"
 
 // LOCAL CONSTANTS
 
@@ -85,7 +84,8 @@
 EAP_FUNC_EXPORT eapol_wlan_authentication_c * eapol_wlan_authentication_c::new_eapol_wlan_authentication(
 	abs_eap_am_tools_c * const tools,
 	abs_eapol_wlan_authentication_c * const partner,
-	const bool is_client_when_true
+	const bool is_client_when_true,
+	const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference
 	)
 {
 	EAP_TRACE_DEBUG(
@@ -97,7 +97,8 @@
 
 	eapol_am_wlan_authentication_c * m_am_wauth = eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication(
 		tools,
-		is_client_when_true);
+		is_client_when_true,
+		wlan_database_reference);
 	if (m_am_wauth == 0
 		|| m_am_wauth->get_is_valid() == false)
 	{
@@ -157,7 +158,7 @@
 , m_am_wauth(am_wauth)
 , m_ethernet_core(0)
 , m_am_tools(tools)
-//, m_selected_eap_types(tools)
+, m_selected_eap_types(tools)
 , m_wpa_preshared_key_hash(tools)
 , m_authentication_type(eapol_key_authentication_type_none)
 , m_802_11_authentication_mode(eapol_key_802_11_authentication_mode_none)
@@ -398,9 +399,12 @@
 EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::start_authentication(
 	const eap_variable_data_c * const SSID,
 	const eapol_key_authentication_type_e selected_eapol_key_authentication_type,
-	const eap_variable_data_c * const preshared_key, // This does include WPA pre-shared key or WPS PIN.
-	const bool WPA_override_enabled,
+	const eap_variable_data_c * const wpa_preshared_key,
+	const bool WPA_override_enabled
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+	,
 	const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
@@ -414,9 +418,8 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("Starting authentication, selected_eapol_key_authentication_type=%d=%s.\n"),
-		selected_eapol_key_authentication_type,
-		eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type)));
+		(EAPL("Starting authentication, selected_eapol_key_authentication_type = %d.\n"),
+		selected_eapol_key_authentication_type));
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::start_authentication()");
 
@@ -439,11 +442,11 @@
 	status = m_am_wauth->set_wlan_parameters(
 		SSID,
 		WPA_override_enabled,
-		preshared_key,
+		wpa_preshared_key,
 		selected_eapol_key_authentication_type);
 	if (status != eap_status_ok)
 	{
-		(void) internal_disassociation(false, 0); // Note we have no addresses yet.
+		(void) disassociation(0); // Note we have no addresses yet.
 
 		(void) eapol_indication(
 			0, // Note we have no addresses yet.
@@ -455,13 +458,13 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->reset_wpa_configuration(): %s.\n"),
+		(EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->reset_eap_configuration(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-	status = m_am_wauth->reset_wpa_configuration();
+	status = m_am_wauth->reset_eap_configuration();
 	if (status != eap_status_ok)
 	{
-		(void) internal_disassociation(false, 0); // Note we have no addresses yet.
+		(void) disassociation(0); // Note we have no addresses yet.
 
 		(void) eapol_indication(
 			0, // Note we have no addresses yet.
@@ -476,6 +479,12 @@
 		(EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->get_selected_eap_types(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
+	status = m_am_wauth->get_selected_eap_types(&m_selected_eap_types);
+	if (status != eap_status_ok)
+	{
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
@@ -491,28 +500,6 @@
 
 	// Start new authentication from scratch.
 	
-	WAUTH_ENTER_MUTEX(m_am_tools);
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s.\n"),
-		(m_is_client == true) ? "client": "server"));
-	status = m_ethernet_core->create_state(
-		receive_network_id,
-		m_authentication_type
-		);
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("returns from eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s, status = %s.\n"),
-		(m_is_client == true) ? "client": "server",
-		eap_status_string_c::get_status_string(status)));
-	WAUTH_LEAVE_MUTEX(m_am_tools);
-	if (status != eap_status_ok)
-	{
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
 	if (m_authentication_type == eapol_key_authentication_type_RSNA_PSK
 		|| m_authentication_type == eapol_key_authentication_type_WPA_PSK)
 	{
@@ -533,40 +520,128 @@
 				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
 				(EAPL("start_authentication(): Trying auth mode OPEN and WPA-PSK.\n")));
 		}
-
-		status = complete_get_802_11_authentication_mode(
-			eap_status_ok,
-			receive_network_id,
-			m_802_11_authentication_mode);
 	}
-	else //if (preshared_key == 0
-		//|| preshared_key->get_is_valid_data() == false
+	else //if (wpa_preshared_key == 0
+		//|| wpa_preshared_key->get_is_valid_data() == false
 		//|| WPA_override_enabled == false)
 	{
-		WAUTH_ENTER_MUTEX(m_am_tools);
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->get_802_11_authentication_mode(): %s.\n"),
-			(m_is_client == true) ? "client": "server"));
-		status = m_ethernet_core->get_802_11_authentication_mode(
-			receive_network_id,
-			m_authentication_type,
-			SSID,
-			preshared_key);
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("returns from eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->get_802_11_authentication_mode(): %s, status = %s.\n"),
-			(m_is_client == true) ? "client": "server",
-			eap_status_string_c::get_status_string(status)));
-		WAUTH_LEAVE_MUTEX(m_am_tools);
-		if (status != eap_status_ok)
+		// Check the first enabled type
+		eap_type_selection_c * eap_type = 0;
+		u32_t ind_type = 0ul;
+
+		for (ind_type = 0; ind_type < m_selected_eap_types.get_object_count(); ind_type++)
+		{
+			// Check if type is enabled
+			eap_type = m_selected_eap_types.get_object(ind_type);
+
+			if (eap_type->get_is_enabled() == true)
+			{	
+				break;
+			}
+		}
+
+		if (ind_type >= m_selected_eap_types.get_object_count())
 		{
-			return EAP_STATUS_RETURN(m_am_tools, status);
+			// No enabled EAP types.
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("No enabled EAP types.\n")));
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: eap_status_failed_completely.\n")));
+
+			(void) disassociation(0); // Note we have no addresses yet.
+
+			status = eapol_indication(
+				0, // Note we have no addresses yet.
+				eapol_wlan_authentication_state_failed_completely);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+		}	
+
+		// reset index (start from the first enabled EAP type)
+		m_current_eap_index = ind_type;
+		
+		if (eap_type->get_type() == eap_type_leap)
+		{
+			if (m_authentication_type == eapol_key_authentication_type_dynamic_WEP)
+			{
+				// LEAP uses it's own 802.11 authentication mode when 802.1X (dynamic WEP) is used.
+				m_802_11_authentication_mode = eapol_key_802_11_authentication_mode_leap;
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+					(EAPL("start_authentication(): Trying auth mode LEAP (802.1x mode).\n")));
+			}
+			else
+			{
+				// If security mode is WPA or RSNA then even LEAP uses open authentication!
+				m_802_11_authentication_mode = eapol_key_802_11_authentication_mode_open;
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+					(EAPL("start_authentication(): Trying auth mode OPEN (LEAP in WPA mode).\n")));
+			}
+
+		}
+		else
+		{
+			m_802_11_authentication_mode = eapol_key_802_11_authentication_mode_open;
+
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+				(EAPL("start_authentication(): Trying auth mode OPEN.\n")));
 		}
 	}
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+	WAUTH_ENTER_MUTEX(m_am_tools);
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+		(EAPL("calls eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s.\n"),
+		(m_is_client == true) ? "client": "server"));
+	status = m_ethernet_core->create_state(
+		receive_network_id,
+		selected_eapol_key_authentication_type
+		);
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+		(EAPL("returns from eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s, status = %s.\n"),
+		(m_is_client == true) ? "client": "server",
+		eap_status_string_c::get_status_string(status)));
+	WAUTH_LEAVE_MUTEX(m_am_tools);
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+	
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+		(EAPL("calls partner: eapol_wlan_authentication_c::start_authentication(): m_partner->associate(%d).\n"),
+		m_802_11_authentication_mode));
+
+	status = m_partner->associate(m_802_11_authentication_mode);
+	(void)EAP_STATUS_RETURN(m_am_tools, status);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+		(EAPL("returns from partner: eapol_wlan_authentication_c::start_authentication(): %s: m_partner->associate(): status = %s\n"),
+		 (m_is_client == true) ? "client": "server",
+		 eap_status_string_c::get_status_string(status)));
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -642,7 +717,7 @@
 			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
 			(EAPL("Indication sent to WLM: eap_status_this_ap_failed.\n")));
 
-		(void) internal_disassociation(false, receive_network_id);
+		(void) disassociation(receive_network_id);
 
 		status = eapol_indication(
 			receive_network_id,
@@ -756,7 +831,7 @@
 			(EAPL("calls: eapol_wlan_authentication_c::complete_association(): this->disassociation(): %s.\n"),
 			(m_is_client == true) ? "client": "server"));
 
-		(void) internal_disassociation(false, receive_network_id);
+		(void) disassociation(receive_network_id);
 
 		status = eapol_indication(
 			receive_network_id,
@@ -774,7 +849,7 @@
 	if (m_authentication_type == eapol_key_authentication_type_RSNA_EAP
 		|| m_authentication_type == eapol_key_authentication_type_WPA_EAP
 		|| m_authentication_type == eapol_key_authentication_type_dynamic_WEP
-		|| m_authentication_type == eapol_key_authentication_type_WPS
+		|| m_authentication_type == eapol_key_authentication_type_WFA_SC
 #if defined(EAP_USE_WPXM)
 		|| m_authentication_type == eapol_key_authentication_type_WPXM
 #endif //#if defined(EAP_USE_WPXM)
@@ -949,10 +1024,10 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls: eapol_wlan_authentication_c::start_reassociation(): m_am_wauth->reset_wpa_configuration(): %s.\n"),
+		(EAPL("calls: eapol_wlan_authentication_c::start_reassociation(): m_am_wauth->reset_eap_configuration(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-	status = m_am_wauth->reset_wpa_configuration();
+	status = m_am_wauth->reset_eap_configuration();
 	if (status != eap_status_ok)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
@@ -1005,10 +1080,9 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls partner: eapol_wlan_authentication_c::start_reassociation(): %s: m_partner->reassociate(): m_authentication_type=%d=%s.\n"),
+			(EAPL("calls partner: eapol_wlan_authentication_c::start_reassociation(): %s: m_partner->reassociate(): m_authentication_type=%d.\n"),
 			 (m_is_client == true) ? "client": "server",
-			 m_authentication_type,
-			 eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_authentication_type)));
+			 m_authentication_type));
 
 		status = m_partner->reassociate(
 			&send_network_id,
@@ -1136,16 +1210,12 @@
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::packet_process()");
 
-#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 	if (packet_length < eapol_ethernet_header_wr_c::get_header_length())
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_too_short_message);
 	}
 
-#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 	eapol_ethernet_header_wr_c eth_header(
 		m_am_tools,
 		packet_data->get_header_buffer(packet_length),
@@ -1153,11 +1223,8 @@
 
 	eap_status_e status(eap_status_process_general_error);
 
-#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
 	if (eth_header.get_type() == eapol_ethernet_type_pae
 		|| eth_header.get_type() == eapol_ethernet_type_preauthentication)
-#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 	{
 		// Forward the packet to the Ethernet layer of the EAPOL stack.
 		// Ignore return value. Failure is signalled using state_notification.
@@ -1181,7 +1248,6 @@
 
 		EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eth_header);
 	} 
-#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
 	else
 	{
 		EAP_TRACE_DEBUG(
@@ -1190,7 +1256,6 @@
 			(EAPL("Not supported ethernet type 0x%04x\n"), eth_header.get_type()));
 		status = eap_status_ethernet_type_not_supported;
 	}
-#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER)
 	
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
@@ -1802,15 +1867,14 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s\n"),
+			(EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s\n"),
 			(state->get_is_client() == true ? "client": "server"),
 			state->get_protocol_layer(),
 			state->get_protocol_layer_string(),
 			state->get_protocol(),
 			state->get_protocol_string(),
-			state->get_eap_type().get_vendor_id(),
-			state->get_eap_type().get_vendor_type(),
-			eap_header_string_c::get_eap_type_string(state->get_eap_type())));
+			convert_eap_type_to_u32_t(state->get_eap_type()),
+			eap_string.get_eap_type_string(state->get_eap_type())));
 
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
@@ -1824,6 +1888,26 @@
 	}
 
 
+#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+		(EAPL("calls partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"),
+		 (m_is_client == true) ? "client": "server"));
+
+	// Calls lower layer.
+	// Note the optimization prevents most of the state notifications to lower layer.
+	m_partner->state_notification(state);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+		(EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"),
+		 (m_is_client == true) ? "client": "server"));
+
+#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	if(state->get_protocol_layer() == eap_protocol_layer_general)
 	{
 		if (state->get_current_state() == eap_general_state_authentication_cancelled)
@@ -1875,15 +1959,14 @@
 			EAP_TRACE_ERROR(
 				m_am_tools, 
 				TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s\n"),
+				(EAPL("ERROR: eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s\n"),
 				(state->get_is_client() == true ? "client": "server"),
 				state->get_protocol_layer(),
 				state->get_protocol_layer_string(),
 				state->get_protocol(),
 				state->get_protocol_string(),
-				state->get_eap_type().get_vendor_id(),
-				state->get_eap_type().get_vendor_type(),
-				eap_header_string_c::get_eap_type_string(state->get_eap_type())));
+				convert_eap_type_to_u32_t(state->get_eap_type()),
+				eap_string.get_eap_type_string(state->get_eap_type())));
 
 			EAP_TRACE_ERROR(
 				m_am_tools, 
@@ -1895,6 +1978,7 @@
 				state->get_authentication_error(),
 				status_string.get_status_string(state->get_authentication_error())));
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
@@ -1911,6 +1995,8 @@
 				(EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"),
 				 (m_is_client == true) ? "client": "server"));
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 			(void) cancel_timer_this_ap_failed();
 
 			set_timer(
@@ -1935,15 +2021,14 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools, 
 				TRACE_FLAGS_DEFAULT, 
-				(EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s\n"),
+				(EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s\n"),
 				(state->get_is_client() == true ? "client": "server"),
 				state->get_protocol_layer(),
 				state->get_protocol_layer_string(),
 				state->get_protocol(),
 				state->get_protocol_string(),
-				state->get_eap_type().get_vendor_id(),
-				state->get_eap_type().get_vendor_type(),
-				eap_header_string_c::get_eap_type_string(state->get_eap_type())));
+				convert_eap_type_to_u32_t(state->get_eap_type()),
+				eap_string.get_eap_type_string(state->get_eap_type())));
 
 			EAP_TRACE_DEBUG(
 				m_am_tools, 
@@ -1994,6 +2079,8 @@
 					(EAPL("calls: eapol_wlan_authentication_c::state_notification(): m_am_wauth->authentication_finished(): %s.\n"),
 					(m_is_client == true) ? "client": "server"));
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 				EAP_TRACE_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
@@ -2010,11 +2097,14 @@
 					(EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"),
 					 (m_is_client == true) ? "client": "server"));
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 				m_am_wauth->authentication_finished(
 					true,
 					state->get_eap_type(),
 					m_authentication_type);
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 				if (state->get_eap_type() == eap_expanded_type_simple_config.get_type())
 				{
 					increment_authentication_counter();
@@ -2035,6 +2125,8 @@
 						return;
 					}
 				}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 			}
 			break;
 		case eap_state_authentication_terminated_unsuccessfully:
@@ -2042,6 +2134,8 @@
 				increment_authentication_counter();
 				m_failed_authentications++;
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 				EAP_TRACE_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
@@ -2058,6 +2152,8 @@
 					(EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"),
 					 (m_is_client == true) ? "client": "server"));
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 				EAP_TRACE_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
@@ -2274,7 +2370,7 @@
 				(EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_FAILED_COMPLETELY_ID elapsed: ")
 				 EAPL("Indication sent to WLM: eap_status_failed_completely.\n")));
 
-			(void) disassociation_mutex_must_be_reserved(false, &receive_network_id);
+			(void) disassociation_mutex_must_be_reserved(&receive_network_id);
 
 			eap_status_e status = eapol_indication(
 				&receive_network_id,
@@ -2295,7 +2391,7 @@
 				(EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_THIS_AP_FAILED_ID elapsed: ")
 				 EAPL("Indication sent to WLM: eap_status_this_ap_failed.\n")));
 
-			(void) disassociation_mutex_must_be_reserved(false, &receive_network_id);
+			(void) disassociation_mutex_must_be_reserved(&receive_network_id);
 
 			eap_status_e status = eapol_indication(
 				&receive_network_id,
@@ -2316,7 +2412,7 @@
 				(EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_NO_RESPONSE_ID elapsed: ")
 				 EAPL("Indication sent to WLM: eap_status_no_response.\n")));
 
-			(void) disassociation_mutex_must_be_reserved(false, &receive_network_id);
+			(void) disassociation_mutex_must_be_reserved(&receive_network_id);
 
 			eap_status_e status = eapol_indication(
 				&receive_network_id,
@@ -2337,7 +2433,7 @@
 				(EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_AUTHENTICATION_CANCELLED_ID elapsed: ")
 				 EAPL("Indication sent to WLM: eapol_wlan_authentication_state_authentication_cancelled.\n")));
 
-			(void) disassociation_mutex_must_be_reserved(false, &receive_network_id);
+			(void) disassociation_mutex_must_be_reserved(&receive_network_id);
 		}
 		break;
 
@@ -2436,7 +2532,6 @@
 EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::unload_module(
 	const eap_type_value_e type)
 {
-	EAP_UNREFERENCED_PARAMETER(type);
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
@@ -2457,17 +2552,8 @@
 		(EAPL("calls: eapol_wlan_authentication_c::unload_module(): m_am_wauth->unload_module(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-#if 0
-
 	status = m_am_wauth->unload_module(type);
 
-#else
-
-	status = eap_status_not_supported;
-
-#endif
-
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -2512,68 +2598,6 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::set_eap_database_reference_values(
-	const eap_variable_data_c * const reference)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("partner calls: eapol_wlan_authentication_c::set_eap_database_reference_values()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::set_eap_database_reference_values()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_wlan_authentication_c::set_eap_database_reference_values(): reference"),
-		 reference->get_data(),
-		 reference->get_data_length()));
-
-	WAUTH_ENTER_MUTEX(m_am_tools);
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_ethernet_core->set_eap_database_reference_values(): %s.\n"),
-		(m_is_client == true) ? "client": "server"));
-	eap_status_e status = m_ethernet_core->set_eap_database_reference_values(reference);
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("returns from eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_ethernet_core->set_eap_database_reference_values(): %s, status = %s.\n"),
-		 (m_is_client == true) ? "client": "server",
-		 eap_status_string_c::get_status_string(status)));
-	WAUTH_LEAVE_MUTEX(m_am_tools);
-
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	WAUTH_ENTER_MUTEX(m_am_tools);
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_am_wauth->set_eap_database_reference_values(): %s.\n"),
-		(m_is_client == true) ? "client": "server"));
-	status = m_am_wauth->set_eap_database_reference_values(reference);
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("returns from eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_am_wauth->set_eap_database_reference_values(): %s, status = %s.\n"),
-		 (m_is_client == true) ? "client": "server",
-		 eap_status_string_c::get_status_string(status)));
-	WAUTH_LEAVE_MUTEX(m_am_tools);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
 EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::load_module(
 		const eap_type_value_e type,
 		const eap_type_value_e tunneling_type,
@@ -2582,12 +2606,6 @@
 		const bool is_client_when_true,
 		const eap_am_network_id_c * const receive_network_id)
 {	
-	EAP_UNREFERENCED_PARAMETER(type);
-	EAP_UNREFERENCED_PARAMETER(tunneling_type);
-	EAP_UNREFERENCED_PARAMETER(eap_type_if);
-	EAP_UNREFERENCED_PARAMETER(receive_network_id);
-	EAP_UNREFERENCED_PARAMETER(partner);
-	EAP_UNREFERENCED_PARAMETER(is_client_when_true);
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
@@ -2610,8 +2628,6 @@
 		(EAPL("calls: eapol_wlan_authentication_c::load_module(): m_am_wauth->load_module(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-#if 0
-
 	eap_status_e status = m_am_wauth->load_module(
 		type,
 		tunneling_type,
@@ -2620,12 +2636,6 @@
 		is_client_when_true,
 		receive_network_id);
 
-#else
-
-	eap_status_e status = eap_status_not_supported;
-
-#endif
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -2634,7 +2644,6 @@
 
 //
 eap_status_e eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(
-	const bool complete_to_lower_layer,
 	const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
 	)
 {
@@ -2643,9 +2652,8 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol calls: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): %s, complete_to_lower_layer=%s\n"),
-		 (m_is_client == true) ? "client": "server",
-		 (complete_to_lower_layer == true) ? "true": "false"));
+		(EAPL("eapol calls: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): %s\n"),
+		(m_is_client == true) ? "client": "server"));
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved()");
 
@@ -2662,9 +2670,7 @@
 			(EAPL("calls eapol: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): m_ethernet_core->disassociation(): %s.\n"),
 			(m_is_client == true) ? "client": "server"));
 
-		status = m_ethernet_core->disassociation(
-			complete_to_lower_layer,
-			receive_network_id);
+		status = m_ethernet_core->disassociation(receive_network_id);
 
 		EAP_TRACE_DEBUG(
 			m_am_tools,
@@ -2714,37 +2720,6 @@
 //--------------------------------------------------
 
 //
-eap_status_e eapol_wlan_authentication_c::internal_disassociation(
-	const bool complete_to_lower_layer,
-	const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol calls: eapol_wlan_authentication_c::internal_disassociation(): %s, complete_to_lower_layer=%s\n"),
-		 (m_is_client == true) ? "client": "server",
-		 (complete_to_lower_layer == true) ? "true": "false"));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: : eapol_wlan_authentication_c::internal_disassociation()");
-
-	eap_status_e status(eap_status_ok);
-
-	WAUTH_ENTER_MUTEX(m_am_tools);
-	status = disassociation_mutex_must_be_reserved(
-		complete_to_lower_layer,
-		receive_network_id);
-	WAUTH_LEAVE_MUTEX(m_am_tools);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
 EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::disassociation(
 	const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
 	)
@@ -2755,15 +2730,15 @@
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
 		(EAPL("partner calls: eapol_wlan_authentication_c::disassociation(): %s\n"),
-		 (m_is_client == true) ? "client": "server"));
+		(m_is_client == true) ? "client": "server"));
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::disassociation()");
 
 	eap_status_e status(eap_status_ok);
 
-	status = internal_disassociation(
-		true,
-		receive_network_id);
+	WAUTH_ENTER_MUTEX(m_am_tools);
+	status = disassociation_mutex_must_be_reserved(receive_network_id);
+	WAUTH_LEAVE_MUTEX(m_am_tools);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
@@ -3323,7 +3298,7 @@
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::check_is_valid_eap_type(
-	const eap_type_value_e /* eap_type */)
+	const eap_type_value_e eap_type)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -3342,17 +3317,8 @@
 		(EAPL("calls: eapol_wlan_authentication_c::check_is_valid_eap_type(): m_am_wauth->check_is_valid_eap_type(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-#if 0
-
 	eap_status_e status = m_am_wauth->check_is_valid_eap_type(eap_type);
 	
-#else
-
-	eap_status_e status = eap_status_not_supported;
-
-#endif
-
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -3360,7 +3326,7 @@
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::get_eap_type_list(
-	eap_array_c<eap_type_value_e> * const /* eap_type_list */)
+	eap_array_c<eap_type_value_e> * const eap_type_list)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -3377,23 +3343,15 @@
 		(EAPL("calls: eapol_wlan_authentication_c::get_eap_type_list(): m_am_wauth->get_eap_type_list(): %s.\n"),
 		(m_is_client == true) ? "client": "server"));
 
-#if 0
-
 	eap_status_e status = m_am_wauth->get_eap_type_list(eap_type_list);
 
-#else
-
-	eap_status_e status = eap_status_not_supported;
-
-#endif
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
 //--------------------------------------------------
 
-eap_status_e eapol_wlan_authentication_c::eapol_indication(
+EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::eapol_indication(
 	const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address.
 	const eapol_wlan_authentication_state_e wlan_authentication_state)
 {
@@ -3425,27 +3383,6 @@
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
 	}
-	else
-	{
-		const u8_t no_address[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};
-
-		eap_am_network_id_c tmp_network_id(
-			m_am_tools,
-			no_address,
-			sizeof(no_address),
-			no_address,
-			sizeof(no_address),
-			eapol_ethernet_type_pae,
-			false,
-			false);
-
-		status = send_network_id.set_copy_of_network_id(&tmp_network_id);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
 
 	eap_state_notification_c notification(
 		m_am_tools,
@@ -3500,7 +3437,7 @@
 
 //--------------------------------------------------
 
-eap_status_e eapol_wlan_authentication_c::create_upper_stack()
+EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::create_upper_stack()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	
@@ -3957,15 +3894,12 @@
 		}
 	}
 
-	if (new_password != 0)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("SIMPLE_CONFIG: new_password"),
-			new_password->get_data(),
-			new_password->get_data_length()));
-	}
+	EAP_TRACE_DATA_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("SIMPLE_CONFIG: new_password"),
+		new_password->get_data(),
+		new_password->get_data_length()));
 
 	EAP_TRACE_DEBUG(
 		m_am_tools,
@@ -3999,146 +3933,6 @@
 
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 
-//--------------------------------------------------
-
-eap_status_e eapol_wlan_authentication_c::complete_check_pmksa_cache(
-	EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls partner: eapol_wlan_authentication_c::complete_check_pmksa_cache(): %s: m_partner->complete_check_pmksa_cache().\n"),
-		(m_is_client == true) ? "client": "server"));
-
-	const eap_status_e status = m_partner->complete_check_pmksa_cache(
-		bssid_sta_receive_network_ids);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("returns from partner: eapol_wlan_authentication_c::complete_check_pmksa_cache(): %s: m_partner->complete_check_pmksa_cache(): status = %s\n"),
-		 (m_is_client == true) ? "client": "server",
-		 eap_status_string_c::get_status_string(status)));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const /* receive_network_id */,
-		const eapol_key_802_11_authentication_mode_e mode)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol calls: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(): completion_status=%d=%s, mode=%d\n"),
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status),
-		mode));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (completion_status != eap_status_ok
-		|| mode == eapol_key_802_11_authentication_mode_none)
-	{
-		EAP_TRACE_ALWAYS(
-			m_am_tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
-			(EAPL("No enabled EAP types.\n")));
-		EAP_TRACE_ALWAYS(
-			m_am_tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
-			(EAPL("Indication sent to WLM: eap_status_failed_completely.\n")));
-
-		(void) internal_disassociation(false, 0); // Note we have no addresses yet.
-
-		status = eapol_indication(
-			0, // Note we have no addresses yet.
-			eapol_wlan_authentication_state_failed_completely);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-
-	m_802_11_authentication_mode = mode;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("calls partner: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(): m_partner->associate(%d).\n"),
-		m_802_11_authentication_mode));
-
-	status = m_partner->associate(m_802_11_authentication_mode);
-	(void)EAP_STATUS_RETURN(m_am_tools, status);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("returns from partner: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(): %s: m_partner->associate(): status = %s\n"),
-		 (m_is_client == true) ? "client": "server",
-		 eap_status_string_c::get_status_string(status)));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::complete_disassociation(
-	const bool complete_to_lower_layer,
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol calls: eapol_wlan_authentication_c::complete_disassociation(): %s: m_partner->complete_disassociation(), complete_to_lower_layer=%s.\n"),
-		 (m_is_client == true) ? "client": "server",
-		 (complete_to_lower_layer == true) ? "true": "false"));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::complete_disassociation()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (complete_to_lower_layer == true)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls partner: eapol_wlan_authentication_c::complete_disassociation(): %s: m_partner->complete_disassociation(), complete_to_lower_layer=%s.\n"),
-			 (m_is_client == true) ? "client": "server",
-			 (complete_to_lower_layer == true) ? "true": "false"));
-
-		status = m_partner->complete_disassociation(
-			receive_network_id);
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("returns from partner: eapol_wlan_authentication_c::complete_disassociation(): %s: m_partner->complete_disassociation(): status = %s\n"),
-			 (m_is_client == true) ? "client": "server",
-			 eap_status_string_c::get_status_string(status)));
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
+//--------------------------------------------------				
+
 // End of file
--- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/core/ethernet_core.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/ethernet_core.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 49 %
+* %version: 28.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -126,36 +126,6 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
-#if defined(EAPOL_SKIP_ETHERNET_HEADER)
-
-	{
-		eapol_header_wr_c eapol(
-			m_am_tools,
-			packet_data->get_header_buffer(packet_data->get_header_buffer_length()),
-			packet_data->get_header_buffer_length());
-		if (eapol.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted);
-		}
-
-		status = m_eapol_core->packet_process(
-			receive_network_id,
-			&eapol,
-			packet_length);
-
-		EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eapol);
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("####################################################################\n")));
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-#else
-
 	if (packet_length < eapol_ethernet_header_rd_c::get_header_length())
 	{
 		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("####################################################################\n")));
@@ -210,7 +180,7 @@
 	if (eth_header.get_type() == eapol_ethernet_type_pae
 		|| eth_header.get_type() == eapol_ethernet_type_preauthentication)
 	{
-		eap_am_network_id_c a_receive_network_id(
+		eap_am_network_id_c receive_network_id(
 			m_am_tools,
 			eth_header.get_source(),
 			eth_header.get_source_length(),
@@ -231,7 +201,7 @@
 		}
 
 		status = m_eapol_core->packet_process(
-			&a_receive_network_id,
+			&receive_network_id,
 			&eapol,
 			packet_length-eapol_ethernet_header_rd_c::get_header_length());
 
@@ -249,9 +219,6 @@
 		(EAPL("####################################################################\n")));
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
-
-#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 }
 
 //--------------------------------------------------
@@ -276,24 +243,6 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
 	}
 
-#if defined(EAPOL_SKIP_ETHERNET_HEADER)
-
-	{
-		sent_packet->set_is_client(m_is_client);
-
-		eap_status_e status = m_partner->packet_send(
-			send_network_id,
-			sent_packet,
-			header_offset,
-			data_length,
-			buffer_length);
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-#else
-
 	if (header_offset < eapol_ethernet_header_wr_c::get_header_length())
 	{
 		EAP_TRACE_DEBUG(
@@ -371,9 +320,6 @@
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
-
-#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER)
-
 }
 
 //--------------------------------------------------
@@ -385,22 +331,11 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-#if defined(EAPOL_SKIP_ETHERNET_HEADER)
-
-	const u32_t offset = m_partner->get_header_offset(MTU, trailer_length);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return offset;
-
-#else
-
 	const u32_t offset = m_partner->get_header_offset(MTU, trailer_length);
 	(*MTU) -= eapol_ethernet_header_wr_c::get_header_length();
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return offset+eapol_ethernet_header_wr_c::get_header_length();
-
-#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER)
 }
 
 //--------------------------------------------------
@@ -512,7 +447,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::read_reassociation_parameters(
+eap_status_e ethernet_core_c::read_reassociation_parameters(
 	const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address.
 	const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address.
 	const eapol_key_authentication_type_e authentication_type,
@@ -566,7 +501,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_reassociation(
+eap_status_e ethernet_core_c::complete_reassociation(
 	const eapol_wlan_authentication_state_e reassociation_result,
 	const eap_am_network_id_c * const receive_network_id,
 	const eapol_key_authentication_type_e authentication_type,
@@ -843,6 +778,8 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
+
 //
 EAP_FUNC_EXPORT eap_status_e ethernet_core_c::check_pmksa_cache(
 	eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids,
@@ -868,8 +805,11 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif // #if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
 /**
  * This function removes PMKSA from cache.
  * @param receive_network_id carries the MAC addresses.
@@ -893,8 +833,11 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif // #if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 /**
  * Function creates a state for later use. This is for optimazing 4-Way Handshake.
  * @param receive_network_id carries the MAC addresses.
@@ -918,8 +861,11 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
 /**
  * @param receive_network_id carries the MAC addresses.
  * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address.
@@ -954,14 +900,16 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif // #if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
+#if defined(USE_EAPOL_KEY_STATE)
 /**
  * @param receive_network_id carries the MAC addresses.
  * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address.
  */
 EAP_FUNC_EXPORT eap_status_e ethernet_core_c::disassociation(
-	const bool complete_to_lower_layer,
 	const eap_am_network_id_c * const receive_network_id
 	)
 {
@@ -970,12 +918,13 @@
 	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
 
 	status = m_eapol_core->disassociation(
-		complete_to_lower_layer,
 		receive_network_id);
 
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e ethernet_core_c::add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list)
@@ -1008,158 +957,4 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_check_pmksa_cache(
-	EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	const eap_status_e status = m_partner->complete_check_pmksa_cache(
-		bssid_sta_receive_network_ids);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::save_simple_config_session(
-	const simple_config_state_e state,
-	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-	const eap_variable_data_c * const new_password,
-	const simple_config_Device_Password_ID_e Device_Password_ID,
-	const simple_config_payloads_c * const other_configuration)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("%s: ethernet_core_c::save_simple_config_session().\n"),
-		 (m_is_client == true) ? "client": "server"));
-
-	const eap_status_e status = m_partner->save_simple_config_session(
-		state,
-		credential_array,
-		new_password,
-		Device_Password_ID,
-		other_configuration);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::set_eap_database_reference_values(
-	const eap_variable_data_c * const reference)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ethernet_core_c::set_eap_database_reference_values()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::set_eap_database_reference_values()");
-
-	eap_status_e status = m_eapol_core->set_eap_database_reference_values(reference);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::get_802_11_authentication_mode(
-	const eap_am_network_id_c * const receive_network_id,
-	const eapol_key_authentication_type_e authentication_type,
-	const eap_variable_data_c * const SSID,
-	const eap_variable_data_c * const preshared_key)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ethernet_core_c::get_802_11_authentication_mode()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::get_802_11_authentication_mode()");
-
-	eap_status_e status = m_eapol_core->get_802_11_authentication_mode(
-		receive_network_id,
-		authentication_type,
-		SSID,
-		preshared_key);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ethernet_core_c::complete_get_802_11_authentication_mode()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::complete_get_802_11_authentication_mode()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_partner != 0)
-	{
-		status = m_partner->complete_get_802_11_authentication_mode(
-			completion_status,
-			receive_network_id,
-			mode);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_disassociation(
-	const bool complete_to_lower_layer,
-	const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ethernet_core_c::complete_disassociation()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::complete_disassociation()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_partner != 0)
-	{
-		status = m_partner->complete_disassociation(
-			complete_to_lower_layer,
-			receive_network_id);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
 // End.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAP_BASE_TIMER_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 2.1.2 %
 */
 
 #if !defined(_ABS_EAP_BASE_TYPE_H_)
@@ -258,6 +258,17 @@
 		const u32_t id) = 0;
 
 	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
+	/**
 	 * This is needed by PEAP type.
 	 * The load_module() function function indicates the lower level to
 	 * load new module of EAP-type.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_ABS_EAPOL_WLAN_CONFIGURATION_REFERENCE_IF_H_)
@@ -48,11 +48,6 @@
 public:
 	//--------------------------------------------------
 
-	/* The destructor does nothing */
-	virtual ~abs_eap_configuration_if_c()
-	{
-	};
-	
 #if defined(USE_EAP_SIMPLE_CONFIG)
 	/**
 	 * This function tells AM to save SIMPLE_CONFIG configuration parameters.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 2.1.2 %
 */
 
 #if !defined(_ABS_EAP_CORE_H_)
@@ -209,6 +209,17 @@
 		const u32_t id) = 0;
 
 	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
+	/**
 	 * This function queries the validity of EAP-type.
 	 * Lower layer should return eap_status_ok if this EAP-type is supported.
 	 * @param eap_type is the requested EAP-type.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAP_TYPE_MAP_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_database_reference_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_)
-#define _ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_
-
-//--------------------------------------------------
-
-#include "eap_am_export.h"
-#include "eap_am_types.h"
-#include "eap_status.h"
-
-
-/// This class is abstract interface to reference of WLAN database of the current connection.
-class EAP_EXPORT abs_eap_database_reference_if_c_deprecated
-{
-
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	virtual ~abs_eap_database_reference_if_c_deprecated()
-	{
-	}
-
-	/**
-	 * The constructor of the abs_eap_database_reference_if_c class does nothing special.
-	 */
-	virtual eap_status_e get_wlan_database_reference_values(
-		eap_variable_data_c * const reference) const = 0;
-
-}; // class abs_eap_database_reference_if_c
-
-
-#endif //#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_)
-
-//--------------------------------------------------
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_general_settings_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  This class defines the callback interface from eap_general_settings_client_message_if_c to the user of EAP-general settings.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_ABS_EAP_GENERAL_SETTINGS_MESSAGE_H_)
-#define _ABS_EAP_GENERAL_SETTINGS_MESSAGE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class eap_method_settings_c;
-
-/// This class defines the callback interface from eap_general_settings_client_message_if_c to the user of EAP-general settings.
-class EAP_EXPORT abs_eap_general_settings_message_c
-{
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the abs_eap_core class does nothing special.
-	 */
-	virtual ~abs_eap_general_settings_message_c()
-	{
-	}
-
-	/**
-	 * The constructor of the abs_eap_core class does nothing special.
-	 */
-	abs_eap_general_settings_message_c()
-	{
-	}
-
-	virtual eap_status_e complete_get_eap_methods(
-		const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_set_eap_methods(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_get_certificate_lists(
-		const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_delete_all_eap_settings(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_copy_all_eap_settings(
-		const eap_status_e completion_status) = 0;
-
-	//--------------------------------------------------
-}; // class abs_eap_general_settings_message_c
-
-#endif //#if !defined(_ABS_EAP_GENERAL_SETTINGS_MESSAGE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_pac_store_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAP_PAC_STORE_MESSAGE_H_)
-#define _ABS_EAP_PAC_STORE_MESSAGE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class eap_method_settings_c;
-
-/// This class defines the interface the eap_core_c class
-/// will use with the partner class (lower layer).
-class EAP_EXPORT abs_eap_pac_store_message_c
-{
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the abs_eap_core class does nothing special.
-	 */
-	virtual ~abs_eap_pac_store_message_c()
-	{
-	}
-
-	/**
-	 * The constructor of the abs_eap_core class does nothing special.
-	 */
-	abs_eap_pac_store_message_c()
-	{
-	}
-
-	virtual eap_status_e complete_open_pac_store(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_create_device_seed(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_is_master_key_present(
-	  bool is_present
-		,const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_is_master_key_and_password_matching(
-	  bool is_matching
-		,const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_create_and_save_master_key(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_compare_pac_store_password(
-		bool is_matching) = 0;
-
-	virtual eap_status_e complete_is_pacstore_password_present(
-		bool is_present) = 0;
-
-	virtual eap_status_e complete_set_pac_store_password(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_destroy_pac_store(
-		const eap_status_e completion_status) = 0;
-
-	//--------------------------------------------------
-}; // class abs_eap_pac_store_message_c
-
-#endif //#if !defined(_ABS_EAP_PAC_STORE_MESSAGE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_plugin_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_ABS_EAP_PLUGIN_MESSAGE_H_)
-#define _ABS_EAP_PLUGIN_MESSAGE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class eap_method_settings_c;
-
-/// This class defines the interface the eap_core_c class
-/// will use with the partner class (lower layer).
-class EAP_EXPORT abs_eap_plugin_message_c
-{
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the abs_eap_core class does nothing special.
-	 */
-	virtual ~abs_eap_plugin_message_c()
-	{
-	}
-
-	/**
-	 * The constructor of the abs_eap_core class does nothing special.
-	 */
-	abs_eap_plugin_message_c()
-	{
-	}
-
-	virtual eap_status_e complete_get_configuration(
-		const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_set_configuration(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_delete_configuration(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_copy_configuration(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_set_index(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e complete_get_type_info(
-		const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e complete_invoke_ui(
-		const eap_method_settings_c * const internal_settings) = 0;
-
-	//--------------------------------------------------
-}; // class abs_eap_plugin_message_c
-
-#endif //#if !defined(_ABS_EAP_PLUGIN_MESSAGE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_session_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_ABS_EAP_SESSION_CORE_H_)
-#define _ABS_EAP_SESSION_CORE_H_
-
-#include "eap_header.h"
-#include "eap_array.h"
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	#include "abs_eap_configuration_if.h"
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-#include "eapol_key_types.h"
-
-class eap_am_network_id_c;
-class eap_buf_chain_wr_c;
-class eap_configuration_field_c;
-class eap_variable_data_c;
-class abs_eap_base_type_c;
-class abs_eap_state_notification_c;
-class eap_base_type_c;
-class eap_rogue_ap_entry_c;
-class eap_master_session_key_c;
-
-
-/// This class defines the interface the eap_core_c class
-/// will use with the partner class (lower layer).
-class EAP_EXPORT abs_eap_session_core_c
-#if defined(USE_EAP_SIMPLE_CONFIG)
-: public abs_eap_configuration_if_c
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-{
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the abs_eap_core class does nothing special.
-	 */
-	virtual ~abs_eap_session_core_c()
-	{
-	}
-
-	/**
-	 * The constructor of the abs_eap_core class does nothing special.
-	 */
-	abs_eap_session_core_c()
-	{
-	}
-
-	/**
-	 * The derived class could send packets to partner class with this function.
-	 * @see abs_eap_base_type_c::packet_send().
-	 */
-	virtual eap_status_e packet_send(
-		const eap_am_network_id_c * const network_id,
-		eap_buf_chain_wr_c * const sent_packet,
-		const u32_t header_offset,
-		const u32_t data_length,
-		const u32_t buffer_length) = 0;
-
-	/**
-	 * The get_header_offset() function obtains the header offset of EAP-packet.
-	 * @see abs_eap_base_type_c::get_header_offset().
-	 */
-	virtual u32_t get_header_offset(
-		u32_t * const MTU,
-		u32_t * const trailer_length) = 0;
-
-	/**
-	 * The load_module() function function indicates the lower level to
-	 * load new module of EAP-type.
-	 * @param type is the requested EAP-type.
-	 * @param partner is pointer to the caller object.
-	 * The partner of the new created EAP-type object is the caller object.
-	 * @param eap_type is a pointer to a pointer of EAP-type object.
-	 * Adaptation module sets eap_type pointer to created EAP-type object.
-	 * @param is_client_when_true parameter indicates whether the network entity should
-	 * act as a client (true) or server (false), in terms of EAP-protocol whether
-	 * this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 * @param receive_network_id includes the addresses (network identity) and packet type.
-	 */
-	virtual eap_status_e load_module(
-		const eap_type_value_e type,
-		const eap_type_value_e /* tunneling_type */,
-		abs_eap_base_type_c * const partner,
-		eap_base_type_c ** const eap_type,
-		const bool is_client_when_true,
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
-	/**
-	 * The unload_module() function unloads the module of a EAP-type. 
-	 * @param eap_type is the requested EAP-type.
-	 */
-	virtual eap_status_e unload_module(const eap_type_value_e eap_type) = 0;
-
-	/**
-	 * The session calls the restart_authentication() function
-	 * when EAP-authentication is needed with another peer.
-	 * This is also used when session restarts authentication.
-	 * @param receive_network_id includes the addresses (network identity) and packet type.
-	 * @param is_client_when_true indicates whether the EAP-type should act as a client or server,
-	 * in terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 * @param force_clean_restart this selects whether the server removes this session (true) or not (false).
-	 * @param from_timer tells whether the timer calls this function (true) or not (false).
-	 */
-	virtual eap_status_e restart_authentication(
-		const eap_am_network_id_c * const receive_network_id,
-		const bool is_client_when_true,
-		const bool force_clean_restart,
-		const bool from_timer = false) = 0;
-
-	/**
-	 * Note this function is just an example. Parameters will change later.
-	 * The packet_data_crypto_keys() function gives the generated keys to lower level.
-	 * After EAP-authentication has generated the keys it calls this function
-	 * to offer the keys to lower level.
-	 * @see abs_eap_base_type_c::packet_data_crypto_keys().
-	 */
-	virtual eap_status_e packet_data_crypto_keys(
-		const eap_am_network_id_c * const send_network_id,
-		const eap_master_session_key_c * const master_session_key
-		) = 0;
-
-	/**
-	 * The read_configure() function reads the configuration data identified
-	 * by the field string of field_length bytes length. Adaptation module must direct
-	 * the query to some persistent store.
-	 * @see abs_eap_base_type_c::read_configure().
-	 */
-	virtual eap_status_e read_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data) = 0;
-
-	/**
-	 * The write_configure() function writes the configuration data identified
-	 * by the field string of field_length bytes length. Adaptation module must direct
-	 * the action to some persistent store.
-	 * @see abs_eap_base_type_c::write_configure().
-	 */
-	virtual eap_status_e write_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data) = 0;
-
-	/**
-	 * This is notification of internal state transition.
-	 * This is used for notifications, debugging and protocol testing.
-	 * The primal notifications are eap_state_variable_e::eap_state_authentication_finished_successfully
-	 * and eap_state_variable_e::eap_state_authentication_terminated_unsuccessfully.
-	 * These two notifications are sent from EAP-protocol layer (eap_protocol_layer_e::eap_protocol_layer_eap).
-	 * These two notifications tells the end state of authentication session. These are the only
-	 * reliable indications of the final status of authentication session.
-	 * You MUST NOT make decision based on the return value of abs_eap_stack_interface_c::packet_process().
-	 */
-	virtual void state_notification(
-		const abs_eap_state_notification_c * const state) = 0;
-
-	/**
-	 * The set_timer() function initializes timer to be elapsed after time_ms milliseconds.
-	 * @param initializer is pointer to object which timer_expired() function will
-	 * be called after timer elapses.
-	 * @param id is identifier which will be returned in timer_expired() function.
-	 * The user selects and interprets the id for this timer.
-	 * @param data is pointer to any user selected data which will be returned in timer_expired() function.
-	 * @param time_ms is the time of timer in milli seconds.
-	 *
-	 * Adaptation module internally implements the timer.
-	 */
-	virtual eap_status_e set_timer(
-		abs_eap_base_timer_c * const initializer, 
-		const u32_t id, 
-		void * const data,
-		const u32_t time_ms) = 0;
-
-	/**
-	 * The cancel_timer() function cancels the timer id initiated by initializer.
-	 * @param initializer is pointer to object which set the cancelled timer.
-	 * @param id is identifier which will be returned in timer_expired() function.
-	 * The user selects and interprets the id for this timer.
-	 *
-	 * Adaptation module internally implements the timer.
-	 */
-	virtual eap_status_e cancel_timer(
-		abs_eap_base_timer_c * const initializer, 
-		const u32_t id) = 0;
-
-	/**
-	 * This function queries the validity of EAP-type.
-	 * Lower layer should return eap_status_ok if this EAP-type is supported.
-	 * @param eap_type is the requested EAP-type.
-	 */
-	virtual eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type) = 0;
-
-	/**
-	 * This function queries the list of supported EAP-types.
-	 * Lower layer should return eap_status_ok if this call succeeds.
-	 * @param eap_type_list will include the list of supported EAP-types. Each value in list
-	 * is type of u32_t and represent one supported EAP-type. List consists of subsequent u32_t type values.
-	 */
-	virtual eap_status_e get_eap_type_list(
-		eap_array_c<eap_type_value_e> * const eap_type_list) = 0;
-
-	virtual eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list) = 0;
-
-	/**
-	 * The set_session_timeout() function changes the session timeout timer to be elapsed after session_timeout_ms milliseconds.
-	 */
-	virtual eap_status_e set_session_timeout(
-		const u32_t session_timeout_ms) = 0;
-
-	virtual eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode) = 0;
-
-	virtual eap_status_e complete_remove_eap_session(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
-	//--------------------------------------------------
-}; // class abs_eap_session_core_c
-
-#endif //#if !defined(_ABS_EAP_SESSION_CORE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 2.1.2 %
 */
 
 #if !defined(_ABS_EAP_STACK_INTERFACE_H_)
@@ -56,15 +56,15 @@
 	 * The destructor of the abs_eap_stack_interface_c class does nothing special.
 	 */
 	virtual ~abs_eap_stack_interface_c()
-	{
-	}
+		{
+		}
 
 	/**
 	 * The constructor of the abs_eap_stack_interface_c does nothing special.
 	 */
 	abs_eap_stack_interface_c()
-	{
-	}
+		{
+		}
 
 	/**
 	 * The configure() function is called after the constructor of the 
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAP_STATE_NOTIFICATION_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_ABS_EAP_WIMAX_AUTHENTICATION_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eapol_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 13 %
+* %version: 7.1.2 %
 */
 
 #if !defined(_ABS_EAPOL_CORE_H_)
@@ -24,9 +24,6 @@
 
 #include "eap_am_types.h"
 #include "eapol_key_state.h"
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	#include "abs_eap_configuration_if.h"
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 
 class eap_am_network_id_c;
 class eapol_session_key_c;
@@ -39,9 +36,6 @@
 /// will use with the partner class.
 /// Later eapol and ethernet could be integrated. Now I am too lazy.
 class EAP_EXPORT abs_eapol_core_c
-#if defined(USE_EAP_SIMPLE_CONFIG)
-: public abs_eap_configuration_if_c
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 {
 private:
 	//--------------------------------------------------
@@ -205,19 +199,7 @@
 
 	virtual eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list) = 0;
 
-	virtual eap_status_e complete_check_pmksa_cache(
-		EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids) = 0;
-
-	virtual eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode) = 0;
-
-	virtual eap_status_e complete_disassociation(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
-	//--------------------------------------------------
+//--------------------------------------------------
 }; // class abs_eapol_core_c
 
 #endif //#if !defined(_ABS_EAPOL_CORE_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7.1.2 %
 */
 
 #if !defined(_ABS_EAPOL_KEY_STATE_H_)
@@ -128,6 +128,17 @@
 		const u32_t id) = 0;
 
 	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
+	/**
 	 * All STAs contain a global Key Counter which is 256 bits in size.
 	 * It should be initialized at system boot up time to a fresh cryptographic quality random number.
 	 * Refer to Annex I.9 on random number generation. It is recommended that the counter value is initialized to:
--- a/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_ABS_EAPOL_KEY_STATE_MAP_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 #if !defined(_ABS_EAPOL_MESSAGE_WLAN_AUTHENTICATION_H_)
--- a/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 6 %
+* %version: 2.1.2 %
 */
 
 #if !defined(_ABS_WLAN_AUTHENTICATION_H_)
@@ -142,11 +142,6 @@
 		const simple_config_payloads_c * const other_configuration) = 0;
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 
-	virtual eap_status_e complete_check_pmksa_cache(
-		EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids) = 0;
-
-	virtual eap_status_e complete_disassociation(
-		const eap_am_network_id_c * const receive_network_id) = 0;
 
 	//--------------------------------------------------
 }; // class abs_eapol_wlan_authentication_c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_database_reference_if.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_)
+#define _ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_
+
+//--------------------------------------------------
+
+#include "eap_am_export.h"
+#include "eap_am_types.h"
+#include "eap_status.h"
+
+
+/// This class is abstract interface to reference of WLAN database of the current connection.
+class EAP_EXPORT abs_eapol_wlan_database_reference_if_c
+{
+
+private:
+	//--------------------------------------------------
+
+	//--------------------------------------------------
+
+	//--------------------------------------------------
+public:
+	//--------------------------------------------------
+
+	virtual ~abs_eapol_wlan_database_reference_if_c()
+	{
+	}
+
+	/**
+	 * The constructor of the abs_eapol_wlan_database_reference_if_c class does nothing special.
+	 */
+	virtual eap_status_e get_wlan_database_reference_values(
+		eap_variable_data_c * const reference) const = 0;
+
+}; // class abs_eapol_wlan_database_reference_if_c
+
+
+#endif //#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_)
+
+//--------------------------------------------------
+
+
+// End.
--- a/eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9 %
+* %version: 2.1.2 %
 */
 
 #if !defined(_ABS_ETHERNET_CORE_H_)
@@ -25,9 +25,7 @@
 #include "eap_header.h"
 #include "eap_array.h"
 #include "eapol_key_state.h"
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	#include "abs_eap_configuration_if.h"
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
 
 class abs_eapol_core_c;
 class eap_am_network_id_c;
@@ -173,32 +171,6 @@
 
 	virtual eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list) = 0;
 
-	virtual eap_status_e complete_check_pmksa_cache(
-		EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids) = 0;
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	/**
-	 * This function tells AM to save SIMPLE_CONFIG configuration parameters.
-	 * This is always syncronous call.
-	 */
-	virtual eap_status_e save_simple_config_session(
-		const simple_config_state_e state,
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-		const eap_variable_data_c * const new_password,
-		const simple_config_Device_Password_ID_e Device_Password_ID,
-		const simple_config_payloads_c * const other_configuration
-		) = 0;
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	virtual eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode) = 0;
-
-	virtual eap_status_e complete_disassociation(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
 	//--------------------------------------------------
 }; // class abs_ethernet_core_c
 
--- a/eapol/eapol_framework/eapol_common/include/asn1_der_type.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/asn1_der_type.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 30 %
 */
 
 #if !defined(_ASN1_TYPE_H_)
--- a/eapol/eapol_framework/eapol_common/include/dummy_eap_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,738 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-/**
- *  @mainpage EAP Core documentation.
- *  
- *  @section intro Introduction
- *  This is a EAP Core documentation generated by doxygen.
- *  First read <a href="../S60_3_1_EAP_Core.doc">S60_3_1_EAP_Core.doc</a>
- *  file from <a href="..">EAPOL/documentation</a> directory.
- *  Release notes are in file <a href="../../../../../wlan_linux/wlaneapol_linux/release_notes.txt">release_notes.txt</a>
- *  
- *  @section install Installation
- *  Installation instructions are in file <a href="../../../../../wlan_linux/wlaneapol_linux/readme.txt">EAPOL/readme.txt</a>.
- *  
- *  @section classes Most crucial classes
- *  The most crucial classes are dummy_eap_core_c, abs_eap_core_c,
- *  eap_base_type_c and abs_eap_base_type_c.
- *
- *  Header files are stored to a directory <a href="../../../include">EAPOL/include</a>.
- *  Implementation of dummy_eap_core_c class is in a file <a href="../../../core/eap_core.cpp">
- *  EAPOL/core/eap_core.cpp</a>. Implementation of eap_base_type_c class is in a file
- *  <a href="../../../common/eap_base_type.cpp">EAPOL/common/eap_base_type.cpp</a>.
- *  
- *  @section eap_types Implemented EAP-types
- *  
- *  @subsection GSMSIM EAP/SIM
- *  EAP/SIM implementation is in a directory
- *  <a href="../../../type/gsmsim">EAPOL/type/gsmsim</a>.
- *  EAP/SIM is specified in draft-haverinen-pppext-eap-sim-xx.txt.
- *  The most current is
- *  <a href="../../type/gsmsim/doc/rfc4186.txt">
- *  RFC 4186</a>.
- *  IETF drafts and RFC are stored to a directory <a href="../../type/gsmsim/doc">
- *  EAPOL/type/gsmsim/documentation</a>.
- *  The document
- *  <a href="../../type/gsmsim/doc/GSMSIM.doc">GSMSIM.doc</a>
- *  includes implementation notes of GSMSIM.
- *  
- *  @subsection EAP_AKA EAP/AKA
- *  EAP/AKA implementation is in a directory
- *  <a href="../../../type/aka">EAPOL/type/aka</a>.
- *  EAP/AKA is specified in draft-arkko-pppext-eap-aka-xx.txt.
- *  The most current is
- *  <a href="../../type/aka/doc/rfc4187.txt">
- *  RFC 4187</a>.
- *  IETF drafts are stored to a directory <a href="../../type/aka/doc">
- *  EAPOL/type/aka/documentation</a>.
- *  
- *  @subsection EAP_TLS_PEAP EAP/TLS, PEAP and TTLS
- *  Implementation design and architecture of EAP/TLS, PEAP and TTLS is in
- *  <a href="../../type/tls_peap/doc/EAP_TLS_PEAP.doc">EAP_TLS_PEAP.doc</a>
- *  file in <a href="../../type/tls_peap/doc">EAPOL/type/tls_peap/documentation</a> directory.
- *  EAP/TLS and PEAP implementation will be in a directory
- *  <a href="../../../type/tls_peap">EAPOL/type/tls_peap</a>.
- *  TLS is specified in <a href="../../type/tls_peap/doc/rfc2246.txt">rfc2246.txt</a>.
- *  EAP/TLS is specified in <a href="../../type/tls_peap/doc/rfc2716.txt">rfc2716.txt</a>.
- *  PEAPv2 is specified in <a href="../../type/tls_peap/doc/draft-josefsson-pppext-eap-tls-eap-08.txt">draft-josefsson-pppext-eap-tls-eap-08.txt</a>.
- *  PEAPv1 is specified in <a href="../../type/tls_peap/doc/draft-josefsson-pppext-eap-tls-eap-05.txt">draft-josefsson-pppext-eap-tls-eap-05.txt</a>.
- *  Windows XP- PEAPv0 is specified in <a href="../../type/tls_peap/doc/draft-kamath-pppext-peapv0-00.txt">draft-kamath-pppext-peapv0-00.txt</a>.
- *  TTLS is specified in <a href="../../type/tls_peap/doc/draft-ietf-pppext-eap-ttls-04.txt">draft-ietf-pppext-eap-ttls-04.txt</a>.
- *  
- *  @subsection EAP_MsChapv2 EAP/MsChapv2
- *  EAP/MsChapv2 implementation is in a directory
- *  <a href="../../../type/mschapv2">EAPOL/type/mschapv2</a>.
- *  EAP/MsChapv2 is specified in draft-kamath-pppext-eap-mschapv2-XX.txt, rfc2433.txt and rfc2759.txt.
- *  The most current is
- *  <a href="../../type/mschapv2/doc/draft-kamath-pppext-eap-mschapv2-01.txt">
- *  EAP/MsChapv2 draft version 2</a>.
- *  See also <a href="../../type/mschapv2/doc/rfc2433.txt">rfc2433.txt</a>
- *  and <a href="../../type/mschapv2/doc/rfc2759.txt">rfc2759.txt</a>.
- *  IETF drafts are stored to a directory <a href="../../type/mschapv2/doc">
- *  EAPOL/type/mschapv2/doc</a>.
- *  
- *  @subsection EAP_SecurID_GTC EAP/SecurID and GTC
- *  EAP/SecurID implementation is in a directory
- *  <a href="../../../type/securid">EAPOL/type/securid</a>.
- *  EAP/SecurID is specified in draft-josefsson-eap-securid-XX.txt.
- *  The most current is
- *  <a href="../../type/securid/doc/draft-josefsson-eap-securid-01.txt">
- *  EAP/SecurID draft version 1</a>.
- *  IETF drafts are stored to a directory <a href="../../type/securid/doc">
- *  EAPOL/type/securid/documentation</a>.
- *  
- *  @subsection EAP_LEAP EAP/LEAP
- *  EAP/LEAP implementation is in a directory
- *  <a href="../../../type/leap">EAPOL/type/leap</a>.
- *  EAP/LEAP documentation is not included here.
- *  
- *  @subsection SAE Experimental Security Association for EAPOL (not used)
- *  SAE implementation is in a directory <a href="../../../../../wlan_testing/wlaneapol_testing/SAE">EAPOL/SAE</a>.
- *  Document defining SAE is <a href="../../../../../wlan_testing/wlaneapol_testing/SAE/documentation/EAPOL_SA.doc">EAPOL_SA.doc</a>.
- *  This is a very experimental test implementation.
- *  Idea is to use Diffie-Hellman to create keys for a anonymous EAPOL tunnel.
- *  Any EAP-type could then run inside the tunnel.
- *  This fixes the problem of current EAPOL over WLAN.
- *  EAP was designed for poin to point environment and EAPOL to non-shared environment.
- *  
- *  NOTE SAE is not used anywhere.
- *
- *  @section Symbian Symbian Plug-in
- *  EAP Type Plug-in Architecture for Symbian is specified in
- *  <a href="../../am/type/symbian/plugin/doc/eap_plugin_architecture.doc">
- *  eap_plugin_architecture.doc</a>.
- *  
- */
-
-
-#if !defined(_DUMMY_EAP_CORE_H_)
-#define _DUMMY_EAP_CORE_H_
-
-#include "eap_am_export.h"
-#include "abs_eap_base_type.h"
-#include "eap_core_map.h"
-#include "eap_am_network_id.h"
-#include "abs_eap_stack_interface.h"
-#include "eap_configuration_field.h"
-#include "abs_eap_core_map.h"
-#include "eap_core.h"
-
-class abs_eap_core_c;
-class abs_eap_am_tools_c;
-class eap_core_retransmission_c;
-class eap_base_type_c;
-class eap_variable_data_c;
-
-//--------------------------------------------------------------------------------------------------
-
-/**
- *  @defgroup EAP_Core_config_options Configuration options of EAP Core.
- *  The following configuration options are read through abs_eap_base_type_c::read_configure() function.
- *  @{
- */
-
-
-
-//--------------------------------------------------------------------------------------------------
-
-
-
-/// A eap_core_c class implements the basic functionality of EAP-type.
-class EAP_EXPORT dummy_eap_core_c
-: public abs_eap_core_map_c
-, public abs_eap_base_type_c
-, public abs_eap_base_timer_c
-, public abs_eap_stack_interface_c
-{
-private:
-	//--------------------------------------------------
-
-	/// This is back pointer to object which created this object.
-	/// Packets are sent to the partner.
-	abs_eap_core_c *m_partner;
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	/// This stores eap_base_type objects using eap_variable_data selector.
-	eap_core_map_c<eap_base_type_c, abs_eap_core_map_c, eap_variable_data_c> m_type_map;
-
-	/// This stores the current EAP-type. When requested, we send our ID using 
-	/// our default EAP-type. This is our best quess of other peer's EAP-type.
-	/// Other peer will sent the real EAP-type later and we can NAK it then
-	/// and send our own EAP-type. This is due the limitations of EAP-protocol.
-	eap_type_value_e m_current_eap_type;
-
-	/// This is our default EAP-type.
-	eap_type_value_e m_default_eap_type;
-
-	/// This is the queried EAP-identity.
-	/// This is saved because other EAP-types may be load afterwards
-	/// and they may query EAP-identity.
-	eap_variable_data_c m_eap_identity;
-
-	/// This is offset in bytes of the EAP-type header.
-	u32_t m_eap_header_offset;
-
-	/// This is maximum transfer unit in bytes.
-	u32_t m_MTU;
-
-	/// This is length of the trailer in bytes.
-	u32_t m_trailer_length;
-
-	/// This is network identity of the received packet.
-	eap_am_network_id_c m_receive_network_id;
-
-	/// Re-transmission is used to test protocols.
-	/// This stores the information to resent a message. This is used for testing purposes.
-	eap_core_retransmission_c *m_retransmission;
-
-	/// Re-transmission is used to test protocols.
-	/// This is the time after resent a message. This is used for testing purposes.
-	u32_t m_retransmission_time;
-
-	/// Re-transmission is used to test protocols.
-	/// This is the maximum count of retransmission of one message. This is used for testing purposes.
-	u32_t m_retransmission_counter;
-
-	/// This is the maximum time authentication could succeed.
-	/// Authentication is terminated after this time elapses.
-	/// The EAP-type could change the timeout by calling set_session_timeout() function.
-	u32_t m_session_timeout;
-
-	u32_t m_eap_core_failure_received_timeout;
-
-	u32_t m_remove_session_timeout;
-
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-	u32_t m_wait_eap_request_type_timeout;
-	bool m_wait_eap_request_type_timeout_set;
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-
-	/// Latest received EAP-identifier. Used only for EAP-Request/Identity handling in client.
-	/// Ensures that the EAP-Response/Identity is sent with the latest EAP-identifier.
-	u8_t m_eap_identity_request_identifier_client;
-
-	/// This indicates whether this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	bool m_is_client;
-
-	/// This indicates whether the authentication role of this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entitys authentication role is EAP-supplicant (true) or EAP-authenticator (false).
-	/// NOTE the LEAP type changes authentication role during the authentication session.
-	bool m_is_client_role;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	/// Client has initiated restart.
-	bool m_client_restart_authentication_initiated;
-
-	/// This flag indicates that this object is marked to removed asynchronously.
-	/// The very same object could be taken use before the removing timer elapses.
-	bool m_marked_removed;
-
-	/// This flag prevents server receiving of multiple EAP-Response/Identity message.
-	/// This is set true after the server accepts EAP-Response/Identity message.
-	bool m_eap_identity_response_accepted;
-
-	/// Function shutdown() is called already.
-	bool m_shutdown_was_called;
-
-	/// Server received EAP-Response from client. Server must not sent any other EAP-type. Server could send EAP-Failure or EAP-Success.
-	/// Client sent a response. Client must not accept any other EAP-type.
-	bool m_eap_type_response_sent;
-
-	/// Tells whether this is tunneled EAP-session. For example inside PEAP or TTLS tunnel.
-	/// This causes some changes to timeouts.
-	bool m_is_tunneled_eap;
-
-#if defined(USE_EAP_CORE_SERVER)
-	/// If this flag is true EAP-Response/Nak is processed immediately.
-	/// If this flag is false EAP-Response/Nak is processed after a timeout.
-	/// There might be received more suitable EAP-Response.
-	bool m_process_eap_nak_immediately;
-
-	/// EAP-Response/Nak is initiated.
-	bool m_nak_process_timer_active;
-
-	/// This flag prevents server sending of multiple EAP-Request/Identity message.
-	bool m_eap_identity_request_send;
-
-	/// This is set true after the server receives EAP-Response/Identity message.
-	bool m_eap_identity_response_received;
-
-	/// This flag is set true after a EAP-Failure is sent.
-	bool m_eap_failure_sent;
-
-	/// This flag selects whether EAP-Success is send after state notification is forwarded to lower layer (true)
-	/// or EAP-Success is send before state notification is forwarded to lower layer (false).
-	bool m_send_eap_success_after_notification;
-
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-	// This flag selects whether EAP-Request/Identity is send (true) or not (false).
-	bool m_skip_eap_request_identity;
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-	bool m_use_eap_expanded_type;
-
-	/// Some of the protocols terminates with EAP-Failure. This flag tells to ignore EAP-Failure.
-	bool m_ignore_eap_failure;
-
-	bool m_ignore_notifications;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	/**
-	 * Re-transmission is used to test protocols.
-	 * This function resends the packet.
-	 */
-	EAP_FUNC_IMPORT eap_status_e resend_packet(
-		const eap_am_network_id_c * const send_network_id,
-		eap_buf_chain_wr_c * const sent_packet,
-		const u32_t header_offset,
-		const u32_t data_length,
-		const u32_t buffer_free,
-		const u32_t retransmission_counter
-		);
-
-	/** 
-	 * Re-transmission is used to test protocols.
-	 * This function cancels retransmissions.
-	 */
-	EAP_FUNC_IMPORT eap_status_e cancel_retransmission();
-
-	/**
-	 * Re-transmission is used to test protocols.
-	 * This function inits retransmission of sent packet.
-	 */
-	EAP_FUNC_IMPORT eap_status_e init_retransmission(
-		const eap_am_network_id_c * const send_network_id,
-		eap_buf_chain_wr_c * const sent_packet,
-		const u32_t header_offset,
-		const u32_t data_length,
-		const eap_code_value_e eap_code,
-		const u8_t eap_identifier,
-		const eap_type_value_e eap_type
-		);
-
-	/**
-	 * This function cancels previous session timeout and initializes new timeout for the session.
-	 */
-	EAP_FUNC_IMPORT eap_status_e initialize_session_timeout(
-		const u32_t session_timeout_ms);
-
-	/**
-	 * This function cancels timeout for a session.
-	 */
-	EAP_FUNC_IMPORT eap_status_e cancel_session_timeout();
-
-	/**
-	 * This function calls shutdown() for one eap_base_type_c object.
-	 */
-	EAP_FUNC_IMPORT static eap_status_e shutdown_operation(
-		eap_base_type_c * const value,
-		abs_eap_am_tools_c * const m_am_tools);
-
-	/**
-	 * This function calls reset() for one eap_base_type_c object.
-	 */
-	EAP_FUNC_IMPORT static eap_status_e reset_operation(
-		eap_base_type_c * const handler,
-		abs_eap_am_tools_c * const m_am_tools);
-
-	EAP_FUNC_IMPORT eap_status_e client_proposes_eap_types(
-		const eap_am_network_id_c * const receive_network_id,
-		const u8_t eap_identifier);
-
-	/**
-	 * This function processes EAP-packet with known EAP-type.
-	 */
-	EAP_FUNC_IMPORT eap_status_e packet_process_type(
-		const eap_type_value_e used_eap_type,
-		const eap_am_network_id_c * const receive_network_id,
-		eap_general_header_base_c * const packet_data,
-		const u32_t packet_length);
-
-#if defined(USE_EAP_CORE_SERVER)
-	/**
-	 * This function re-starts authentication with new EAP-type.
-	 * Only server calls this function.
-	 */
-	EAP_FUNC_IMPORT eap_status_e restart_with_new_type(
-		const eap_type_value_e used_eap_type,
-		const eap_am_network_id_c * const receive_network_id,
-		const u8_t eap_identifier);
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-#if defined(USE_EAP_CORE_SERVER)
-	EAP_FUNC_IMPORT eap_status_e handle_eap_identity_response(
-		eap_base_type_c * const handler,
-		const eap_type_value_e used_eap_type,
-		const eap_am_network_id_c * const receive_network_id,
-		eap_header_wr_c * const eap,
-		const u32_t packet_length);
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-	/**
-	 * This function handles EAP-Request/Identity.
-	 */
-	EAP_FUNC_IMPORT eap_status_e handle_eap_identity_request(
-		const eap_type_value_e used_eap_type,
-		const u8_t eap_identifier,
-		const eap_am_network_id_c * const receive_network_id);
-
-	/**
-	 * This function creates EAP-Response/Identity.
-	 */
-	EAP_FUNC_IMPORT eap_status_e create_eap_identity_response(
-		eap_buf_chain_wr_c * const response_packet,
-		const eap_variable_data_c * const identity,
-		const u8_t eap_identifier
-		);
-
-	/**
-	 * This function sends EAP-Response/Identity.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_identity_response(
-		const eap_am_network_id_c * const send_network_id,
-		const eap_variable_data_c * const identity,
-		const u8_t eap_identifier);
-
-	/**
-	 * This function sends EAP-Response/Notification.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_notification_response(
-		const eap_am_network_id_c * const send_network_id,
-		const u8_t eap_identifier);
-
-	/**
-	 * This function initializes timeout for received EAP-Failure.
-	 */
-	EAP_FUNC_IMPORT eap_status_e set_eap_failure_timeout();
-
-	/**
-	 * This function cancels timeout for received EAP-Failure.
-	 */
-	EAP_FUNC_IMPORT eap_status_e cancel_eap_failure_timeout();
-
-#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-	eap_status_e set_wait_eap_request_type_timeout();
-
-	eap_status_e cancel_wait_eap_request_type_timeout();
-#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER)
-
-	EAP_FUNC_IMPORT eap_status_e asynchronous_init_remove_eap_session();
-
-	EAP_FUNC_IMPORT eap_status_e initialize_asynchronous_init_remove_eap_session(
-		const u32_t remove_session_timeout);
-
-	EAP_FUNC_IMPORT eap_status_e cancel_asynchronous_init_remove_eap_session();
-
-	eap_status_e init_end_of_session(
-		const abs_eap_state_notification_c * const state);
-
-	eap_status_e set_eap_identity_routing_info_and_nai_decoration(
-		eap_variable_data_c * const identity);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~dummy_eap_core_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * @param is_tunneled_eap tells the EAP is run in tunnel (PEAP or other).
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT dummy_eap_core_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_core_c * const partner,
-		const bool is_client_when_true,
-		const eap_am_network_id_c * const receive_network_id,
-		const bool is_tunneled_eap);
-
-	/**
-	 * The load_type() function function indicates the lower level to load
-	 * new module including EAP-type. The type parameter is the requested EAP-type.
-	 * @param type is the identifier of the required EAP type.
-	 * @return Function returns pointer to the EAP type object.
-	 */
-	EAP_FUNC_IMPORT eap_base_type_c * load_type(
-		const eap_type_value_e type,
-		const eap_type_value_e tunneling_type,
-		const eap_am_network_id_c * const receive_network_id);
-
-	EAP_FUNC_IMPORT void trace_eap_packet(
-		eap_const_string prefix,
-		const eap_header_wr_c * const eap_header);
-
-	// This is documented in abs_eap_stack_interface_c::packet_process().
-	EAP_FUNC_IMPORT eap_status_e packet_process(
-		const eap_am_network_id_c * const receive_network_id,
-		eap_general_header_base_c * const packet_data,
-		const u32_t packet_length); 
-
-	// This is documented in abs_eap_base_type_c::packet_send().
-	EAP_FUNC_IMPORT eap_status_e packet_send(
-		const eap_am_network_id_c * const send_network_id,
-		eap_buf_chain_wr_c * const sent_packet,
-		const u32_t header_offset,
-		const u32_t data_length,
-		const u32_t buffer_length); 
-
-	/**
-	 * The get_partner() function returns pointer to partner class.
-	 */
-	EAP_FUNC_IMPORT abs_eap_core_c * get_partner();
-
-	/**
-	 * The set_partner() function sets pointer to partner class.
-	 */
-	EAP_FUNC_IMPORT void set_partner(abs_eap_core_c * const partner);
-
-	// This is documented in abs_eap_base_type_c::get_header_offset().
-	EAP_FUNC_IMPORT u32_t get_header_offset(
-		u32_t * const MTU,
-		u32_t * const trailer_length);
-
-	// This is documented in abs_eap_base_type_c::load_module().
-	EAP_FUNC_IMPORT eap_status_e load_module(
-		const eap_type_value_e type,
-		const eap_type_value_e /* tunneling_type */,
-		abs_eap_base_type_c * const partner,
-		eap_base_type_c ** const eap_type,
-		const bool is_client_when_true,
-		const eap_am_network_id_c * const receive_network_id);
-
-	// This is documented in abs_eap_base_type_c::unload_module().
-	EAP_FUNC_IMPORT eap_status_e unload_module(
-		const eap_type_value_e type); 
-
-	/**
-	 * The adaptation module calls the eap_acknowledge() function after
-	 * any Network Protocol packet is received. This is used as a success indication.
-	 * This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)".
-	 * Mostly there is only one session in the client.
-	 * The server does not need eap_acknowledge() function because
-	 * server (EAP-authenticator) sends the EAP-success message.
-	 */
-	EAP_FUNC_IMPORT eap_status_e eap_acknowledge(
-		const eap_am_network_id_c * const receive_network_id); 
-
-	// This is documented in abs_eap_base_type_c::restart_authentication().
-	EAP_FUNC_IMPORT eap_status_e restart_authentication(
-		const eap_am_network_id_c * const send_network_id,
-		const bool is_client_when_true);
-
-	/**
-	 * The EAP Core calls the send_eap_nak_response() function
-	 * when EAP-authentication with requested EAP type is not possible.
-	 * @param receive_network_id includes the addresses (network identity) and packet type.
-	 * @param eap_identifier is the EAP-Identifier to be used with EAP-Nak message.
-	 * @param preferred_eap_type is the acceptable EAP-Type to be informed with an other peer.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_nak_response(
-		const eap_am_network_id_c * const receive_network_id,
-		const u8_t eap_identifier,
-		const eap_array_c<eap_type_value_e> * const eap_type_list);
-
-
-#if defined(USE_EAP_CORE_SERVER)
-
-	/**
-	 * The EAP Core calls the send_eap_identity_request() function
-	 * when EAP-authentication is needed with another peer.
-	 * @param network_id includes the addresses (network identity) and packet type.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_identity_request(
-		const eap_am_network_id_c * const network_id);
-
-	/**
-	 * This function sends EAP-Success.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_success(
-		const eap_am_network_id_c * const send_network_id,
-		const u8_t eap_identifier);
-
-	/**
-	 * This function sends EAP-Failure.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_failure(
-		const eap_am_network_id_c * const send_network_id,
-		const u8_t eap_identifier);
-
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-
-	// This is documented in abs_eap_base_type_c::packet_data_crypto_keys().
-	EAP_FUNC_IMPORT eap_status_e packet_data_crypto_keys(
-		const eap_am_network_id_c * const send_network_id,
-		const eap_master_session_key_c * const master_session_key
-		);
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_base_type_c::read_configure().
-	EAP_FUNC_IMPORT virtual eap_status_e read_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data);
-
-	// This is documented in abs_eap_base_type_c::write_configure().
-	EAP_FUNC_IMPORT virtual eap_status_e write_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data);
-
-	// This is documented in abs_eap_stack_interface_c::set_is_valid().
-	EAP_FUNC_IMPORT void set_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	// This is documented in abs_eap_base_type_c::state_notification().
-	EAP_FUNC_IMPORT void state_notification(
-		const abs_eap_state_notification_c * const state);
-
-	// See abs_eap_base_timer_c::timer_expired().
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	// See abs_eap_base_timer_c::timer_delete_data().
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
-	/**
-	 * eap_core_map_c class increases reference count each time reference to stored object is get.
-	 * Here is always just one state for one session so no references are used.
-	 */
-	EAP_FUNC_IMPORT void object_increase_reference_count();
-
-	/**
-	 * eap_core_map_c class increases reference count each time reference to stored object is get.
-	 *  Here is always just one state for one session so no references are used.
-	 */
-	EAP_FUNC_IMPORT u32_t object_decrease_reference_count();
-
-	/**
-	 * @{ Add configuration of accepted EAP-types. }
-	 */
-	// This is documented in abs_eap_base_type_c::check_is_valid_eap_type().
-	EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
-
-	// This is commented in abs_eap_base_type_c::get_eap_type_list().
-	EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
-		eap_array_c<eap_type_value_e> * const eap_type_list);
-
-	/**
-	 * Gets flag whether this session is marked removed.
-	 * Session is removed later if it is not reused.
-	 */
-	EAP_FUNC_IMPORT bool get_marked_removed();
-
-	/**
-	 * Marks this session removed.
-	 * Session is removed later if it is not reused.
-	 */
-	EAP_FUNC_IMPORT void set_marked_removed();
-
-	/**
-	 * Marks this session not removed.
-	 * Session is not removed it is reused.
-	 */
-	EAP_FUNC_IMPORT void unset_marked_removed();
-
-	/**
-	 * Prevents all notifications.
-	 */
-	EAP_FUNC_IMPORT void ignore_notifications();
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	EAP_FUNC_IMPORT eap_status_e reset();
-
-	// This is documented in abs_eap_base_type_c::complete_eap_identity_query().
-	EAP_FUNC_IMPORT eap_status_e complete_eap_identity_query(
-		const eap_am_network_id_c * const send_network_id,
-		const eap_variable_data_c * const identity,
-		const u8_t eap_identifier);
-
-	// This is documented in abs_eap_base_type_c::get_saved_eap_identity().
-	EAP_FUNC_IMPORT eap_status_e get_saved_eap_identity(eap_variable_data_c * const identity);
-
-	// This is documented in abs_eap_base_type_c::set_session_timeout().
-	EAP_FUNC_IMPORT eap_status_e set_session_timeout(
-		const u32_t session_timeout_ms);
-
-	// This is documented in abs_eap_base_type_c::set_timer().
-	EAP_FUNC_IMPORT eap_status_e set_timer(
-		abs_eap_base_timer_c * const p_initializer, 
-		const u32_t p_id, 
-		void * const p_data,
-		const u32_t p_time_ms);
-
-	// This is documented in abs_eap_base_type_c::cancel_timer().
-	EAP_FUNC_IMPORT eap_status_e cancel_timer(
-		abs_eap_base_timer_c * const p_initializer, 
-		const u32_t p_id);
-
-	// This is documented in abs_eap_base_type_c::set_authentication_role().
-	EAP_FUNC_IMPORT eap_status_e set_authentication_role(const bool when_true_set_client);
-
-	// This is documented in abs_eap_base_type_c::add_rogue_ap().
-	EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
-
-	// This is documented in abs_eap_base_type_c::get_is_tunneled().
-	EAP_FUNC_IMPORT bool get_is_tunneled_eap() const;
-
-	//--------------------------------------------------
-}; // class dummy_eap_core_c
-
-
-#endif //#if !defined(_DUMMY_EAP_CORE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_array.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_array.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4.1.5 %
 */
 
 #if !defined(_EAP_ARRAY_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 19.1.4 %
 */
 
 #if !defined(_EAP_ARRAY_ALGORITHMS_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13.1.2 %
 */
 
 #if !defined(_EAP_AUTOMATIC_VARIABLE_H_)
@@ -244,8 +244,6 @@
 	/// This is pointer to the string that will be traced on destructor.
 	eap_format_string m_string;
 
-	u32_t m_trace_flags;
-
 public:
 	
 	/**
@@ -259,7 +257,7 @@
 		{
 			EAP_TRACE_DEBUG(
 				m_am_tools, 
-				m_trace_flags, 
+				TRACE_FLAGS_DEFAULT, 
 				(EAPL("<<< %s <<<\n"), m_string));
 		}
 
@@ -273,23 +271,7 @@
 		abs_eap_am_tools_c * const tools,
 		eap_format_string string)
 		: m_am_tools(tools)
-		, m_string(string)
-		, m_trace_flags(TRACE_FLAGS_DEFAULT)
-	{
-		EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	}
-	
-	/**
-	 * The constructor sets the values for the member variables
-	 */	
-	eap_automatic_trace_string_c(
-		abs_eap_am_tools_c * const tools,
-		const u32_t flags,
-		eap_format_string string)
-		: m_am_tools(tools)
 		, m_string(string)	
-		, m_trace_flags(flags)
 	{
 		EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
--- a/eapol/eapol_framework/eapol_common/include/eap_base_type.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_base_type.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_BASE_TYPE_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_buffer.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_buffer.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_EAP_BUFFER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_config.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_config.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4.1.3 %
 */
 
 #if !defined(_EAP_CONFIG_H_)
@@ -697,27 +697,6 @@
 #endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
 
 
-/**
- *  This special configuration option reads all defines configuration options.
- *  Data is in message format. Please see eap_tlv_message_data_c.
- */
-EAP_CONFIGURATION_FIELD(
-	cf_str_EAP_read_all_configurations,
-	"EAP_read_all_configurations",
-	eap_configure_type_all_configurations,
-	false);
-
-
-const u8_t EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY[] = "eap_am_type_protected_setup shared key";
-
-enum eap_type_protected_setup_stored_e
-{
-	eap_type_protected_setup_stored_none,
-	eap_type_protected_setup_stored_preshared_key,
-	eap_type_protected_setup_stored_ssid,
-};
-
-
 /** @} */ // End of group Common_EAP_config_options.
 
 //--------------------------------------------------------------------------------------------------
--- a/eapol/eapol_framework/eapol_common/include/eap_configuration_field.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_configuration_field.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4.1.2 %
 */
 
 #if !defined(_EAP_CONFIGURATION_FIELD_H_)
@@ -43,7 +43,6 @@
 	eap_configure_type_u32array,
 	eap_configure_type_section,
 	eap_configure_type_subsection,
-	eap_configure_type_all_configurations, //< This is special type to read all configuration options. Data is in message format. Please see eap_tlv_message_data_c.
 };
 
 //--------------------------------------------------------------------------------------------------
@@ -178,26 +177,6 @@
 		return tmp;
 	}
 
-	static eap_const_string get_configure_type_string(const eap_configure_type_e type)
-	{
-		#if defined(USE_EAP_TRACE_STRINGS)
-		EAP_IF_RETURN_STRING(type, eap_configure_type_none)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_u32_t)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_boolean)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_string)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_hex_data)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_u32array)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_section)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_subsection)
-		else EAP_IF_RETURN_STRING(type, eap_configure_type_all_configurations)
-		else
-		#endif // #if defined(USE_EAP_TRACE_STRINGS)
-		{
-			EAP_UNREFERENCED_PARAMETER(type);
-			return EAPL("Unknown EAP-configure_type");
-		}
-	}
-
 private:
 	bool                 m_is_secret;
 	eap_configure_type_e m_type;
--- a/eapol/eapol_framework/eapol_common/include/eap_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 15 %
 */
 
 /**
@@ -915,6 +915,9 @@
 		abs_eap_base_timer_c * const p_initializer, 
 		const u32_t p_id);
 
+	// This is documented in abs_eap_base_type_c::cancel_all_timers().
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
 	// This is documented in abs_eap_base_type_c::set_authentication_role().
 	EAP_FUNC_IMPORT eap_status_e set_authentication_role(const bool when_true_set_client);
 
--- a/eapol/eapol_framework/eapol_common/include/eap_core_client_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 23 %
-*/
-
-#if !defined(_EAP_CORE_CLIENT_MESSAGE_IF_H_)
-#define _EAP_CORE_CLIENT_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_session_core_base.h"
-#include "abs_eap_session_core.h"
-#include "eap_core_map.h"
-#include "abs_eap_stack_interface.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_database_reference_if.h"
-
-class eap_tlv_header_c;
-
-
-/// A eap_core_client_message_if_c class implements mapping of EAP authentication sessions.
-/// Network identity separates parallel EAP authentication sessions.
-class EAP_EXPORT eap_core_client_message_if_c
-: public abs_eap_am_message_if_c
-, public eap_session_core_base_c
-, public abs_eap_base_timer_c
-, public abs_eap_stack_interface_c
-{
-private:
-	//--------------------------------------------------
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	/// eap_core_client_message_if_c deletes m_server_if in destructor.
-	eap_am_message_if_c * m_server_if;
-
-	/// This is back pointer to object which created this object.
-	/// Packets are sent to the partner.
-	abs_eap_session_core_c * const m_partner;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-	/// This is offset in bytes of the EAP header.
-	u32_t m_eap_header_offset;
-
-	/// This is maximum transfer unit in bytes.
-	u32_t m_MTU;
-
-	/// This is length of the trailer in bytes.
-	u32_t m_trailer_length;
-
-	/// This indicates whether this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	bool m_is_client;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	bool m_shutdown_was_called;
-
-	// This is documented in abs_eap_stack_interface_c::set_is_valid().
-	void set_is_valid();
-
-	eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e process_error_message(
-		const eap_status_e error_code,
-		const eap_tlv_message_type_function_e function);
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e packet_send(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e state_notification(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e packet_data_crypto_keys(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e restart_authentication(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e new_protected_setup_credentials(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_get_802_11_authentication_mode(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_remove_eap_session(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e eap_mtu(
-		const u32_t MTU);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT EAP_FUNC_IMPORT virtual ~eap_core_client_message_if_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_core_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		eap_am_message_if_c * const server,
-		abs_eap_session_core_c * const partner,
-		const bool is_client_when_true);
-
-	void set_partner(abs_eap_am_message_if_c * const client);
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	EAP_FUNC_IMPORT eap_status_e reset();
-
-	/**
-	 * This function cancels all EAP-sessions.
-	 * If this succeeds this function must return eap_status_ok.
-	 * If this fails this function must return corresponding error status.
-	 * @return This function returns the status of operation.
-	 */
-	EAP_FUNC_IMPORT eap_status_e cancel_all_eap_sessions();
-
-	// This is documented in abs_eap_stack_interface_c::packet_process().
-	EAP_FUNC_IMPORT eap_status_e packet_process(
-		const eap_am_network_id_c * const receive_network_id,
-		eap_general_header_base_c * const packet_data,
-		const u32_t packet_length); 
-
-	/**
-	 * The adaptation module calls the eap_acknowledge() function after
-	 * any Network Protocol packet is received. This is used as a success indication.
-	 * This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)".
-	 * @param connection_handle separates the context of the acknowledged session.
-	 * Mostly there is only one session in the client.
-	 * The server does not need eap_acknowledge() function because
-	 * server (EAP-authenticator) sends the EAP-success message.
-	 */
-	EAP_FUNC_IMPORT eap_status_e eap_acknowledge(
-		const eap_am_network_id_c * const receive_network_id); 
-
-#if defined(USE_EAP_CORE_SERVER)
-	/**
-	 * The EAP Core calls the send_eap_identity_request() function
-	 * when EAP-authentication is needed with another peer.
-	 * @param network_id includes the addresses (network identity) and packet type.
-	 */
-	EAP_FUNC_IMPORT eap_status_e send_eap_identity_request(
-		const eap_am_network_id_c * const network_id);
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	/**
-	 * This function creates EAP session object synchronously.
-	 * @param receive_network_id identifies the removed EAP session.
-	 */
-	EAP_FUNC_IMPORT eap_status_e create_eap_session(
-		const eap_am_network_id_c * const receive_network_id);
-
-	/**
-	 * This function removes EAP session object synchronously.
-	 * @param receive_network_id identifies the removed EAP session.
-	 */
-	EAP_FUNC_IMPORT eap_status_e remove_eap_session(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id);
-
-	// See abs_eap_base_timer_c::timer_expired().
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	// See abs_eap_base_timer_c::timer_delete_data().
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
-	// See abs_eap_am_message_if_c::send_data().
-	EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length);
-
-
-	EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference);
-
-	EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type,
-		const eap_variable_data_c * const SSID,
-		const eap_variable_data_c * const preshared_key);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	//--------------------------------------------------
-}; // class eap_core_client_message_if_c
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_CORE_CLIENT_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_core_map.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_core_map.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5.1.3 %
 */
 
 #if !defined(_EAP_TYPE_MAP_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_CORE_NAK_INFO_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 #if !defined(_GSMSIM_RETRANSMISSION_H_)
@@ -32,7 +32,7 @@
  * This class stores the information of re-transmission of EAP-packet.
  * @{ Add more comments. }
  */
-class EAP_EXPORT eap_core_retransmission_c
+class eap_core_retransmission_c
 {
 private:
 	
--- a/eapol/eapol_framework/eapol_common/include/eap_core_server_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 17 %
-*/
-
-#if !defined(_EAP_CORE_SERVER_MESSAGE_IF_H_)
-#define _EAP_CORE_SERVER_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "abs_eap_session_core.h"
-#include "eap_variable_data.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_session_core_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_process_tlv_message_data.h"
-#include "abs_eap_am_stack.h"
-#include "eap_am_stack.h"
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-#include "simple_config_types.h"
-#include "simple_config_credential.h"
-#include "simple_config_payloads.h"
-#include "abs_eap_configuration_if.h"
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-
-/** @file */
-
-
-/// A eap_core_server_message_if_c class implements the basic functionality of EAPOL.
-class EAP_EXPORT eap_core_server_message_if_c
-: public abs_eap_session_core_c
-, public eap_am_message_if_c
-, public abs_eap_base_timer_c
-, public abs_eap_am_stack_c
-{
-
-private:
-	//--------------------------------------------------
-
-	/// This is back pointer to object which created this object.
-	abs_eap_am_message_if_c * m_partner;
-
-	/// This is pointer to the eap_core object. The eapol_core object gives
-	/// the received packets to the eap_core object. The eap_core object sends
-	/// packets through the eapol_core object.
-	eap_session_core_base_c * const m_eap_core;
-
-	eap_am_stack_c * const m_am_stack;
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	/// This is offset in bytes of the EAP header.
-	u32_t m_eap_header_offset;
-
-	/// This is maximum transfer unit in bytes.
-	u32_t m_MTU;
-
-	/// This is length of the trailer in bytes.
-	u32_t m_trailer_length;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-	/// This indicates whether this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	bool m_is_client;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	bool m_shutdown_was_called;
-
-	eap_status_e send_error_message(
-		const eap_status_e error_code,
-		const eap_tlv_message_type_function_e function);
-
-	eap_status_e send_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e create_eap_session(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e remove_eap_session(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e send_eap_identity_request(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e packet_process(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e eap_acknowledge(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e set_eap_database_reference_values(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e eap_mtu(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e get_802_11_authentication_mode(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-
-	eap_status_e complete_remove_eap_session(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id);
-
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor deletes the m_eap_core object.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_core_server_message_if_c();
-
-	/**
-	 * The constructor creates the eap_core object and initializes the m_eap_core
-	 * to point the eap_core object.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol whether
-	 * this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_core_server_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		const bool is_client_when_true,
-		const u32_t MTU);
-
-	EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner);
-
-	EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-	/**
-	 * The class could send packets to partner class with this function.
-	 * eap_core_server_message_if_c adds EAPOL header to the send packet.
-	 * @param send_network_id carries the addresses (network identity) and type of the packet.
-	 * @param sent_packet includes the buffer for the whole packet and initialized 
-	 * EAP-packet in correct offset.
-	 * @param header_offset is offset of the EAP-header within the sent_packet.
-	 * @param data_length is length in bytes of the EAP-packet.
-	 * @param buffer_length is length in bytes of the whole packet buffer.
-	 */
-	EAP_FUNC_IMPORT eap_status_e packet_send(
-		const eap_am_network_id_c * const send_network_id,
-		eap_buf_chain_wr_c * const sent_packet,
-		const u32_t header_offset,
-		const u32_t data_length,
-		const u32_t buffer_length); 
-
-	/**
-	 * The get_header_offset() function obtains the header offset of EAP-packet.
-	 * @param MTU_length is pointer to variable to store the maximum transfer unit (MTU).
-	 * MTU is the maximum EAP-packet length in bytes
-	 * @param trailer_length is pointer to the variable to store length
-	 * of trailer needed by lower levels.
-	 * @return Function returns the offset of EAP-header.
-	 * @see abs_eap_core_c::get_header_offset().
-	 */
-	EAP_FUNC_IMPORT u32_t get_header_offset(
-		u32_t * const MTU,
-		u32_t * const trailer_length);
-
-	/**
-	 * The load_module() function function indicates the lower level to
-	 * load new module of EAP-type.
-	 * @see abs_eap_core_c::load_module().
-	 */
-	EAP_FUNC_IMPORT eap_status_e load_module(
-		const eap_type_value_e type,
-		const eap_type_value_e /* tunneling_type */,
-		abs_eap_base_type_c * const partner,
-		eap_base_type_c ** const eap_type,
-		const bool is_client_when_true,
-		const eap_am_network_id_c * const receive_network_id);
-
-	/**
-	 * The unload_module() function unloads the module of a EAP-type. 
-	 * @see abs_eap_core_c::unload_module().
-	 */
-	EAP_FUNC_IMPORT eap_status_e unload_module(
-		const eap_type_value_e type); 
-
-	/**
-	 * Note this function is just an example. Parameters will change later.
-	 * The packet_data_crypto_keys() function gives the generated keys to lower level.
-	 * After EAP-authentication has generated the keys it calls this function
-	 * to offer the keys to lower level.
-	 * @see abs_eap_base_type_c::packet_data_crypto_keys().
-	 */
-	EAP_FUNC_IMPORT eap_status_e packet_data_crypto_keys(
-		const eap_am_network_id_c * const send_network_id,
-		const eap_master_session_key_c * const master_session_key
-		);
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	/**
-	 * The read_configure() function reads the configuration data identified
-	 * by the field string of field_length bytes length. Adaptation module must direct
-	 * the query to some persistent store.
-	 * @see abs_eap_base_type_c::read_configure().
-	 */
-	EAP_FUNC_IMPORT eap_status_e read_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data);
-
-	/**
-	 * The write_configure() function writes the configuration data identified
-	 * by the field string of field_length bytes length. Adaptation module must direct
-	 * the action to some persistent store.
-	 * @see abs_eap_base_type_c::write_configure().
-	 */
-	EAP_FUNC_IMPORT eap_status_e write_configure(
-		const eap_configuration_field_c * const field,
-		eap_variable_data_c * const data);
-
-	// This is documented in abs_eap_stack_interface_c::set_is_valid().
-	EAP_FUNC_IMPORT void set_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	// See abs_eap_base_type_c::state_notification().
-	EAP_FUNC_IMPORT void state_notification(
-		const abs_eap_state_notification_c * const state);
-
-	// See abs_eap_base_timer_c::timer_expired().
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	// See abs_eap_base_timer_c::timer_delete_data().
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
-	/**
-	 * This function tells lower layer to remove EAP session object asyncronously.
-	 * @param send_network_id is pointer to network id that identifies the removed EAP session.
-	 */
-	EAP_FUNC_IMPORT eap_status_e asynchronous_init_remove_eap_session(
-		const eap_am_network_id_c * const send_network_id);
-
-	/**
-	 * The upper layer calls the asynchronous_start_authentication() function
-	 * when EAP-authentication is needed with another peer.
-	 * @see abs_eap_core_c::asynchronous_start_authentication().
-	 */
-	EAP_FUNC_IMPORT eap_status_e asynchronous_start_authentication(
-		const eap_am_network_id_c * const /* receive_network_id */,
-		const bool /* is_client_when_true */);
-
-	EAP_FUNC_IMPORT eap_status_e restart_authentication(
-		const eap_am_network_id_c * const send_network_id,
-		const bool is_client_when_true,
-		const bool force_clean_restart,
-		const bool from_timer = false);
-
-	//
-	EAP_FUNC_IMPORT eap_status_e set_timer(
-		abs_eap_base_timer_c * const p_initializer, 
-		const u32_t p_id, 
-		void * const p_data,
-		const u32_t p_time_ms);
-
-	EAP_FUNC_IMPORT eap_status_e cancel_timer(
-		abs_eap_base_timer_c * const p_initializer, 
-		const u32_t p_id);
-
-	//
-	EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
-
-	// See abs_eap_core_c::get_eap_type_list().
-	EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
-		eap_array_c<eap_type_value_e> * const eap_type_list);
-
-	/// @see abs_eap_core_c::add_rogue_ap().
-	EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
-
-	// This is documented in abs_eap_core_c::set_session_timeout().
-	EAP_FUNC_IMPORT eap_status_e set_session_timeout(
-		const u32_t session_timeout_ms);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e save_simple_config_session(
-		const simple_config_state_e state,
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-		const eap_variable_data_c * const new_password,
-		const simple_config_Device_Password_ID_e Device_Password_ID,
-		const simple_config_payloads_c * const other_configuration);
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	//--------------------------------------------------
-}; // class eap_core_server_message_if_c
-
-#endif //#if !defined(_EAP_CORE_SERVER_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_crypto_api.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_crypto_api.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined( _EAP_CRYPTO_API_H_ )
--- a/eapol/eapol_framework/eapol_common/include/eap_database_reference_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_)
-#define _EAPOL_WLAN_DATABASE_REFERENCE_IF_H_
-
-//--------------------------------------------------
-
-#include "eap_am_export.h"
-#include "eap_am_types.h"
-#include "eap_status.h"
-
-
-/// This class is abstract interface to reference of WLAN database of the current connection.
-class EAP_EXPORT eap_database_reference_if_c
-{
-
-private:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	virtual ~eap_database_reference_if_c()
-	{
-	}
-
-	virtual eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference) = 0;
-
-}; // class eap_database_reference_if_c
-
-
-#endif //#if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_)
-
-//--------------------------------------------------
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_expanded_type.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_expanded_type.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18 %
+* %version: 10.1.2 %
 */
 
 #if !defined(_EAP_EXPANDED_TYPE_H_)
@@ -43,8 +43,13 @@
 };
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 /// Enumeration of the IETF defined EAP-Type values.
 enum eap_type_ietf_values_e
+#else
+/// This is the original enumeration of the EAP-Type values.
+enum eap_type_value_e
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 {
 	eap_type_none               = 0,  ///< This is internal value for no type case.
 	eap_type_identity           = 1,  ///< This is Identity.
@@ -66,6 +71,12 @@
 	eap_type_fast               = 43, ///< This is EAP-FAST type.
 #endif //#if defined(USE_FAST_EAP_TYPE)
 
+	eap_type_ttls_plain_pap     = 98, // This is for TTLS/PAP.
+
+#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
+	eap_type_plain_mschapv2     = 99, ///< This is used to indicate plain MSChapv2 inside TTLS tunnel.
+#endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
+
 	eap_type_saesim             = 252, ///< This is just a test EAP-type.
 	eap_type_dummy_sim          = 253, ///< This is just a test EAP-type.
 
@@ -73,6 +84,13 @@
 	eap_type_experimental_type  = 255, ///< This is Experimental Type.
 };
 
+
+#if !defined(USE_EAP_EXPANDED_TYPES)
+	typedef eap_type_value_e eap_type_ietf_values_e;
+#endif //#if !defined(USE_EAP_EXPANDED_TYPES)
+
+
+
 enum eap_type_vendor_id_e
 {
 	eap_type_vendor_id_ietf = 0,
@@ -85,9 +103,9 @@
 {
 	eap_type_vendor_type_secure_easy_setup = 10,
 	eap_type_vendor_type_WFA_simple_config = 1,
-	eap_type_vendor_type_ttls_plain_pap_hack = 98, // This is for TTLS/PAP.
+	eap_type_vendor_type_ttls_plain_pap_hack = eap_type_ttls_plain_pap, // This is for TTLS/PAP.
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
-	eap_type_vendor_type_plain_MSCHAPv2_hack = 99, // This is for plain MCHAPv2 and TTLS
+	eap_type_vendor_type_plain_MSCHAPv2_hack = eap_type_plain_mschapv2, // This is for plain MCHAPv2 and TTLS
 #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 };
 
@@ -108,7 +126,6 @@
 		m_eap_expanded_type_size = m_ietf_type_size+m_vendor_id_size+m_vendor_type_size,
 	};
 
-	// This must not be virtual destructor.
 	EAP_FUNC_IMPORT ~eap_expanded_type_c();
 
 	EAP_FUNC_IMPORT eap_expanded_type_c();
@@ -120,37 +137,30 @@
 	EAP_FUNC_IMPORT eap_expanded_type_c(
 		const eap_type_ietf_values_e type);
 
-	EAP_FUNC_IMPORT bool get_is_valid() const;
-
-	EAP_FUNC_IMPORT bool get_is_valid_data() const;
-
-	EAP_FUNC_IMPORT eap_expanded_type_c * copy() const;
-
 	EAP_FUNC_IMPORT static bool is_expanded_type(const eap_type_ietf_values_e eap_type);
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	EAP_FUNC_IMPORT static bool is_ietf_type(const eap_expanded_type_c eap_type);
+#else
+	EAP_FUNC_IMPORT static bool is_ietf_type(const eap_type_ietf_values_e eap_type);
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 	EAP_FUNC_IMPORT eap_status_e get_type_data(
 		abs_eap_am_tools_c * const am_tools,
-		eap_type_ietf_values_e * const type) const;
+		eap_type_ietf_values_e * const type);
 
 	EAP_FUNC_IMPORT eap_status_e get_type_data(
 		abs_eap_am_tools_c * const am_tools,
-		eap_expanded_type_c * const type) const;
+		eap_expanded_type_c * const type);
 
 	EAP_FUNC_IMPORT eap_status_e get_expanded_type_data(
 		abs_eap_am_tools_c * const am_tools,
-		eap_variable_data_c * const data) const;
+		eap_variable_data_c * const data);
 
 	EAP_FUNC_IMPORT eap_status_e set_expanded_type_data(
 		abs_eap_am_tools_c * const am_tools,
 		const eap_variable_data_c * const data);
 
-	EAP_FUNC_IMPORT eap_status_e set_expanded_type_data(
-		abs_eap_am_tools_c * const am_tools,
-		const void * const data,
-		const u32_t data_length);
-
 	EAP_FUNC_IMPORT void set_eap_type_values(
 		const eap_type_vendor_id_e vendor_id,
 		const u32_t vendor_type);
@@ -183,7 +193,11 @@
 		const u32_t index,
 		const void * const buffer,
 		const u32_t buffer_length,
+#if defined(USE_EAP_EXPANDED_TYPES)
 		eap_expanded_type_c * const type
+#else
+		eap_type_ietf_values_e * const type
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 		);
 
 	/// This function writes EAP-type to offset.
@@ -193,10 +207,16 @@
 		void * const buffer,
 		const u32_t buffer_length,
 		const bool write_extented_type_when_true, ///< True value writes always Extented Type.
+#if defined(USE_EAP_EXPANDED_TYPES)
 		const eap_expanded_type_c p_type ///< The EAP type to be written.
+#else
+		const eap_type_ietf_values_e p_type ///< The EAP type to be written.
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 		);
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	EAP_FUNC_IMPORT i32_t compare(const eap_expanded_type_c * const data) const;
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 private:
 
@@ -257,12 +277,21 @@
 //-----------------------------------------------------------------------------------------
 
 
-typedef eap_expanded_type_c eap_type_value_e;
+#if defined(USE_EAP_EXPANDED_TYPES)
+
+	typedef eap_expanded_type_c eap_type_value_e;
 
+	EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type);
+
+	EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type);
 
-EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type);
+#else
+
+	EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type);
 
-EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type);
+	EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type);
+
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 
 //-----------------------------------------------------------------------------------------
--- a/eapol/eapol_framework/eapol_common/include/eap_general_header_base.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_general_header_base.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_GENERAL_HEADER_BASE_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_general_settings_client_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Class creates and reads the messages used in EAP-general settings interface on the client side.
-*
-*/
-
-/*
-* %version: 8 %
-*/
-
-#if !defined(_EAP_GENERAL_SETTINGS_CLIENT_MESSAGE_IF_H_)
-#define _EAP_GENERAL_SETTINGS_CLIENT_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_plugin_message_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_array.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_general_settings_message.h"
-
-class eap_method_settings_c;
-class eap_am_message_if_c;
-class abs_eap_general_settings_message_c;
-class eap_tlv_header_c;
-
-/// Class creates and reads the messages used in EAP-general settings interface on the client side.
-class EAP_EXPORT eap_general_settings_client_message_if_c
-: public abs_eap_am_message_if_c
-, public eap_general_settings_message_c
-{
-private:
-	//--------------------------------------------------
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	/// eap_general_settings_client_message_if_c deletes m_client_if in destructor.
-	eap_am_message_if_c * m_client_if;
-
-	/// This is back pointer to object which created this object.
-	/// Packets are sent to the partner.
-	abs_eap_general_settings_message_c * const m_partner;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-
-	eap_status_e complete_set_eap_methods(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_get_eap_methods(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_get_certificate_lists(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_delete_all_eap_settings(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_copy_all_eap_settings(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_general_settings_client_message_if_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param client_if is pointer to object which forwards message to the server.
-	 * @param partner is back pointer to the user of EAP-general settings.
-	 */
-	EAP_FUNC_IMPORT eap_general_settings_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		eap_am_message_if_c * const client_if,
-		abs_eap_general_settings_message_c * const partner);
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	EAP_FUNC_IMPORT eap_status_e reset();
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	EAP_FUNC_IMPORT eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length);
-
-	//--------------------------------------------------
-}; // class eap_general_settings_client_message_if_c
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_GENERAL_SETTINGS_CLIENT_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_general_settings_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:  Class is interface from user of EAP-general settings to eap_general_settings_client_message_if_c.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_EAP_GENERAL_SETTINGS_MESSAGE_BASE_H_)
-#define _EAP_GENERAL_SETTINGS_MESSAGE_BASE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class abs_eap_general_settings_message_c;
-class eap_method_settings_c;
-
-/// Class is interface from user of EAP-general settings to eap_general_settings_client_message_if_c.
-class EAP_EXPORT eap_general_settings_message_c
-{
-private:
-	//--------------------------------------------------
-
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_general_settings_message_c();
-
-	/**
-	 * The constructor initializes member attributes.
-	 */
-	EAP_FUNC_IMPORT eap_general_settings_message_c();
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	virtual eap_status_e reset() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	virtual bool get_is_valid() = 0;
-
-	virtual eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0;
-
-	//--------------------------------------------------
-}; // class eap_general_settings_message_c
-
-/// Function creates new eap_general_settings_message_c object.
-eap_general_settings_message_c * new_eap_general_settings_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_general_settings_message_c * const partner);
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_GENERAL_SETTINGS_MESSAGE_BASE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_general_settings_server_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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:  Class creates and reads the messages used in EAP-general settings interface on the server side.
-*
-*/
-
-/*
-* %version: 10 %
-*/
-
-#if !defined(_EAP_GENERAL_SETTINGS_SERVER_MESSAGE_IF_H_)
-#define _EAP_GENERAL_SETTINGS_SERVER_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "abs_eap_session_core.h"
-#include "eap_variable_data.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_session_core_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_process_tlv_message_data.h"
-#include "abs_eap_am_general_settings.h"
-#include "eap_am_general_settings.h"
-
-
-/** @file */
-
-
-/// Class creates and reads the messages used in EAP-general settings interface on the server side.
-class EAP_EXPORT eap_general_settings_server_message_if_c
-: public abs_eap_am_general_settings_c
-, public eap_am_message_if_c
-, public abs_eap_base_timer_c
-{
-
-private:
-	//--------------------------------------------------
-
-	/// This is back pointer to object which created this object.
-	abs_eap_am_message_if_c * m_partner;
-
-	eap_am_general_settings_c * const m_am_settings;
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-	/// This indicates whether this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	bool m_is_client;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	bool m_shutdown_was_called;
-
-	eap_status_e send_error_message(
-		const eap_status_e error_code,
-		const eap_tlv_message_type_function_e function);
-
-	eap_status_e send_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e set_eap_methods(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e get_eap_methods(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e get_certificate_lists(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e delete_all_eap_settings(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e copy_all_eap_settings(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor deletes the m_eap_core object.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_general_settings_server_message_if_c();
-
-	/**
-	 * The constructor creates the eap_core object and initializes the m_eap_core
-	 * to point the eap_core object.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 */
-	EAP_FUNC_IMPORT eap_general_settings_server_message_if_c(
-		abs_eap_am_tools_c * const tools);
-
-	EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner);
-
-	EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::set_is_valid().
-	EAP_FUNC_IMPORT void set_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	// See abs_eap_base_timer_c::timer_expired().
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	// See abs_eap_base_timer_c::timer_delete_data().
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
-
-	EAP_FUNC_IMPORT eap_status_e complete_set_eap_methods(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_eap_methods(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_certificate_lists(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_delete_all_eap_settings(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_copy_all_eap_settings(const eap_method_settings_c * const internal_settings);
-
-	//--------------------------------------------------
-}; // class eap_general_settings_server_message_if_c
-
-#endif //#if !defined(_EAP_GENERAL_SETTINGS_SERVER_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_handle.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_handle.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #error Do not use this anymore.
--- a/eapol/eapol_framework/eapol_common/include/eap_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAP_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_header_string.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_header_string.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined( _EAP_HEADER_STRING_H_ )
--- a/eapol/eapol_framework/eapol_common/include/eap_master_session_key.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_master_session_key.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAP_MASTER_SESSION_KEY_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #ifndef EAP_MEMORY_STORE_VARIABLE_DATA_H
--- a/eapol/eapol_framework/eapol_common/include/eap_method_settings.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP-settings class.
-*
-*/
-
-/*
-* %version: 23 %
-*/
-
-#ifndef _EAP_METHOD_SETTINGS_H_
-#define _EAP_METHOD_SETTINGS_H_
-
-#include "eap_am_tools.h"
-#include "eap_expanded_type.h"
-#include "eap_variable_data.h"
-#include "eap_array.h"
-
-//-------------------------------------------------------------------------------
-
-class eap_certificate_entry_c
-{
-
-private:
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-public:
-
-	eap_certificate_entry_c(
-		abs_eap_am_tools_c * const tools);
-
-	virtual ~eap_certificate_entry_c();
-
-	enum eap_certificate_type_e
-	{
-		eap_certificate_type_none,
-		eap_certificate_type_user,
-		eap_certificate_type_CA,
-	};
-
-	bool get_is_valid();
-
-	bool get_is_valid_data();
-
-	eap_certificate_entry_c * copy();
-
-	void trace() const;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// Specifies whether this entry describes user or CA certificate (mandatory)
-	eap_certificate_type_e m_CertType;
-
-	// Subject name in distinguished name ASCII form. This is optional.
-	// For example "/C=US/O=Some organization/CN=Some common name".	
-	bool m_SubjectNamePresent;
-	eap_variable_data_c m_SubjectName;
-
-	// Issuer name in distinguished name ASCII form. This is optional.
-	// For example "/C=US/O=Some organization/CN=Some common name".
-	bool m_IssuerNamePresent;
-	eap_variable_data_c m_IssuerName;
-
-	// Serial number in ASCII form. This is optional.
-	bool m_SerialNumberPresent;
-	eap_variable_data_c m_SerialNumber;
-
-	// Subject key in binary form. This is mandatory.
-	bool m_SubjectKeyIDPresent;
-	eap_variable_data_c m_SubjectKeyID;
-
-	// Thumbprint in binary form. This is optional.
-	bool m_ThumbprintPresent;
-	eap_variable_data_c m_Thumbprint;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// This holds only the certificate label. This is the text UI will show.
-	bool m_LabelPresent;
-	eap_variable_data_c m_Label;
-
-	// Primary name of the certificate if any, UI uses this.
-	bool m_PrimaryNamePresent;
-	eap_variable_data_c m_PrimaryName;
-
-	// Secondary name of the certificate if any, UI uses this.
-	bool m_SecondaryNamePresent;
-	eap_variable_data_c m_SecondaryName;
-
-	// UI uses this to indicate enabled certificate.
-	bool m_iIsEnabledPresent;
-	bool m_iIsEnabled;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-};
-
-//-------------------------------------------------------------------------------
-
-class eap_method_values_c
-{
-
-private:
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-protected:
-
-	abs_eap_am_tools_c * get_am_tools() const;
-
-public:
-
-	eap_method_values_c(
-		abs_eap_am_tools_c * const tools);
-
-	virtual ~eap_method_values_c();
-
-	bool m_is_valid;
-
-	/// Status of the operation.
-	eap_status_e m_completion_status;
-
-	/// Specifies the EAP-method these settings are for. 
-	eap_type_value_e m_EAPType;
-
-	/// Specifies the index type (bearer protocol) these settings are for.
-	/// Values are ELan or EVpn.
-	u32_t m_IndexType;
-
-	/// Specifies unique index in the settings of the bearer protocol.
-	u32_t m_Index;
-
-	/// Use automatic Ca certificate.
-	bool m_UseAutomaticCACertificatePresent;
-	bool m_UseAutomaticCACertificate;
-
-	/// Use automatic username.
-	bool m_UseAutomaticUsernamePresent;
-	bool m_UseAutomaticUsername;
-
-	/// Use automatic realm.
-	bool m_UseAutomaticRealmPresent;
-	bool m_UseAutomaticRealm;
-
-	/// Username in ASCII format
-	bool m_UsernamePresent;
-	eap_variable_data_c m_Username_fix;
-
-	/// Get: Whether password is stored in database.
-	/// Set: Whether password must be cleared from database.
-	bool m_PasswordExistPresent;
-	bool m_PasswordExist;
-
-	/// Password in ASCII format
-	bool m_PasswordPresent;
-	eap_variable_data_c m_Password;
-
-	/// Realm in ASCII format
-	bool m_RealmPresent;
-	eap_variable_data_c m_Realm;
-
-	/// Use pseudonym identities in EAP-SIM/AKA
-	bool m_UsePseudonymsPresent;
-	bool m_UsePseudonyms;
-
-	/// Whether EAP-TLS/TTLS/PEAP should verify server realm
-	bool m_VerifyServerRealmPresent;
-	bool m_VerifyServerRealm;
-
-	/// Whether EAP-TLS/TTLS/PEAP should require client authentication
-	bool m_RequireClientAuthenticationPresent;
-	bool m_RequireClientAuthentication;
-
-	/// General session validity time (in minutes)
-	bool m_SessionValidityTimePresent;
-	u32_t m_SessionValidityTime;
-
-	/// An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. 
-	/// Refer to RFC2246 chapter A.5 for the values.
-	bool m_CipherSuitesPresent;
-	eap_array_c<u16_t> m_CipherSuites;
-
-	/// Which EAP-PEAP versions are allowed
-	bool m_PEAPVersionsPresent;
-	bool m_PEAPv0Allowed;
-	bool m_PEAPv1Allowed;
-	bool m_PEAPv2Allowed;
-
-  	/// Array listing the allowed certificates for EAP-TLS/TTLS/PEAP.
-  	/// Subject key ID and Certificate type are the only mandatory certificate 
-  	/// details needed at the moment.
-  	bool m_CertificatesPresent;
-	eap_array_c<eap_certificate_entry_c> m_Certificates;
-
-	/// Array listing the allowed encapsulated EAP types (in priority order).
-	/// Use EAP type values from eap_type_value_e.
-	bool m_EnabledEncapsulatedEAPTypesPresent;
-	eap_array_c<eap_type_value_e> m_EnabledEncapsulatedEAPTypes;
-
-	/// Array listing the disabled encapsulated EAP types.
-	/// Use EAP type values from eap_type_value_e.
-	bool m_DisabledEncapsulatedEAPTypesPresent;
-	eap_array_c<eap_type_value_e> m_DisabledEncapsulatedEAPTypes;
-
-	/// Whether Authenticated provisioning mode allowed or not in EAP-FAST.
-	bool m_AuthProvModeAllowedPresent;
-	bool m_AuthProvModeAllowed;
-
-	/// Whether Unauthenticated provisioning mode allowed or not in EAP-FAST.
-	bool m_UnauthProvModeAllowedPresent;
-	bool m_UnauthProvModeAllowed;
-
-	/// PAC group reference in ASCII format for EAP-FAST.
-	bool m_PACGroupReferencePresent;
-	eap_variable_data_c m_PACGroupReference;
-
-	/// Whether to Warn (or Prompt) for ADHP (Authenticated Diffie-Hellman Protocol) 
-	/// auto-provisioning when there is no PAC at all. EAP-FAST specific.
-	bool m_WarnADHPNoPACPresent;
-	bool m_WarnADHPNoPAC;
-
-	/// Whether to Warn (or Prompt) for ADHP auto-provisioning when 
-	/// there is no PAC that matches the A-ID sent by server. EAP-FAST specific.
-	bool m_WarnADHPNoMatchingPACPresent;
-	bool m_WarnADHPNoMatchingPAC;
-
-	/// Whether to Warn (or Prompt) when client encouters a server that has provisioned 
-	/// the client with a PAC before but is not currently selected as the default server. 
-	/// EAP-FAST specific.
-	bool m_WarnNotDefaultServerPresent;
-	bool m_WarnNotDefaultServer;
-
-	// Array listing the active and disabled EAP types (in priority order).
-	// Use EAP type values from eap_type_value_e.
-	bool m_SelectedEAPTypesPresent;
-	eap_array_c<eap_type_value_e> m_active_eap_methods;
-	eap_array_c<eap_type_value_e> m_disabled_eap_methods;
-
-	bool m_TunnelingTypePresent;
-	eap_type_value_e m_TunnelingType;
-
-	bool m_DestinationIndexAndTypePresent;
-	u32_t m_DestinationIndexType;
-	u32_t m_DestinationIndex;
-
-	bool m_MethodInfoPresent;
-	eap_variable_data_c m_KReleaseDate;
-	eap_variable_data_c m_KEapTypeVersion;
-	eap_variable_data_c m_KManufacturer;
-
-	bool m_ButtonIdPresent; // JPH: remove this
-	i32_t m_ButtonId; // JPH: remove this
-
-	bool m_ShowPassWordPromptPresent;
-	bool m_ShowPassWordPrompt;
-
-	bool m_UseIdentityPrivacyPresent;
-	bool m_UseIdentityPrivacy;
-
-};
-
-//-------------------------------------------------------------------------------
-
-class eap_method_settings_c
-: public eap_method_values_c
-{
-public:
-
-	eap_method_settings_c(
-		abs_eap_am_tools_c * const tools);
-
-	eap_method_settings_c(
-		abs_eap_am_tools_c * const tools,
-		const eap_method_settings_c * const init);
-
-	virtual ~eap_method_settings_c();
-
-	void trace() const;
-
-};
-
-//-------------------------------------------------------------------------------
-
-#if defined(USE_EAP_TRACE)
-
-	#define EAP_TRACE_METHOD_SETTINGS(settings) { (settings)->trace(); }
-
-#else
-
-	#define EAP_TRACE_METHOD_SETTINGS(settings)
-
-#endif //#if defined(USE_EAP_TRACE)
-
-
-//-------------------------------------------------------------------------------
-
-#endif //#ifndef _EAP_METHOD_SETTINGS_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_NETWORK_ID_SELECTOR_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_pac_store_client_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAP_PAC_STORE_CLIENT_MESSAGE_IF_H_)
-#define _EAP_PAC_STORE_CLIENT_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_pac_store_message_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_array.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_am_message_if.h"
-#include "abs_eap_pac_store_message.h"
-
-class eap_method_settings_c;
-class eap_am_message_if_c;
-class abs_eap_pac_store_message_c;
-class eap_tlv_header_c;
-
-/// A eap_pac_store_client_message_if_c class implements mapping of EAP authentication sessions.
-/// Network identity separates parallel EAP authentication sessions.
-class EAP_EXPORT eap_pac_store_client_message_if_c
-: public eap_pac_store_message_base_c
-, public abs_eap_am_message_if_c
-{
-private:
-	//--------------------------------------------------
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	/// eap_pac_store_client_message_if_c deletes m_client_if in destructor.
-	eap_am_message_if_c * m_client_if;
-
-	/// This is back pointer to object which created this object.
-	/// Packets are sent to the partner.
-	abs_eap_pac_store_message_c * const m_partner;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-	eap_status_e complete_open_pac_store(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_create_device_seed(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_is_master_key_present(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_is_master_key_and_password_matching(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_create_and_save_master_key(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_compare_pac_store_password(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_is_pacstore_password_present(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_set_pac_store_password(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_destroy_pac_store(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_pac_store_client_message_if_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_pac_store_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		eap_am_message_if_c * const client_if,
-		abs_eap_pac_store_message_c * const partner);
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	EAP_FUNC_IMPORT eap_status_e reset();
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	EAP_FUNC_IMPORT eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length);
-
-	EAP_FUNC_IMPORT eap_status_e open_pac_store(
-		const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e create_device_seed(
-		const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e is_master_key_present(
-		const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e is_master_key_and_password_matching(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e create_and_save_master_key(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e compare_pac_store_password(
-		eap_variable_data_c * const pac_store_password);
-
-	EAP_FUNC_IMPORT eap_status_e is_pacstore_password_present();
-
-	EAP_FUNC_IMPORT eap_status_e set_pac_store_password(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e destroy_pac_store(
-		const eap_status_e completion_status);
-
-
-
-	//--------------------------------------------------
-}; // class eap_pac_store_client_message_if_c
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_PAC_STORE_CLIENT_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_pac_store_message_base.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAP_PAC_STORE_MESSAGE_BASE_H_)
-#define _EAP_PAC_STORE_MESSAGE_BASE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class eap_method_settings_c;
-class abs_eap_pac_store_message_c;
-
-/// A eap_pac_store_message_base_c class implements mapping of EAP authentication sessions.
-/// Network identity separates parallel EAP authentication sessions.
-class EAP_EXPORT eap_pac_store_message_base_c
-{
-private:
-	//--------------------------------------------------
-
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_pac_store_message_base_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_pac_store_message_base_c();
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	virtual eap_status_e reset() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	virtual bool get_is_valid() = 0;
-
-	virtual eap_status_e open_pac_store(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e create_device_seed(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e is_master_key_present(
-		const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e is_master_key_and_password_matching(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e create_and_save_master_key(
-		const eap_variable_data_c * const pac_store_password
-		,const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e compare_pac_store_password(
-		eap_variable_data_c * const pac_store_password) = 0;
-
-	virtual eap_status_e is_pacstore_password_present() = 0;
-
-	virtual eap_status_e set_pac_store_password(
-		const eap_variable_data_c * pac_store_password
-		,const eap_status_e completion_status) = 0;
-
-	virtual eap_status_e destroy_pac_store(
-		const eap_status_e completion_status) = 0;
-
-	//--------------------------------------------------
-
-	static eap_pac_store_message_base_c * new_eap_pac_store_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_pac_store_message_c * const partner);
-
-	//--------------------------------------------------
-}; // class eap_pac_store_message_base_c
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_PAC_STORE_MESSAGE_BASE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_pac_store_server_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAP_PAC_STORE_SERVER_MESSAGE_IF_H_)
-#define _EAP_PAC_STORE_SERVER_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "abs_eap_session_core.h"
-#include "eap_variable_data.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_session_core_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_process_tlv_message_data.h"
-#include "abs_eap_am_pac_store.h"
-#include "eap_am_pac_store.h"
-
-
-/** @file */
-
-
-/// A eap_pac_store_server_message_if_c class implements the basic functionality of EAPOL.
-class EAP_EXPORT eap_pac_store_server_message_if_c
-: public abs_eap_am_pac_store_c
-, public eap_am_message_if_c
-, public abs_eap_base_timer_c
-{
-
-private:
-	//--------------------------------------------------
-
-	/// This is back pointer to object which created this object.
-	abs_eap_am_message_if_c * m_partner;
-
-	eap_am_pac_store_c * const m_am_client;
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-	/// This indicates whether this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	bool m_is_client;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	bool m_shutdown_was_called;
-
-	eap_status_e send_error_message(
-		const eap_status_e error_code,
-		const eap_tlv_message_type_function_e function);
-
-	eap_status_e send_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e open_pac_store(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-	eap_status_e create_device_seed(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e is_master_key_present(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e is_master_key_and_password_matching(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e create_and_save_master_key(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e compare_pac_store_password(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e is_pacstore_password_present(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e set_pac_store_password(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-    eap_status_e destroy_pac_store(EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-	
-    eap_status_e set_eap_methods(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e get_eap_methods(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e get_certificate_lists(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor deletes the m_eap_core object.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_pac_store_server_message_if_c();
-
-	/**
-	 * The constructor creates the eap_core object and initializes the m_eap_core
-	 * to point the eap_core object.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 */
-	EAP_FUNC_IMPORT eap_pac_store_server_message_if_c(
-		abs_eap_am_tools_c * const tools);
-
-	static eap_pac_store_server_message_if_c * new_eap_pac_store_server_message_if_c(
-	    abs_eap_am_tools_c * const tools);
-	
-	EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner);
-
-	EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::set_is_valid().
-	EAP_FUNC_IMPORT void set_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	// See abs_eap_base_timer_c::timer_expired().
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	// See abs_eap_base_timer_c::timer_delete_data().
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
-
-	EAP_FUNC_IMPORT eap_status_e complete_open_pac_store(
-        const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e complete_create_device_seed(
-        const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e complete_is_master_key_present(
-      const bool is_present);
-
-	EAP_FUNC_IMPORT eap_status_e complete_is_master_key_and_password_matching(
-      const bool is_matching);
-
-	EAP_FUNC_IMPORT eap_status_e complete_create_and_save_master_key(
-        const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e complete_is_pacstore_password_present(
-        const bool is_present);
-
-	EAP_FUNC_IMPORT eap_status_e complete_compare_pac_store_password(
-        const bool is_matching);
-
-	EAP_FUNC_IMPORT eap_status_e complete_set_pac_store_password(
-        const eap_status_e completion_status);
-
-	EAP_FUNC_IMPORT eap_status_e complete_destroy_pac_store(
-        const eap_status_e completion_status);
-
-	//--------------------------------------------------
-}; // class eap_pac_store_server_message_if_c
-
-#endif //#if !defined(_EAP_PAC_STORE_SERVER_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_plugin_client_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP-plugin interface message class.
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-#if !defined(_EAP_PLUGIN_CLIENT_MESSAGE_IF_H_)
-#define _EAP_PLUGIN_CLIENT_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "eap_plugin_message_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_array.h"
-#include "eap_process_tlv_message_data.h"
-
-class eap_method_settings_c;
-class eap_am_message_if_c;
-class abs_eap_plugin_message_c;
-class eap_tlv_header_c;
-
-/// A eap_plugin_client_message_if_c class implements mapping of EAP authentication sessions.
-/// Network identity separates parallel EAP authentication sessions.
-class EAP_EXPORT eap_plugin_client_message_if_c
-: public eap_plugin_message_base_c
-, public abs_eap_am_message_if_c
-{
-private:
-	//--------------------------------------------------
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	/// eap_plugin_client_message_if_c deletes m_client_if in destructor.
-	eap_am_message_if_c * m_client_if;
-
-	/// This is back pointer to object which created this object.
-	/// Packets are sent to the partner.
-	abs_eap_plugin_message_c * const m_partner;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-
-	eap_status_e complete_get_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_set_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_delete_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_copy_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_set_index(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_get_type_info(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e complete_invoke_ui(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_plugin_client_message_if_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_plugin_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		eap_am_message_if_c * const client_if,
-		abs_eap_plugin_message_c * const partner);
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	EAP_FUNC_IMPORT eap_status_e reset();
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	EAP_FUNC_IMPORT eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-	EAP_FUNC_IMPORT eap_status_e get_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e set_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e set_index(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e get_type_info(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e invoke_ui(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length);
-
-	//--------------------------------------------------
-}; // class eap_plugin_client_message_if_c
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_PLUGIN_CLIENT_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_plugin_message_base.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  virtual functions of EAP-plugin interface.
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-#if !defined(_EAP_PLUGIN_MESSAGE_BASE_H_)
-#define _EAP_PLUGIN_MESSAGE_BASE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-
-class eap_method_settings_c;
-class abs_eap_plugin_message_c;
-
-class EAP_EXPORT eap_plugin_message_base_c
-{
-private:
-	//--------------------------------------------------
-
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_plugin_message_base_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_plugin_message_base_c();
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	virtual eap_status_e reset() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	virtual bool get_is_valid() = 0;
-
-	virtual eap_status_e get_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e set_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e set_index(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e get_type_info(const eap_method_settings_c * const internal_settings) = 0;
-
-	virtual eap_status_e invoke_ui(const eap_method_settings_c * const internal_settings) = 0;
-
-	//--------------------------------------------------
-
-	static eap_plugin_message_base_c * new_eap_plugin_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_plugin_message_c * const partner);
-
-	//--------------------------------------------------
-}; // class eap_plugin_message_base_c
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_PLUGIN_MESSAGE_BASE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_plugin_server_message_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +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:  EAP-plugin message interface in the server.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_EAP_PLUGIN_SERVER_MESSAGE_IF_H_)
-#define _EAP_PLUGIN_SERVER_MESSAGE_IF_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "abs_eap_session_core.h"
-#include "eap_variable_data.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_session_core_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_process_tlv_message_data.h"
-#include "abs_eap_am_plugin.h"
-#include "eap_am_plugin.h"
-
-
-/** @file */
-
-
-class EAP_EXPORT eap_plugin_server_message_if_c
-: public abs_eap_am_plugin_c
-, public eap_am_message_if_c
-, public abs_eap_base_timer_c
-{
-
-private:
-	//--------------------------------------------------
-
-	/// This is back pointer to object which created this object.
-	abs_eap_am_message_if_c * m_partner;
-
-	eap_am_plugin_c * const m_am_plugin;
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	eap_status_e m_error_code;
-
-	eap_tlv_message_type_function_e m_error_function;
-
-	/// This indicates whether this object is client (true) or server (false).
-	/// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	bool m_is_client;
-
-	/// This indicates whether this object was generated successfully.
-	bool m_is_valid;
-
-	bool m_shutdown_was_called;
-
-	eap_status_e send_error_message(
-		const eap_status_e error_code,
-		const eap_tlv_message_type_function_e function);
-
-	eap_status_e send_message(eap_process_tlv_message_data_c * const message);
-
-	eap_status_e process_message_type_error(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e process_message(eap_process_tlv_message_data_c * const message);
-
-
-	eap_status_e get_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e set_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e copy_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e delete_configuration(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e set_index(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e get_type_info(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-	eap_status_e invoke_ui(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
-
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor deletes the m_eap_core object.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_plugin_server_message_if_c();
-
-	/**
-	 * The constructor creates the eap_core object and initializes the m_eap_core
-	 * to point the eap_core object.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 */
-	EAP_FUNC_IMPORT eap_plugin_server_message_if_c(
-		abs_eap_am_tools_c * const tools);
-
-	EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner);
-
-	EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// This is documented in abs_eap_stack_interface_c::set_is_valid().
-	EAP_FUNC_IMPORT void set_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	// See abs_eap_base_timer_c::timer_expired().
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	// See abs_eap_base_timer_c::timer_delete_data().
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_set_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_delete_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_copy_configuration(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_set_index(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_type_info(const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e complete_invoke_ui(const eap_method_settings_c * const internal_settings);
-
-	//--------------------------------------------------
-}; // class eap_plugin_server_message_if_c
-
-#endif //#if !defined(_EAP_PLUGIN_SERVER_MESSAGE_IF_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,669 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 42 %
-*/
-
-#if !defined(_EAP_PROCESS_TLV_MESSAGE_DATA_H_)
-#define _EAP_PROCESS_TLV_MESSAGE_DATA_H_
-
-#include "eap_am_types.h"
-#include "eap_tools.h"
-#include "eap_array.h"
-#include "eap_tlv_message_data.h"
-#include "eap_expanded_type.h"
-#include "eapol_rsna_key_header.h"
-#include "eap_method_settings.h"
-#include "eap_file_config.h"
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-#include "simple_config_types.h"
-#include "simple_config_credential.h"
-#include "simple_config_payloads.h"
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-enum eap_tlv_message_type_e
-{
-	eap_tlv_message_type_none                                 = 0,
-	eap_tlv_message_type_array                                = 1,
-	eap_tlv_message_type_boolean                              = 2,
-	eap_tlv_message_type_eap_protocol_layer                   = 3,
-	eap_tlv_message_type_eap_state_notification               = 4,
-	eap_tlv_message_type_eap_status                           = 5,
-	eap_tlv_message_type_eap_type                             = 6,
-	eap_tlv_message_type_eapol_key_802_11_authentication_mode = 7,
-	eap_tlv_message_type_eapol_key_authentication_type        = 8,
-	eap_tlv_message_type_eapol_key_type                       = 9,
-	eap_tlv_message_type_eapol_tkip_mic_failure_type          = 10,
-	eap_tlv_message_type_eapol_wlan_authentication_state      = 11,
-	eap_tlv_message_type_error                                = 12,
-	eap_tlv_message_type_function                             = 13,
-	eap_tlv_message_type_network_id                           = 14,
-	eap_tlv_message_type_network_key                          = 15,
-	eap_tlv_message_type_protected_setup_credential           = 16,
-	eap_tlv_message_type_RSNA_cipher                          = 17,
-	eap_tlv_message_type_session_key                          = 18,
-	eap_tlv_message_type_u8_t                                 = 19,
-	eap_tlv_message_type_u16_t                                = 20,
-	eap_tlv_message_type_u32_t                                = 21,
-	eap_tlv_message_type_u64_t                                = 22,
-	eap_tlv_message_type_variable_data                        = 23,
-	eap_tlv_message_type_eap_method_settings                  = 24,
-	eap_tlv_message_type_eap_certificate_entry                = 25,
-	eap_tlv_message_type_i8_t                                 = 26,
-	eap_tlv_message_type_i16_t                                = 27,
-	eap_tlv_message_type_i32_t                                = 28,
-	eap_tlv_message_type_configuration_option                 = 29,
-};
-
-
-enum eap_tlv_message_type_function_e
-{
-	eap_tlv_message_type_function_none                                            = 0,
-	eap_tlv_message_type_function_check_pmksa_cache                               = 1,
-	eap_tlv_message_type_function_start_authentication                            = 2,
-	eap_tlv_message_type_function_complete_association                            = 3,
-	eap_tlv_message_type_function_disassociation                                  = 4,
-	eap_tlv_message_type_function_start_preauthentication                         = 5,
-	eap_tlv_message_type_function_start_reassociation                             = 6,
-	eap_tlv_message_type_function_complete_reassociation                          = 7,
-	eap_tlv_message_type_function_start_WPXM_reassociation                        = 8,
-	eap_tlv_message_type_function_complete_WPXM_reassociation                     = 9,
-	eap_tlv_message_type_function_packet_process                                  = 10,
-	eap_tlv_message_type_function_tkip_mic_failure                                = 11,
-	eap_tlv_message_type_function_eap_acknowledge                                 = 12,
-	eap_tlv_message_type_function_update_header_offset                            = 13,
-	eap_tlv_message_type_function_complete_check_pmksa_cache                      = 14,
-	eap_tlv_message_type_function_packet_send                                     = 15,
-	eap_tlv_message_type_function_associate                                       = 16,
-	eap_tlv_message_type_function_disassociate                                    = 17,
-	eap_tlv_message_type_function_packet_data_session_key                         = 18,
-	eap_tlv_message_type_function_state_notification                              = 19,
-	eap_tlv_message_type_function_reassociate                                     = 20,
-	eap_tlv_message_type_function_update_wlan_database_reference_values           = 21,
-	eap_tlv_message_type_function_complete_start_WPXM_reassociation               = 22,
-	eap_tlv_message_type_function_new_protected_setup_credentials                 = 23,
-	eap_tlv_message_type_function_create_eap_session                              = 24,
-	eap_tlv_message_type_function_remove_eap_session                              = 25,
-	eap_tlv_message_type_function_send_eap_identity_request                       = 26,
-	eap_tlv_message_type_function_packet_data_crypto_keys                         = 27, // EAP Master session Key.
-	eap_tlv_message_type_function_restart_authentication                          = 28,
-	eap_tlv_message_type_function_create_state                                    = 29,
-	eap_tlv_message_type_function_remove_bksa_from_cache                          = 30,
-	eap_tlv_message_type_function_association                                     = 31,
-	eap_tlv_message_type_function_set_eap_database_reference_values               = 32,
-	eap_tlv_message_type_function_eap_mtu                                         = 33,
-	eap_tlv_message_type_function_get_802_11_authentication_mode                  = 34,
-	eap_tlv_message_type_function_complete_get_802_11_authentication_mode         = 35,
-	eap_tlv_message_type_function_complete_remove_eap_session                     = 36,
-	eap_tlv_message_type_function_complete_disassociation                         = 37,
-	eap_tlv_message_type_function_last_function                                   = 38, // Keep this the last on this set.
-
-	eap_tlv_message_type_function_plugin_get_configuration                        = 1000,
-	eap_tlv_message_type_function_plugin_set_configuration                        = 1001,
-	eap_tlv_message_type_function_plugin_copy_configuration                       = 1002,
-	eap_tlv_message_type_function_plugin_delete_configuration                     = 1003,
-	eap_tlv_message_type_function_plugin_set_index                                = 1004,
-	eap_tlv_message_type_function_plugin_get_type_info                            = 1005,
-	eap_tlv_message_type_function_plugin_invoke_ui                                = 1006,
-	eap_tlv_message_type_function_plugin_complete_get_configuration               = 1007,
-	eap_tlv_message_type_function_plugin_complete_set_configuration               = 1008,
-	eap_tlv_message_type_function_plugin_complete_delete_configuration            = 1009,
-	eap_tlv_message_type_function_plugin_complete_copy_configuration              = 1010,
-	eap_tlv_message_type_function_plugin_complete_set_index                       = 1011,
-	eap_tlv_message_type_function_plugin_complete_get_type_info                   = 1012,
-	eap_tlv_message_type_function_plugin_complete_invoke_ui                       = 1013,
-	eap_tlv_message_type_function_plugin_last_function                            = 1014, // Keep this the last on this set.
-
-	eap_tlv_message_type_function_general_settings_set_eap_methods                  = 2000,
-	eap_tlv_message_type_function_general_settings_get_eap_methods                  = 2001,
-	eap_tlv_message_type_function_general_settings_get_certificate_lists            = 2002,
-	eap_tlv_message_type_function_general_settings_delete_all_eap_settings          = 2003,
-	eap_tlv_message_type_function_general_settings_copy_all_eap_settings            = 2004,
-	eap_tlv_message_type_function_general_settings_complete_set_eap_methods         = 2005,
-	eap_tlv_message_type_function_general_settings_complete_get_eap_methods         = 2006,
-	eap_tlv_message_type_function_general_settings_complete_get_certificate_lists   = 2007,
-	eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings = 2008,
-	eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings   = 2009,
-	eap_tlv_message_type_function_general_settings_last_function                    = 2010, // Keep this the last on this set.
-
-	eap_tlv_message_type_function_pac_store_open_pac_store            = 3000,
-	eap_tlv_message_type_function_pac_store_create_device_seed            = 3001,
-	eap_tlv_message_type_function_pac_store_is_master_key_present   = 3002,
-	eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching   = 3003,
-	eap_tlv_message_type_function_pac_store_create_and_save_master_key   = 3004,
-	eap_tlv_message_type_function_pac_store_compare_pac_store_password   = 3005,
-	eap_tlv_message_type_function_pac_store_is_pacstore_password_present   = 3006,
-	eap_tlv_message_type_function_pac_store_set_pac_store_password   = 3007,
-	eap_tlv_message_type_function_pac_store_destroy_pac_store            = 3008,
-	eap_tlv_message_type_function_pac_store_complete_open_pac_store            = 3009,
-	eap_tlv_message_type_function_pac_store_complete_create_device_seed            = 3010,
-	eap_tlv_message_type_function_pac_store_complete_is_master_key_present   = 3011,
-	eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching   = 3012,
-	eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key   = 3013,
-	eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password   = 3014,
-	eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present   = 3015,
-	eap_tlv_message_type_function_pac_store_complete_set_pac_store_password   = 3016,
-	eap_tlv_message_type_function_pac_store_complete_destroy_pac_store            = 3017,
-	eap_tlv_message_type_function_pac_store_last_function              = 3018, // Keep this the last on this set.
-
-	eap_tlv_message_type_function_wapi_settings_get_all_certificate_labels              = 4000,
-	eap_tlv_message_type_function_wapi_settings_reset_certificate_store                 = 4001,
-    eap_tlv_message_type_function_wapi_settings_get_configuration                       = 4002,
-    eap_tlv_message_type_function_wapi_settings_set_configuration                       = 4003,
-    eap_tlv_message_type_function_wapi_settings_set_ca_cert                             = 4004,
-    eap_tlv_message_type_function_wapi_settings_set_user_cert                           = 4005,
-    eap_tlv_message_type_function_wapi_settings_delete_configuration                    = 4006,
-    eap_tlv_message_type_function_wapi_settings_complete_get_all_certificate_labels     = 4007,
-    eap_tlv_message_type_function_wapi_settings_complete_reset_certificate_store        = 4008,
-    eap_tlv_message_type_function_wapi_settings_complete_get_configuration              = 4009,
-    eap_tlv_message_type_function_wapi_settings_complete_set_configuration              = 4010,
-    eap_tlv_message_type_function_wapi_settings_complete_set_ca_cert                    = 4011,
-    eap_tlv_message_type_function_wapi_settings_complete_set_user_cert                  = 4012,
-    eap_tlv_message_type_function_wapi_settings_complete_delete_configuration           = 4013,
-    eap_tlv_message_type_function_wapi_settings_complete_last_function                  = 4014, // Keep this the last on this set.
-
-
-	eap_tlv_message_type_function_illegal_value, // Keep this the last value.
-};
-
-
-enum eap_message_payload_index_e
-{
-	eap_message_payload_index_function        = 0,
-	eap_message_payload_index_first_parameter = 1,
-};
-
-
-/** @file */
-
-class eap_variable_data_c;
-class eap_am_network_id_c;
-class eap_buf_chain_wr_c;
-class eapol_session_key_c;
-class abs_eap_state_notification_c;
-class eap_state_notification_c;
-class network_key_and_index_c;
-
-//----------------------------------------------------------------------------
-
-
-/// This class defines functions to add and parse message data composed
-/// of Attribute-Value Pairs (See eap_tlv_header_c) to/from eap_tlv_message_data_c object.
-class EAP_EXPORT eap_process_tlv_message_data_c
-: public eap_tlv_message_data_c
-{
-private:
-	//--------------------------------------------------
-
-	abs_eap_am_tools_c * const m_am_tools;
-
-	bool m_is_valid;
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_process_tlv_message_data_c class does nothing.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_process_tlv_message_data_c();
-
-	/**
-	 * The constructor of the eap_process_tlv_message_data_c class simply initializes the attributes.
-	 */
-	EAP_FUNC_IMPORT eap_process_tlv_message_data_c(
-		abs_eap_am_tools_c * const tools);
-
-	/**
-	 * This function should increase reference count.
-	 */
-	EAP_FUNC_IMPORT void object_increase_reference_count();
-
-	/**
-	 * This function should first decrease reference count
-	 * and second return the remaining reference count.
-	 * Reference count must not be decreased when it is zero.
-	 */
-	EAP_FUNC_IMPORT u32_t object_decrease_reference_count();
-
-	/**
-	 * Object must indicate it's validity.
-	 * If object initialization fails this function must return false.
-	 * @return This function returns the validity of this object.
-	 */
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	//- - - - - - - - - - - - - - - - - - - - - - - - - 
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eap_variable_data_c * const data) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eap_am_network_id_c * const network_id) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const abs_eap_state_notification_c * const state) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eapol_session_key_c * const session_key) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eap_certificate_entry_c * const cert) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eap_method_settings_c * const internal_settings) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array) const;
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const network_key_and_index_c * const key) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eap_array_c<network_key_and_index_c> * const network_keys) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const simple_config_credential_c * const credential) const;
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array) const;
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT u32_t get_payload_size(
-		const eap_variable_data_c * const selector,
-		const eap_config_value_c * const configuration_option) const;
-
-	//- - - - - - - - - - - - - - - - - - - - - - - - - 
-
-	EAP_FUNC_IMPORT eap_status_e add_structured_parameter_header(
-		const eap_tlv_message_type_e type,
-		const u32_t length);
-
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_tlv_message_type_e type,
-		const u32_t integer);
-
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const u64_t long_integer);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const u32_t integer);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const u16_t integer);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const u8_t byte_integer);
-
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const i32_t integer);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const i16_t integer);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const i8_t byte_integer);
-
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const bool boolean);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_status_e status);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eapol_key_authentication_type_e authentication_type);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_tlv_message_type_function_e function);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_variable_data_c * const variable_data);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_am_network_id_c * const network_id);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_buf_chain_wr_c * const packet_buffer);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eapol_session_key_c * const session_key);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const abs_eap_state_notification_c * const state);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_type_value_e eap_type);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_general_header_base_c * const packet_data);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_certificate_entry_c * const internal_settings);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array);
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array);
-	
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
-		const eap_variable_data_c * const selector,
-		const eap_config_value_c * const configuration_option);
-
-	//- - - - - - - - - - - - - - - - - - - - - - - - - 
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		u64_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		u32_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		u16_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		u8_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		i32_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		i16_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const integer_header,
-		i8_t * const value);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const function_header,
-		eap_tlv_message_type_function_e * const function);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const network_id_header,
-		eap_am_network_id_c * const new_network_id);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const variable_data_header,
-		eap_variable_data_c * const variable_data);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const session_key_header,
-		eapol_session_key_c * const session_key);
-	
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const state_header,
-		eap_state_notification_c * * const state);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const eap_type_header,
-		eap_type_value_e * const eap_type);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const settings_header,
-		eap_method_settings_c * const settings);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const settings_header,
-		eap_certificate_entry_c * const settings);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const settings_header,
-		eap_array_c<u16_t> * const settings);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const settings_header,
-		eap_array_c<eap_type_value_e> * const settings);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const settings_header,
-		eap_array_c<eap_certificate_entry_c> * const settings);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const network_key_header,
-		network_key_and_index_c * const network_key);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const network_keys_array_header,
-		eap_array_c<network_key_and_index_c> * const network_keys_array);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const credential_array_header,
-		eap_array_c<simple_config_credential_c> * const credential_array);
-
-	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
-		const eap_tlv_header_c * const credential_header,
-		simple_config_credential_c * const credential);
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	//- - - - - - - - - - - - - - - - - - - - - - - - - 
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_am_network_id_c * const network_id);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_variable_data_c * const variable_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		const eap_tlv_message_type_e type,
-		eap_status_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_array_c<eap_am_network_id_c> * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_state_notification_c * * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eapol_RSNA_key_header_c::eapol_RSNA_cipher_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		bool * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_type_value_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eapol_key_authentication_type_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eapol_session_key_c * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_tlv_message_type_function_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eapol_key_802_11_authentication_mode_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eapol_wlan_authentication_state_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		u64_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		u32_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		u16_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		u8_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		i32_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		i16_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		i8_t * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_method_settings_c * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_array_c<u16_t> * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_array_c<eap_certificate_entry_c> * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_array_c<eap_type_value_e> * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_certificate_entry_c::eap_certificate_type_e * const out_data);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		simple_config_Authentication_Type_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		simple_config_Encryption_Type_e * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_array_c<simple_config_credential_c> * const out_data);
-
-	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
-		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
-		const u32_t parameter_index,
-		eap_array_c<network_key_and_index_c> * const out_data);
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	//- - - - - - - - - - - - - - - - - - - - - - - - - 
-
-	EAP_FUNC_IMPORT eap_const_string get_type_string(const eap_tlv_message_type_e type);
-
-	EAP_FUNC_IMPORT eap_const_string get_function_string(const eap_tlv_message_type_function_e function);
-
-	// 
-	//--------------------------------------------------
-}; // class eap_process_tlv_message_data_c
-
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_PROCESS_TLV_MESSAGE_DATA_H_)
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 #if !defined(_EAP_PROTOCOL_LAYER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #ifndef EAP_ROGUE_AP_ENTRY_H
--- a/eapol/eapol_framework/eapol_common/include/eap_session_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_session_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 24 %
+* %version: 9.1.2 %
 */
 
 #if !defined(_EAP_SESSION_CORE_H_)
@@ -24,13 +24,11 @@
 
 #include "eap_tools.h"
 #include "eap_am_export.h"
-#include "abs_eap_session_core.h"
+#include "abs_eap_core.h"
 #include "eap_core_map.h"
 #include "abs_eap_stack_interface.h"
-#include "eap_session_core_base.h"
-#include "eap_base_type.h"
-#include "eap_core.h"
 
+class eap_core_c;
 class eap_network_id_selector_c;
 
 
@@ -55,14 +53,13 @@
 , public abs_eap_core_map_c
 , public abs_eap_base_timer_c
 , public abs_eap_stack_interface_c
-, public eap_session_core_base_c
 {
 private:
 	//--------------------------------------------------
 
 	/// This is back pointer to object which created this object.
 	/// Packets are sent to the partner.
-	abs_eap_session_core_c * const m_partner;
+	abs_eap_core_c * const m_partner;
 
 	/// This is pointer to the tools class.
 	abs_eap_am_tools_c * const m_am_tools;
@@ -123,7 +120,7 @@
 	 */
 	EAP_FUNC_IMPORT eap_session_core_c(
 		abs_eap_am_tools_c * const tools,
-		abs_eap_session_core_c * const partner,
+		abs_eap_core_c * const partner,
 		const bool is_client_when_true);
 
 	/**
@@ -141,7 +138,7 @@
 	 * If this fails this function must return corresponding error status.
 	 * @return This function returns the status of operation.
 	 */
-	EAP_FUNC_IMPORT eap_status_e cancel_all_eap_sessions();
+	EAP_FUNC_IMPORT eap_status_e synchronous_cancel_all_eap_sessions();
 
 	// This is documented in abs_eap_stack_interface_c::packet_process().
 	EAP_FUNC_IMPORT eap_status_e packet_process(
@@ -168,7 +165,7 @@
 	/**
 	 * The get_partner() function returns pointer to partner class.
 	 */
-	EAP_FUNC_IMPORT abs_eap_session_core_c * get_partner();
+	EAP_FUNC_IMPORT abs_eap_core_c * get_partner();
 
 	/**
 	 * The get_header_offset() function obtains the header offset of EAP-packet.
@@ -319,19 +316,20 @@
 		const bool force_clean_restart,
 		const bool from_timer = false);
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	/**
 	 * This function creates EAP session object synchronously.
 	 * @param receive_network_id identifies the removed EAP session.
 	 */
-	EAP_FUNC_IMPORT eap_status_e create_eap_session(
+	EAP_FUNC_IMPORT eap_status_e synchronous_create_eap_session(
 		const eap_am_network_id_c * const receive_network_id);
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	/**
 	 * This function removes EAP session object synchronously.
 	 * @param receive_network_id identifies the removed EAP session.
 	 */
-	EAP_FUNC_IMPORT eap_status_e remove_eap_session(
-		const bool complete_to_lower_layer,
+	EAP_FUNC_IMPORT eap_status_e synchronous_remove_eap_session(
 		const eap_am_network_id_c * const receive_network_id);
 
 	/**
@@ -360,6 +358,9 @@
 		const u32_t p_id);
 
 	//
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
+	//
 	EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
 
 	/// @see abs_eap_core_c::get_eap_type_list().
@@ -373,20 +374,6 @@
 	EAP_FUNC_IMPORT eap_status_e set_session_timeout(
 		const u32_t session_timeout_ms);
 
-	EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference);
-
-	EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type,
-		const eap_variable_data_c * const SSID,
-		const eap_variable_data_c * const preshared_key);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
 	//--------------------------------------------------
 }; // class eap_session_core_c
 
--- a/eapol/eapol_framework/eapol_common/include/eap_session_core_base.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#if !defined(_EAP_SESSION_CORE_BASE_H_)
-#define _EAP_SESSION_CORE_BASE_H_
-
-#include "eap_tools.h"
-#include "eap_am_export.h"
-#include "abs_eap_core.h"
-#include "eap_core_map.h"
-#include "eap_database_reference_if.h"
-#include "eapol_key_types.h"
-
-class abs_eap_session_core_c;
-
-/// A eap_session_core_base_c class implements mapping of EAP authentication sessions.
-/// Network identity separates parallel EAP authentication sessions.
-class EAP_EXPORT eap_session_core_base_c
-: public eap_database_reference_if_c
-{
-private:
-	//--------------------------------------------------
-
-
-	//--------------------------------------------------
-protected:
-	//--------------------------------------------------
-
-	//--------------------------------------------------
-public:
-	//--------------------------------------------------
-
-	/**
-	 * The destructor of the eap_core class does nothing special.
-	 */
-	EAP_FUNC_IMPORT virtual ~eap_session_core_base_c();
-
-	/**
-	 * The constructor initializes member attributes using parameters passed to it.
-	 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c.
-	 * @param partner is back pointer to object which created this object.
-	 * @param is_client_when_true indicates whether the network entity should act
-	 * as a client (true) or server (false), in terms of EAP-protocol
-	 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false).
-	 */
-	EAP_FUNC_IMPORT eap_session_core_base_c();
-
-	/**
-	 * This function must reset the state of object to same as 
-	 * state was after the configure() function call.
-	 * If object reset succeeds this function must return eap_status_ok.
-	 * If object reset fails this function must return corresponding error status.
-	 * @return This function returns the status of reset operation.
-	 */
-	virtual eap_status_e reset() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::packet_process().
-	virtual eap_status_e packet_process(
-		const eap_am_network_id_c * const receive_network_id,
-		eap_general_header_base_c * const packet_data,
-		const u32_t packet_length) = 0; 
-
-	/**
-	 * The adaptation module calls the eap_acknowledge() function after
-	 * any Network Protocol packet is received. This is used as a success indication.
-	 * This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)".
-	 * @param connection_handle separates the context of the acknowledged session.
-	 * Mostly there is only one session in the client.
-	 * The server does not need eap_acknowledge() function because
-	 * server (EAP-authenticator) sends the EAP-success message.
-	 */
-	virtual eap_status_e eap_acknowledge(
-		const eap_am_network_id_c * const receive_network_id) = 0; 
-
-#if defined(USE_EAP_CORE_SERVER)
-	/**
-	 * The EAP Core calls the send_eap_identity_request() function
-	 * when EAP-authentication is needed with another peer.
-	 * @param network_id includes the addresses (network identity) and packet type.
-	 */
-	virtual eap_status_e send_eap_identity_request(
-		const eap_am_network_id_c * const network_id) = 0;
-#endif //#if defined(USE_EAP_CORE_SERVER)
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	virtual eap_status_e configure() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	virtual eap_status_e shutdown() = 0;
-
-	// This is documented in abs_eap_stack_interface_c::get_is_valid().
-	virtual bool get_is_valid() = 0;
-
-	/**
-	 * This function cancels all EAP-sessions.
-	 * If this succeeds this function must return eap_status_ok.
-	 * If this fails this function must return corresponding error status.
-	 * @return This function returns the status of operation.
-	 */
-	virtual eap_status_e cancel_all_eap_sessions() = 0;
-
-	/**
-	 * This function creates EAP session object synchronously.
-	 * @param receive_network_id identifies the removed EAP session.
-	 */
-	virtual eap_status_e create_eap_session(
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
-	/**
-	 * This function removes EAP session object synchronously.
-	 * @param receive_network_id identifies the removed EAP session.
-	 */
-	virtual eap_status_e remove_eap_session(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id) = 0;
-
-	virtual eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type,
-		const eap_variable_data_c * const SSID,
-		const eap_variable_data_c * const preshared_key) = 0;
-
-	//--------------------------------------------------
-
-	EAP_FUNC_IMPORT static eap_session_core_base_c * new_eap_session_core_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_session_core_c * const partner,
-		const bool is_client_when_true,
-		const u32_t MTU);
-
-	//--------------------------------------------------
-}; // class eap_session_core_base_c
-
-eap_session_core_base_c * new_eap_core_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_session_core_c * const partner,
-	const bool is_client_when_true,
-	const u32_t MTU);
-
-//--------------------------------------------------
-
-#endif //#if !defined(_EAP_SESSION_CORE_BASE_H_)
-
-//--------------------------------------------------
-
-
-
-// End.
--- a/eapol/eapol_framework/eapol_common/include/eap_sort.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_sort.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #if !defined(_EAP_SORT_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_STATE_NOTIFICATION_H_)
@@ -92,6 +92,9 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	EAP_FUNC_IMPORT eap_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
@@ -104,6 +107,9 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
+
 	EAP_FUNC_IMPORT eap_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
--- a/eapol/eapol_framework/eapol_common/include/eap_state_selector.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_state_selector.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAP_STATE_SELECTOR_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_state_store.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_state_store.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_STATE_STORE_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_status.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_status.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_STATUS_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_status_string.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_status_string.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined( _EAP_STATUS_STRING_H_ )
--- a/eapol/eapol_framework/eapol_common/include/eap_timer_queue.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_timer_queue.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_TIMER_QUEU_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_tlv_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_tlv_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAP_TLV_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAP_TLV_MESSAGE_DATA_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_tools.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_tools.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 12 %
+* %version: 8.1.2 %
 */
 
 #if !defined( _EAP_TOOLS_H_ )
@@ -347,8 +347,6 @@
 
 	#define EAP_TRACE_RETURN_STRING(object_name, string) EAP_NULL_FUNCTION
 
-	#define EAP_TRACE_RETURN_STRING_FLAGS(object_name, flags, string) EAP_NULL_FUNCTION
-
 	#define EAP_TRACE_DATA_ERROR(object_name, flags, _parameter_list_) EAP_NULL_FUNCTION
 
 	#define EAP_TRACE_DATA_DEBUG(object_name, flags, _parameter_list_) EAP_NULL_FUNCTION
@@ -417,12 +415,13 @@
 		#define EAP_TRACE_DEBUG(object_name, flags, _parameter_list_) \
 				if (object_name != 0 && ((*(object_name)).get_trace_mask() & ((flags) | eap_am_tools_c::eap_trace_mask_error))) \
 				{ \
-					if (((*(object_name)).get_trace_mask() & (flags))) \
+					if (((*(object_name)).get_trace_mask() & ((flags) & eap_am_tools_c::eap_trace_mask_error))) \
 					{ \
-						if (((*(object_name)).get_trace_mask() & ((flags) & eap_am_tools_c::eap_trace_mask_error))) \
-						{ \
-							(*(object_name)).formatted_print(EAPL("ERROR: source: %s:%d\n"), __FILE__, __LINE__); \
-						} \
+						(*(object_name)).formatted_print(EAPL("ERROR: source: %s:%d\n"), __FILE__, __LINE__); \
+						(*(object_name)).formatted_print _parameter_list_ ; \
+					} \
+					else if (((*(object_name)).get_trace_mask() & (flags))) \
+					{ \
 						(*(object_name)).formatted_print _parameter_list_ ; \
 					} \
 					else \
@@ -468,9 +467,6 @@
 		#define EAP_TRACE_RETURN_STRING(object_name, string) \
 			eap_automatic_trace_string_c __eap_trace_function_returns__(object_name, string);
 
-		#define EAP_TRACE_RETURN_STRING_FLAGS(object_name, flags, string) \
-			eap_automatic_trace_string_c __eap_trace_function_returns__(object_name, flags, string);
-
 		/**
 		 * This flag indicates that the debug traces are active.
 		 * Functions can use this flag to deduce whether debug related
@@ -488,8 +484,6 @@
 
 		#define EAP_TRACE_RETURN_STRING(object_name, string) EAP_NULL_FUNCTION
 
-		#define EAP_TRACE_RETURN_STRING_FLAGS(object_name, flags, string) EAP_NULL_FUNCTION
-
 	#endif
 
 
--- a/eapol/eapol_framework/eapol_common/include/eap_type_all.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_type_all.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 #if !defined(_EAP_TYPE_ALL_H_)
@@ -49,11 +49,8 @@
 	abs_eap_base_type_c * const partner,
 	const eap_type_value_e eap_type,
 	const bool is_client_when_true,
-	const eap_am_network_id_c * const receive_network_id
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	, abs_eap_configuration_if_c * const configuration_if
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-	);
+	const eap_am_network_id_c * const receive_network_id,
+	abs_eap_configuration_if_c * const configuration_if);
 
 //--------------------------------------------------
 
--- a/eapol/eapol_framework/eapol_common/include/eap_type_all_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_type_all_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_TYPE_ALL_TYPES_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_type_selection.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_type_selection.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_TYPE_SELECTION_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_variable_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_variable_data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_VARIABLE_DATA_H_)
--- a/eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5.1.2 %
 */
 
 #if !defined(_EAP_WIMAX_AUTHENTICATION_H_)
@@ -31,6 +31,7 @@
 #include <abs_eap_am_tools.h>
 
 // FORWARD DECLARATIONS
+class abs_eapol_wlan_database_reference_if_c;
 class eap_session_core_c;
 class eap_am_tools_symbian_c;
 class eap_file_config_c;
@@ -62,7 +63,8 @@
 	EAP_FUNC_IMPORT static eap_wimax_authentication_c* new_eap_wimax_authentication_c(
 		abs_eap_am_tools_c* const tools,
 		abs_eap_wimax_authentication_c* const partner,
-		const bool is_client_when_true);
+		const bool is_client_when_true,
+		const abs_eapol_wlan_database_reference_if_c* const wimax_database_reference);
 
 	EAP_FUNC_IMPORT eap_status_e shutdown();
 
--- a/eapol/eapol_framework/eapol_common/include/eapol_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 47 %
+* %version: 28.1.3 %
 */
 
 #if !defined(_EAPOL_CORE_H_)
@@ -24,19 +24,22 @@
 
 #include "eap_tools.h"
 #include "eap_am_export.h"
-#include "abs_eap_session_core.h"
+#include "abs_eap_core.h"
 #include "eap_core.h"
 #include "abs_eapol_core.h"
 #include "eap_base_type.h"
 #include "eap_variable_data.h"
 #include "abs_eap_am_mutex.h"
-#include "eap_session_core_base.h"
+#if !defined(NO_EAP_SESSION_CORE)
+	#include "eap_session_core.h"
+#endif
 #include "abs_eap_stack_interface.h"
 #include "abs_eapol_key_state.h"
 #include "eapol_rsna_key_header.h"
-#include "eapol_key_state.h"
-#include "abs_eapol_key_state_map.h"
-#include "eap_database_reference_if.h"
+#if defined(USE_EAPOL_KEY_STATE)
+	#include "eapol_key_state.h"
+	#include "abs_eapol_key_state_map.h"
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 
 /** @file */
@@ -71,12 +74,13 @@
 
 /// A eapol_core_c class implements the basic functionality of EAPOL.
 class EAP_EXPORT eapol_core_c
-: public abs_eap_session_core_c
+: public abs_eap_core_c
 , public abs_eap_base_timer_c
 , public abs_eap_stack_interface_c
+#if defined(USE_EAPOL_KEY_STATE)
 , public abs_eapol_key_state_c
 , public abs_eapol_key_state_map_c
-, public eap_database_reference_if_c
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 {
 
 private:
@@ -88,11 +92,17 @@
 	/// This is pointer to the eap_core object. The eapol_core object gives
 	/// the received packets to the eap_core object. The eap_core object sends
 	/// packets through the eapol_core object.
-	eap_session_core_base_c * m_eap_core;
+#if !defined(NO_EAP_SESSION_CORE)
+	eap_session_core_c * const m_eap_core;
+#else
+	eap_core_c * const m_eap_core;
+#endif
 
+#if defined(USE_EAPOL_KEY_STATE)
 	/// This stores eapol_key_state_c objects using eap_variable_data selector.
 	/// Selector data includes send addresses of the Ethernet packet.
 	eap_core_map_c<eapol_key_state_c, abs_eapol_key_state_map_c, eap_variable_data_c> m_eapol_key_state_map;
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	/// This is pointer to the tools class.
 	abs_eap_am_tools_c * const m_am_tools;
@@ -131,10 +141,13 @@
 
 	bool m_block_state_notifications;
 
+#if defined(USE_EAPOL_KEY_STATE)
 	/// This flag will skip start of 4-Way Handshake with true value.
 	bool m_skip_start_4_way_handshake;
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 
+#if defined(USE_EAPOL_KEY_STATE)
 	EAP_FUNC_IMPORT eap_status_e indicate_eapol_key_state_started_eap_authentication(
 		const eap_am_network_id_c * const send_network_id);
 
@@ -142,8 +155,7 @@
 		const eap_am_network_id_c * const send_network_id);
 
 	EAP_FUNC_IMPORT eap_status_e remove_eapol_key_state(
-		const eap_am_network_id_c * const send_network_id,
-		const bool force_remove);
+		const eap_am_network_id_c * const send_network_id);
 
 	eap_status_e copy_eapol_key_state(
 		const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address.
@@ -155,6 +167,7 @@
 		const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address.
 		const eap_am_network_id_c * const new_receive_network_id ///< source includes remote address, destination includes local address.
 		);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	//--------------------------------------------------
 protected:
@@ -443,17 +456,24 @@
 		const u32_t p_id);
 
 	//
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
+	//
 	EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
 
 	// See abs_eap_core_c::get_eap_type_list().
 	EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
 		eap_array_c<eap_type_value_e> * const eap_type_list);
 
+#if defined(USE_EAPOL_KEY_STATE)
 	// See abs_eapol_key_state_c::get_and_increment_global_key_counter().
 	EAP_FUNC_IMPORT eap_status_e get_and_increment_global_key_counter(
 		eap_variable_data_c * const key_counter);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	/**
 	 * Function creates a state for later use. This is for optimazing 4-Way Handshake.
 	 * @param receive_network_id carries the MAC addresses.
@@ -466,6 +486,11 @@
 		const eapol_key_authentication_type_e authentication_type
 		);
 
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+
+#if defined(USE_EAPOL_KEY_STATE)
+
 	/**
 	 * This function need to be called when client STA (re)associates to AP.
 	 * @param receive_network_id carries the MAC addresses.
@@ -485,25 +510,35 @@
 		const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_group_cipher,
 		const eap_variable_data_c * const pre_shared_key);
 
+#endif //#if defined(USE_EAPOL_KEY_STATE)
+
+
+#if defined(USE_EAPOL_KEY_STATE)
 	/**
 	 * This function need to be called when client STA disassociates from AP.
 	 * @param receive_network_id carries the MAC addresses.
 	 * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address.
 	 */
 	EAP_FUNC_IMPORT eap_status_e disassociation(
-		const bool complete_to_lower_layer,
 		const eap_am_network_id_c * const receive_network_id);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
+#if defined(USE_EAPOL_KEY_STATE)
 	EAP_FUNC_IMPORT eap_status_e asynchronous_init_remove_eapol_key_state(
 		const eap_am_network_id_c * const send_netword_id);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
+#if defined(USE_EAPOL_KEY_STATE)
 	EAP_FUNC_IMPORT static eap_status_e shutdown_operation(
 		eapol_key_state_c * const handler,
 		abs_eap_am_tools_c * const m_am_tools);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
+#if defined(USE_EAPOL_KEY_STATE)
 	EAP_FUNC_IMPORT static eap_status_e cancel_authentication_session(
 		eapol_key_state_c * const handler,
 		abs_eap_am_tools_c * const m_am_tools);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	/// @see abs_eap_core_c::add_rogue_ap().
 	EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
@@ -517,37 +552,25 @@
 	EAP_FUNC_IMPORT eap_status_e set_session_timeout(
 		const u32_t session_timeout_ms);
 
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e save_simple_config_session(
-		const simple_config_state_e state,
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-		const eap_variable_data_c * const new_password,
-		const simple_config_Device_Password_ID_e Device_Password_ID,
-		const simple_config_payloads_c * const other_configuration);
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference);
-
-	EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type,
-		const eap_variable_data_c * const SSID,
-		const eap_variable_data_c * const preshared_key);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	EAP_FUNC_IMPORT eap_status_e complete_remove_eap_session(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id);
-
 private:
 
+
+#if !defined(USE_EAPOL_KEY_STATE)
+	/**
+	 * The handle_RC4_key_descriptor() function parses the EAPOL-Key frame 
+	 * that includes RC4 Key Descriptor.
+	 * This function retrieves the traffic encryption key from it. It forwards the key
+	 * to lower layers. The format of EAPOL-Key frame is described in
+	 * draft-congdon-radius-8021x-23.txt (RFC ????)
+	 * @param eapol is the received packet
+	 * @param packet_length is the length of the packet
+	 */
+	eap_status_e handle_RC4_key_descriptor(
+		const eap_am_network_id_c * const receive_network_id,
+		eapol_RC4_key_header_c * const eapol,
+		const u32_t packet_length);
+#endif //#if !defined(USE_EAPOL_KEY_STATE)
+	
 	//--------------------------------------------------
 }; // class eapol_core_c
 
--- a/eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAPOL_ETHERNET_ADDRESS_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAP_ETHERNET_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,18 +16,85 @@
 */
 
 /*
-* %version: %
+* %version: 25.1.2 %
 */
 
-#if !defined(_EAPOL_HANDLE_TLV_MESSAGE_DATA_H_)
-#define _EAPOL_HANDLE_TLV_MESSAGE_DATA_H_
+#if !defined(_EAP_CREATE_TLV_MESSAGE_DATA_H_)
+#define _EAP_CREATE_TLV_MESSAGE_DATA_H_
 
 #include "eap_am_types.h"
 #include "eap_tools.h"
 #include "eap_array.h"
-#include "eap_process_tlv_message_data.h"
+#include "eap_tlv_message_data.h"
 #include "eap_expanded_type.h"
 
+
+enum eapol_tlv_message_type_e
+{
+	eapol_tlv_message_type_none                                 = 0,
+	eapol_tlv_message_type_array                                = 1,
+	eapol_tlv_message_type_boolean                              = 2,
+	eapol_tlv_message_type_eap_protocol_layer                   = 3,
+	eapol_tlv_message_type_eap_state_notification               = 4,
+	eapol_tlv_message_type_eap_status                           = 5,
+	eapol_tlv_message_type_eap_type                             = 6,
+	eapol_tlv_message_type_eapol_key_802_11_authentication_mode = 7,
+	eapol_tlv_message_type_eapol_key_authentication_type        = 8,
+	eapol_tlv_message_type_eapol_key_type                       = 9,
+	eapol_tlv_message_type_eapol_tkip_mic_failure_type          = 10,
+	eapol_tlv_message_type_eapol_wlan_authentication_state      = 11,
+	eapol_tlv_message_type_error                                = 12,
+	eapol_tlv_message_type_function                             = 13,
+	eapol_tlv_message_type_network_id                           = 14,
+	eapol_tlv_message_type_network_key                          = 15,
+	eapol_tlv_message_type_protected_setup_credential           = 16,
+	eapol_tlv_message_type_RSNA_cipher                          = 17,
+	eapol_tlv_message_type_session_key                          = 18,
+	eapol_tlv_message_type_u8_t                                 = 19,
+	eapol_tlv_message_type_u16_t                                = 20,
+	eapol_tlv_message_type_u32_t                                = 21,
+	eapol_tlv_message_type_u64_t                                = 22,
+	eapol_tlv_message_type_variable_data                        = 23,
+};
+
+
+enum eapol_tlv_message_type_function_e
+{
+	eapol_tlv_message_type_function_none                                        = 0,
+	eapol_tlv_message_type_function_check_pmksa_cache                           = 1,
+	eapol_tlv_message_type_function_start_authentication                        = 2,
+	eapol_tlv_message_type_function_complete_association                        = 3,
+	eapol_tlv_message_type_function_disassociation                              = 4,
+	eapol_tlv_message_type_function_start_preauthentication                     = 5,
+	eapol_tlv_message_type_function_start_reassociation                         = 6,
+	eapol_tlv_message_type_function_complete_reassociation                      = 7,
+	eapol_tlv_message_type_function_start_WPXM_reassociation                    = 8,
+	eapol_tlv_message_type_function_complete_WPXM_reassociation                 = 9,
+	eapol_tlv_message_type_function_packet_process                              = 10,
+	eapol_tlv_message_type_function_tkip_mic_failure                            = 11,
+	eapol_tlv_message_type_function_eap_acknowledge                             = 12,
+	eapol_tlv_message_type_function_update_header_offset                        = 13,
+	eapol_tlv_message_type_function_complete_check_pmksa_cache                  = 14,
+	eapol_tlv_message_type_function_packet_send                                 = 15,
+	eapol_tlv_message_type_function_associate                                   = 16,
+	eapol_tlv_message_type_function_disassociate                                = 17,
+	eapol_tlv_message_type_function_packet_data_session_key                     = 18,
+	eapol_tlv_message_type_function_state_notification                          = 19,
+	eapol_tlv_message_type_function_reassociate                                 = 20,
+	eapol_tlv_message_type_function_update_wlan_database_reference_values       = 21,
+	eapol_tlv_message_type_function_complete_start_WPXM_reassociation           = 22,
+	eapol_tlv_message_type_function_new_protected_setup_credentials             = 23,
+	eapol_tlv_message_type_function_illegal_value, // Keep this the last value.
+};
+
+
+enum eapol_message_payload_index_e
+{
+	eapol_message_payload_index_function        = 0,
+	eapol_message_payload_index_first_parameter = 1,
+};
+
+
 /** @file */
 
 class eap_variable_data_c;
@@ -45,7 +112,7 @@
 /// This class defines functions to add and parse message data composed
 /// of Attribute-Value Pairs (See eap_tlv_header_c) to/from eap_tlv_message_data_c object.
 class EAP_EXPORT eapol_handle_tlv_message_data_c
-: public eap_process_tlv_message_data_c
+: public eap_tlv_message_data_c
 {
 private:
 	//--------------------------------------------------
@@ -74,12 +141,179 @@
 		abs_eap_am_tools_c * const tools);
 
 	/**
+	 * This function should increase reference count.
+	 */
+	EAP_FUNC_IMPORT void object_increase_reference_count();
+
+	/**
+	 * This function should first decrease reference count
+	 * and second return the remaining reference count.
+	 * Reference count must not be decreased when it is zero.
+	 */
+	EAP_FUNC_IMPORT u32_t object_decrease_reference_count();
+
+	/**
 	 * Object must indicate it's validity.
 	 * If object initialization fails this function must return false.
 	 * @return This function returns the validity of this object.
 	 */
 	EAP_FUNC_IMPORT bool get_is_valid();
 
+	//- - - - - - - - - - - - - - - - - - - - - - - - - 
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		const eap_am_network_id_c * const network_id) const;
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		const abs_eap_state_notification_c * const state) const;
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		const eapol_session_key_c * const session_key) const;
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		network_key_and_index_c * key) const;
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		EAP_TEMPLATE_CONST eap_array_c<network_key_and_index_c> * network_keys) const;
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		simple_config_credential_c * const credential) const;
+
+	EAP_FUNC_IMPORT u32_t get_payload_size(
+		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array) const;
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+	//- - - - - - - - - - - - - - - - - - - - - - - - - 
+
+	EAP_FUNC_IMPORT eap_status_e add_structured_parameter_header(
+		const eapol_tlv_message_type_e type,
+		const u32_t length);
+
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eapol_tlv_message_type_e type,
+		const u32_t integer);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const u64_t long_integer);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const u32_t integer);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const u16_t integer);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const u8_t byte_integer);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const bool boolean);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eap_status_e status);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eapol_tlv_message_type_function_e function);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eap_variable_data_c * const variable_data);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eap_am_network_id_c * const network_id);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eap_buf_chain_wr_c * const packet_buffer);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eapol_session_key_c * const session_key);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const abs_eap_state_notification_c * const state);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eap_type_value_e eap_type);
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		const eap_general_header_base_c * const packet_data);
+	
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const credential_header,
+		simple_config_credential_c * const credential);
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
+		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array);
+	
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+	//- - - - - - - - - - - - - - - - - - - - - - - - - 
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const integer_header,
+		u64_t * const value);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const integer_header,
+		u32_t * const value);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const integer_header,
+		u16_t * const value);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const integer_header,
+		u8_t * const value);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const function_header,
+		eapol_tlv_message_type_function_e * const function);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const network_id_header,
+		eap_am_network_id_c * const new_network_id);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const variable_data_header,
+		eap_variable_data_c * const variable_data);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const session_key_header,
+		eapol_session_key_c * const session_key);
+	
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const state_header,
+		eap_state_notification_c * * const state);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const eap_type_header,
+		eap_type_value_e * const eap_type);
+
+#if defined(USE_EAP_SIMPLE_CONFIG)
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const network_key_header,
+		network_key_and_index_c * const network_key);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const network_keys_array_header,
+		eap_array_c<network_key_and_index_c> * const network_keys_array);
+
+	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
+		const eap_tlv_header_c * const credential_array_header,
+		eap_array_c<simple_config_credential_c> * const credential_array);
+
+#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
+
+	//- - - - - - - - - - - - - - - - - - - - - - - - - 
+
+	EAP_FUNC_IMPORT eap_const_string get_type_string(const eapol_tlv_message_type_e type);
+
+	EAP_FUNC_IMPORT eap_const_string get_function_string(const eapol_tlv_message_type_function_e function);
+
 	// 
 	//--------------------------------------------------
 }; // class eapol_handle_tlv_message_data_c
@@ -87,7 +321,7 @@
 
 //--------------------------------------------------
 
-#endif //#if !defined(_EAPOL_HANDLE_TLV_MESSAGE_DATA_H_)
+#endif //#if !defined(_EAP_CREATE_TLV_MESSAGE_DATA_H_)
 
 
 // End.
--- a/eapol/eapol_framework/eapol_common/include/eapol_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAPOL_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_key_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_key_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAPOL_KEY_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_key_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_key_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14.1.5 %
 */
 
 #if !defined(_EAPOL_KEY_STATE_H_)
@@ -289,7 +289,9 @@
 	/// The configuration option is EAPOL_key_state_TEST_group_key_update.
 	bool m_server_TEST_group_key_update;
 
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	bool m_is_associated;
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 	// - - - - - - - - - - - - - - - - - - - - - - - -
 
@@ -438,9 +440,9 @@
 EAP_KEY_TEST_PRIVATE_FUNCTION
 
 
-	eap_status_e derive_WPXM_WPXK1_WPXK2();
+	EAP_FUNC_IMPORT eap_status_e derive_WPXM_WPXK1_WPXK2();
 
-	eap_status_e derive_WPXM_PTK(const u32_t WPXM_WPXC);
+	EAP_FUNC_IMPORT eap_status_e derive_WPXM_PTK(const u32_t WPXM_WPXC);
 
 	EAP_FUNC_IMPORT eap_status_e verify_field_is_zero(
 		const u8_t * const field,
@@ -817,16 +819,27 @@
 		const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_group_cipher,
 		const eap_variable_data_c * const pre_shared_key);
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	EAP_FUNC_IMPORT eap_status_e initialize(
 		const eap_am_network_id_c * const receive_network_id,
 		const eapol_key_authentication_type_e authentication_type);
 
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	EAP_FUNC_IMPORT eapol_key_state_c *copy(const eap_am_network_id_c * const receive_network_id);
 
 	EAP_FUNC_IMPORT bool get_is_encryption_on();
 
+
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
 	EAP_FUNC_IMPORT bool get_is_associated();
 
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+
+
+	//
 	EAP_FUNC_IMPORT eap_status_e started_eap_authentication();
 
 	/**
--- a/eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAPOL_KEY_STATE_STRING_H_)
@@ -69,7 +69,6 @@
 	 */
 	EAP_FUNC_IMPORT static eap_const_string get_eapol_key_descriptor_type_string(
 		const eapol_key_descriptor_type_e key_descriptor_type);
-
 };
 
 //--------------------------------------------------
--- a/eapol/eapol_framework/eapol_common/include/eapol_key_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_key_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 19.1.2 %
 */
 
 #if !defined(_EAPOL_KEY_TYPES_H_)
@@ -104,7 +104,7 @@
 	eapol_key_authentication_type_WPA_PSK = 4,    ///< Authentication is WPA PSK (pre shared key), 4-Way and Group Key Handshakes.
 	eapol_key_authentication_type_dynamic_WEP = 5, ///< Authentication is dynamic WEP (802.1X). EAP-authentication with simple EAPOL RC4 key message.
 	eapol_key_authentication_type_WPXM = 6,    ///< Authentication is WPXM.
-	eapol_key_authentication_type_WPS = 7,  ///< Authentication is Wi-Fi Alliance Protected Setup (Simple Configure).
+	eapol_key_authentication_type_WFA_SC = 7,  ///< Authentication is Wi-Fi Alliance Simple Configure.
 #if defined(USE_WAPI_CORE)
 	eapol_key_authentication_type_WAI_PSK = 8,  ///< Authentication is WAI PSK.
 	eapol_key_authentication_type_WAI_certificate = 9,  ///< Authentication is WAI certificate.
@@ -332,8 +332,8 @@
 #endif //#if defined(EAP_USE_WPXM)
 
 EAP_CONFIGURATION_FIELD(
-	cf_str_EAPOL_key_authentication_type_config_value_WPS,
-	"WPS",
+	cf_str_EAPOL_key_authentication_type_config_value_WFA_SC,
+	"WFA_SC",
 	eap_configure_type_string,
 	false);
 
--- a/eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 32 %
+* %version: 25.1.2 %
 */
 
 #if !defined(EAPOL_MESSAGE_WLAN_AUTHENTICATION_H)
@@ -27,7 +27,7 @@
 #include "eapol_ethernet_header.h"
 #include "eap_file_config.h"
 //#include <eap_am_file_input_stdio.h>
-#include "abs_eap_database_reference_if.h"
+#include "abs_eapol_wlan_database_reference_if.h"
 #include "abs_eapol_message_wlan_authentication.h"
 #include "eapol_handle_tlv_message_data.h"
 
@@ -40,6 +40,7 @@
 class eapol_message_wlan_authentication_c
 : public abs_eapol_wlan_authentication_c
 , public abs_eap_base_timer_c
+, public abs_eapol_wlan_database_reference_if_c
 {
 
 private:
@@ -61,7 +62,7 @@
 
 	wlan_eap_if_send_status_e m_error_code;
 
-	eap_tlv_message_type_function_e m_error_function;
+	eapol_tlv_message_type_function_e m_error_function;
 
 	bool m_use_asyncronous_test;
 
@@ -113,7 +114,7 @@
 
 	EAP_FUNC_IMPORT eap_status_e send_error_message(
 		const eap_status_e status,
-		const eap_tlv_message_type_function_e function);
+		const eapol_tlv_message_type_function_e function);
 
 	EAP_FUNC_IMPORT eap_status_e process_message_type_error(
 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters);
@@ -126,7 +127,7 @@
 
 public:
 
-	EAP_FUNC_IMPORT virtual ~eapol_message_wlan_authentication_c();
+	EAP_FUNC_IMPORT ~eapol_message_wlan_authentication_c();
 
 	EAP_FUNC_IMPORT eapol_message_wlan_authentication_c(
 		abs_eap_am_tools_c * const tools,
@@ -214,6 +215,17 @@
 	// ----------------------------------------------------------------
 
 
+	// ----------------------------------------------------------------------
+	// The following function is from abs_eapol_wlan_database_reference_if_c.
+
+	// Look at abs_eapol_wlan_database_reference_if_c::get_wlan_database_reference_values().
+	EAP_FUNC_IMPORT eap_status_e get_wlan_database_reference_values(
+		eap_variable_data_c * const reference) const;
+
+	// The previous function is from abs_eapol_wlan_database_reference_if_c.
+	// ----------------------------------------------------------------------
+
+
 	/// Function receives the data message from lower layer.
 	/// Data is formatted to Attribute-Value Pairs.
 	/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
@@ -232,12 +244,6 @@
 
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 
-	EAP_FUNC_IMPORT eap_status_e complete_check_pmksa_cache(
-		EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids);
-
-	EAP_FUNC_IMPORT eap_status_e complete_disassociation(
-		const eap_am_network_id_c * const receive_network_id);
-
 	// ----------------------------------------------------------------------
 };
 
--- a/eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if !defined(_EAPOL_RC4_KEY_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_EAPOL_RSNA_KEY_DATA_GTK_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAPOL_RSNA_KEY_DATA_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAPOL_RSNA_KEY_DATA_PAYLOADS_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_EAPOL_RSNA_KEY_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_session_key.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_session_key.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAPOL_SESSION_KEY_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAPOL_TEST_STACK_IF_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18 %
+* %version: 6.1.2 %
 */
 
 #if !defined(_EAPOL_WLAN_AUTHENTICATION_H_)
@@ -32,8 +32,6 @@
 #include "eap_array.h"
 #include "eapol_key_state.h"
 #include "eapol_test_stack_if.h"
-#include "eap_database_reference_if.h"
-#include "abs_eap_configuration_if.h"
 
 #if defined(USE_EAP_SIMPLE_CONFIG)
 #include "abs_eap_configuration_if.h"
@@ -53,7 +51,6 @@
 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION)
 , public eapol_test_stack_if_c
 #endif //#if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION)
-, public eap_database_reference_if_c
 #if defined(USE_EAP_SIMPLE_CONFIG)
 , public abs_eap_configuration_if_c
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
@@ -63,7 +60,8 @@
 	EAP_FUNC_IMPORT static eapol_wlan_authentication_c * new_eapol_wlan_authentication(
 		abs_eap_am_tools_c * const tools,
 		abs_eapol_wlan_authentication_c * const partner,
-		const bool is_client_when_true);
+		const bool is_client_when_true,
+		const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference);
 
 	EAP_FUNC_IMPORT eapol_wlan_authentication_c(
 		abs_eap_am_tools_c * const tools,
@@ -99,8 +97,11 @@
 		const eap_variable_data_c * const SSID,
 		const eapol_key_authentication_type_e selected_eapol_key_authentication_type,
 		const eap_variable_data_c * const wpa_preshared_key,
-		const bool WPA_override_enabled,
+		const bool WPA_override_enabled
+#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
+		,
 		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
+#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 		);
 
 	EAP_FUNC_IMPORT eap_status_e complete_association(
@@ -162,9 +163,6 @@
 		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
 		); 
 
-	EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference);
-
 	/////////////////////////////////////////
 	/* These are called from ethernet_core */
 	
@@ -293,37 +291,22 @@
 		const simple_config_payloads_c * const other_configuration);
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 
-	EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	EAP_FUNC_IMPORT eap_status_e complete_disassociation(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id);
-
 private:
 
-	eap_status_e eapol_indication(
+	EAP_FUNC_IMPORT eap_status_e eapol_indication(
 		const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address.
 		const eapol_wlan_authentication_state_e notification);
 
-	eap_status_e create_upper_stack();
+	EAP_FUNC_IMPORT eap_status_e create_upper_stack();
 
 	eap_status_e disassociation_mutex_must_be_reserved(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
-		);
-
-	eap_status_e internal_disassociation(
-		const bool complete_to_lower_layer,
 		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
 		);
 
 	eap_status_e cancel_all_authentication_sessions();
 
-	eap_status_e complete_check_pmksa_cache(
-		EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids);
+private:
+
 
 	eap_status_e cancel_timer_this_ap_failed();
 
@@ -333,7 +316,7 @@
 
 	eap_status_e cancel_timer_authentication_cancelled();
 
-private:
+
 
 	/// Pointer to the lower layer in the stack
 	abs_eapol_wlan_authentication_c * m_partner;
@@ -349,7 +332,7 @@
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
-	//eap_array_c<eap_type_selection_c> m_selected_eap_types;
+	eap_array_c<eap_type_selection_c> m_selected_eap_types;
 
 	eap_variable_data_c m_wpa_preshared_key_hash;
 
--- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_H_)
--- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAPOL_WLAN_STATE_H_)
--- a/eapol/eapol_framework/eapol_common/include/ethernet_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/ethernet_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 33 %
+* %version: 19.1.2 %
 */
 
 #if !defined(_ETHERNET_CORE_H_)
@@ -32,14 +32,12 @@
 #include "eap_core_map.h"
 #include "abs_eap_stack_interface.h"
 #include "eapol_rsna_key_header.h"
-#include "eap_database_reference_if.h"
 
 
 /// This class defines the ethernet protocol layer.
 class EAP_EXPORT ethernet_core_c
 : public abs_eapol_core_c
 , public abs_eap_stack_interface_c
-, public eap_database_reference_if_c
 {
 private:
 	//--------------------------------------------------
@@ -249,6 +247,7 @@
 	EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
 		eap_array_c<eap_type_value_e> * const eap_type_list);
 
+#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 	/**
 	 * Function creates a state for later use. This is for optimazing 4-Way Handshake.
 	 * @param receive_network_id carries the MAC addresses.
@@ -260,8 +259,10 @@
 		const eap_am_network_id_c * const receive_network_id,
 		const eapol_key_authentication_type_e authentication_type
 		);
+#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
 
 
+#if defined(USE_EAPOL_KEY_STATE)
 	/**
 	 * This function need to be called when client STA (re)associates to AP.
 	 * @param receive_network_id carries the MAC addresses.
@@ -279,16 +280,18 @@
 		const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_pairwise_cipher,
 		const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_group_cipher,
 		const eap_variable_data_c * const pre_shared_key);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
+#if defined(USE_EAPOL_KEY_STATE)
 	/**
 	 * This function need to be called when client STA disassociates from AP.
 	 * @param receive_network_id carries the MAC addresses.
 	 * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address.
 	 */
 	EAP_FUNC_IMPORT eap_status_e disassociation(
-		const bool complete_to_lower_layer,
 		const eap_am_network_id_c * const receive_network_id
 		);
+#endif //#if defined(USE_EAPOL_KEY_STATE)
 
 	/// @see abs_eap_core_c::add_rogue_ap().
 	EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
@@ -298,38 +301,6 @@
 		const bool fatal_failure_when_true,
 		const eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type);
 
-	EAP_FUNC_IMPORT eap_status_e complete_check_pmksa_cache(
-		EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e save_simple_config_session(
-		const simple_config_state_e state,
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-		const eap_variable_data_c * const new_password,
-		const simple_config_Device_Password_ID_e Device_Password_ID,
-		const simple_config_payloads_c * const other_configuration);
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference);
-
-	EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type,
-		const eap_variable_data_c * const SSID,
-		const eap_variable_data_c * const preshared_key);
-
-	EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	EAP_FUNC_IMPORT eap_status_e complete_disassociation(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id);
-
 	//--------------------------------------------------
 }; // class ethernet_core_c
 
--- a/eapol/eapol_framework/eapol_common/include/isakmp_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/isakmp_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_ISAKMP_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/include/isakmp_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/isakmp_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_ISAKMP_RESULT_H_)
--- a/eapol/eapol_framework/eapol_common/include/sae_cookie.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/sae_cookie.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_SAE_COOKIE_H_)
--- a/eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_WLAN_EAP_IF_SEND_STATUS_H_)
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 41 %
+* %version: 31.1.4 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -383,7 +383,7 @@
 //-----------------------------------------------
 
 //
-EAP_FUNC_EXPORT void eap_type_aka_c::initialize_state(
+void eap_type_aka_c::initialize_state(
 				const eap_type_aka_state_variable_e state,
 				const bool must_be_initiator,
 				const bool must_be_responder,
@@ -950,7 +950,7 @@
 	// Add padding zero octets
 	if ((data_length % 4u) != 0)
 	{
-		padding_zero_count = static_cast<u16_t>(4u - (data_length % 4u));
+		padding_zero_count = 4u - (data_length % 4u);
 	}
 
 	if (RES->get_data_length()+padding_zero_count
@@ -977,7 +977,7 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
-	gp_data.reset_header(static_cast<u16_t>(data_length + padding_zero_count));
+	gp_data.reset_header(data_length+padding_zero_count);
 
 	{
 		u8_t *payload_buffer = gp_data.get_data(data_length+padding_zero_count);
@@ -1006,7 +1006,7 @@
 	// It is always multiple of 8 bits.
 	gp_data.set_reserved(static_cast<u16_t>(data_length*8ul));
 
-	gp_data.set_data_length(static_cast<u16_t>(data_length + padding_zero_count));
+	gp_data.set_data_length(data_length+padding_zero_count);
 
 	status = eap_status_ok;
 
@@ -2036,7 +2036,7 @@
 			payload->get_payload_length(),
 			payload->get_reserved()));
 
-		status = p_aka_payloads->get_counter_too_small()->set_buffer(
+		status = p_aka_payloads->get_COUNTER_TOO_SMALL()->set_buffer(
 			payload, 0, 0u, false, false);
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -2901,6 +2901,8 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAP_TRACE)
+
 // 
 EAP_FUNC_EXPORT void eap_type_aka_c::packet_trace(
 	eap_const_string prefix,
@@ -3008,7 +3010,7 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
-
+#endif //#if defined(USE_EAP_TRACE)
 
 //--------------------------------------------------
 
@@ -5646,6 +5648,7 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	{
 		eap_variable_data_c use_eap_expanded_type(m_am_tools);
 
@@ -5679,6 +5682,7 @@
 			}
 		}
 	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 	//----------------------------------------------------------
 
@@ -5954,6 +5958,22 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eap_type_aka_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
+
+	const eap_status_e status = get_type_partner()->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT const eap_type_aka_state_variable_parameters_c * eap_type_aka_c::get_state_variable()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 29.1.3 %
+* %version: 32 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -5325,7 +5325,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_type_aka_c::handle_eap_identity_query(
+eap_status_e eap_type_aka_c::handle_eap_identity_query(
 	const eap_am_network_id_c * const send_network_id,
 	eap_variable_data_c * const p_identity,
 	const u8_t eap_identifier,
@@ -5734,7 +5734,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_type_aka_c::query_eap_identity(
+eap_status_e eap_type_aka_c::query_eap_identity(
 	const bool must_be_synchronous,
 	eap_variable_data_c * const identity,
 	const eap_am_network_id_c * const receive_network_id,
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9.1.3 %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -307,7 +307,7 @@
 		&& check_one_payload(NEXT_REAUTH_ID, get_NEXT_REAUTH_ID()) == true
 		&& check_one_payload(NOTIFICATION, get_NOTIFICATION()) == true
 		&& check_one_payload(COUNTER, get_COUNTER()) == true
-		&& check_one_payload(COUNTER_TOO_SMALL, get_counter_too_small()) == true
+		&& check_one_payload(COUNTER_TOO_SMALL, get_COUNTER_TOO_SMALL()) == true
 		&& check_one_payload(CLIENT_ERROR_CODE, get_CLIENT_ERROR_CODE()) == true
 		&& check_one_payload(RESULT_IND, get_RESULT_IND()) == true
 		&& check_one_payload(CHECKCODE, get_CHECKCODE()) == true
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 20.1.4 %
+* %version: 23 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -2583,7 +2583,7 @@
 
 
 	if (m_authentication_type == AKA_AUTHENTICATION_TYPE_FULL_AUTH
-		&& ((m_identity_type == AKA_IDENTITY_TYPE_IMSI_ID
+		&& (m_identity_type == AKA_IDENTITY_TYPE_IMSI_ID
 			&& (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response
 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity
 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_full_auth_identity
@@ -2593,7 +2593,7 @@
 			&& (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response
 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity
 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_any_identity
-				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response)))
+				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response))
 		)
 	{
 		eap_type_aka_identity_type local_identity_type = m_identity_type;
@@ -4734,7 +4734,7 @@
 						return EAP_STATUS_RETURN(m_am_tools, status);
 					}
 
-					if (l_aka_payloads->get_counter_too_small()->get_payload_included() == true)
+					if (l_aka_payloads->get_COUNTER_TOO_SMALL()->get_payload_included() == true)
 					{
 						// When the client detects that the
 						// counter value is not fresh, it includes the AT_COUNTER_TOO_SMALL
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -77,8 +77,8 @@
 
 EAP_FUNC_EXPORT bool eap_type_aka_state_variable_parameters_c::check_initiator(const bool is_initiator) const
 {
-	if ((m_must_be_initiator == true && is_initiator == false)
-		|| (m_must_be_responder == true && is_initiator == true))
+	if (m_must_be_initiator == true && is_initiator == false
+		|| m_must_be_responder == true && is_initiator == true)
 	{
 		return false;
 	}
--- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -65,6 +65,8 @@
 }
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_FUNC_EXPORT eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(
 	abs_eap_am_tools_c * const tools,
 	const eap_am_network_id_c * const send_network_id,
@@ -90,6 +92,8 @@
 {
 }
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 EAP_FUNC_EXPORT eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(
 	abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #error Do not use anymore.
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 23 %
+* %version: 20.1.2 %
 */
 
 #if !defined(_AKA_CORE_H_)
@@ -1294,6 +1294,9 @@
 		const u32_t identity_length,
 		const u8_t * const at_character);
 
+
+#if defined(USE_EAP_TRACE)
+
 	/**
 	 * This function traces the EAP packet.
 	 */
@@ -1303,8 +1306,6 @@
 		eap_header_wr_c * const received_eap,
 		const u32_t eap_packet_length);
 
-#if defined(USE_EAP_TRACE)
-
 	#define EAP_AKA_PACKET_TRACE(prefix, receive_network_id, received_eap, eap_packet_length) \
 			packet_trace((prefix), (receive_network_id), (received_eap), (eap_packet_length))
 
@@ -1937,6 +1938,9 @@
 		abs_eap_base_timer_c * const p_initializer, 
 		const u32_t p_id);
 
+	//
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
 	EAP_FUNC_IMPORT static eap_const_string get_identity_string(const eap_type_aka_identity_type identity_type);
 
 	/**
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_TYPE_AKA_AUTHENTICATION_VECTOR_H_)
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if !defined(_AKA_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_AKA_INITIALIZED_H_)
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 10.1.2 %
+* %version: 12 %
 */
 
 #if !defined(_AKA_RESULT_H_)
@@ -337,7 +337,7 @@
 		return static_cast<aka_variable_data_c *>(&m_COUNTER);
 	}
 
-	aka_variable_data_c * const get_counter_too_small()
+	aka_variable_data_c * const get_COUNTER_TOO_SMALL()
 	{
 		return static_cast<aka_variable_data_c *>(&m_COUNTER_TOO_SMALL);
 	}
@@ -353,7 +353,7 @@
 	bool get_includes_other_version_than_1();
 
 
-	EAP_FUNC_IMPORT bool get_is_valid() const;
+	bool get_is_valid() const;
 
 	//--------------------------------------------------
 }; // class aka_payloads_c
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_AKA_STATE_H_)
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAP_AKA_STATE_NOTIFICATION_H_)
@@ -64,6 +64,8 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	EAP_FUNC_IMPORT eap_type_aka_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
@@ -76,6 +78,9 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
+
 	EAP_FUNC_IMPORT eap_type_aka_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
--- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 24 %
 */
 
 #if !defined(_AKA_TYPES_H_)
--- a/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_DIAMETER_AVP_CODE_H_)
--- a/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_DIAMETER_AVP_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if !defined(_EAP_DIAMETER_RESULT_H_)
--- a/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 18 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/eap_type_all.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/eap_type_all.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 18 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -88,11 +88,8 @@
 	abs_eap_base_type_c * const partner,
 	const eap_type_value_e eap_type,
 	const bool is_client_when_true,
-	const eap_am_network_id_c * const receive_network_id
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	, abs_eap_configuration_if_c * const configuration_if
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-	)
+	const eap_am_network_id_c * const receive_network_id,
+	abs_eap_configuration_if_c * const configuration_if)
 {
 	EAP_TRACE_BEGIN(tools, TRACE_FLAGS_DEFAULT);
 	eap_base_type_c *type = 0;
@@ -534,6 +531,7 @@
 	}
 	else
 #endif
+#if defined(USE_EAP_EXPANDED_TYPES)
 #if defined(USE_EAP_SIMPLE_CONFIG)
 	if (eap_type == eap_expanded_type_simple_config.get_type())
 	{
@@ -587,6 +585,7 @@
 	}
 	else
 #endif //#if defined(USE_EAP_SIMPLE_CONFIG)
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 #if defined(USE_FAST_EAP_TYPE)
 	if (eap_type == eap_type_fast)
 	{
@@ -684,10 +683,8 @@
 		EAP_TRACE_ERROR(
 			tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: new_eap_type(): EAP-type=0xfe%06x%08x=%s not supported in this module.\n"),
-			eap_type.get_vendor_id(),
-			eap_type.get_vendor_type(),
-			eap_header_string_c::get_eap_type_string(eap_type)));
+			(EAPL("ERROR: new_eap_type(): EAP-type=0x%08x not supported in this module.\n"),
+			convert_eap_type_to_u32_t(eap_type)));
 	}
 	EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
 	return type;
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 37 %
+* %version: 27.1.4 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -344,7 +344,7 @@
 #if !defined(NO_EAP_TYPE_GSMSIM_MESSAGE_STATE_CHECK)
 
 //
-EAP_FUNC_EXPORT void eap_type_gsmsim_c::initialize_state(
+void eap_type_gsmsim_c::initialize_state(
 				const eap_type_gsmsim_state_variable_e state,
 				const bool must_be_initiator,
 				const bool must_be_responder,
@@ -626,7 +626,7 @@
  * This function saves the current m_state to m_saved_previous_state.
  * The saved state is restored in error case.
  */
-EAP_FUNC_EXPORT void eap_type_gsmsim_c::save_current_state()
+void eap_type_gsmsim_c::save_current_state()
 {
 	m_saved_previous_state = m_state;
 }
@@ -636,7 +636,7 @@
 /**
  * This function restores the saved state.
  */
-EAP_FUNC_EXPORT void eap_type_gsmsim_c::restore_saved_previous_state()
+void eap_type_gsmsim_c::restore_saved_previous_state()
 {
 	set_state(m_saved_previous_state);
 }
@@ -2719,7 +2719,7 @@
 			payload->get_payload_length(),
 			payload->get_reserved()));
 
-		status = p_gsmsim_payloads->get_counter_too_small()->set_buffer(
+		status = p_gsmsim_payloads->get_COUNTER_TOO_SMALL()->set_buffer(
 			payload, 0, 0u, false, false);
 
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -3665,6 +3665,8 @@
 
 //--------------------------------------------------
 
+#if defined(USE_EAP_TRACE)
+
 // 
 EAP_FUNC_EXPORT void eap_type_gsmsim_c::packet_trace(
 	eap_const_string prefix,
@@ -3775,6 +3777,7 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
+#endif //#if defined(USE_EAP_TRACE)
 
 //--------------------------------------------------
 
@@ -4653,8 +4656,8 @@
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("received: GSMSIM packet"),
 		 received_gsmsim->get_header_buffer(
-			 received_gsmsim->get_header_buffer_length()),
-		 received_gsmsim->get_header_buffer_length()));
+			 received_gsmsim->get_header_length()+received_gsmsim->get_data_length()),
+		 received_gsmsim->get_header_length()+received_gsmsim->get_data_length()));
 
 	if (received_gsmsim->get_type() == eap_type_identity)
 	{
@@ -6476,6 +6479,7 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	{
 		eap_variable_data_c use_eap_expanded_type(m_am_tools);
 
@@ -6509,6 +6513,7 @@
 			}
 		}
 	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 	//----------------------------------------------------------
 
@@ -6789,6 +6794,21 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eap_type_gsmsim_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
+
+	const eap_status_e status = get_type_partner()->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 void eap_type_gsmsim_c::set_start_response_includes_identity(gsmsim_payload_AT_type_e type)
 {
 	EAP_TRACE_DEBUG(
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 31.1.2 %
+* %version: 33 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -5072,7 +5072,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_type_gsmsim_c::handle_eap_identity_query(
+eap_status_e eap_type_gsmsim_c::handle_eap_identity_query(
 	const eap_am_network_id_c * const send_network_id,
 	eap_variable_data_c * const p_identity,
 	const u8_t eap_identifier,
@@ -5458,7 +5458,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_type_gsmsim_c::query_eap_identity(
+eap_status_e eap_type_gsmsim_c::query_eap_identity(
 	const bool must_be_synchronous,
 	eap_variable_data_c * const identity,
 	const eap_am_network_id_c * const receive_network_id,
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 10.1.2 %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -304,7 +304,7 @@
 	}
 }
 
-EAP_FUNC_EXPORT u32_t gsmsim_header_c::get_sub_type_offset() const
+u32_t gsmsim_header_c::get_sub_type_offset() const
 {
 	return eap_header_base_c::get_header_length() + eap_header_base_c::get_type_field_length() + m_subtype_delta_offset;
 }
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 7.1.3 %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -269,7 +269,7 @@
 		&& check_one_payload(VERSION_LIST, get_VERSION_LIST()) == true
 		&& check_one_payload(SELECTED_VERSION, get_SELECTED_VERSION()) == true
 		&& check_one_payload(COUNTER, get_COUNTER()) == true
-		&& check_one_payload(COUNTER_TOO_SMALL, get_counter_too_small()) == true
+		&& check_one_payload(COUNTER_TOO_SMALL, get_COUNTER_TOO_SMALL()) == true
 		&& check_one_payload(CLIENT_ERROR_CODE, get_CLIENT_ERROR_CODE()) == true
 		&& check_one_payload(RESULT_IND, get_RESULT_IND()) == true
 		)
@@ -378,7 +378,7 @@
 	return static_cast<gsmsim_variable_data_c *>(&m_COUNTER);
 }
 
-EAP_FUNC_EXPORT gsmsim_variable_data_c * gsmsim_payloads_c::get_counter_too_small()
+EAP_FUNC_EXPORT gsmsim_variable_data_c * gsmsim_payloads_c::get_COUNTER_TOO_SMALL()
 {
 	return static_cast<gsmsim_variable_data_c *>(&m_COUNTER_TOO_SMALL);
 }
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18.1.2 %
+* %version: 20 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -4261,7 +4261,7 @@
 						return EAP_STATUS_RETURN(m_am_tools, status);
 					}
 
-					if (l_gsmsim_payloads->get_counter_too_small()->get_payload_included() == true)
+					if (l_gsmsim_payloads->get_COUNTER_TOO_SMALL()->get_payload_included() == true)
 					{
 						// When the client detects that the
 						// counter value is not fresh, it includes the AT_COUNTER_TOO_SMALL
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -76,8 +76,8 @@
 
 EAP_FUNC_EXPORT bool eap_type_gsmsim_state_variable_parameters_c::check_initiator(const bool is_initiator) const
 {
-	if ((m_must_be_initiator == true && is_initiator == false)
-		|| (m_must_be_responder == true && is_initiator == true))
+	if (m_must_be_initiator == true && is_initiator == false
+		|| m_must_be_responder == true && is_initiator == true)
 	{
 		return false;
 	}
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -65,6 +65,8 @@
 }
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_FUNC_EXPORT eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(
 	abs_eap_am_tools_c * const tools,
 	const eap_am_network_id_c * const send_network_id,
@@ -90,6 +92,8 @@
 {
 }
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 EAP_FUNC_EXPORT eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(
 	abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 2.1.2 %
 */
 
 #if !defined(_ABS_GSMSIM_STATE_H_)
@@ -122,6 +122,17 @@
 		abs_eap_base_timer_c * const initializer, 
 		const u32_t id) = 0;
 
+	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
 	//--------------------------------------------------
 }; // class abs_eap_type_gsmsim_state_c
 
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_GSMSIM_STATE_NOTIFICATION_H_)
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8 %
+* %version: 5.1.2 %
 */
 
 #if !defined(_GSMSIM_CORE_H_)
@@ -1516,6 +1516,8 @@
 #endif //#if defined(USE_EAP_TYPE_SERVER_GSMSIM)
 
 
+#if defined(USE_EAP_TRACE)
+
 	/**
 	 * This function traces the EAP packet.
 	 */
@@ -1525,8 +1527,6 @@
 		eap_header_wr_c * const received_eap,
 		const u32_t eap_packet_length);
 
-#if defined(USE_EAP_TRACE)
-
 	#define EAP_GSMSIM_PACKET_TRACE(prefix, receive_network_id, received_eap, eap_packet_length) \
 			packet_trace((prefix), (receive_network_id), (received_eap), (eap_packet_length))
 
@@ -1859,6 +1859,9 @@
 		abs_eap_base_timer_c * const p_initializer, 
 		const u32_t p_id);
 
+	//
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
 	//--------------------------------------------------
 }; // class eap_type_gsmsim_c
 
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_GSMSIM_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_GSMSIM_INITIALIZED_H_)
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_TYPE_GSMSIM_MAC_ATTRIBUTES_H_)
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 3.1.2 %
+* %version: 5 %
 */
 
 #if !defined(_GSMSIM_RESULT_H_)
@@ -263,7 +263,7 @@
 
 	EAP_FUNC_IMPORT gsmsim_variable_data_c * get_COUNTER();
 
-	EAP_FUNC_IMPORT gsmsim_variable_data_c * get_counter_too_small();
+	EAP_FUNC_IMPORT gsmsim_variable_data_c * get_COUNTER_TOO_SMALL();
 
 
 	EAP_FUNC_IMPORT void set_includes_unknown_attribute(const gsmsim_payload_AT_type_e unknown_payload);
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_GSMSIM_STATE_H_)
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined(_EAP_GSMSIM_STATE_NOTIFICATION_H_)
@@ -65,6 +65,8 @@
 		bool allow_send_eap_success);
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	EAP_FUNC_IMPORT eap_type_gsmsim_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
@@ -77,6 +79,8 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 	EAP_FUNC_IMPORT eap_type_gsmsim_state_notification_c(
 		abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined(_GSMSIM_TYPES_H_)
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 46 %
+* %version: 40.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -730,6 +730,7 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	{
 		eap_variable_data_c use_eap_expanded_type(m_am_tools);
 
@@ -763,6 +764,7 @@
 			}
 		}
 	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 	//----------------------------------------------------------
 
@@ -1010,7 +1012,7 @@
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_type_mschapv2_c::reset()");
 
-	m_session.reset();
+	m_session.set_state(eap_type_mschapv2_state_none);
 
 	m_username_utf8.reset();
 	eap_variable_data_c username_uc(m_am_tools);
@@ -1044,9 +1046,6 @@
 	m_is_notification_sent = false;
 	m_is_reauthentication = false;
 
-	m_is_pending = false;
-	m_identity_asked = false;
-
 	status = m_am_type_mschapv2->reset();
 	if (status != eap_status_ok)
 	{
@@ -1506,7 +1505,7 @@
 
 				if (key[key_byte] & (1 << key_bit_shifting)) // If bit is 1...
 				{
-					newkey[newkey_byte] = static_cast<u8_t>(newkey[newkey_byte] | (1 << newkey_bit_shifting)); // ...set bit to 1
+					newkey[newkey_byte] |= (1 << newkey_bit_shifting); // ...set bit to 1
 					bit_counter++;
 				}
 			}
@@ -1520,7 +1519,7 @@
 	}
 
 	// Copy key three times into triple size key because we are internally using 3des instead of des
-	// des: Ek == 3des: Ek3(Dk2(Ek1)) when k == key1 == key2 == key3
+	// des: Ek == 3des: Ek3(Dk2(Ek1)) when k == k1 == k2 == k3
 	m_am_tools->memmove(newkey + EAP_MSCHAPV2_DES_KEY_SIZE, newkey, EAP_MSCHAPV2_DES_KEY_SIZE);
 	m_am_tools->memmove(newkey + 2 * EAP_MSCHAPV2_DES_KEY_SIZE, newkey, EAP_MSCHAPV2_DES_KEY_SIZE);
 
@@ -1727,7 +1726,7 @@
 
 	m_am_tools->memmove(authenticator_response, "S=", 2);
 	u32_t length = EAP_MSCHAPV2_SHA1_DIGEST_SIZE * 2;
-	(void)m_am_tools->convert_bytes_to_hex_ascii(
+	m_am_tools->convert_bytes_to_hex_ascii(
 		digest, 
 		EAP_MSCHAPV2_SHA1_DIGEST_SIZE,
 		authenticator_response + 2,
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 39.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 19 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 33 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -38,20 +38,6 @@
 , m_next_state(eap_type_mschapv2_state_none)
 , m_failure_message_received(false)
 {
-	reset();
-}
-
-EAP_FUNC_EXPORT eap_type_mschapv2_state_c::~eap_type_mschapv2_state_c()
-{
-}
-
-eap_type_mschapv2_state_variable_e eap_type_mschapv2_state_c::get_state() const
-{
-	return m_state;
-}
-
-void eap_type_mschapv2_state_c::reset()
-{
 	if (m_is_client)
 	{
 		m_state = eap_type_mschapv2_state_none;
@@ -66,6 +52,15 @@
 	}
 }
 
+EAP_FUNC_EXPORT eap_type_mschapv2_state_c::~eap_type_mschapv2_state_c()
+{
+}
+
+eap_type_mschapv2_state_variable_e eap_type_mschapv2_state_c::get_state() const
+{
+	return m_state;
+}
+
 void eap_type_mschapv2_state_c::set_state(const eap_type_mschapv2_state_variable_e new_state)
 {
 	set_state(new_state, eap_type_mschapv2_state_none);
@@ -79,14 +74,11 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_type_mschapv2_state_c::set_state(): this = 0x%08x, previous state %d=%s, new state %d=%s, new next state %d=%s\n"),
-		 this,
-		 m_prev_state,
-		 get_state_string(m_prev_state),
-		 new_state,
-		 get_state_string(new_state),
-		 new_next_state,
-		 get_state_string(m_next_state)));
+		(EAPL("eap_type_mschapv2_state_c::set_state(): this = 0x%08x, previous state %d, new state %d, new next state %d\n"),
+		this,
+		m_prev_state,
+		new_state,
+		new_next_state));
 
 	m_prev_state = m_state;
 	m_state = new_state;
@@ -98,16 +90,12 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_type_mschapv2_state_c::is_valid_state(): this = 0x%08x, previous state %d=%s, state %d=%s, new state %d=%s, new next state %d\n"),
-		 this,
-		 m_prev_state,
-		 get_state_string(m_prev_state),
-		 m_state,
-		 get_state_string(m_state),
-		 new_state,
-		 get_state_string(new_state),
-		 m_next_state,
-		 get_state_string(m_next_state)));
+		(EAPL("eap_type_mschapv2_state_c::is_valid_state(): this = 0x%08x, previous state %d, state %d, new state %d, new next state %d\n"),
+		this,
+		m_prev_state,
+		m_state,
+		new_state,
+		m_next_state));
 
 	if (m_is_client) // Client
 	{
@@ -174,16 +162,12 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools, 
 				TRACE_FLAGS_DEFAULT, 
-				(EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d=%s, state %d=%s, new state %d=%s, new next state %d=%s\n"),
-				 this,
-				 m_prev_state,
-				 get_state_string(m_prev_state),
-				 m_state,
-				 get_state_string(m_state),
-				 new_state,
-				 get_state_string(new_state),
-				 m_next_state,
-				 get_state_string(m_next_state)));
+				(EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d, state %d, new state %d, new next state %d\n"),
+				this,
+				m_prev_state,
+				m_state,
+				new_state,
+				m_next_state));
 
 			return false;
 
@@ -231,16 +215,12 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools, 
 				TRACE_FLAGS_DEFAULT, 
-				(EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d=%s, state %d=%s, new state %d=%s, new next state %d=%s\n"),
-				 this,
-				 m_prev_state,
-				 get_state_string(m_prev_state),
-				 m_state,
-				 get_state_string(m_state),
-				 new_state,
-				 get_state_string(new_state),
-				 m_next_state,
-				 get_state_string(m_next_state)));
+				(EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d, state %d, new state %d, new next state %d\n"),
+				this,
+				m_prev_state,
+				m_state,
+				new_state,
+				m_next_state));
 
 			return false;
 
@@ -256,14 +236,11 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_type_mschapv2_state_c::set_failure_message_received(): this = 0x%08x, previous state %d=%s, state %d=%s, new next state %d=%s\n"),
-		 this,
-		 m_prev_state,
-		 get_state_string(m_prev_state),
-		 m_state,
-		 get_state_string(m_state),
-		 m_next_state,
-		 get_state_string(m_next_state)));
+		(EAPL("eap_type_mschapv2_state_c::set_failure_message_received(): this = 0x%08x, previous state %d, state %d, new next state %d\n"),
+		this,
+		m_prev_state,
+		m_state,
+		m_next_state));
 
 	m_failure_message_received = true;
 }
@@ -273,14 +250,11 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_type_mschapv2_state_c::unset_failure_message_received(): this = 0x%08x, previous state %d=%s, state %d=%s, new next state %d=%s\n"),
-		 this,
-		 m_prev_state,
-		 get_state_string(m_prev_state),
-		 m_state,
-		 get_state_string(m_state),
-		 m_next_state,
-		 get_state_string(m_next_state)));
+		(EAPL("eap_type_mschapv2_state_c::unset_failure_message_received(): this = 0x%08x, previous state %d, state %d, new next state %d\n"),
+		this,
+		m_prev_state,
+		m_state,
+		m_next_state));
 
 	m_failure_message_received = false;
 }
@@ -288,30 +262,3 @@
 void eap_type_mschapv2_state_c::cancel_eap_failure_timer()
 {
 }
-
-eap_const_string eap_type_mschapv2_state_c::get_state_string(const eap_type_mschapv2_state_variable_e state)
-{
-#if defined(USE_EAP_TRACE_STRINGS)
-	EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_none)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_success)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_failure)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_identity_request)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_challenge_request)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_success_request)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_failure_request)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_change_password_request)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_identity_response)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_challenge_response)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_success_response)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_failure_response)
-	else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_change_password_response)
-	else
-#endif // #if defined(USE_EAP_TRACE_STRINGS)
-	{
-		EAP_UNREFERENCED_PARAMETER(state);
-		return EAPL("Unknown EAP-MsChapv2-state");
-	}
-}
-
-
-// End
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #ifndef _ABS_MSCHAPV2_STATE_H_
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 22.1.2 %
 */
 
 #ifndef _MSCHAPV2_CORE_H_
@@ -138,19 +138,19 @@
 #endif //#if defined(USE_FAST_EAP_TYPE)
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
+	
 	void send_error_notification(const eap_status_e error);
 
-	EAP_FUNC_IMPORT eap_status_e finish_successful_authentication();
+	eap_status_e finish_successful_authentication();
 
 	eap_status_e finish_unsuccessful_authentication(
 		const bool authentication_cancelled);
 
-	EAP_FUNC_IMPORT eap_status_e complete_eap_identity_query();
+	eap_status_e complete_eap_identity_query();
 
-	EAP_FUNC_IMPORT eap_status_e complete_failure_retry_response();
+	eap_status_e complete_failure_retry_response();
 
-	EAP_FUNC_IMPORT eap_status_e complete_change_password_query();
+	eap_status_e complete_change_password_query();
 
 	eap_status_e client_packet_process(
 		eap_header_wr_c * const eap, ///< This is pointer to EAP header and data.
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #ifndef EAP_TYPE_MSCHAPV2_CREDENTIAL_STORE_H
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 #ifndef _MSCHAPV2_HEADER_H_
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #ifndef _MSCHAPV2_PAYLOADS_H_
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10.1.2 %
 */
 
 #ifndef _MSCHAPV2_STATE_H_
@@ -71,8 +71,6 @@
 
 	EAP_FUNC_IMPORT virtual ~eap_type_mschapv2_state_c();
 
-	void reset();
-
 	eap_type_mschapv2_state_variable_e get_state() const;
 
 	void set_state(const eap_type_mschapv2_state_variable_e new_state);
@@ -86,8 +84,6 @@
 	void unset_failure_message_received();
 
 	void cancel_eap_failure_timer();
-
-	static eap_const_string get_state_string(const eap_type_mschapv2_state_variable_e state);
 };
 
 
--- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 27 %
 */
 
 #ifndef _MSCHAPV2_TYPES_H_
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 17 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -947,8 +947,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_radius_session_c::remove_eap_session(
-	const bool complete_to_lower_layer,
+EAP_FUNC_EXPORT eap_status_e eap_radius_session_c::synchronous_remove_eap_session(
 	const eap_am_network_id_c * const receive_network_id)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1019,7 +1018,7 @@
 		(EAPL("eap_radius_session_c::asynchronous_init_remove_eap_session(): %s.\n"),
 		 (m_is_client == true) ? "client": "server"));
 
-	// NOTE: we cannot call directly remove_eap_session(), because we will
+	// NOTE: we cannot call directly synchronous_remove_eap_session(), because we will
 	// return from here to removed object.
 
 	eap_status_e status = eap_status_process_general_error;
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -66,6 +66,8 @@
 }
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_FUNC_EXPORT eap_radius_state_notification_c::eap_radius_state_notification_c(
 	abs_eap_am_tools_c * const tools,
 	const eap_am_network_id_c * const send_network_id,
@@ -92,6 +94,8 @@
 {
 }
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 EAP_FUNC_EXPORT eap_radius_state_notification_c::eap_radius_state_notification_c(
 	abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_EAP_RADIUS_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_EAP_RADIUS_SESSION_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_ABS_RADIUS_STATE_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_RADIUS_CORE_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_RADIUS_PAYLOAD_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_RADIUS_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined( _EAP_RADIUS_HEADER_STRING_H_ )
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_RADIUS_INITIALIZED_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_TYPE_RADIUS_MAC_ATTRIBUTES_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #if !defined(_EAP_RADIUS_RESULT_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11.1.2 %
 */
 
 #if !defined(_EAP_RADIUS_SESSION_H_)
@@ -342,8 +342,7 @@
 	 * This function removes EAP session object synchronously.
 	 * @param receive_network_id identifies the removed EAP session.
 	 */
-	EAP_FUNC_IMPORT eap_status_e remove_eap_session(
-		const bool complete_to_lower_layer,
+	EAP_FUNC_IMPORT eap_status_e synchronous_remove_eap_session(
 		const eap_am_network_id_c * const receive_network_id);
 
 	/**
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_RADIUS_STATE_H_)
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_RADIUS_STATE_NOTIFICATION_H_)
@@ -91,6 +91,8 @@
 		bool allow_send_eap_success);
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	EAP_FUNC_IMPORT eap_radius_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
@@ -103,6 +105,8 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 	EAP_FUNC_IMPORT eap_radius_state_notification_c(
 		abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_RADIUS_TYPES_H_)
--- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 25 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -636,6 +636,7 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	{
 		eap_variable_data_c use_eap_expanded_type(m_am_tools);
 		eap_status_e status(eap_status_process_general_error);
@@ -679,6 +680,7 @@
 			}
 		}
 	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 
 	//----------------------------------------------------------
--- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 16 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #ifndef _ABS_MSCHAPV2_STATE_H_
--- a/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #ifndef EAP_TYPE_SECURID_H
--- a/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #ifndef EAP_TYPE_SECURID_STATE_H
--- a/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #ifndef SECURID_TYPES_H
@@ -47,6 +47,7 @@
 	eap_configure_type_hex_data,
 	true);
 
+
 EAP_CONFIGURATION_FIELD(
 	cf_str_EAP_GTC_identity,
 	"EAP_GTC_identity",
@@ -60,11 +61,6 @@
 	eap_configure_type_hex_data,
 	false);
 
-EAP_CONFIGURATION_FIELD(
-	cf_str_EAP_GTC_passcode_prompt,
-	"EAP_SECURID_passcode_prompt",
-	eap_configure_type_boolean,
-	false);
 
 EAP_CONFIGURATION_FIELD(
 	cf_str_EAP_SECURID_use_eap_expanded_type,
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 21.1.2 %
 */
 
 #if !defined(_EAP_TYPE_SIMPLE_CONFIG_H_)
@@ -614,6 +614,9 @@
 		abs_eap_base_timer_c * const p_initializer, 
 		const u32_t p_id);
 
+	/// @see abs_simple_config_base_record_c::cancel_all_timers().
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
 	/// @see abs_simple_config_base_record_c::load_module().
 	EAP_FUNC_IMPORT eap_status_e load_module(
 		const eap_type_value_e type,
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAP_SIMPLE_CONFIG_HEADER_H_)
@@ -32,6 +32,9 @@
 
 const u8_t SIMPLE_CONFIG_NAI_AT_BYTE = '@';
 
+#if !defined(USE_EAP_EXPANDED_TYPES)
+	#error You MUST define USE_EAP_EXPANDED_TYPES compiler flag. WFA Simple Config uses that.
+#endif //#if !defined(USE_EAP_EXPANDED_TYPES)
 
 //----------------------------------------------------------------------------
 
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_EAP_SIMPLE_CONFIG_STATE_NOTIFICATION_H_)
@@ -65,6 +65,8 @@
 		bool allow_send_eap_success);
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	EAP_FUNC_IMPORT eap_type_simple_config_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
@@ -77,6 +79,8 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 	EAP_FUNC_IMPORT eap_type_simple_config_state_notification_c(
 		abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 21 %
 */
 
 #if !defined(_EAP_TYPE_SIMPLE_CONFIG_TYPES_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 26.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -3627,6 +3627,19 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eap_type_simple_config_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	eap_status_e status = get_type_partner()->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 // This is commented in abs_simple_config_base_application_c.
 EAP_FUNC_EXPORT eap_status_e eap_type_simple_config_c::load_module(
 	const eap_type_value_e type,
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 20 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -64,6 +64,8 @@
 }
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_FUNC_EXPORT eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(
 	abs_eap_am_tools_c * const tools,
 	const eap_am_network_id_c * const send_network_id,
@@ -89,6 +91,8 @@
 {
 }
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 EAP_FUNC_EXPORT eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(
 	abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_apply_cipher_spec.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_apply_cipher_spec.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_ABS_SIMPLE_CONFIG_MESSAGE_RECORD_PROCESS_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_base_record.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_base_record.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 #if !defined(_ABS_SIMPLE_CONFIG_BASE_RECORD_H_)
@@ -202,6 +202,17 @@
 		const u32_t id) = 0;
 
 	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
+	/**
 	 * This is needed by PEAP type.
 	 * The load_module() function function indicates the lower level to
 	 * load new module of EAP-type.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_message_hash.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_message_hash.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_SIMPLE_CONFIG_MESSAGE_HASH_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_SIMPLE_CONFIG_ATTRIBUTE_TYPE_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_SIMPLE_CONFIG_BASE_RECORD_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #if !defined(_SIMPLE_CONFIG_COMPLETION_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  This class defines Credential attributes for protected setup (previously known as simple config).
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 9 %
+* %version: 4.1.2 %
 */
 
 #if !defined(_SIMPLE_CONFIG_CREDENTIAL_H_)
@@ -33,7 +33,7 @@
 //----------------------------------------------------------------------------
 
 
-/// This class defines Credential attributes for protected setup (previously known as simple config).
+/// This class defines Credential attributes.
 class EAP_EXPORT simple_config_credential_c
 {
 private:
@@ -73,12 +73,10 @@
 
 	EAP_FUNC_IMPORT void set_network_index(const u8_t index);
 
-	EAP_FUNC_IMPORT u8_t get_network_index() const;
+	EAP_FUNC_IMPORT u8_t get_network_index();
 
 	EAP_FUNC_IMPORT eap_variable_data_c * get_SSID();
 
-	EAP_FUNC_IMPORT const eap_variable_data_c * get_SSID_const() const;
-
 	EAP_FUNC_IMPORT simple_config_Authentication_Type_e get_Authentication_Type();
 
 	EAP_FUNC_IMPORT void set_Authentication_Type(const simple_config_Authentication_Type_e Authentication_Type);
@@ -89,12 +87,8 @@
 
 	EAP_FUNC_IMPORT eap_array_c<network_key_and_index_c> * get_network_keys();
 
-	EAP_FUNC_IMPORT const eap_array_c<network_key_and_index_c> * get_network_keys_const() const;
-
 	EAP_FUNC_IMPORT eap_variable_data_c * get_MAC_address();
 
-	EAP_FUNC_IMPORT const eap_variable_data_c * get_MAC_address_const() const;
-
 	EAP_FUNC_IMPORT bool get_is_valid();
 
 	// 
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  This class defines one SIMPLE_CONFIG-message.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 12.1.2 %
+* %version: 14 %
 */
 
 #if !defined(_SIMPLE_CONFIG_MESSAGE_H_)
@@ -32,10 +32,16 @@
 //----------------------------------------------------------------------------
 
 
-/// This class defines one SIMPLE_CONFIG-message.
+/// This class defines one SIMPLE_CONFIG-message. One SIMPLE_CONFIG message could include many SIMPLE_CONFIG-records.
 /**
  * This class defined one SIMPLE_CONFIG-message.
  * Parse and analyse of SIMPLE_CONFIG-message is asyncronous.
+ * m_analyse_index tells the index of message where asyncronous
+ * analyse of SIMPLE_CONFIG-message must continue.
+ * Analysed messages are skipped during the asyncronous
+ * analyse of messages. Asyncronous analyse is needed
+ * because of the PKI functions are asyncronous in
+ * Symbian.
  */
 class EAP_EXPORT simple_config_message_c
 {
@@ -48,9 +54,10 @@
 	/// This buffer includes copy of the whole received SIMPLE_CONFIG-message data.
 	eap_variable_data_c m_simple_config_message_data;
 
-	/// This is EAP-identifier of the EAP-packet that includes SIMPLE_CONFIG-message.
+	/// This is EAP-identifier of the EAP-packet that includes SIMPLE_CONFIG-message. This is needed in XP-PEAP.
 	u8_t m_received_eap_identifier;
 
+
 	/// This indicates whether this object is client (true) or server (false). This is mostly for traces.
 	const bool m_is_client;
 
@@ -81,7 +88,7 @@
 
 	/**
 	 * This function copies the received SIMPLE_CONFIG-message data and EAP-identifier.
-	 * EAP-identifier is needed in PEAPv0. That PEAP version uses
+	 * EAP-identifier is needed in XP PEAPv0. That stupid version uses
 	 * same EAP-identifier with PEAP header and tunneled EAP-header.
 	 */
 	EAP_FUNC_IMPORT eap_status_e set_simple_config_message_data(
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  Defines payloads of protected setup message.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 24.1.3 %
+* %version: 26 %
 */
 
 #if !defined(_SIMPLE_CONFIG_PAYLOADS_H_)
@@ -79,7 +79,7 @@
 
 	EAP_FUNC_IMPORT u8_t * get_data(const u32_t data_length) const;
 
-	EAP_FUNC_IMPORT simple_config_tlv_header_c * get_header();
+	simple_config_tlv_header_c * get_header();
 
 	EAP_FUNC_IMPORT eap_variable_data_c * get_full_attribute_buffer();
 
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 41 %
 */
 
 #if !defined(_SIMPLE_CONFIG_RECORD_H_)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  defines header of Attribute-Value Pairs used in protected setup.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 11 %
 */
 
 #if !defined(_SIMPLE_CONFIG_TLV_HEADER_H_)
@@ -69,9 +69,9 @@
 	/// This is enumeration of offsets to data fields.
 	enum offsets
 	{
-		m_tlv_type_offset = 0ul,                           ///< This is offset to tlv type 16-bit field.
+		m_tlv_type_offset = 0ul,                                     ///< This is offset to fags and tlv type 16-bit field.
 		m_length_offset = m_tlv_type_offset+sizeof(u16_t), ///< This is offset to length 16-bit field.
-		m_data_offset = m_length_offset+sizeof(u16_t),     ///< This is offset to data field.
+		m_data_offset = m_length_offset+sizeof(u16_t),               ///< This is offset to data field.
 	};
 
 	//--------------------------------------------------
@@ -115,7 +115,7 @@
 	/**
 	 * This function returns the header length of TLV.
 	 */
-	EAP_FUNC_IMPORT static u32_t get_header_length();
+	static u32_t get_header_length();
 
 	/**
 	 * This function returns pointer to the offset of data of TLV.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  This file defines the constants of the protected setup protocol.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 35 %
+* %version: 32.1.2 %
 */
 
 #if !defined(_SIMPLE_CONFIG_TYPES_H_)
@@ -30,7 +30,7 @@
 #include "simple_config_attribute_type.h"
 
 /** @file simple_config_types.h 
- *  @brief This file defines the constants of the protected setup protocol.
+ *  @brief This file defines the constants of the SIMPLE_CONFIG.
  */
 
 //--------------------------------------------------
@@ -325,14 +325,12 @@
 	EAP_FUNC_IMPORT network_key_and_index_c(
 		abs_eap_am_tools_c * const m_am_tools);
 
-	EAP_FUNC_IMPORT u8_t get_network_key_index() const;
+	EAP_FUNC_IMPORT u8_t get_network_key_index();
 
 	EAP_FUNC_IMPORT void set_network_key_index(u8_t index);
 
 	EAP_FUNC_IMPORT eap_variable_data_c * get_network_key();
 
-	EAP_FUNC_IMPORT const eap_variable_data_c * get_network_key_const() const;
-
 	EAP_FUNC_IMPORT network_key_and_index_c * copy();
 
 	EAP_FUNC_IMPORT bool get_is_valid();
@@ -436,4 +434,7 @@
 #endif //#if !defined(_SIMPLE_CONFIG_TYPES_H_)
 
 //--------------------------------------------------
+
+
+
 // End.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -11,22 +11,14 @@
 *
 * Contributors:
 *
-* Description:  This class defines Credential attributes for protected setup (previously known as simple config).
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 8 %
+* %version: 5.1.2 %
 */
 
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 763 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
 #include "eap_tools.h"
 #include "simple_config_credential.h"
 
@@ -74,7 +66,7 @@
 
 //----------------------------------------------------------------------------
 
-EAP_FUNC_EXPORT u8_t simple_config_credential_c::get_network_index() const
+EAP_FUNC_EXPORT u8_t simple_config_credential_c::get_network_index()
 {
 	return m_network_index;
 }
@@ -88,13 +80,6 @@
 
 //----------------------------------------------------------------------------
 
-EAP_FUNC_EXPORT const eap_variable_data_c * simple_config_credential_c::get_SSID_const() const
-{
-	return &m_SSID;
-}
-
-//----------------------------------------------------------------------------
-
 EAP_FUNC_EXPORT simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type()
 {
 	return m_Authentication_Type;
@@ -130,13 +115,6 @@
 
 //----------------------------------------------------------------------------
 
-EAP_FUNC_EXPORT const eap_array_c<network_key_and_index_c> * simple_config_credential_c::get_network_keys_const() const
-{
-	return &m_network_keys;
-}
-
-//----------------------------------------------------------------------------
-
 EAP_FUNC_EXPORT eap_variable_data_c * simple_config_credential_c::get_MAC_address()
 {
 	return &m_MAC_address;
@@ -144,13 +122,6 @@
 
 //----------------------------------------------------------------------------
 
-EAP_FUNC_EXPORT const eap_variable_data_c * simple_config_credential_c::get_MAC_address_const() const
-{
-	return &m_MAC_address;
-}
-
-//----------------------------------------------------------------------------
-
 EAP_FUNC_EXPORT bool simple_config_credential_c::get_is_valid()
 {
 	return m_is_valid;
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  This class defines one SIMPLE_CONFIG-message.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 18.1.2 %
+* %version: 20 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2007 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  Defines payloads of protected setup message.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 33.1.3 %
+* %version: 35 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -474,7 +474,7 @@
 				used_payloads,
 				&attribute_type,
 				m_am_tools);
-			if (index < 0)
+			if (index < 0ul)
 			{
 				// ERROR: not used mandatory TLV.
 				EAP_TRACE_ERROR(
@@ -515,6 +515,11 @@
 
 	eap_status_e status = add_attribute(
 		payload->copy());
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
@@ -1294,14 +1299,19 @@
 	}
 
 	status = m_read_payloads.reset();
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT simple_config_payloads_c * simple_config_payloads_c::copy() const
+simple_config_payloads_c * simple_config_payloads_c::copy() const
 {
 	EAP_TRACE_DEBUG(
 		m_am_tools,
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 73 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -47,9 +47,6 @@
 #include "abs_eap_am_mutex.h"
 #include "simple_config_credential.h"
 #include "eapol_key_types.h"
-#include "eap_config.h"
-#include "eap_network_id_selector.h"
-#include "eap_tlv_message_data.h"
 
 //--------------------------------------------------
 
@@ -417,7 +414,6 @@
 
 	//----------------------------------------------------------
 
-#if 0
 	{
 		status = get_type_partner()->read_configure(
 			cf_str_EAP_SIMPLE_CONFIG_device_password.get_field(),
@@ -435,26 +431,9 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_password);
 		}
 	}
-#endif
 
 	if (m_is_client == false)
 	{
-		status = get_type_partner()->read_configure(
-			cf_str_EAP_SIMPLE_CONFIG_device_password.get_field(),
-			&m_device_password);
-		if (status != eap_status_ok
-			|| m_device_password.get_is_valid_data() == false)
-		{
-			// This is mandatory value.
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: SIMPLE_CONFIG: %s: simple_config_record_c::configure(): Missing device password.\n"),
-				 (m_is_client == true ? "client": "server")));
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_password);
-		}
-
 		(void) get_type_partner()->read_configure(
 			cf_str_EAP_SIMPLE_CONFIG_server_device_password.get_field(),
 			&m_device_password);
@@ -4482,18 +4461,6 @@
 		// Compare RHash1.
 		if (local_RHash1.compare(&m_RHash1) != 0)
 		{
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools, 
-				TRACE_FLAGS_DEFAULT, 
-				(EAPL("local_RHash1"),
-				 local_RHash1.get_data(),
-				 local_RHash1.get_data_length()));
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools, 
-				TRACE_FLAGS_DEFAULT, 
-				(EAPL("m_RHash1"),
-				 m_RHash1.get_data(),
-				 m_RHash1.get_data_length()));
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_device_password_authentication_failure);
 		}
@@ -6519,12 +6486,6 @@
 	eap_variable_data_c * const ER_S2,
 	eap_variable_data_c * const ER_Hash2)
 {
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("SIMPLE_CONFIG: generate_er_hashs(): device_password"),
-		device_password->get_data(),
-		device_password->get_data_length()));
 
 	eap_variable_data_c first_half_of_device_password(m_am_tools);
 
@@ -8199,118 +8160,6 @@
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}
 	}
-	else if (m_local_Device_Password_ID == simple_config_Device_Password_ID_Default_PIN
-		&& m_is_client == true)
-	{
-		// Read PIN from memory store.
-
-		eap_variable_data_c memory_store_key(m_am_tools);
-
-		eap_status_e status = memory_store_key.set_copy_of_buffer(
-			EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY,
-			sizeof(EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = memory_store_key.add_data(
-			&m_is_client,
-			sizeof(m_is_client));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		eap_am_network_id_c receive_network_id(m_am_tools,
-			m_send_network_id.get_destination_id(),
-			m_send_network_id.get_source_id(),
-			m_send_network_id.get_type());
-
-		eap_network_id_selector_c state_selector(
-			m_am_tools,
-			&receive_network_id);
-
-		status = memory_store_key.add_data(
-			&state_selector);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		eap_tlv_message_data_c tlv_data(m_am_tools);
-
-		status = m_am_tools->memory_store_get_data(
-			&memory_store_key,
-			&tlv_data);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("simple_config_record_c::complete_query_network_and_device_parameters(): cannot get WPS credentials\n")));
-		}
-		else
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("simple_config_record_c::complete_query_network_and_device_parameters(): WPS credentials found\n")));
-
-			// Parse read data.
-			eap_array_c<eap_tlv_header_c> tlv_blocks(m_am_tools);
-				
-			status = tlv_data.parse_message_data(&tlv_blocks);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			for (u32_t ind = 0ul; ind < tlv_blocks.get_object_count(); ind++)
-			{
-				eap_tlv_header_c * const tlv = tlv_blocks.get_object(ind);
-				if (tlv != 0)
-				{
-					if (tlv->get_type() == eap_type_protected_setup_stored_preshared_key)
-					{
-						status = m_device_password.set_copy_of_buffer(
-							tlv->get_value(tlv->get_value_length()),
-							tlv->get_value_length());
-						if (status != eap_status_ok)
-						{
-							EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-							return EAP_STATUS_RETURN(m_am_tools, status);
-						}
-					}
-					else if (tlv->get_type() == eap_type_protected_setup_stored_ssid)
-					{
-						status = m_SSID.set_copy_of_buffer(
-							tlv->get_value(tlv->get_value_length()),
-							tlv->get_value_length());
-						if (status != eap_status_ok)
-						{
-							EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-							return EAP_STATUS_RETURN(m_am_tools, status);
-						}
-					}
-				}
-			} // for()
-
-			if (m_device_password.get_is_valid_data() == false)
-			{
-				EAP_TRACE_ERROR(
-					m_am_tools,
-					TRACE_FLAGS_ERROR,
-					(EAPL("simple_config_record_c::complete_query_network_and_device_parameters(): cannot get WPS PIN\n")));
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-			}
-		}
-	}
 
 
 	if (local_completion_status == eap_status_ok)
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  defines header of Attribute-Value Pairs used in protected setup.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 11.1.2 %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -125,7 +125,7 @@
 {
 	EAP_UNREFERENCED_PARAMETER(m_am_tools);
 
-	u32_t data_length = get_data_length();
+	u32_t data_length = get_data_length(); // Here is removed optional SIMPLE_CONFIG message length.
 
 	if (data_length >= offset+contignuous_bytes)
 	{
@@ -153,7 +153,7 @@
  */
 u8_t * simple_config_tlv_header_c::get_data(const u32_t contignuous_bytes) const
 {
-	return get_data_offset(0ul, contignuous_bytes);
+	return get_data_offset(0u, contignuous_bytes);
 }
 
 
--- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  This file defines the constants and types of the protected setup protocol.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 26 %
+* %version: 22.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -61,7 +61,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT u8_t network_key_and_index_c::get_network_key_index() const
+EAP_FUNC_EXPORT u8_t network_key_and_index_c::get_network_key_index()
 {
 	return m_network_key_index;
 }
@@ -82,13 +82,6 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT const eap_variable_data_c * network_key_and_index_c::get_network_key_const() const
-{
-	return &m_network_key;
-}
-
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT network_key_and_index_c * network_key_and_index_c::copy()
 {
 	network_key_and_index_c * const copy_object = new network_key_and_index_c(m_am_tools);
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAP_TLS_PEAP_STATE_NOTIFICATION_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 23.1.2 %
 */
 
 #if !defined(_EAP_TYPE_TLS_PEAP_H_)
@@ -773,6 +773,9 @@
 		abs_eap_base_timer_c * const p_initializer, 
 		const u32_t p_id);
 
+	/// @see abs_tls_base_record_c::cancel_all_timers().
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
 	/// @see abs_tls_base_record_c::load_module().
 	EAP_FUNC_IMPORT eap_status_e load_module(
 		const eap_type_value_e type,
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_TLS_PEAP_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_state_notification.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_state_notification.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_EAP_TLS_PEAP_STATE_NOTIFICATION_H_)
@@ -65,6 +65,8 @@
 		bool allow_send_eap_success);
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 	EAP_FUNC_IMPORT eap_type_tls_peap_state_notification_c(
 		abs_eap_am_tools_c * const tools,
 		const eap_am_network_id_c * const send_network_id,
@@ -77,6 +79,8 @@
 		u8_t eap_identifier,
 		bool allow_send_eap_success);
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 	EAP_FUNC_IMPORT eap_type_tls_peap_state_notification_c(
 		abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 62 %
 */
 
 #if !defined(_EAP_TYPE_TLS_PEAP_TYPES_H_)
@@ -132,12 +132,6 @@
  */
 
 EAP_CONFIGURATION_FIELD(
-	cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate,
-	"EAP_TLS_PEAP_use_automatic_ca_certificate",
-	eap_configure_type_boolean,
-	false);
-
-EAP_CONFIGURATION_FIELD(
 	cf_str_EAP_TLS_PEAP_use_manual_username,
 	"EAP_TLS_PEAP_use_manual_username",
 	eap_configure_type_boolean,
@@ -812,6 +806,26 @@
 	false);
 
 /**
+ *  This boolean data configuration option activate prompt to warn for ADHP auto-provisioning when 
+ *  there is no PAC that matches the A-ID sent by server. EAP-FAST specific.
+ */
+EAP_CONFIGURATION_FIELD(
+	cf_str_EAP_FAST_warn_ADHP_no_matching_PAC,
+	"EAP_FAST_warn_ADHP_no_matching_PAC",
+	eap_configure_type_boolean,
+	false);
+
+/**
+ *  This boolean data configuration option activate prompt to warn for ADHP (Authenticated Diffie-Hellman Protocol) 
+ *  auto-provisioning when there is no PAC at all. EAP-FAST specific.
+ */
+EAP_CONFIGURATION_FIELD(
+	cf_str_EAP_FAST_warn_ADHP_no_PAC,
+	"EAP_FAST_warn_ADHP_no_PAC",
+	eap_configure_type_boolean,
+	false);
+
+/**
  *  This boolean data configuration option activate prompt to warn when client encouters a server that has provisioned 
  *  the client with a PAC before but is not currently selected as the default server. EAP-FAST specific.
  */
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 82.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -1629,7 +1629,7 @@
 		}
 
 		if (user_certificate_identity != 0
-			&& user_certificate_identity->get_is_valid_data() == true)
+			&& user_certificate_identity->get_is_valid() == true)
 		{
 			eap_variable_data_c username(m_am_tools);
 			eap_variable_data_c realm(m_am_tools);
@@ -1710,7 +1710,7 @@
 		else
 #endif //#if defined(USE_EAP_TLS_IDENTITY_PRIVACY)
 		if (user_certificate_identity != 0
-			&& user_certificate_identity->get_is_valid_data() == true)
+			&& user_certificate_identity->get_is_valid() == true)
 		{
 			EAP_TRACE_DEBUG(
 				m_am_tools,
@@ -1795,7 +1795,7 @@
 		}
 	}
 	else if (user_certificate_identity != 0
-		&& user_certificate_identity->get_is_valid_data() == true)
+		&& user_certificate_identity->get_is_valid() == true)
 	{
 		EAP_TRACE_DEBUG(
 			m_am_tools,
@@ -1813,19 +1813,14 @@
 	}
 	else
 	{
-		EAP_TRACE_DEBUG(
+		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("WARNING: EAP_type_TLS_PEAP: %s: eap_type_tls_peap_c::handle_eap_identity_query(): no identity configured, creates random identity.\n"),
+			(EAPL("EAP_type_TLS_PEAP: %s: eap_type_tls_peap_c::handle_eap_identity_query(): no identity.\n"),
 			(m_is_client == true ? "client": "server")));
 
-		// Last possibility is random username.
-		status = create_random_eap_identity(&local_identity);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_identity);
 	}
 
 	status = m_current_identity.set_copy_of_buffer(&local_identity);
@@ -1947,13 +1942,11 @@
 				m_am_tools,
 				TRACE_FLAGS_TLS_PEAP_ERROR,
 				(EAPL("ERROR: eap_type_tls_peap_c::check_received_eap_identifier() failed,")
-				 EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ")
+				 EAPL("status %d=%s, received EAP-type 0x%08x, received EAP-code %d, ")
 				 EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"),
 				 status,
 				 status_string.get_status_string(status),
-				 eap_header->get_type().get_vendor_id(),
-				 eap_header->get_type().get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(eap_header->get_type()),
+				 convert_eap_type_to_u32_t(eap_header->get_type()),
 				 eap_header->get_code(),
 				 eap_header->get_identifier(),
 				 get_last_eap_identifier(),
@@ -1977,13 +1970,11 @@
 				m_am_tools,
 				TRACE_FLAGS_TLS_PEAP_ERROR,
 				(EAPL("ERROR: eap_type_tls_peap_c::check_received_eap_identifier() failed,")
-				 EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ")
+				 EAPL("status %d=%s, received EAP-type 0x%08x, received EAP-code %d, ")
 				 EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"),
 				 status,
 				 status_string.get_status_string(status),
-				 eap_header->get_type().get_vendor_id(),
-				 eap_header->get_type().get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(eap_header->get_type()),
+				 convert_eap_type_to_u32_t(eap_header->get_type()),
 				 eap_header->get_code(),
 				 eap_header->get_identifier(),
 				 get_last_eap_identifier(),
@@ -2142,13 +2133,11 @@
 					m_am_tools,
 					TRACE_FLAGS_TLS_PEAP_ERROR,
 					(EAPL("ERROR: eap_type_tls_peap_c::packet_process() failed,")
-					 EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ")
+					 EAPL("status %d=%s, received EAP-type 0x%08x, received EAP-code %d, ")
 					 EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"),
 					 status,
 					 status_string.get_status_string(status),
-					 eap_header->get_type().get_vendor_id(),
-					 eap_header->get_type().get_vendor_type(),
-					 eap_header_string_c::get_eap_type_string(eap_header->get_type()),
+					 convert_eap_type_to_u32_t(eap_header->get_type()),
 					 eap_header->get_code(),
 					 eap_header->get_identifier(),
 					 get_last_eap_identifier(),
@@ -4003,11 +3992,9 @@
 							EAP_TRACE_ERROR(
 								m_am_tools,
 								TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS,
-								(EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"),
+								(EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"),
 								 (m_is_client == true) ? "client": "server",
-								 m_current_eap_type.get_vendor_id(),
-								 m_current_eap_type.get_vendor_type(),
-								 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+								 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 							restore_saved_reassembly_state();
 							EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -4845,6 +4832,7 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES)
 	{
 		eap_variable_data_c use_eap_expanded_type(m_am_tools);
 
@@ -4878,6 +4866,7 @@
 			}
 		}
 	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 
 	//----------------------------------------------------------
 
@@ -5153,11 +5142,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("ERROR: %s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("authentication failed: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("authentication failed: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			m_tunneled_eap_type_authentication_state
 				= eap_state_authentication_terminated_unsuccessfully;
@@ -5198,11 +5185,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("PEAPv1 authentication tunneled EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("PEAPv1 authentication tunneled EAP-SUCCESS: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			m_tunneled_eap_type_authentication_state
 				= static_cast<eap_state_variable_e>(state->get_current_state());
@@ -5220,11 +5205,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("authentication EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("authentication EAP-SUCCESS: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			m_tunneled_eap_type_authentication_state
 				= eap_state_authentication_finished_successfully;
@@ -5406,11 +5389,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): TLS tunneled ")
-				 EAPL("authentication failed: EAP-type 0xfe%06x%08x=%s, tunnel type %s\n"),
+				 EAPL("authentication failed: EAP-type 0x%08x, tunnel type %s\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type),
+				 convert_eap_type_to_u32_t(m_current_eap_type),
 				 tls_trace.get_peap_version_string(m_current_peap_version)));
 
 			set_state(eap_type_tls_peap_state_failure);
@@ -5430,11 +5411,9 @@
 						TRACE_FLAGS_DEFAULT,
 						(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
 						 EAPL("TLS tunneled authentication ")
-						 EAPL("EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, tunnel type %s, style %d\n"),
+						 EAPL("EAP-SUCCESS: EAP-type 0x%08x, tunnel type %s, style %d\n"),
 						 (m_is_client == true ? "client": "server"),
-						 m_current_eap_type.get_vendor_id(),
-						 m_current_eap_type.get_vendor_type(),
-						 eap_header_string_c::get_eap_type_string(m_current_eap_type),
+						 convert_eap_type_to_u32_t(m_current_eap_type),
 						 tls_trace.get_peap_version_string(m_current_peap_version),
 						 m_use_tppd_tls_peap));
 					
@@ -5477,11 +5456,9 @@
 						TRACE_FLAGS_DEFAULT,
 						(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
 						 EAPL("TLS resumed session authentication ")
-						 EAPL("EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, m_tls_session_type=%d=%s, tunnel type %s\n"),
+						 EAPL("EAP-SUCCESS: EAP-type 0x%08x, m_tls_session_type=%d=%s, tunnel type %s\n"),
 						 (m_is_client == true ? "client": "server"),
-						 m_current_eap_type.get_vendor_id(),
-						 m_current_eap_type.get_vendor_type(),
-						 eap_header_string_c::get_eap_type_string(m_current_eap_type),
+						 convert_eap_type_to_u32_t(m_current_eap_type),
 						 get_tls_session_type(),
 						 eap_tls_trace_string_c::get_tls_session_type_string(get_tls_session_type()),
 						 tls_trace.get_peap_version_string(m_current_peap_version)));
@@ -5513,11 +5490,9 @@
 						m_am_tools,
 						TRACE_FLAGS_DEFAULT,
 						(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-						 EAPL("plain TLS authentication EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, tunnel type %s\n"),
+						 EAPL("plain TLS authentication EAP-SUCCESS: EAP-type 0x%08x, tunnel type %s\n"),
 						 (m_is_client == true ? "client": "server"),
-						 m_current_eap_type.get_vendor_id(),
-						 m_current_eap_type.get_vendor_type(),
-						 eap_header_string_c::get_eap_type_string(m_current_eap_type),
+						 convert_eap_type_to_u32_t(m_current_eap_type),
 						 tls_trace.get_peap_version_string(m_current_peap_version)));
 
 					// Plain TLS.
@@ -5560,11 +5535,9 @@
 							EAP_TRACE_ERROR(
 								m_am_tools,
 								TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS,
-								(EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"),
+								(EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"),
 								 (m_is_client == true) ? "client": "server",
-								 m_current_eap_type.get_vendor_id(),
-								 m_current_eap_type.get_vendor_type(),
-								 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+								 convert_eap_type_to_u32_t(m_current_eap_type)));
 							
 							EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 							set_state(eap_type_tls_peap_state_failure);
@@ -5599,11 +5572,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("full TLS authentication: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("full TLS authentication: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 		}
 		else if (state->get_current_state() == tls_peap_state_original_session_resumption)
 		{
@@ -5611,11 +5582,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("TLS session resumption: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("TLS session resumption: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 		}
 #if defined(USE_EAP_TLS_SESSION_TICKET)
 		else if (state->get_current_state() == tls_peap_state_stateless_session_resumption)
@@ -5624,11 +5593,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("TLS stateless session resumption: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("TLS stateless session resumption: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 		}
 #endif // #if defined(USE_EAP_TLS_SESSION_TICKET)
 #if defined(USE_EAP_TLS_PEAP_TPPD_PEAP_V1_NEW_FIXES)
@@ -5639,11 +5606,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("PEAPv1 waits EAP-Success or tunneled packet: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("PEAPv1 waits EAP-Success or tunneled packet: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			set_state(eap_type_tls_peap_state_tppd_peapv1_waits_eap_success_or_tunneled_packet);
 		}
@@ -5655,11 +5620,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("sends TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("sends TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			// Send empty acknowledge message.
 			eap_status_e status = send_empty_eap_ack();
@@ -5679,11 +5642,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			set_state(eap_type_tls_peap_state_server_waits_ttls_plain_ms_chap_v2_empty_ack);
 		}
@@ -5694,11 +5655,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("TLS tunnel ready: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("TLS tunnel ready: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			if (m_is_client == true)
 			{
@@ -5810,11 +5769,9 @@
 					EAP_TRACE_ERROR(
 						m_am_tools,
 						TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS,
-						(EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"),
+						(EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"),
 						 (m_is_client == true) ? "client": "server",
-						 m_current_eap_type.get_vendor_id(),
-						 m_current_eap_type.get_vendor_type(),
-						 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+						 convert_eap_type_to_u32_t(m_current_eap_type)));
 					
 					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 					set_state(eap_type_tls_peap_state_failure);
@@ -5851,11 +5808,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: eap_type_tls_peap_c::state_notification(): ")
-				 EAPL("TLS tunnel ready: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("TLS tunnel ready: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_current_eap_type.get_vendor_id(),
-				 m_current_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_current_eap_type)));
+				 convert_eap_type_to_u32_t(m_current_eap_type)));
 
 			if (m_is_client == true)
 			{
@@ -6246,6 +6201,19 @@
 
 //--------------------------------------------------
 
+//
+EAP_FUNC_EXPORT eap_status_e eap_type_tls_peap_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	eap_status_e status = get_type_partner()->cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 // This is commented in abs_tls_base_application_c.
 EAP_FUNC_EXPORT eap_status_e eap_type_tls_peap_c::load_module(
 	const eap_type_value_e type,
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_state_notification.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_state_notification.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -64,6 +64,8 @@
 }
 
 
+#if defined(USE_EAP_EXPANDED_TYPES)
+
 EAP_FUNC_EXPORT eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(
 	abs_eap_am_tools_c * const tools,
 	const eap_am_network_id_c * const send_network_id,
@@ -89,6 +91,8 @@
 {
 }
 
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
 
 EAP_FUNC_EXPORT eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(
 	abs_eap_am_tools_c * const tools,
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_ABS_TLS_MESSAGE_RECORD_PROCESS_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 19.1.2 %
 */
 
 #if !defined(_ABS_TLS_BASE_APPLICATION_H_)
@@ -210,6 +210,17 @@
 		const u32_t id) = 0;
 
 	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
+	/**
 	 * This is needed by PEAP type.
 	 * The load_module() function function indicates the lower level to
 	 * load new module of EAP-type.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 #if !defined(_ABS_TLS_BASE_RECORD_H_)
@@ -215,6 +215,17 @@
 		const u32_t id) = 0;
 
 	/**
+	 * The cancel_all_timers() function cancels all timers.
+	 * User should use this in termination of the stack before
+	 * the adaptation module of tools is deleted.
+	 * Preferred mode is to cancel each timer directly
+	 * using cancel_timer() function.
+	 *
+	 * Adaptation module internally implements the timer.
+	 */
+	virtual eap_status_e cancel_all_timers() = 0;
+
+	/**
 	 * This is needed by PEAP type.
 	 * The load_module() function function indicates the lower level to
 	 * load new module of EAP-type.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_ABS_TLS_CHANGE_CIPHER_SPEC_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_ABS_TLS_MESSAGE_HASH_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_TLS_ALERT_MESSAGE_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_TLS_APPLICATION_DATA_MESSAGE_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 36.1.2 %
 */
 
 #if !defined(_TLS_APPLICATION_EAP_CORE_H_)
@@ -599,6 +599,9 @@
 		abs_eap_base_timer_c * const initializer, 
 		const u32_t id);
 
+	/// @see abs_eap_core_c::cancel_all_timers().
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
 	/// @see abs_eap_core_c::check_is_valid_eap_type().
 	EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
 
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 23.1.2 %
+* %version: 25 %
 */
 
 #if !defined(_TLS_BASE_APPLICATION_H_)
@@ -59,7 +59,7 @@
 	/**
 	 * Destructor does nothing special.
 	 */
-	EAP_FUNC_IMPORT virtual ~tls_base_application_c();
+	virtual ~tls_base_application_c();
 
 	/**
 	 * Application partner is object below the tls_base_application_c object.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 18 %
 */
 
 #if !defined(_TLS_BASE_RECORD_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_TLS_CHANGE_CIPHER_SPEC_MESSAGE_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 #if !defined(_TLS_COMPLETION_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #if !defined(_TLS_EXTENSION_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_TLS_HANDSHAKE_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #if !defined(_TLS_HANDSHAKE_MESSAGE_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_TLS_MESSAGE_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #if !defined(_TLS_PEAP_TLV_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 7.1.2 %
+* %version: 9 %
 */
 
 #if !defined(_PEAP_TLV_PAYLOADS_H_)
@@ -129,19 +129,19 @@
 		const peap_tlv_payload_status_e intermediate_result_tlv
 		);
 
-	EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_result_tlv();
+	peap_tlv_variable_data_c * get_result_tlv();
 
-	EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_nak_tlv();
+	peap_tlv_variable_data_c * get_nak_tlv();
 
-	EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_crypto_binding_tlv();
+	peap_tlv_variable_data_c * get_crypto_binding_tlv();
 
-	EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_eap_payload_tlv();
+	peap_tlv_variable_data_c * get_eap_payload_tlv();
 
-	EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_intermediate_result_tlv();
+	peap_tlv_variable_data_c * get_intermediate_result_tlv();
 
-	EAP_FUNC_IMPORT void reset();
+	void reset();
 
-	EAP_FUNC_IMPORT bool get_is_valid() const;
+	bool get_is_valid() const;
 
 	//--------------------------------------------------
 }; // class peap_tlv_payloads_c
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 45.1.2 %
+* %version: 47 %
 */
 
 #if !defined(_TLS_PEAP_TYPES_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 66.1.2 %
 */
 
 #if !defined(_TLS_RECORD_H_)
@@ -1431,6 +1431,9 @@
 		const u32_t id);
 
 	// This is commented in abs_tls_base_application_c.
+	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
+
+	// This is commented in abs_tls_base_application_c.
 	EAP_FUNC_IMPORT eap_status_e load_module(
 		const eap_type_value_e type,
 		const eap_type_value_e /* tunneling_type */,
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_TLS_RECORD_HEADER_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_TLS_RECORD_MESSAGE_H_)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 99 %
+* %version: 92.1.4 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -329,6 +329,7 @@
 				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
 			}
 		}
+//#if defined(USE_EAP_EXPANDED_TYPES)
 		else if (tunneled_eap_type.get_data_length()
 				 == eap_expanded_type_c::get_eap_expanded_type_size()
 			&& tunneled_eap_type.get_data(tunneled_eap_type.get_data_length()) != 0)
@@ -353,6 +354,7 @@
 				return EAP_STATUS_RETURN(m_am_tools, status);
 			}
 		}
+//#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 		else
 		{
 			EAP_TRACE_DEBUG(
@@ -368,7 +370,13 @@
 
 
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
-		if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type())
+		if (
+#if defined(USE_EAP_EXPANDED_TYPES)
+			m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()
+#else
+			m_peap_tunneled_eap_type == eap_type_plain_mschapv2
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+			)
 		{
 			// This is special case.
 			// We must tell to inner EAP-stack to use EAP-MsChapv2.
@@ -675,9 +683,47 @@
 
 	//----------------------------------------------------------
 
+#if defined(USE_EAP_EXPANDED_TYPES) && 0
+	{
+		eap_variable_data_c use_eap_expanded_type(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_TLS_PEAP_use_eap_expanded_type.get_field(),
+			&use_eap_expanded_type);
+
+		if (status != eap_status_ok)
+		{
+			status = read_configure(
+				cf_str_EAP_CORE_use_eap_expanded_type.get_field(),
+				&use_eap_expanded_type);
+		}
+
+		if (status == eap_status_ok
+			&& use_eap_expanded_type.get_data_length() == sizeof(u32_t)
+			&& use_eap_expanded_type.get_data() != 0)
+		{
+			u32_t *flag = reinterpret_cast<u32_t *>(use_eap_expanded_type.get_data(use_eap_expanded_type.get_data_length()));
+
+			if (flag != 0)
+			{
+				if ((*flag) != 0ul)
+				{
+					m_use_eap_expanded_type = true;
+				}
+				else
+				{
+					m_use_eap_expanded_type = false;
+				}
+			}
+		}
+	}
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+
+	//----------------------------------------------------------
+
 	status = m_eap_core->configure();
 
-	if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type())
+	if (m_peap_tunneled_eap_type == eap_type_ttls_plain_pap)
 	{
 		if (m_free_eap_core == true)
 		{
@@ -1313,7 +1359,13 @@
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
-	if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type())
+	if (
+#if defined(USE_EAP_EXPANDED_TYPES)
+		m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type()
+#else
+		m_peap_tunneled_eap_type == eap_type_ttls_plain_pap
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+		)
 	{
 		// Query PAP username and password.
 		status = m_application_partner->query_ttls_pap_username_and_password(0);
@@ -1416,7 +1468,12 @@
 
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 		if (m_eap_type == eap_type_ttls
-			&& m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type())
+#if defined(USE_EAP_EXPANDED_TYPES)
+			&& m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()
+#else
+			&& m_peap_tunneled_eap_type == eap_type_plain_mschapv2
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+			)
 		{
 			eap_header_wr_c sent_eap_packet(
 				m_am_tools,
@@ -1450,7 +1507,12 @@
 
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 		if (m_eap_type == eap_type_ttls
-			&& m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type())
+#if defined(USE_EAP_EXPANDED_TYPES)
+			&& m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()
+#else
+			&& m_peap_tunneled_eap_type == eap_type_plain_mschapv2
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+			)
 		{
 			eap_header_wr_c sent_eap_packet(
 				m_am_tools,
@@ -6366,7 +6428,13 @@
 
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 		if (m_tunneled_eap_in_ttls == false
-			&& m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type())
+			&& (
+#if defined(USE_EAP_EXPANDED_TYPES)
+				m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()
+#else
+				m_peap_tunneled_eap_type == eap_type_plain_mschapv2
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
+			))
 		{
 			tunneled_type = eap_type_mschapv2;
 		}
@@ -6872,18 +6940,35 @@
 
 //--------------------------------------------------
 
+EAP_FUNC_EXPORT eap_status_e tls_application_eap_core_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	eap_status_e status = eap_status_process_general_error;
+	abs_tls_base_application_c * partner = get_application_partner();
+	if (partner != 0)
+	{
+		status = partner->cancel_all_timers();
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e tls_application_eap_core_c::check_is_valid_eap_type(
 	const eap_type_value_e eap_type)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
+	eap_header_string_c eap_string;
+	EAP_UNREFERENCED_PARAMETER(eap_string);
+
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("tls_application_eap_core_c::check_is_valid_eap_type(): EAP-type=0xfe%06x%08x=%s\n"),
-		eap_type.get_vendor_id(),
-		eap_type.get_vendor_type(),
-		eap_header_string_c::get_eap_type_string(eap_type)));
+		(EAPL("tls_application_eap_core_c::check_is_valid_eap_type(): EAP-type=0x%08x=%s\n"),
+		convert_eap_type_to_u32_t(eap_type),
+		eap_string.get_eap_type_string(eap_type)));
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: tls_application_eap_core_c::check_is_valid_eap_type()");
 
@@ -6921,10 +7006,9 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: tls_application_eap_core_c::check_is_valid_eap_type(): No allowed EAP-type=0xfe%06x%08x=%s\n"),
-				eap_type.get_vendor_id(),
-				eap_type.get_vendor_type(),
-				eap_header_string_c::get_eap_type_string(eap_type)));
+				(EAPL("ERROR: tls_application_eap_core_c::check_is_valid_eap_type(): No allowed EAP-type=0x%08x=%s\n"),
+				convert_eap_type_to_u32_t(eap_type),
+				eap_string.get_eap_type_string(eap_type)));
 
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type);
 		}
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,13 +16,13 @@
 */
 
 /*
-* %version: 5.1.3 %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 713 
+	#define EAP_FILE_NUMBER_ENUM 124 
 	#undef EAP_FILE_NUMBER_DATE 
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,19 +16,11 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 #if defined(USE_EAP_TLS_SESSION_TICKET)
 
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 762 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
 #include "tls_extension.h"
 
 /** @file */
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 23 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -239,9 +239,8 @@
 	EAP_ASSERT(flag_tlv_type_data != 0);
 	
 	flag_tlv_type_data[0] = static_cast<u8_t>(
-		(flag_tlv_type_data[0] & (m_flag_mask_mandatory_tlv|m_flag_mask_reserved))
-		| (((type & 0xff00) >> 8) & ~(m_flag_mask_mandatory_tlv|m_flag_mask_reserved)));
-
+		flag_tlv_type_data[0] & (m_flag_mask_mandatory_tlv|m_flag_mask_reserved)
+		| ((type & 0xff00) >> 8) & ~(m_flag_mask_mandatory_tlv|m_flag_mask_reserved));
 	flag_tlv_type_data[1] = static_cast<u8_t>(type & 0x00ff);
 }
 
@@ -255,11 +254,11 @@
 	
 	if (reserved == true)
 	{
-		flag_tlv_type_data[0] = static_cast<u8_t>(flag_tlv_type_data[0] | m_flag_mask_reserved);
+		flag_tlv_type_data[0] |= m_flag_mask_reserved;
 	}
 	else
 	{
-		flag_tlv_type_data[0] = static_cast<u8_t>(flag_tlv_type_data[0] & ~m_flag_mask_reserved);
+		flag_tlv_type_data[0] &= ~m_flag_mask_reserved;
 	}
 }
 
@@ -273,11 +272,11 @@
 	
 	if (mandatory_when_true == true)
 	{
-		flag_tlv_type_data[0] = static_cast<u8_t>(flag_tlv_type_data[0] | m_flag_mask_mandatory_tlv);
+		flag_tlv_type_data[0] |= m_flag_mask_mandatory_tlv;
 	}
 	else
 	{
-		flag_tlv_type_data[0] = static_cast<u8_t>(flag_tlv_type_data[0] & ~m_flag_mask_mandatory_tlv);
+		flag_tlv_type_data[0] &= ~m_flag_mask_mandatory_tlv;
 	}
 }
 
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 24 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 197 %
+* %version: 177.1.9 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -60,7 +60,7 @@
 	EAP_STATUS_RETURN(tools, eap_status_return_and_create_tls_protocol_alert((status)))
 
 
-EAP_FUNC_EXPORT eap_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert(
+eap_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert(
 	const eap_status_e status)
 {
 	if (status != eap_status_ok
@@ -273,18 +273,6 @@
 
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: tls_record_c::tls_record_c()");
 
-#if defined(USE_FAST_EAP_TYPE)
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("TLS: tls_record_c::tls_record_c(): EAP-FAST enabled.")));
-#else
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("TLS: tls_record_c::tls_record_c(): EAP-FAST disabled.")));
-#endif //#if defined(USE_FAST_EAP_TYPE)
-
 	if (receive_network_id == 0
 		|| receive_network_id->get_is_valid_data() == false)
 	{
@@ -1202,7 +1190,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT void tls_record_c::send_error_notification(const eap_status_e error)
+void tls_record_c::send_error_notification(const eap_status_e error)
 {
 	// Notifies the lower level of an authentication error.
 
@@ -1944,8 +1932,8 @@
 		}
 		case tls_completion_action_complete_create_handshake_type_client_key_exchange:
 		{
-			if ((cipher_suite_is_TLS_RSA() == true
-				 && m_own_encrypted_premaster_secret.get_is_valid_data() == true)
+			if (cipher_suite_is_TLS_RSA() == true
+					&& m_own_encrypted_premaster_secret.get_is_valid_data() == true
 				|| ((cipher_suite_is_TLS_DHE_DSS() == true
 						|| cipher_suite_is_TLS_DHE_RSA() == true
 #if defined(USE_FAST_EAP_TYPE)
@@ -3430,12 +3418,10 @@
 	EAP_TRACE_ALWAYS(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("this = 0x%08x, %s: starts: tls_record_c::state_notification(): EAP-type 0xfe%06x%08x=%s: m_tls_session_type=%d=%s, tls_state=%d=%s, notification state=%s\n"),
+		(EAPL("this = 0x%08x, %s: starts: tls_record_c::state_notification(): EAP-type 0x%08x: m_tls_session_type=%d=%s, tls_state=%d=%s, notification state=%s\n"),
 		 this,
 		 (m_is_client == true ? "client": "server"),
-		 m_eap_type.get_vendor_id(),
-		 m_eap_type.get_vendor_type(),
-		 eap_header_string_c::get_eap_type_string(m_eap_type),
+		 convert_eap_type_to_u32_t(m_eap_type),
 		 m_tls_session_type,
 		 eap_tls_trace_string_c::get_tls_session_type_string(m_tls_session_type),
 		 m_tls_peap_state,
@@ -3580,11 +3566,9 @@
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
 				(EAPL("%s: tls_record_c::state_notification(): ")
-				 EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"),
+				 EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"),
 				 (m_is_client == true ? "client": "server"),
-				 m_eap_type.get_vendor_id(),
-				 m_eap_type.get_vendor_type(),
-				 eap_header_string_c::get_eap_type_string(m_eap_type)));
+				 convert_eap_type_to_u32_t(m_eap_type)));
 		}
 #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 
@@ -3643,6 +3627,23 @@
 //--------------------------------------------------
 
 // This is commented in abs_tls_base_application_c.
+EAP_FUNC_EXPORT eap_status_e tls_record_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	if (get_type_partner() == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return get_type_partner()->cancel_all_timers();
+}
+
+//--------------------------------------------------
+
+// This is commented in abs_tls_base_application_c.
 EAP_FUNC_EXPORT eap_status_e tls_record_c::load_module(
 	const eap_type_value_e type,
 	const eap_type_value_e tunneling_type,
@@ -8863,22 +8864,6 @@
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
 		}
-
-		{
-			for (u32_t ind = 0ul; ind < m_peer_certificate_types.get_object_count(); ++ind)
-			{
-				const u8_t * const certificate_type = m_peer_certificate_types.get_object(ind);
-				if (certificate_type != 0)
-				{
-					EAP_TRACE_DEBUG(
-						m_am_tools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("peer certificate type %d=0x%02x\n"),
-						*certificate_type,
-						*certificate_type));
-				}
-			}
-		}
 	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -8904,22 +8889,6 @@
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload);
 		}
-
-		{
-			for (u32_t ind = 0ul; ind < m_peer_certificate_authorities.get_object_count(); ++ind)
-			{
-				const eap_variable_data_c * const ca_authority = m_peer_certificate_authorities.get_object(ind);
-				if (ca_authority != 0)
-				{
-					EAP_TRACE_DATA_DEBUG(
-						m_am_tools,
-						EAP_TRACE_FLAGS_MESSAGE_DATA,
-						(EAPL("peer CA-authority"),
-						 ca_authority->get_data(),
-						 ca_authority->get_data_length()));
-				}
-			}
-		}
 	}
 
 	m_tls_peap_server_requested_client_certificate = true;
@@ -12349,9 +12318,6 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
-	// After this point *member_cbc_crypto_block_algorithm will delete crypto_block_algorithm.
-	block_algorithm_remove.do_not_free_variable();
-
 	*member_cbc_crypto_block_algorithm = new crypto_cbc_c(
 		m_am_tools,
 		crypto_block_algorithm,
@@ -12364,6 +12330,15 @@
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 	}
 
+	// After this point *member_cbc_crypto_block_algorithm will delete crypto_block_algorithm.
+	block_algorithm_remove.do_not_free_variable();
+
+	if ((*member_cbc_crypto_block_algorithm)->get_is_valid() == false)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+	}
+
 	eap_status_e status = eap_status_process_general_error;
 
 
@@ -16672,12 +16647,6 @@
 		&& m_eap_type == eap_type_fast
 		&& m_tls_session_type == tls_session_type_eap_fast_pac_session_resumption)
 	{
-		if (m_application == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
 		// This is server.
 		// EAP-FAST is using Tunnel PAC.
 		// Here we cannot start tunneled authentication immediately
@@ -16769,10 +16738,7 @@
 		}
 	}
 	else if (tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_none
-#if defined(USE_EAP_TLS_IDENTITY_PRIVACY)
-		|| tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_runs
-#endif
-		)
+		|| tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_runs)
 	{
 		if ((m_eap_type == eap_type_peap
 				&& m_peap_version >= peap_version_0_xp
@@ -19074,12 +19040,7 @@
 		{
 			if (completion_status != eap_status_ok)
 			{
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("WARNING: TLS: this = 0x%08x, %s: message_function: starts: tls_record_c::complete_query_certificate_chain(): No certificate chain configured.\n"),
-					 this,
-					 (m_is_client == true ? "client": "server")));
+				(void)EAP_STATUS_RETURN(m_am_tools, completion_status);
 			}
 
 			if (m_is_client == false)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -131,7 +131,6 @@
 /// This function returns debug strings of the TLS-protocol values.
 eap_const_string tls_record_header_c::get_tls_protocol_string(const tls_record_protocol_e protocol)
 {
-
 #if defined(USE_EAP_TRACE_STRINGS)
 	EAP_IF_RETURN_STRING(protocol, tls_record_protocol_none)
 	else EAP_IF_RETURN_STRING(protocol, tls_record_protocol_change_cipher_spec)
--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6.1.4 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -86,7 +86,7 @@
 //--------------------------------------------------
 
 //
-eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2()
+EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2()
 {
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
@@ -106,7 +106,7 @@
 //--------------------------------------------------
 
 //
-eap_status_e eapol_key_state_c::derive_WPXM_PTK(const u32_t /* WPXM_WPXC */)
+EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_WPXM_PTK(const u32_t /* WPXM_WPXC */)
 {
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
--- a/eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -42,10 +42,15 @@
 
 //
 EAP_FUNC_EXPORT eap_status_e ethernet_core_c::start_WPXM_reassociation(
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const eapol_key_authentication_type_e /* authentication_type */,
-	eap_variable_data_c * const /* send_reassociation_request_ie */)
+	const eap_am_network_id_c * const receive_network_id,
+	const eapol_key_authentication_type_e authentication_type,
+	eap_variable_data_c * const send_reassociation_request_ie)
 {
+	eap_status_e status = m_eapol_core->start_WPXM_reassociation(
+		receive_network_id,
+		authentication_type,
+		send_reassociation_request_ie);
+
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
 
@@ -53,11 +58,17 @@
 
 //
 EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_WPXM_reassociation(
-	const eapol_wlan_authentication_state_e /* reassociation_result */,
-	const eap_am_network_id_c * const /* receive_network_id */,
-	const eapol_key_authentication_type_e /* authentication_type */,
-	const eap_variable_data_c * const /* received_reassociation_ie */)
+	const eapol_wlan_authentication_state_e reassociation_result,
+	const eap_am_network_id_c * const receive_network_id,
+	const eapol_key_authentication_type_e authentication_type,
+	const eap_variable_data_c * const received_reassociation_ie)
 {
+	eap_status_e status = m_eapol_core->complete_WPXM_reassociation(
+		reassociation_result,
+		receive_network_id,
+		authentication_type,
+		received_reassociation_ie);
+
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
 
--- a/eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 10.1.4 %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -77,7 +77,7 @@
  *      X= 47c27eb6 16dba413 91e5165b e9c5e397 7e39a15d
  *  @endcode
 */
-eap_status_e dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, const u8_t *c, u32_t c_length)
+void dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, const u8_t *c, u32_t c_length)
 {
 	u32_t *out_array = reinterpret_cast<u32_t *>(out);
 
@@ -92,15 +92,13 @@
 		);
 	if (status != eap_status_ok)
 	{
-		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: eap_sha1_dss_G_function(): status = %d"),
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("eap_sha1_dss_G_function(): status = %d"),
 			status));
-		return status;
 	}
 
 	EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("dss_random_G(): out_array"),
 		out_array, sizeof(out_array)*5));
 
-	return status;
 }
 
 /**
@@ -116,7 +114,7 @@
  *              d. XKEY = (1 + XKEY + xj) mod 2^b.
  *  @endcode
 */
-EAP_FUNC_EXPORT eap_status_e dss_pseudo_random(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *xkey, u32_t xkey_length)
+eap_status_e dss_pseudo_random(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *xkey, u32_t xkey_length)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	eap_status_e status = eap_status_ok;
@@ -183,13 +181,7 @@
 
 	for (u32_t ind = 0; ind < block_count; ind++)
 	{
-		eap_status_e status = dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey.Ptr(), BLOCK_SIZE);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: dss_random_G(): status = %d"),
-																	status));
-			User::Leave(KErrGeneral);
-		}
+		dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey.Ptr(), BLOCK_SIZE);
 
 		EAP_TRACE_DATA_DEBUG(
 			m_am_tools,
--- a/eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 11.1.3 %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -518,7 +518,7 @@
 /**
  * This function reads word from file.
  */
-EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::file_read_word(eap_variable_data_c * const word)
+eap_status_e eap_am_file_input_symbian_c::file_read_word(eap_variable_data_c * const word)
 {
 	if (word == 0
 		|| word->get_is_valid() == false)
@@ -626,14 +626,14 @@
  * If object initialization fails this function must return false.
  * @return This function returns the validity of this object.
  */
-EAP_FUNC_EXPORT bool eap_am_file_input_symbian_c::get_is_valid()
+bool eap_am_file_input_symbian_c::get_is_valid()
 {
 	return m_is_valid;
 }
 
 //----------------------------------------------------------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_open(
+eap_status_e eap_am_file_input_symbian_c::directory_open(
 	const eap_variable_data_c * const /* directory_name */)
 {
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
@@ -641,7 +641,7 @@
 
 //----------------------------------------------------------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_read(
+eap_status_e eap_am_file_input_symbian_c::directory_read(
 	eap_array_c<abs_eap_file_stat_c> * const /* directory_list */)
 {
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
@@ -652,7 +652,7 @@
 /**
  * This function closes the directory.
  */
-EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_close()
+eap_status_e eap_am_file_input_symbian_c::directory_close()
 {
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConfigToolsSymbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +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:  Some tools used in Symbian.
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 725 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-#include "eap_config.h"
-#include "eap_file_config.h"
-#include "eap_am_file_input_symbian.h"
-#include "eap_automatic_variable.h"
-#include "EapConfigToolsSymbian.h"
-
-#include "EapConversion.h"
-
-#include "EapPluginTools.h"
-
-//--------------------------------------------------
-
-eap_status_e EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian(
-	abs_eap_am_tools_c * const aAmTools,
-	eap_file_config_c ** const aFileconfig)
-{
-	EAP_TRACE_BEGIN(aAmTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		aAmTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_read_default_config_file_symbian()\n")));
-	EAP_TRACE_RETURN_STRING(aAmTools, "returns: eapol_read_default_config_file_symbian()");
-
-	TInt error(KErrNone);
-	eap_status_e status(eap_status_ok);
-
-	(*aFileconfig) = 0;
-
-#if defined(USE_EAP_FILECONFIG)
-	{
-		eap_am_file_input_symbian_c * const fileio = new eap_am_file_input_symbian_c(aAmTools);
-
-		eap_automatic_variable_c<eap_am_file_input_symbian_c> automatic_fileio(aAmTools, fileio);
-
-		if (fileio != 0
-			&& fileio->get_is_valid() == true)
-		{
-			EAP_TRACE_DEBUG(
-				aAmTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("Initialize file configuration.\n")));
-
-			eap_variable_data_c config_file_name(aAmTools);
-
-			{
-				TFileName aPrivateDatabasePathName;
-
-				TRAP(error, EapPluginTools::GetPrivatePathL(
-					aPrivateDatabasePathName));
-				if (error != KErrNone)
-				{
-					eap_status_e status(aAmTools->convert_am_error_to_eapol_error(error));
-
-					EAP_TRACE_DEBUG(
-						aAmTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: EapPluginTools::GetPrivatePathL(): failed %d=%s.\n"),
-						status,
-						eap_status_string_c::get_status_string(status)));
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-
-				_LIT(FILECONFIG_FILENAME, "eap.conf");
-
-				aPrivateDatabasePathName.Append(FILECONFIG_FILENAME);
-
-				error = CEapConversion::ConvertFromTDesCToInternal(
-					aAmTools,
-					aPrivateDatabasePathName,
-					&config_file_name);
-				if (error != KErrNone)
-				{
-					eap_status_e status(aAmTools->convert_am_error_to_eapol_error(error));
-
-					EAP_TRACE_DEBUG(
-						aAmTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: CEapConversion::ConvertFromTDesCToInternal(): failed %d=%s.\n"),
-						status,
-						eap_status_string_c::get_status_string(status)));
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-			}
-
-			eap_variable_data_c file_name_c_data(aAmTools);
-
-			{
-				eap_const_string const FILECONFIG_DRIVE_C = "c:";
-
-				status = file_name_c_data.set_copy_of_buffer(
-					FILECONFIG_DRIVE_C,
-					aAmTools->strlen(FILECONFIG_DRIVE_C));
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-
-				status = file_name_c_data.add_data(&config_file_name);
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-
-				status = file_name_c_data.add_end_null();
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-			}
-
-			eap_variable_data_c file_name_z_data(aAmTools);
-
-			{
-				eap_const_string const FILECONFIG_DRIVE_Z = "z:";
-
-				status = file_name_z_data.set_copy_of_buffer(
-					FILECONFIG_DRIVE_Z,
-					aAmTools->strlen(FILECONFIG_DRIVE_Z));
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-
-				status = file_name_z_data.add_data(&config_file_name);
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-
-				status = file_name_z_data.add_end_null();
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(aAmTools, status);
-				}
-			}
-
-
-
-			if (status == eap_status_ok)
-			{
-				// Disable traces because this could fail. In most cases there are no configuration file on C: disk,
-				u32_t saved_trace_mask =  aAmTools->get_trace_mask();
-				aAmTools->set_trace_mask(eap_am_tools_c::eap_trace_mask_none);
-
-				// First try open from C: disk.
-				status = fileio->file_open(
-					&file_name_c_data,
-					eap_file_io_direction_read);
-
-				// Enable traces because the next should not fail. Always there are configuration file on Z: disk,
-				aAmTools->set_trace_mask(saved_trace_mask);
-
-				if (status == eap_status_ok)
-				{
-					EAP_TRACE_DEBUG(
-						aAmTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("Opens configure file %s\n"),
-						file_name_c_data.get_data(file_name_c_data.get_data_length())));
-				}
-				else
-				{
-					// Second try open from Z: disk.
-					status = fileio->file_open(
-						&file_name_z_data,
-						eap_file_io_direction_read);
-					if (status == eap_status_ok)
-					{
-						EAP_TRACE_DEBUG(
-							aAmTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("Opens configure file %s\n"),
-							 file_name_z_data.get_data(file_name_z_data.get_data_length())));
-					}
-				}
-
-				if (status == eap_status_ok)
-				{
-					// Some of the files were opened.
-
-					(*aFileconfig) = new eap_file_config_c(aAmTools);
-					if ((*aFileconfig) != 0
-						&& (*aFileconfig)->get_is_valid() == true)
-					{
-						status = (*aFileconfig)->configure(fileio);
-						if (status != eap_status_ok)
-						{
-							EAP_TRACE_DEBUG(
-								aAmTools,
-								TRACE_FLAGS_DEFAULT,
-								(EAPL("ERROR: Configure read from %s failed.\n"),
-								file_name_c_data.get_data(file_name_c_data.get_data_length())));
-						}
-						else
-						{
-							EAP_TRACE_DEBUG(
-								aAmTools,
-								TRACE_FLAGS_DEFAULT,
-								(EAPL("Configure read from %s\n"),
-								file_name_c_data.get_data(file_name_c_data.get_data_length())));
-						}
-					}
-					else
-					{
-						// No file configuration.
-						delete (*aFileconfig);
-						(*aFileconfig) = 0;
-
-						EAP_TRACE_DEBUG(
-							aAmTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: Cannot create configure object for file %s\n"),
-							file_name_c_data.get_data(file_name_c_data.get_data_length())));
-					}
-				}
-				else
-				{
-					EAP_TRACE_DEBUG(
-						aAmTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: Cannot open configure file neither %s nor %s\n"),
-						file_name_c_data.get_data(file_name_c_data.get_data_length()),
-						file_name_z_data.get_data(file_name_z_data.get_data_length())));
-				}
-			}
-		}
-		else
-		{
-			EAP_TRACE_DEBUG(
-				aAmTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("Skips file configuration.\n")));
-		}
-	}
-#endif //#if defined(USE_EAP_FILECONFIG)
-
-
-	EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(aAmTools, status);
-}
-
-//--------------------------------------------------
-// End.
--- 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
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapExpandedType.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,306 +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:  Expanded EAP-type on Symbian.
-*
-*/
-
-/*
-* %version: 16 %
-*/
-
-#include <EapExpandedType.h>
-#include "EapTraceSymbian.h"
-#include "eap_expanded_type.h"
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_EXPANDED_TYPE_TRACES)
-
-	#define EXPANDED_TYPE_EAP_TRACE EAP_TRACE_DEBUG_SYMBIAN
-
-	#define EXPANDED_TYPE_EAP_TRACE_DATA EAP_TRACE_DATA_DEBUG_SYMBIAN
-
-	#define EXPANDED_TYPE_EAP_TRACE_RETURN_STRING EAP_TRACE_RETURN_STRING_SYMBIAN
-
-#else
-
-	#define EXPANDED_TYPE_EAP_TRACE(_parameter_list_)
-
-	#define EXPANDED_TYPE_EAP_TRACE_DATA(_parameter_list_)
-
-	#define EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_parameter_list_)
-
-#endif //#if defined(USE_EAP_EXPANDED_TYPE_TRACES)
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType()
-{
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType(): EapExpandedTypeNone"),
-		&EapExpandedTypeNone,
-		sizeof(EapExpandedTypeNone)));
-
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType()\n"));
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType(): EapExpandedTypeNone.GetType()"),
-		EapExpandedTypeNone.GetType(),
-		sizeof(*(EapExpandedTypeNone.GetType()))));
-
-	iValue.Copy(*(EapExpandedTypeNone.GetType()));
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType()"),
-		iValue.Ptr(),
-		iValue.Length()));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType::~TEapExpandedType()
-{
-	EAP_STATIC_ASSERT(sizeof(TConstEapExpandedTypeTemplate<KEapExpandedTypeLength>) == sizeof(TBufC8<KEapExpandedTypeLength>));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TEapExpandedType * const init)
-{
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TEapExpandedType * const init)\n"));
-
-	iValue.Copy(init->GetValue());
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType()"),
-		iValue.Ptr(),
-		iValue.Length()));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TEapExpandedType & init)
-{
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TEapExpandedType & init)\n"));
-
-	iValue.Copy(init.GetValue());
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType()"),
-		iValue.Ptr(),
-		iValue.Length()));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TBufC8<KEapExpandedTypeLength> & init)
-{
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TBufC8<KEapExpandedTypeLength> & init)\n"));
-
-	iValue.Copy(init);
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType()"),
-		iValue.Ptr(),
-		iValue.Length()));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TDesC8 & init)
-{
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TDesC8 & init)\n"));
-
-	iValue.Copy(init);
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::TEapExpandedType()"),
-		iValue.Ptr(),
-		iValue.Length()));
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT const TBuf8<KEapExpandedTypeLength> & TEapExpandedType::GetValue() const
-{
-	return iValue;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TInt TEapExpandedType::SetValue(
-	const void * const data,
-	const TUint data_length)
-{
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::SetValue(const void * const data, const TUint data_length)"),
-		data,
-		data_length));
-
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::SetValue()\n"));
-
-	if (data == 0
-		|| data_length > iValue.MaxSize())
-	{
-		return KErrArgument;
-	}
-
-	iValue.Copy(reinterpret_cast<const TUint8 *> (data), static_cast<TInt>(data_length));
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::SetValue(const void * const data, const TUint data_length)"),
-		iValue.Ptr(),
-		iValue.Length()));
-
-	return KErrNone;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TInt TEapExpandedType::SetValue(
-	const TUint vendor_id,
-	const TUint vendor_type)
-{
-	const u32_t expanded_vendor = (0xfe000000 | static_cast<u32_t>(vendor_id));
-	const TUint net_ord_vendor = eap_htonl(expanded_vendor);
-	const TUint net_ord_type = eap_htonl(vendor_type);
-
-	EXPANDED_TYPE_EAP_TRACE((_L("TEapExpandedType::SetValue(): vendor_id=0x%08x, vendor_type=0x%08x, expanded_vendor=0x%08x, net_ord_vendor=0x%08x, net_ord_type=0x%08x\n"),
-		vendor_id,
-		vendor_type,
-		expanded_vendor,
-		net_ord_vendor,
-		net_ord_type));
-
-	EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::SetValue()\n"));
-
-	if ((sizeof(vendor_id)+sizeof(vendor_type)) > iValue.MaxSize())
-	{
-		return KErrArgument;
-	}
-
-	iValue.Copy(reinterpret_cast<const TUint8 *>(&net_ord_vendor), sizeof(net_ord_vendor));
-	iValue.Append(reinterpret_cast<const TUint8 *>(&net_ord_type), sizeof(net_ord_type));
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::SetValue()"),
-		iValue.Ptr(),
-		iValue.Length()));
-
-	return KErrNone;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TUint TEapExpandedType::GetVendorId() const
-{
-	const TUint * const aHostOrderVendorId = reinterpret_cast<const TUint *>(iValue.Ptr());
-
-	// Masks off the leading octet 0xfe.
-	const u32_t VENDOR_ID_MASK = 0x00ffffff;
-	return eap_ntohl(*aHostOrderVendorId) & VENDOR_ID_MASK;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TUint TEapExpandedType::GetVendorType() const
-{
-	const TUint * const aHostOrderVendorType = reinterpret_cast<const TUint *>(iValue.Ptr() + sizeof(TUint));
-
-	return eap_ntohl(*aHostOrderVendorType);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType &TEapExpandedType::operator = (const TEapExpandedType &right_type_value)
-{
-	if (this == &right_type_value)
-	{
-		return *this;
-	}
-
-	iValue.Copy(right_type_value.GetValue());
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::operator ="),
-		iValue.Ptr(),
-		iValue.Length()));
-
-	return *this;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType &TEapExpandedType::operator = (const TBufC8<KEapExpandedTypeLength> &right_type_value)
-{
-	iValue.Copy(right_type_value);
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::operator ="),
-		iValue.Ptr(),
-		iValue.Length()));
-
-	return *this;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TEapExpandedType &TEapExpandedType::operator = (const TDesC8 &right_type_value)
-{
-	ASSERT(right_type_value.Length() == KEapExpandedTypeLength);
-
-	iValue.Copy(right_type_value);
-
-	EXPANDED_TYPE_EAP_TRACE_DATA(
-		(EAPL("TEapExpandedType::operator ="),
-		iValue.Ptr(),
-		iValue.Length()));
-
-	return *this;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT TInt TEapExpandedType::Compare(const TEapExpandedType &right_type_value) const
-{
-	for (TUint ind = 0ul; ind < KEapExpandedTypeLength; ++ind)
-	{
-		const TUint8 left = iValue[ind];
-		const TUint8 right = right_type_value.GetValue()[ind];
-
-		if (left != right)
-		{
-			return iValue[ind] - right_type_value.GetValue()[ind];
-		}
-	}
-
-	return 0;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool TEapExpandedType::operator == (const TEapExpandedType &right_type_value) const
-{
-	return Compare(right_type_value) == 0;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool TEapExpandedType::operator != (const TEapExpandedType &right_type_value) const
-{
-	return Compare(right_type_value) != 0;
-}
-
-//--------------------------------------------------
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +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:  Message queue for EAP-server and -clients.
-*
-*/
-
-/*
-* %version: 14 %
-*/
-
-
-#include "EapMessageQueue.h"
-#include "eap_am_tools.h"
-#include "EapServerStrings.h"
-#include "eap_automatic_variable.h"
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapMessageBuffer::EapMessageBuffer(abs_eap_am_tools_c * const tools)
-	: iTools(tools)
-	, iRequestType(EEapNone)
-	, iData(0)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageBuffer::EapMessageBuffer(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::EapMessageBuffer()");
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapMessageBuffer::~EapMessageBuffer()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageBuffer::~EapMessageBuffer(): this=0x%08x, iData=0x%08x\n"),
-		this,
-		iData));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::~EapMessageBuffer()");
-
-	iRequestType = EEapNone;
-	delete iData;
-	iData = 0;
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapMessageBuffer::CopyData(TEapRequests message, const void * const data, const TUint length)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageBuffer::CopyData(): this=0x%08x, iData=0x%08x, message=%d, data=0x%08x, length=%d\n"),
-		this,
-		iData,
-		message,
-		data,
-		length));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::CopyData()");
-
-	iRequestType = message;
-
-	TUint buffer_size = length;
-	if (buffer_size == 0)
-	{
-		// Allocate at least one byte.
-		++buffer_size;
-	}
-
-	delete iData;
-	iData = HBufC8::New(buffer_size);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageBuffer::CopyData(): this=0x%08x, iData=0x%08x\n"),
-		this,
-		iData));
-
-	if (iData == 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EapMessageBuffer::CopyData(): iData == 0\n")));
-
-		return KErrNoMemory;
-	}
-	else
-	{
-		if (data != 0
-		&& length > 0ul)
-		{
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("EapMessageBuffer::CopyData(): copies data\n")));
-
-			TPtr8 aDataPtr = iData->Des();
-			aDataPtr.Copy(reinterpret_cast<const unsigned char*>(data), length);
-		}
-		else
-		{
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("EapMessageBuffer::CopyData(): set length zero\n")));
-
-			iData->Des().SetLength(0ul);
-		}
-	}
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageBuffer::CopyData(): ends\n")));
-
-	return KErrNone;
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT HBufC8 * EapMessageBuffer::GetData() const
-{
-	return iData;
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TEapRequests EapMessageBuffer::GetRequestType() const
-{
-	return iRequestType;
-}
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapMessageQueue::EapMessageQueue(abs_eap_am_tools_c * const tools)
-	: iTools(tools)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageQueue::EapMessageQueue(): this=0x%08x, iEapMessageQueue.Count()=%d\n"),
-		this,
-		iEapMessageQueue.Count()));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::EapMessageQueue()");
-
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapMessageQueue::~EapMessageQueue()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageQueue::~EapMessageQueue(): this=0x%08x, iEapMessageQueue.Count()=%d\n"),
-		this,
-		iEapMessageQueue.Count()));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::~EapMessageQueue()");
-
-	TInt aCount = iEapMessageQueue.Count();
-
-	while (aCount > 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EapMessageQueue::~EapMessageQueue(): Removes iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"),
-			iEapMessageQueue[0]->GetRequestType(),
-			EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()),
-			iEapMessageQueue.Count()));
-
-		delete iEapMessageQueue[0];
-		iEapMessageQueue.Remove(0);
-
-		aCount = iEapMessageQueue.Count();
-	}
-
-	iEapMessageQueue.Close();
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapMessageQueue::AddMessage(TEapRequests message, const void * const data, const TUint length)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageQueue::AddMessage(): this=0x%08x, message=%d, data=0x%08x, length=%d, iEapMessageQueue.Count()=%d\n"),
-		this,
-		message,
-		data,
-		length,
-		iEapMessageQueue.Count()));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::AddMessage()");
-
-	EapMessageBuffer * const buffer = new EapMessageBuffer(iTools);
-
-	if (buffer == 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EapMessageQueue::AddMessage(): buffer == 0\n")));
-
-		return KErrNoMemory;
-	}
-
-	TInt error = buffer->CopyData(message, data, length);
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EapMessageQueue::AddMessage(): buffer->CopyData() failed = %d\n"),
-			error));
-
-		delete buffer;
-
-		return error;
-	}
-
-	error = iEapMessageQueue.Append(buffer);
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EapMessageQueue::AddMessage(): iEapMessageQueue.Append() failed = %d\n"),
-			error));
-
-		delete buffer;
-	}
-
-	return error;
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapMessageBuffer * EapMessageQueue::GetFirstMessage()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageQueue::GetFirstMessage(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::GetFirstMessage()");
-
-	TInt aCount = iEapMessageQueue.Count();
-	if (aCount > 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EapMessageQueue::GetFirstMessage(): iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"),
-			iEapMessageQueue[0]->GetRequestType(),
-			EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()),
-			iEapMessageQueue.Count()));
-
-		return iEapMessageQueue[0];
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EapMessageQueue::GetFirstMessage(): Empty array\n")));
-		return 0;
-	}
-}
-
-//----------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapMessageQueue::DeleteFirstMessage()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("EapMessageQueue::DeleteFirstMessage(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::DeleteFirstMessage()");
-
-	TInt aCount = iEapMessageQueue.Count();
-	if (aCount > 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EapMessageQueue::DeleteFirstMessage(): iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"),
-			iEapMessageQueue[0]->GetRequestType(),
-			EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()),
-			iEapMessageQueue.Count()));
-
-		delete iEapMessageQueue[0];
-		iEapMessageQueue.Remove(0);
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EapMessageQueue::DeleteFirstMessage(): Empty array\n")));
-	}
-
-	return KErrNone;
-}
-
-//----------------------------------------------------------------------------
-// end
-
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +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:  Tools for plugin handling on Symbian.
-*
-*/
-
-/*
-* %version: 19 %
-*/
-
-#include <EapTraceSymbian.h>
-#include <EapTypePlugin.h>
-#include <ecom.h>
-
-#include "EapPluginTools.h"
-#include "EapAutomatic.h"
-
-/** @file */
-
-// ----------------------------------------------------------------------
-
-EXPORT_C EapPluginTools::EapPluginTools()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::EapPluginTools(): this=0x%08x.\n"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::EapPluginTools()"));
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C EapPluginTools::~EapPluginTools()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::~EapPluginTools(): this=0x%08x.\n"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::~EapPluginTools()"));
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::CleanupImplArray( TAny* aAny )
-{
-	RImplInfoPtrArray* implArray = 
-		reinterpret_cast<RImplInfoPtrArray*>( aAny );
-
-	implArray->ResetAndDestroy();
-	implArray->Close();
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::ListAllEapPluginsL(const TIndexType aIndexType, const TEapExpandedType & aTunnelingEapType, RPointerArray<TEapExpandedType> & aPlugins)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): this=0x%08x, aTunnelingEapType=0xfe%06x%08x.\n"),
-		this,
-		aTunnelingEapType.GetVendorId(),
-		aTunnelingEapType.GetVendorType()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::ListAllEapPluginsL()"));
-
-	aPlugins.Reset();   // Reset this first
-
-	RImplInfoPtrArray aEapArray;
-
-	CleanupStack::PushL( TCleanupItem( CleanupImplArray, &aEapArray ) );
-
-	REComSession::ListImplementationsL( KEapTypeInterfaceUid, aEapArray );
-
-	// Checks which plugins are allowed inside the tunneling EAP-methods and which are allowed outer most EAP-methods.
-	for( TInt counter = 0; counter < aEapArray.Count(); counter++ )
-	{
-		TEapExpandedType plugin_type(aEapArray[counter]->DataType());
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x\n"),
-			counter,
-			plugin_type.GetVendorId(),
-			plugin_type.GetVendorType()));
-
-		TBool aNotAllowed(EFalse);
-
-		if (aIndexType == ELan
-			&& aTunnelingEapType == (*EapExpandedTypeNone.GetType()))
-		{
-			// Filter out the EAP types which are NOT allowed outside PEAP, TTLS or FAST on WLAN.
-			if( CEapTypePlugin::IsDisallowedOutsidePEAP( *aEapArray[counter] ) )
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedOutsidePEAP()\n"),
-					counter,
-					plugin_type.GetVendorId(),
-					plugin_type.GetVendorType()));
-
-				aNotAllowed = ETrue;
-			}
-		}
-		else if (aTunnelingEapType == (*EapExpandedTypePeap.GetType())
-			|| aTunnelingEapType == (*EapExpandedTypeFast.GetType()))
-		{
-			// Filter out the EAP types which are NOT allowed inside PEAP or FAST.
-			if( CEapTypePlugin::IsDisallowedInsidePEAP( *aEapArray[counter] ) )
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedInsidePEAP()\n"),
-					counter,
-					plugin_type.GetVendorId(),
-					plugin_type.GetVendorType()));
-
-				aNotAllowed = ETrue;
-			}
-		}
-		else if (aTunnelingEapType == (*EapExpandedTypeTtls.GetType()))
-		{
-			// Filter out the EAP types which are NOT allowed inside TTLS.
-			if( CEapTypePlugin::IsDisallowedInsideTTLS( *aEapArray[counter] ) )
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedInsideTTLS()\n"),
-					counter,
-					plugin_type.GetVendorId(),
-					plugin_type.GetVendorType()));
-
-				aNotAllowed = ETrue;
-			}
-		}
-
-		if (aNotAllowed)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): Removes EAP-plugin aEapArray[%d] EAP-type=0xfe%06x%08x\n"),
-				counter,
-				plugin_type.GetVendorId(),
-				plugin_type.GetVendorType()));
-
-			// Delete the EAP type, which isn't allowed here from the array.
-			delete aEapArray[counter];
-			aEapArray.Remove( counter );
-
-			// One item removed from the array. So reduce the item counter.
-			counter--;
-		}
-	}
-
-	// Adds allowed EAP-methods to an array.
-	for (TInt ind = 0; ind < aEapArray.Count(); ind++ )
-	{
-		TEapExpandedType * eap_type = new TEapExpandedType;
-		if (eap_type != 0)
-		{
-			*eap_type = aEapArray[ind]->DataType();
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x\n"),
-				ind,
-				eap_type->GetVendorId(),
-				eap_type->GetVendorType()));
-
-			User::LeaveIfError( aPlugins.Append( eap_type ) );
-		}
-	}
-
-	CleanupStack::PopAndDestroy(&aEapArray);
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::GetPrivatePathL(
-	RFs& aFileServerSession,
-	TFileName& aPrivateDatabasePathName)
-{
-	// Reads the private folder. Caller must connect file server before calling this function.
-
-	CleanupClosePushL(aFileServerSession);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - calls aFileServerSession.PrivatePath()\n")));
-
-	aPrivateDatabasePathName.SetLength(0);
-
-	TInt error = aFileServerSession.PrivatePath(aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - aFileServerSession.PrivatePath(), error=%d\n"), error));
-
-	User::LeaveIfError(error);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	CleanupStack::Pop(&aFileServerSession);
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::GetPrivatePathL(
-	TFileName& aPrivateDatabasePathName)
-{
-	// Reads the private folder.
-
-	RFs aFileServerSession;
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - calls aFileServerSession.Connect()\n")));
-
-	TInt error = aFileServerSession.Connect();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - aFileServerSession.Connect(), error=%d\n"), error));
-
-	User::LeaveIfError(error);
-
-	EapPluginTools::GetPrivatePathL(
-		aFileServerSession,
-		aPrivateDatabasePathName);
-
-	aFileServerSession.Close();
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::CreateDatabaseLC(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	TInt& error,
-	const TDesC& aDatabaseName,
-	TFileName& aPrivateDatabasePathName)
-{
-	// Caller must connect file server before calling this function.
-
-	// aDatabase is pushed to the cleanup stack even though they may be member
-	// variables of the calling class and would be closed in the destructor anyway. This ensures
-	// that if they are not member variables they will be closed. Closing the handle twice
-	// does no harm.	
-	CleanupClosePushL(aFileServerSession);
-	CleanupClosePushL(aDatabase);
-
-	// Create the private database in the private folder of EAP-server.
-
-	EapPluginTools::GetPrivatePathL(
-		aFileServerSession,
-		aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - calls aPrivateDatabasePathName.Append()\n")));
-
-	aPrivateDatabasePathName.Append(aDatabaseName);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	User::LeaveIfError(error);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - calls aDatabase.Create()\n")));
-
-	error = aDatabase.Create(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - Created private DB for %S. error=%d, (%d is KErrAlreadyExists)\n"),
-		&aDatabaseName,
-		error,
-		KErrAlreadyExists));
-}
-
-// ----------------------------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapSettings.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1005 +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:  Data type for EAP-settings configuration on Symbian.
-*
-*/
-
-/*
-* %version: 44 %
-*/
-
-#include <e32debug.h>
-#include <EapSettings.h>
-
-#include "EapTraceSymbian.h"
-#include "eap_am_export.h"
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapCertificateEntry::EapCertificateEntry()
-: iCertType(ENone)
-, iSubjectNamePresent(EFalse)
-, iIssuerNamePresent(EFalse)
-, iSerialNumberPresent(EFalse)
-, iThumbprintPresent(EFalse)
-, iLabelPresent(EFalse)
-, iPrimaryNamePresent(EFalse)
-, iSecondaryNamePresent(EFalse)
-, iIsEnabledPresent(EFalse)
-, iSubjectKeyIdPresent(EFalse)
-, iIsValid(EFalse)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::EapCertificateEntry(): this=0x%08x"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapCertificateEntry::EapCertificateEntry()"));
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapCertificateEntry::~EapCertificateEntry()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::~EapCertificateEntry(): this=0x%08x"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapCertificateEntry::~EapCertificateEntry()"));
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::trace() const
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iCertType=%d"),
-		iCertType));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSubjectNamePresent=%d"),
-		iSubjectNamePresent));
-	if (iSubjectNamePresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSubjectName",
-			iSubjectName.Ptr(),
-			iSubjectName.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIssuerNamePresent=%d"),
-		iIssuerNamePresent));
-	if (iIssuerNamePresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iIssuerName",
-			iIssuerName.Ptr(),
-			iIssuerName.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSerialNumberPresent=%d"),
-		iSerialNumberPresent));
-	if (iSerialNumberPresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSerialNumber",
-			iSerialNumber.Ptr(),
-			iSerialNumber.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iThumbprintPresent=%d"),
-		iThumbprintPresent));
-	if (iThumbprintPresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iThumbprint",
-			iThumbprint.Ptr(),
-			iThumbprint.Size()));
-	}
-
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iLabelPresent=%d"),
-		iLabelPresent));
-	if (iLabelPresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iLabel",
-			iLabel.Ptr(),
-			iLabel.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iPrimaryNamePresent=%d"),
-		iPrimaryNamePresent));
-	if (iPrimaryNamePresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iPrimaryName",
-			iPrimaryName.Ptr(),
-			iPrimaryName.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSecondaryNamePresent=%d"),
-		iSecondaryNamePresent));
-	if (iSecondaryNamePresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSecondaryName",
-			iSecondaryName.Ptr(),
-			iSecondaryName.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIsEnabledPresent=%d"),
-		iIsEnabledPresent));
-	if (iIsEnabledPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIsEnabled=%d"),
-			iIsEnabled));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSubjectKeyIdPresent=%d"),
-		iSubjectKeyIdPresent));
-	if (iSubjectKeyIdPresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSubjectKeyId",
-			iSubjectKeyId.Ptr(),
-			iSubjectKeyId.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIsValid=%d"),
-		iIsValid));
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapCertificateEntry * EapCertificateEntry::Copy()
-{
-	EapCertificateEntry * const entry = new EapCertificateEntry;
-	if (entry == 0)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::Copy(): No memory.\n")));
-		return 0;
-	}
-
-	*entry = *this;
-
-	if (entry->iIsValid == EFalse)
-	{
-		delete entry;
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::Copy(): No memory.\n")));
-		return 0;
-	}
-
-	return entry;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapCertificateEntry &EapCertificateEntry::operator = (const EapCertificateEntry &right_type_value)
-{
-	if (this == &right_type_value)
-	{
-		return *this;
-	}
-
-	iIsValid = EFalse;
-
-
-	SetCertType(right_type_value.GetCertType());
-
-	if (right_type_value.GetSubjectNamePresent())
-	{
-		if (SetSubjectName(*right_type_value.GetSubjectName()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSubjectName(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetIssuerNamePresent())
-	{
-		if (SetIssuerName(*right_type_value.GetIssuerName()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetIssuerName(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetSerialNumberPresent())
-	{
-		if (SetSerialNumber(*right_type_value.GetSerialNumber()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSerialNumber(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetThumbprintPresent())
-	{
-		if (SetThumbprint(*right_type_value.GetThumbprint()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetThumbprint(): No memory.\n")));
-			return *this;
-		}
-	}
-
-
-	if (right_type_value.GetLabelPresent())
-	{
-		if (SetLabel(*right_type_value.GetLabel()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetLabel(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetPrimaryNamePresent())
-	{
-		if (SetPrimaryName(*right_type_value.GetPrimaryName()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetPrimaryName(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetSecondaryNamePresent())
-	{
-		if (SetSecondaryName(*right_type_value.GetSecondaryName()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSecondaryName(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetIsEnabledPresent())
-	{
-		if (SetIsEnabled(right_type_value.GetIsEnabled()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetIsEnabled(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	if (right_type_value.GetSubjectKeyIdPresent())
-	{
-		if (SetSubjectKeyId(right_type_value.GetSubjectKeyId()) != KErrNone)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSubjectKeyId(): No memory.\n")));
-			return *this;
-		}
-	}
-
-	iIsValid = ETrue;
-
-	return *this;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSubjectNamePresent() const
-{
-	return iSubjectNamePresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIssuerNamePresent() const
-{
-	return iIssuerNamePresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSerialNumberPresent() const
-{
-	return iSerialNumberPresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetThumbprintPresent() const
-{
-	return iThumbprintPresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetLabelPresent() const
-{
-	return iLabelPresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetPrimaryNamePresent() const
-{
-	return iPrimaryNamePresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSecondaryNamePresent() const
-{
-	return iSecondaryNamePresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIsEnabledPresent() const
-{
-	return iIsEnabledPresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSubjectKeyIdPresent() const
-{
-	return iSubjectKeyIdPresent;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetSubjectNamePresent()
-{
-	iSubjectNamePresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetIssuerNamePresent()
-{
-	iIssuerNamePresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetSerialNumberPresent()
-{
-	iSerialNumberPresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetThumbprintPresent()
-{
-	iThumbprintPresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetLabelPresent()
-{
-	iLabelPresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetPrimaryNamePresent()
-{
-	iPrimaryNamePresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetSecondaryNamePresent()
-{
-	iSecondaryNamePresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetIsEnabledPresent()
-{
-	iIsEnabledPresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EapCertificateEntry::SetSubjectKeyIdPresent()
-{
-	iSubjectKeyIdPresent = ETrue;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EapCertificateEntry::TCertType EapCertificateEntry::GetCertType() const
-{
-	return iCertType;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetSubjectName() const
-{
-	return &iSubjectName;
-}
-	
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetIssuerName() const
-{
-	return &iIssuerName;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetSerialNumber() const
-{
-	return &iSerialNumber;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetThumbprint() const
-{
-	return &iThumbprint;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetCertType(const TCertType & aType)
-{
-	iCertType = aType;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSubjectName(const TBuf<KGeneralStringMaxLength> & aSubjectName)
-{
-	iSubjectName.Copy(aSubjectName);
-	if (iSubjectName.Length() != aSubjectName.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSubjectName(): iSubjectName.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iSubjectNamePresent = ETrue;
-
-	return KErrNone;
-}
-	
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetIssuerName(const TBuf<KGeneralStringMaxLength> & aIssuerName)
-{
-	iIssuerName.Copy(aIssuerName);
-	if (iIssuerName.Length() != aIssuerName.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetIssuerName(): iIssuerName.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iIssuerNamePresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSerialNumber(const TBuf<KGeneralStringMaxLength> & aSerialNumber)
-{
-	iSerialNumber.Copy(aSerialNumber);
-	if (iSerialNumber.Length() != aSerialNumber.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSerialNumber(): iSerialNumber.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iSerialNumberPresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetThumbprint(const TBuf<KThumbprintMaxLength> & aThumbprint)
-{
-	iThumbprint.Copy(aThumbprint);
-	if (iThumbprint.Length() != aThumbprint.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetThumbprint(): iThumbprint.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iThumbprintPresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetLabel() const
-{
-	return &iLabel;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TKeyIdentifier & EapCertificateEntry::GetSubjectKeyId() const
-{
-	return iSubjectKeyId;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetPrimaryName() const
-{
-	return &iPrimaryName;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetSecondaryName() const
-{
-	return &iSecondaryName;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetLabelWritable()
-{
-	return &iLabel;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TKeyIdentifier * EapCertificateEntry::GetSubjectKeyIdWritable()
-{
-	return &iSubjectKeyId;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetPrimaryNameWritable()
-{
-	return &iPrimaryName;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetSecondaryNameWritable()
-{
-	return &iSecondaryName;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetSubjectNameWritable()
-{
-	return &iSubjectName;
-}
-	
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetIssuerNameWritable()
-{
-	return &iIssuerName;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetSerialNumberWritable()
-{
-	return &iSerialNumber;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetThumbprintWritable()
-{
-	return &iThumbprint;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIsEnabled() const
-{
-	return iIsEnabled;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIsValid() const
-{
-	return iIsValid;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetLabel(const TCertLabel & aLabel)
-{
-	iLabel.Copy(aLabel);
-	if (iLabel.Length() != aLabel.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetLabel(): iLabel.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iLabelPresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetPrimaryName(const TBuf<KMaxCertNameLength> & aPrimaryName)
-{
-	iPrimaryName.Copy(aPrimaryName);
-	if (iPrimaryName.Length() != aPrimaryName.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetPrimaryName(): iPrimaryName.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iPrimaryNamePresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSecondaryName(const TBuf<KMaxCertNameLength> & aSecondaryName)
-{
-	iSecondaryName.Copy(aSecondaryName);
-	if (iSecondaryName.Length() != aSecondaryName.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSecondaryName(): iSecondaryName.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iSecondaryNamePresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSubjectKeyId(const TKeyIdentifier & aSubjectKeyId)
-{
-	iSubjectKeyId.Copy(aSubjectKeyId);
-	if (iSubjectKeyId.Length() != aSubjectKeyId.Length())
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSubjectKeyId(): iSubjectKeyId.Copy(): No memory.\n")));
-		return KErrNoMemory;
-	}
-
-	iSubjectKeyIdPresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetIsEnabled(const TBool aIsEnabled)
-{
-	iIsEnabled = aIsEnabled;
-	iIsEnabledPresent = ETrue;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt EapCertificateEntry::SetIsValid(const TBool aIsValid)
-{
-	iIsValid = aIsValid;
-
-	return KErrNone;
-}
-
-//-------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EAPSettings::EAPSettings()
-: iEAPExpandedType(*(EapExpandedTypeNone.GetType()))
-, iUseAutomaticCACertificatePresent(EFalse)
-, iUseAutomaticCACertificate(EFalse)
-, iUseAutomaticUsernamePresent(EFalse)
-, iUseAutomaticUsername(EFalse)
-, iUseAutomaticRealmPresent(EFalse)
-, iUsernamePresent(EFalse)
-, iPasswordExistPresent(EFalse)
-, iPasswordExist(EFalse)
-, iPasswordPresent(EFalse)
-, iRealmPresent(EFalse)
-, iUsePseudonymsPresent(EFalse)
-, iUsePseudonyms(EFalse)
-, iVerifyServerRealmPresent(EFalse)
-, iVerifyServerRealm(EFalse)
-, iRequireClientAuthenticationPresent(EFalse)
-, iRequireClientAuthentication(EFalse)
-, iSessionValidityTimePresent(EFalse)
-, iSessionValidityTime(0ul)
-, iCipherSuitesPresent(EFalse)
-, iCipherSuites(1)
-, iPEAPVersionsPresent(EFalse)
-, iPEAPv0Allowed(EFalse)
-, iPEAPv1Allowed(EFalse)
-, iPEAPv2Allowed(EFalse)
-, iCertificatesPresent(EFalse)
-, iCertificates(1)
-, iEnabledEncapsulatedEAPExpandedTypesPresent(EFalse)
-, iEnabledEncapsulatedEAPExpandedTypes(1)
-, iDisabledEncapsulatedEAPExpandedTypesPresent(EFalse)
-, iDisabledEncapsulatedEAPExpandedTypes(1)
-, iAuthProvModeAllowedPresent(EFalse)
-, iAuthProvModeAllowed(EFalse)
-, iUnauthProvModeAllowedPresent(EFalse)
-, iUnauthProvModeAllowed(EFalse)
-, iPACGroupReferencePresent(EFalse)
-, iWarnADHPNoPACPresent(EFalse)
-, iWarnADHPNoPAC(EFalse)
-, iWarnADHPNoMatchingPACPresent(EFalse)
-, iWarnADHPNoMatchingPAC(EFalse)
-, iWarnNotDefaultServerPresent(EFalse)
-, iWarnNotDefaultServer(EFalse)
-, iShowPassWordPromptPresent(EFalse)
-, iShowPassWordPrompt(EFalse)
-, iUseIdentityPrivacyPresent(EFalse)
-, iUseIdentityPrivacy(EFalse)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::EAPSettings(): this=0x%08x"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EAPSettings::EAPSettings()"));
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT EAPSettings::~EAPSettings()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): this=0x%08x"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EAPSettings::~EAPSettings()"));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iCipherSuites.Close()")));
-	iCipherSuites.Close(); // The Close() function must be called before RArray object is destroyed.
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iCertificates.ResetAndDestroy()")));
-	iCertificates.ResetAndDestroy(); // ResetAndDestroy() function must be called because the objects represented by the array need to be deleted before the array object is destroyed.
-    EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iCertificates.Close()")));
-	iCertificates.Close(); // The Close() function must be called before RPointerArray object is destroyed.
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iEnabledEncapsulatedEAPExpandedTypes.Close()")));
-	iEnabledEncapsulatedEAPExpandedTypes.Close(); // The Close() function must be called before RArray object is destroyed.
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iDisabledEncapsulatedEAPExpandedTypes.Close()")));
-	iDisabledEncapsulatedEAPExpandedTypes.Close(); // The Close() function must be called before RArray object is destroyed.
-}
-
-//-------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void EAPSettings::trace() const
-{
-	TUint ind = 0ul;
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iEAPExpandedType=0xfe%06x%08x"),
-		iEAPExpandedType.GetVendorId(),
-		iEAPExpandedType.GetVendorType()));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticCACertificatePresent=%d"),
-		iUseAutomaticCACertificatePresent));
-	if (iUseAutomaticCACertificatePresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iUseAutomaticCACertificate=%d"),
-			iUseAutomaticCACertificate) );
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticUsernamePresent=%d"),
-		iUseAutomaticUsernamePresent));
-	if (iUseAutomaticUsernamePresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iUseAutomaticUsername=%d"),
-			iUseAutomaticUsername) );
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticRealmPresent=%d"),
-		iUseAutomaticRealmPresent));
-	if (iUseAutomaticRealmPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iUseAutomaticRealm=%d"),
-			iUseAutomaticRealm) );
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUsernamePresent=%d"),
-		iUsernamePresent));
-	if (iUsernamePresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace():     iUsername",
-			iUsername.Ptr(),
-			iUsername.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPasswordExistPresent=%d"),
-		iPasswordExistPresent));
-	if (iPasswordExistPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iPasswordExist=%d"),
-			iPasswordExist) );
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPasswordPresent=%d"),
-		iPasswordPresent));
-	if (iPasswordPresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace():     iPassword",
-			iPassword.Ptr(),
-			iPassword.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iRealmPresent=%d"),
-		iRealmPresent));
-	if (iRealmPresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace():     iRealm",
-			iRealm.Ptr(),
-			iRealm.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUsePseudonymsPresent=%d"),
-		iUsePseudonymsPresent));
-	if (iUsePseudonymsPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iUsePseudonyms=%d"),
-			iUsePseudonyms) );
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iVerifyServerRealmPresent=%d"),
-		iVerifyServerRealmPresent));
-	if (iVerifyServerRealmPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iVerifyServerRealm=%d"),
-			iVerifyServerRealm));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iRequireClientAuthenticationPresent=%d"),
-		iRequireClientAuthenticationPresent));
-	if (iRequireClientAuthenticationPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iRequireClientAuthentication=%d"),
-			iRequireClientAuthentication));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iSessionValidityTimePresent=%d"),
-		iSessionValidityTimePresent));
-	if (iSessionValidityTimePresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iSessionValidityTime=%d"),
-			iSessionValidityTime));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCipherSuitesPresent=%d"),
-		iCipherSuitesPresent));
-	if (iCipherSuitesPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iCipherSuites=%d"),
-			iCipherSuites.Count()));
-		for (ind = 0ul; ind < iCipherSuites.Count(); ++ind)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iCipherSuites[%d]=%d"),
-				ind,
-				iCipherSuites[ind]));
-		}
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPEAPVersionsPresent=%d"),
-		iPEAPVersionsPresent));
-	if (iPEAPVersionsPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iPEAPv0Allowed=%d"),
-			iPEAPv0Allowed));
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iPEAPv1Allowed=%d"),
-			iPEAPv1Allowed));
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iPEAPv2Allowed=%d"),
-			iPEAPv2Allowed));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCertificatesPresent=%d"),
-		iCertificatesPresent));
-	if (iCertificatesPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iCertificates=%d"),
-			iCertificates.Count()));
-		for (ind = 0ul; ind < iCertificates.Count(); ++ind)
-		{
-			iCertificates[ind]->trace();
-		}
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iEnabledEncapsulatedEAPExpandedTypesPresent=%d"),
-		iEnabledEncapsulatedEAPExpandedTypesPresent));
-	if (iEnabledEncapsulatedEAPExpandedTypesPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iEnabledEncapsulatedEAPExpandedTypes=%d"),
-			iEnabledEncapsulatedEAPExpandedTypes.Count()));
-		for (ind = 0ul; ind < iEnabledEncapsulatedEAPExpandedTypes.Count(); ++ind)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iEnabledEncapsulatedEAPExpandedTypes[%d]=0xfe%06x%08x"),
-				ind,
-				iEnabledEncapsulatedEAPExpandedTypes[ind].GetVendorId(),
-				iEnabledEncapsulatedEAPExpandedTypes[ind].GetVendorType()));
-		}
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iDisabledEncapsulatedEAPExpandedTypesPresent=%d"),
-		iDisabledEncapsulatedEAPExpandedTypesPresent));
-	if (iDisabledEncapsulatedEAPExpandedTypesPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iDisabledEncapsulatedEAPExpandedTypes=%d"),
-			iDisabledEncapsulatedEAPExpandedTypes.Count()));
-		for (ind = 0ul; ind < iDisabledEncapsulatedEAPExpandedTypes.Count(); ++ind)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iDisabledEncapsulatedEAPExpandedTypes[%d]=0xfe%06x%08x"),
-				ind,
-				iDisabledEncapsulatedEAPExpandedTypes[ind].GetVendorId(),
-				iDisabledEncapsulatedEAPExpandedTypes[ind].GetVendorType()));
-		}
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iAuthProvModeAllowedPresent=%d"),
-		iAuthProvModeAllowedPresent));
-	if (iAuthProvModeAllowedPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iAuthProvModeAllowed=%d"),
-			iAuthProvModeAllowed));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUnauthProvModeAllowedPresent=%d"),
-		iUnauthProvModeAllowedPresent));
-	if (iUnauthProvModeAllowedPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iUnauthProvModeAllowed=%d"),
-			iUnauthProvModeAllowed));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPACGroupReferencePresent=%d"),
-		iPACGroupReferencePresent));
-	if (iPACGroupReferencePresent)
-	{
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace():     iPACGroupReference",
-			iPACGroupReference.Ptr(),
-			iPACGroupReference.Size()));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnADHPNoPACPresent=%d"),
-		iWarnADHPNoPACPresent));
-	if (iWarnADHPNoPACPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iWarnADHPNoPAC=%d"),
-			iWarnADHPNoPAC));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnADHPNoMatchingPACPresent=%d"),
-		iWarnADHPNoMatchingPACPresent));
-	if (iWarnADHPNoMatchingPACPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iWarnADHPNoMatchingPAC=%d"),
-			iWarnADHPNoMatchingPAC));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnNotDefaultServerPresent=%d"),
-		iWarnNotDefaultServerPresent));
-	if (iWarnNotDefaultServerPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iWarnNotDefaultServer=%d"),
-			iWarnNotDefaultServer));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iShowPassWordPromptPresent=%d"),
-		iShowPassWordPromptPresent));
-	if (iShowPassWordPromptPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iShowPassWordPrompt=%d"),
-			iShowPassWordPrompt));
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseIdentityPrivacyPresent=%d"),
-		iUseIdentityPrivacyPresent));
-	if (iUseIdentityPrivacyPresent)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace():     iUseIdentityPrivacy=%d"),
-			iUseIdentityPrivacy));
-	}
-}
-
-//-------------------------------------------------------------------------------------
-// end of file
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 20 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -31,7 +31,7 @@
 
 // INCLUDES
 #include "eap_am_memory.h"
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 
 #include "eap_am_semaphore_symbian.h"
 
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -11,12 +11,12 @@
 *
 * Contributors:
 *
-* Description:  Tools for common code to run on Symbian.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 36 %
+* %version: 22.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -28,13 +28,11 @@
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 
 
-#include <e32math.h>
-#include <utf.h>
 
 #include "eap_am_tools_symbian.h"
 #include "eap_am_types.h"
-#include "eap_automatic_variable.h"
-#include "EapTraceSymbian.h"
+#include <e32math.h>
+#include <utf.h>
 
 const TUint MAX_DB_TRANSACTION_RETRY_COUNT = 10;
 const u32_t EAP_TIMER_MAX_AFTER_TIME_MILLISECONDS_SYMBIAN = 2100000ul;
@@ -49,11 +47,6 @@
 
 EAP_FUNC_EXPORT eap_am_tools_symbian_c::~eap_am_tools_symbian_c()
 {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_tools_symbian_c::~eap_am_tools_symbian_c(): this=0x%08x"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: eap_am_tools_symbian_c::~eap_am_tools_symbian_c()"));
-
 	// If multithreading is used the log file is not kept open all the time
 	// so no need to close the handles here.
 #if defined(USE_EAP_FILE_TRACE)
@@ -70,7 +63,6 @@
 EAP_FUNC_EXPORT eap_am_tools_symbian_c::eap_am_tools_symbian_c(eap_const_string /*pfilename*/)
 	: eap_am_tools_c()
 	, CTimer(CTimer::EPriorityStandard)
-	, m_prefix_string(this)
 	, m_start_ticks(0)
 	, m_directory_exists(false)
 	, m_crypto(this)
@@ -87,40 +79,16 @@
 
 #if defined(USE_EAP_HARDWARE_TRACE)
 	set_trace_mask(
-		TRACE_FLAGS_ALWAYS
-		| TRACE_FLAGS_ERROR
+		eap_am_tools_c::eap_trace_mask_always
+		| eap_am_tools_c::eap_trace_mask_error
 		| eap_am_tools_c::eap_trace_mask_debug
-		| EAP_TRACE_FLAGS_MESSAGE_DATA
-		| TRACE_FLAGS_TIMER
-		| TRACE_FLAGS_TIMER_QUEUE);
+		| eap_am_tools_c::eap_trace_mask_message_data);
 #endif //#if defined(USE_EAP_HARDWARE_TRACE)
 
-	const u8_t DEFAULT_PREFIX[] = "EAPOL";
-
-	eap_status_e status = m_prefix_string.set_copy_of_buffer(DEFAULT_PREFIX, sizeof(DEFAULT_PREFIX)-1ul);;
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT);
-		(void)EAP_STATUS_RETURN(this, status);
-		return;
-	}
-
-	status = m_prefix_string.add_end_null();
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT);
-		(void)EAP_STATUS_RETURN(this, status);
-		return;
-	}
-
 	EAP_TRACE_DEBUG(
 		this,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_tools_symbian_c::eap_am_tools_symbian_c(): this = 0x%08x => 0x%08x\n"),
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	EAP_TRACE_RETURN_STRING(this, "returns: eap_am_tools_symbian_c::eap_am_tools_symbian_c()");
+		(EAPL("eap_am_tools_symbian_c::eap_am_tools_symbian_c()\n")));
 
 	if (m_crypto.get_is_valid() == false)
 	{
@@ -192,8 +160,6 @@
 		TRACE_FLAGS_DEFAULT,
 		(EAPL("eap_am_tools_symbian_c::configure()\n")));
 
-	EAP_TRACE_RETURN_STRING(this, "returns: eap_am_tools_symbian_c::configure()");
-
 	if (m_configure_called == true)
 	{
 		return EAP_STATUS_RETURN(this, eap_status_ok);
@@ -201,12 +167,10 @@
 
 #if defined(USE_EAP_HARDWARE_TRACE)
 	set_trace_mask(
-		TRACE_FLAGS_ALWAYS
-		| TRACE_FLAGS_ERROR
+		eap_am_tools_c::eap_trace_mask_always
+		| eap_am_tools_c::eap_trace_mask_error
 		| eap_am_tools_c::eap_trace_mask_debug
-		| EAP_TRACE_FLAGS_MESSAGE_DATA
-		| TRACE_FLAGS_TIMER
-		| TRACE_FLAGS_TIMER_QUEUE);
+		| eap_am_tools_c::eap_trace_mask_message_data);
 #endif //#if defined(USE_EAP_HARDWARE_TRACE)
 
 	m_start_ticks = get_clock_ticks();
@@ -415,28 +379,23 @@
 			TInt64 _hours = _minutes / _div_60;
 			_minutes = _minutes - _hours* _div_60;
 
-			_LIT8(KFormat1, "%02d:%02d:%02d.%06d:%s:");
+			_LIT8(KFormat1, "%02d:%02d:%02d.%06d:EAPOL:");
 
 			m_trace_buf.Format(
 				KFormat1,
 				static_cast<TInt32>(_hours),
 				static_cast<TInt32>(_minutes),
 				static_cast<TInt32>(_seconds),
-				static_cast<TInt32>(_micro_seconds),
-				m_prefix_string.get_data());
+				static_cast<TInt32>(_micro_seconds));				
 		}
 
 	}
 	else
 	{
-		_LIT8(KFormat2, "%08x%08x:%s:");
+		_LIT8(KFormat2, "%08x%08x:EAPOL:");
 
 		u32_t *time_stamp_u32_t = reinterpret_cast<u32_t *>(&time_stamp);
-		m_trace_buf.Format(
-			KFormat2,
-			time_stamp_u32_t[1],
-			time_stamp_u32_t[0],
-			m_prefix_string.get_data());
+		m_trace_buf.Format(KFormat2, time_stamp_u32_t[1], time_stamp_u32_t[0]);		
 	}
 
 	VA_LIST args = {0,};
@@ -485,10 +444,10 @@
 #if defined(USE_EAP_FILE_TRACE)
 
 	#if defined (USE_MULTITHREADING)
-		RFs session;
-
 		if (m_filename.Length() > 0ul)
 		{
+			RFs session;
+			
 			TInt result = session.Connect();	
 			if (result != KErrNone)
 			{
@@ -558,35 +517,6 @@
 	return m_run_thread;
 }
 
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::set_trace_prefix(
-	const eap_variable_data_c * const prefix8bit)
-{
-	EAP_TRACE_BEGIN(this, TRACE_FLAGS_DEFAULT);
-
-	enter_trace_mutex();
-
-	eap_status_e status = m_prefix_string.set_copy_of_buffer(prefix8bit);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(this, status);
-	}
-
-	status = m_prefix_string.add_end_null();
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(this, status);
-	}
-
-	leave_trace_mutex();
-
-	EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT);
-	return eap_status_ok;
-}
 
 //--------------------------------------------------
 
@@ -594,23 +524,14 @@
 EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::set_trace_file_name(
 	const eap_variable_data_c * const trace_output_file)
 {
-	EAP_TRACE_DEBUG(
-		this,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_tools_symbian_c::set_trace_file_name()")));
-
-	EAP_TRACE_RETURN_STRING(this, "returns: eap_am_tools_symbian_c::set_trace_file_name()");
-
 	EAP_TRACE_BEGIN(this, TRACE_FLAGS_DEFAULT);
 
 	EAP_UNREFERENCED_PARAMETER(trace_output_file);
 	
 #if defined(USE_EAP_FILE_TRACE)
 #if defined(USE_EAP_TRACE) || defined(USE_EAP_TRACE_ALWAYS)
-
 	TBuf8<64> tmpFilename((TUint8 *)trace_output_file->get_data(trace_output_file->get_data_length()));
 	tmpFilename.SetLength(trace_output_file->get_data_length());
-
 	enter_trace_mutex();
 
 	m_filename.Copy(tmpFilename);
@@ -843,8 +764,7 @@
 //
 EAP_FUNC_EXPORT u64_t eap_am_tools_symbian_c::get_clock_ticks_of_second()
 {
-	const u64_t COUNT_OF_CLOCK_TICS_IN_ONE_SECOND = 1000000ul;
-	return COUNT_OF_CLOCK_TICS_IN_ONE_SECOND;
+	return 1000000u;
 }
 
 //--------------------------------------------------
@@ -985,8 +905,6 @@
 
 }
 
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT void eap_am_tools_symbian_c::leave_crypto_cs()
 {
 
@@ -1003,11 +921,10 @@
 
 EAP_FUNC_EXPORT void eap_am_tools_symbian_c::sleep(u32_t milli_seconds)
 {
-	After(limit_microsecond_timeout(milli_seconds));
+	User::After(limit_microsecond_timeout(milli_seconds));
 }
 
 //--------------------------------------------------
-
 EAP_FUNC_EXPORT u32_t eap_am_tools_symbian_c::get_gmt_unix_time()
 {
 	_LIT(KStart, "19700000:000000.000000");
@@ -1018,7 +935,6 @@
 	now.SecondsFrom(start, interval);
 	return interval.Int();
 }
-
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT bool eap_am_tools_symbian_c::get_is_valid() const
@@ -1033,7 +949,7 @@
 	EAP_TRACE_DEBUG(
 		this,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(): error=%d\n"),
+		(EAPL("eap_am_tools_symbian_c::convert_am_error_to_eapol_error: error=%d\n"),
 		aErr));
 
 	eap_status_e status;
@@ -1109,14 +1025,12 @@
 	return status;
 }
 
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT i32_t eap_am_tools_symbian_c::convert_eapol_error_to_am_error(eap_status_e aErr)
 {
 	EAP_TRACE_DEBUG(
 		this,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_tools_symbian_c::convert_eapol_error_to_am_error(): error=%d\n"),
+		(EAPL("eap_am_tools_symbian_c::convert_am_error_to_eapol_error: error=%d\n"),
 		aErr));
 
 	TInt status;
@@ -1144,7 +1058,6 @@
 		status = KErrCompletion;
 		break;
 
-	case eap_status_not_found:
 	case eap_status_illegal_configure_field:
 		status = KErrNotFound;
 		break;
@@ -1244,7 +1157,7 @@
 		
 		// Wait 0 - 524287 microseconds
 		randomWait = randomWait & 0x7ffff;
-		After(randomWait);
+		User::After(randomWait);
 	}
 	return EAP_STATUS_RETURN(this, status);
 }
@@ -1279,7 +1192,7 @@
 		
 		// Wait 0 - 524287 microseconds
 		randomWait = randomWait & 0x7ffff;
-		After(randomWait);
+		User::After(randomWait);
 	}
 	return EAP_STATUS_RETURN(this, status);
 }
@@ -1314,7 +1227,7 @@
 		
 		// Wait 0 - 524287 microseconds
 		randomWait = randomWait & 0x7ffff;
-		After(randomWait);
+		User::After(randomWait);
 	}
 	return EAP_STATUS_RETURN(this, status);
 }
@@ -1331,9 +1244,6 @@
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
 
-	// Note, tools cannot be used to trace on return.
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: eap_am_tools_symbian_c::shutdown()"));
-
 	StopTimer();
 	
 	return eap_am_tools_c::shutdown_am_tools();
@@ -1583,10 +1493,6 @@
 
 EAP_FUNC_EXPORT_INTERFACE abs_eap_am_tools_c * abs_eap_am_tools_c::new_abs_eap_am_tools_c()
 {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("abs_eap_am_tools_c::new_abs_eap_am_tools_c()")));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: abs_eap_am_tools_c::new_abs_eap_am_tools_c()"));
-
 	abs_eap_am_tools_c *am_tools = new eap_am_tools_symbian_c(EAP_DEFAULT_TRACE_FILE);
 
 	if (am_tools != 0)
@@ -1603,7 +1509,7 @@
 			EAP_TRACE_DEBUG(
 				am_tools,
 				TRACE_FLAGS_TIMER,
-				(EAPL("abs_eap_am_tools_c::new_abs_eap_am_tools_c(0x%08x): success\n"),
+				(EAPL("abs_eap_am_tools_c::new_abs_eap_am_tools_c() => 0x%08x success\n"),
 				am_tools));
 		}
 	}
@@ -1615,22 +1521,15 @@
 
 EAP_FUNC_EXPORT_INTERFACE void abs_eap_am_tools_c::delete_abs_eap_am_tools_c(abs_eap_am_tools_c * const am_tools)
 {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("abs_eap_am_tools_c::delete_abs_eap_am_tools_c()")));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: abs_eap_am_tools_c::delete_abs_eap_am_tools_c()"));
+	EAP_TRACE_DEBUG(
+		am_tools,
+		TRACE_FLAGS_TIMER,
+		(EAPL("abs_eap_am_tools_c::delete_abs_eap_am_tools_c(0x%08x)\n"),
+		am_tools));
 
-	if (am_tools != 0)
-		{
-		EAP_TRACE_DEBUG(
-			am_tools,
-			TRACE_FLAGS_TIMER,
-			(EAPL("abs_eap_am_tools_c::delete_abs_eap_am_tools_c(0x%08x)\n"),
-			am_tools));
-	
-		(void)am_tools->shutdown();
-	
-		delete am_tools;
-		}
+	(void)am_tools->shutdown();
+
+	delete am_tools;
 }
 
 //--------------------------------------------------
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2005 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"
@@ -11,30 +11,29 @@
 *
 * Contributors:
 *
-* Description:  Trace functions on Symbian.
+* Description:  EAP and WLAN authentication protocols.
 *
 */
 
 /*
-* %version: 16 %
+* %version: 7.1.3 %
 */
 
-#include "EapTraceSymbian.h"
-#include "eap_tools.h"
+#if defined(_DEBUG) || defined(DEBUG)
+
+#include "eap_am_trace_symbian.h"
 
-const TInt KMaxBufferSize = 512;
+const TInt KMaxBufferSize = 256;
 
-//-------------------------------------------------------------------------
-
-TUint8 octet_to_ascii(i32_t octet)
+u8_t octet_to_ascii(i32_t octet)
 {
 	if (0 <= octet && octet <= 9)
 	{
-		return static_cast<TUint8>('0' + octet);
+		return static_cast<u8_t>('0' + octet);
 	}
 	else if (10 <= octet && octet <= 16)
 	{
-		return static_cast<TUint8>('a' + (octet-10u));
+		return static_cast<u8_t>('a' + (octet-10u));
 	}
 	else
 	{
@@ -42,9 +41,7 @@
 	}
 }
 
-//-------------------------------------------------------------------------
-
-void formatted_print(const char * const format, ...)
+void formatted_print(eap_format_string format, ...)
 {
 	EAP_UNREFERENCED_PARAMETER(format);
 
@@ -79,7 +76,7 @@
 	TPtr8 m_trace_buf = trace_buf->Des();
 	TPtr16 m_trace_buf_16 = trace_buf_16->Des();
 
-	VA_LIST args = {0, };
+	VA_LIST args;
 	VA_START(args, format);
 	m_format_buf.Copy((const TUint8 *)format);
 	
@@ -114,7 +111,7 @@
 		#if defined(USE_EAP_HARDWARE_TRACE_RAW_PRINT)
 			RDebug::RawPrint(m_trace_buf_16);
 		#else
-			RDebug::Print(_L("%S"), &m_trace_buf_16);
+			formatted_print(_L("%S"), &m_trace_buf_16);
 		#endif //#if defined(USE_EAP_HARDWARE_TRACE_RAW_PRINT)
 	}
 
@@ -129,19 +126,18 @@
 
 }
 
-//-------------------------------------------------------------------------
 
-EXPORT_C void eap_trace_data_symbian(
-	const char * const prefix,
+void trace_data(
+	eap_const_string prefix,
 	const void * const p_data,
-	const TUint data_length)
+	const u32_t data_length)
 {
 
-	TUint8* m_tmp_buffer = NULL;	
-	TUint8* m_tmp_ascii_buffer = NULL;
+	u8_t* m_tmp_buffer = NULL;	
+	u8_t* m_tmp_ascii_buffer = NULL;
 		
-	m_tmp_buffer = new TUint8[KMaxBufferSize];	
-	m_tmp_ascii_buffer = new TUint8[KMaxBufferSize];
+	m_tmp_buffer = new u8_t[KMaxBufferSize];	
+	m_tmp_ascii_buffer = new u8_t[KMaxBufferSize];
 		
 	if( m_tmp_buffer == NULL || m_tmp_ascii_buffer == NULL)
 	{
@@ -154,16 +150,16 @@
 		return;
 	}
 
-	TUint8 *cursor = m_tmp_buffer;
-	TUint8 *cursor_ascii = m_tmp_ascii_buffer;
+	u8_t *cursor = m_tmp_buffer;
+	u8_t *cursor_ascii = m_tmp_ascii_buffer;
 	
-	const TUint8 *data = reinterpret_cast<const TUint8 *>(p_data);
-	TUint ind;
+	const u8_t *data = reinterpret_cast<const u8_t *>(p_data);
+	u32_t ind;
 	bool must_print = false;
-	TUint data_start = 0u;
+	u32_t data_start = 0u;
 
-	const TUint EAP_DATA_TRACE_BYTE_GROUP_SIZE = 1;
-	TUint byte_group_size = EAP_DATA_TRACE_BYTE_GROUP_SIZE;
+	const u32_t EAP_DATA_TRACE_BYTE_GROUP_SIZE = 1;
+	u32_t byte_group_size = EAP_DATA_TRACE_BYTE_GROUP_SIZE;
 
 #if !defined(USE_EAP_DEBUG_TRACE)
 	// This does not trace the pointer of the data.
@@ -250,24 +246,8 @@
 	
 	delete [] m_tmp_buffer;
 	delete [] m_tmp_ascii_buffer;
+}
 
-#if !defined(USE_EAP_DEBUG_TRACE)
-	// This does not trace the pointer of the data.
-	formatted_print(
-		"%s: data ends: %d (0x%x) bytes\n",
-		prefix,
-		data_length,
-		data_length);
-#else
-	formatted_print(
-		"%s: data ends 0x%08x: %d (0x%x) bytes\n",
-		prefix,
-		p_data,
-		data_length,
-		data_length);
 #endif
 
-}
-
-//-------------------------------------------------------------------------
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3981 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 17.1.2.1.1 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 148 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+
+// INCLUDE FILES
+
+#include "eap_am_memory.h"
+
+#include "eap_variable_data.h"
+#include "eap_tools.h"
+#include "eap_type_all.h"
+
+#include "eapol_am_core_symbian.h"
+#include "eapol_ethernet_header.h"
+#include "ethernet_core.h"
+#include "eap_am_tools_symbian.h"
+#include <EapolToWlmIf.h>
+#include "EapolDbDefaults.h"
+#include "EapolDbParameterNames.h"
+#include "eap_crypto_api.h"
+#include "eap_header_string.h"
+#include "eap_am_file_input_symbian.h"
+#include "eap_rogue_ap_entry.h"
+#include "abs_eap_state_notification.h"
+#include "eapol_session_key.h"
+#include "eap_buffer.h"
+#include "eap_config.h"
+
+#if defined(USE_EAP_FILECONFIG)
+	#include "eap_file_config.h"
+#endif //#if defined(USE_EAP_FILECONFIG)
+
+#if defined (USE_EAPOL_KEY_STATE) 
+	#include "eapol_key_state.h"	
+#endif
+
+// LOCAL CONSTANTS
+const TUint KMaxSqlQueryLength = 2048;
+const TUint KMaxConfigStringLength = 256;
+const u32_t KMTU = 1500u;
+const u32_t KTrailerLength = 0;
+const u32_t KHeaderOffset = 0;
+const TUint KMaxEapCueLength = 3;
+
+enum eapol_am_core_timer_id_e
+{
+	EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID,
+	EAPOL_AM_CORE_TIMER_DELETE_STACK_ID,
+	EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID,
+};
+
+
+const TUint8 TEST_RSN_IE[] =
+{
+	0xdd, // information element id, 221 expressed as Hex value
+	0x14, // length in octets, 20 expressed as Hex value
+	0x01, 0x00, // Version 1
+	0x00, 0x0f, 0xac, 0x04, // CCMP as group key cipher suite
+	0x01, 0x00, // pairwise key cipher suite count
+	0x00, 0x0f, 0xac, 0x04, // CCMP as pairwise key cipher suite
+	0x01, 0x00, // authentication count
+	0x00, 0x0f, 0xac, 0x01, // 802.1X authentication
+	0x01, 0x00, // Pre-authentication capabilities
+};
+
+// ================= MEMBER FUNCTIONS =======================
+
+eapol_am_core_symbian_c::eapol_am_core_symbian_c(MEapolToWlmIf * const aPartner,
+												 const bool is_client_when_true,
+												 const TUint aServerIndex)
+: CActive(CActive::EPriorityStandard)
+, m_partner(aPartner)
+, m_ethernet_core(0)
+, m_am_tools(0)
+, m_enable_random_errors(false)
+, m_error_probability(0u)
+, m_generate_multiple_error_packets(0u)
+, m_authentication_counter(0u)
+, m_successful_authentications(0u)
+, m_failed_authentications(0u)
+, m_is_valid(false)
+, m_is_client(is_client_when_true)
+, m_eap_index(0u)
+, m_index_type(ELan)
+, m_index(aServerIndex)
+//, m_timer(0)
+, m_packet_index(0)
+, m_manipulate_ethernet_header(false)
+, m_send_original_packet_first(false)
+, m_authentication_indication_sent(false)
+, m_unicast_wep_key_received(false)
+, m_broadcast_wep_key_received(false)
+, m_block_packet_sends_and_notifications(false)
+, m_success_indication_sent(false)
+, m_first_authentication(true)
+, m_self_disassociated(false)
+, m_802_11_authentication_mode(EAuthModeOpen)
+, m_receive_network_id(0)
+, m_wpa_override_enabled(false)
+, m_wpa_psk_mode_allowed(false)
+, m_wpa_psk_mode_active(false)
+, m_stack_marked_to_be_deleted(false)
+, m_active_type_is_leap(false)
+, m_fileconfig(0)
+{
+}	
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::ConstructL()
+{
+	if (m_partner == 0)
+	{
+		User::Leave(KErrGeneral);
+	}
+
+	// Create tools class
+	m_am_tools = new(ELeave) eap_am_tools_symbian_c(EAP_DEFAULT_TRACE_FILE);
+	if (m_am_tools->get_is_valid() != true)
+	{
+		// The real reason most likely is KErrNoMemory but since that is not sure we'll use KErrGeneral
+		User::Leave(KErrGeneral);
+	}
+	if (m_am_tools->configure() != eap_status_ok)
+	{
+		User::Leave(KErrGeneral);
+	}
+
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("EAPOL INITIALISATION\n")));	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("====================\n")));	
+
+	m_wpa_preshared_key = new (ELeave) eap_variable_data_c(m_am_tools);
+
+	m_ssid = new (ELeave) eap_variable_data_c(m_am_tools);
+
+	m_wpa_psk_password_override = new (ELeave) eap_variable_data_c(m_am_tools);
+
+	// Create/initialise the database
+	OpenDatabaseL(m_database, m_session);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("Database initialized...\n")));
+	
+#if defined(USE_EAP_FILECONFIG)
+
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Initialize file configuration.\n")));
+			eap_am_file_input_symbian_c fileio(m_am_tools);
+
+		eap_variable_data_c file_name_c_data(m_am_tools);
+
+		eap_status_e status(eap_status_process_general_error);
+
+		{
+			eap_const_string const FILECONFIG_FILENAME_C
+				= "c:\\system\\data\\eap.conf";
+
+			status = file_name_c_data.set_copy_of_buffer(
+				FILECONFIG_FILENAME_C,
+				m_am_tools->strlen(FILECONFIG_FILENAME_C));
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+
+			status = file_name_c_data.add_end_null();
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+		}
+
+		eap_variable_data_c file_name_z_data(m_am_tools);
+
+		{
+			eap_const_string const FILECONFIG_FILENAME_Z
+				= "z:\\private\\101F8EC5\\eap.conf";
+
+			status = file_name_z_data.set_copy_of_buffer(
+				FILECONFIG_FILENAME_Z,
+				m_am_tools->strlen(FILECONFIG_FILENAME_Z));
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+
+			status = file_name_z_data.add_end_null();
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+		}
+
+		if (status == eap_status_ok)
+		{
+			// First try open from C: disk.
+			status = fileio.file_open(
+				&file_name_c_data,
+				eap_file_io_direction_read);
+			if (status == eap_status_ok)
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("Opens configure file %s\n"),
+					file_name_c_data.get_data(file_name_c_data.get_data_length())));
+			}
+			else if (status != eap_status_ok)
+			{
+				// Second try open from Z: disk.
+				status = fileio.file_open(
+					&file_name_z_data,
+					eap_file_io_direction_read);
+				if (status == eap_status_ok)
+				{
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("Opens configure file %s\n"),
+						 file_name_z_data.get_data(file_name_z_data.get_data_length())));
+				}
+			}
+
+			if (status == eap_status_ok)
+			{
+				// Some of the files were opened.
+
+				m_fileconfig = new eap_file_config_c(m_am_tools);
+				if (m_fileconfig != 0
+					&& m_fileconfig->get_is_valid() == true)
+				{
+					status = m_fileconfig->configure(&fileio);
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_DEBUG(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("ERROR: Configure read from %s failed.\n"),
+							file_name_c_data.get_data(file_name_c_data.get_data_length())));
+					}
+					else
+					{
+						EAP_TRACE_DEBUG(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("Configure read from %s\n"),
+							file_name_c_data.get_data(file_name_c_data.get_data_length())));
+					}
+				}
+				else
+				{
+					// No file configuration.
+					delete m_fileconfig;
+					m_fileconfig = 0;
+
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("ERROR: Cannot create configure object for file %s\n"),
+						file_name_c_data.get_data(file_name_c_data.get_data_length())));
+				}
+			}
+			else
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("ERROR: Cannot open configure file neither %s nor %s\n"),
+					file_name_c_data.get_data(file_name_c_data.get_data_length()),
+					file_name_z_data.get_data(file_name_z_data.get_data_length())));
+			}
+		}
+	}
+
+#endif //#if defined(USE_EAP_FILECONFIG)
+
+#if !defined(USE_EAP_HARDWARE_TRACE)
+	{
+		// Disable traces.
+		m_am_tools->set_trace_mask(eap_am_tools_c::eap_trace_mask_none);
+
+		eap_variable_data_c trace_output_file(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_TRACE_output_file_name.get_field(),
+			&trace_output_file);
+		if (status == eap_status_ok
+			&& trace_output_file.get_is_valid_data() == true)
+		{
+			status = m_am_tools->set_trace_file_name(&trace_output_file);
+			if (status == eap_status_ok)
+			{
+				// OK, set the default trace mask.
+				m_am_tools->set_trace_mask(
+					eap_am_tools_c::eap_trace_mask_debug
+					| eap_am_tools_c::eap_trace_mask_always
+					| eap_am_tools_c::eap_trace_mask_error);
+			}
+		}
+	}
+#endif //#if defined(USE_EAP_HARDWARE_TRACE)
+
+
+	{
+		eap_status_e status = configure();
+		if (status != eap_status_ok)
+		{
+			User::Leave(KErrGeneral);
+			User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+		}
+	}
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("Configured EAPOL AM...\n")));
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("Created timer...\n")));
+
+	// SERVER TEST CODE
+	if (m_is_client == false)
+	{
+		TRAPD(err, ReadEAPSettingsL());
+		if (err != KErrNone)
+		{
+			// Setting reading from CommDB failed. Use default values instead (only EAP-SIM).
+			
+			// SIM
+			_LIT(KSIM, "18");
+			TEap* sim = new(ELeave) TEap;
+			CleanupStack::PushL(sim);
+			sim->Enabled = ETrue;
+			sim->UID.Copy(KSIM);		
+			User::LeaveIfError(m_iap_eap_array.Append(sim));
+			CleanupStack::Pop(sim);
+		}
+
+	}
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("========================\n")));
+
+	set_is_valid();
+
+}
+
+
+//--------------------------------------------------
+
+eapol_am_core_symbian_c* eapol_am_core_symbian_c::NewL(MEapolToWlmIf * const aPartner,
+												  const bool aIsClient,
+												  const TUint aServerIndex)
+{
+	eapol_am_core_symbian_c* self = new(ELeave) eapol_am_core_symbian_c(aPartner, aIsClient, aServerIndex);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+
+	if (self->get_is_valid() != true)
+	{
+		User::Leave(KErrGeneral);
+	}
+
+	CleanupStack::Pop();
+	return self;
+}
+
+//--------------------------------------------------
+
+eapol_am_core_symbian_c::~eapol_am_core_symbian_c()
+{
+
+#if defined(USE_EAP_FILECONFIG)
+	delete m_fileconfig;
+	m_fileconfig = 0;
+#endif //#if defined(USE_EAP_FILECONFIG)
+
+	shutdown();
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::shutdown()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::shutdown()\n")));
+
+	// Cancel timer	
+	cancel_all_timers();
+
+	// Delete upper stack if it still exists
+	if (m_ethernet_core != 0)
+	{
+		m_ethernet_core->shutdown();
+		delete m_ethernet_core;
+	}
+	
+	delete m_wpa_preshared_key;
+	
+	delete m_ssid;
+
+	delete m_wpa_psk_password_override;
+
+	delete m_receive_network_id;
+
+	m_database.Close();
+	m_session.Close();
+
+	// Print some statistics
+	if (m_is_client)
+	{
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_TEST_VECTORS,
+			(EAPL("client authentication SUCCESS %d, FAILED %d, count %d\n"),
+			m_successful_authentications,
+			m_failed_authentications,
+			m_authentication_counter));	
+	}
+	else
+	{
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_TEST_VECTORS,
+			(EAPL("server authentication SUCCESS %d, FAILED %d, count %d\n"),
+			m_successful_authentications,
+			m_failed_authentications,
+			m_authentication_counter));
+	}	
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("EAPOL EXITING.\n")));
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+
+	// Finally delete tools. No logging is allowed after this.
+	if (m_am_tools != 0)
+	{
+		m_am_tools->shutdown();
+		delete m_am_tools;
+	}
+
+
+	// Unload all loaded plugins
+	// NOTE this must be after the m_am_tools->shutdown() call.
+	// m_am_tools->shutdown() will run virtual functions of some plugins.
+	for(int i = 0; i < m_plugin_if_array.Count(); i++)
+	{
+		delete m_plugin_if_array[i];
+	}
+
+	m_plugin_if_array.Close();
+	m_eap_type_array.Close();
+
+	// Delete the IAP EAP type info array
+	m_iap_eap_array.ResetAndDestroy();
+	
+
+	return eap_status_ok;
+}
+
+//--------------------------------------------------
+
+//
+void eapol_am_core_symbian_c::RunL()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::RunL(): iStatus.Int() = %d\n"),
+		iStatus.Int()));
+
+	if (iStatus.Int() != KErrNone)
+	{
+		return;
+	}
+
+	// Authentication cancelled.
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("Authentication cancelled.\n")));
+
+	// Set block on.
+	m_block_packet_sends_and_notifications = true;
+
+	// Reset flags
+	m_success_indication_sent = false;
+	m_unicast_wep_key_received = false;
+	m_broadcast_wep_key_received = false;
+	m_authentication_indication_sent = false;
+
+	m_stack_marked_to_be_deleted = true;
+	set_timer(this, EAPOL_AM_CORE_TIMER_DELETE_STACK_ID, 0, 0);
+	
+	// reset index
+	m_eap_index = 0;
+
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+	m_partner->EapIndication(EFailedCompletely);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+}
+
+//--------------------------------------------------
+
+//
+void eapol_am_core_symbian_c::DoCancel()
+{	
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::DoCancel()\n")));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+}
+
+//--------------------------------------------------
+
+//
+TInt eapol_am_core_symbian_c::Start(const TIndexType aIndexType, 
+									const TUint aIndex, 
+									const TSSID& aSSID, 
+									const TBool aWPAOverrideEnabled,
+									const TUint8* aWPAPSK,
+									const TUint aWPAPSKLength)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::Start()\n")));
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("STARTING AUTHENTICATION.\n")));
+
+	eap_status_e status(eap_status_ok);
+
+	if (m_ethernet_core != 0)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Deleting previously used stack.\n")));
+
+		// It is an error to call start without calling disassociated
+		if (m_stack_marked_to_be_deleted == false)
+		{	
+			EAP_TRACE_ERROR(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("eapol_am_core_symbian_c::Start called twice!\n")));
+			return KErrAlreadyExists;
+		}
+
+		// The previously used stack is perhaps still waiting for deletion.
+		cancel_timer(this, EAPOL_AM_CORE_TIMER_DELETE_STACK_ID);
+	
+		// Delete stack
+		m_ethernet_core->shutdown();
+		delete m_ethernet_core;
+		m_ethernet_core = 0;				
+		
+		m_stack_marked_to_be_deleted = false;
+	}
+
+	// Clear packet send and notification blocking.
+	m_block_packet_sends_and_notifications = false;
+
+	// Store SSID. This is needed for WPA PSK calculation.
+	if (aSSID.ssidLength > 0)
+	{		
+		status = m_ssid->set_copy_of_buffer(aSSID.ssid, aSSID.ssidLength);
+		if (status != eap_status_ok)
+		{
+			return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));
+		}
+	}
+	
+	// Store WPAPSK. This is needed for WPA PSK mode in Easy WLAN.
+	if (aWPAPSKLength > 0
+		&& aWPAPSK != 0)
+	{		
+		status = m_wpa_psk_password_override->set_copy_of_buffer(aWPAPSK, aWPAPSKLength);
+		if (status != eap_status_ok)
+		{
+			return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));
+		}
+	}		
+
+	if (aWPAOverrideEnabled)
+	{
+		m_wpa_override_enabled = true;
+	}
+	else
+	{
+		m_wpa_override_enabled = false;
+	}
+	
+	///////////////////////////////////
+	// Get EAP parameters from CommDbIf
+	///////////////////////////////////
+	m_index_type = aIndexType;
+	m_index = aIndex;
+
+	TRAPD(err, ReadEAPSettingsL());
+	if (err != KErrNone)
+	{
+		EAP_TRACE_ERROR(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("EAP settings reading from CommDb failed or cancelled(err %d).\n"), err));
+		m_partner->EapIndication(EFailedCompletely);
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return err;
+	}
+
+	// Start new authentication from scratch.
+	m_unicast_wep_key_received = false;
+	m_broadcast_wep_key_received = false;
+	m_wpa_psk_mode_active = false;
+	
+	if (m_wpa_psk_mode_allowed == false
+		|| m_wpa_preshared_key->get_data_length() == 0)
+	{
+		// Check the first enabled type
+		TEap* eapType = 0;
+		TInt i(0);
+		for (i = 0; i < m_iap_eap_array.Count(); i++)
+		{
+			// Check if type is enabled
+			eapType = m_iap_eap_array[i];
+			if (eapType->Enabled == 1)
+			{	
+				break;
+			}
+		}
+		if (i >= m_iap_eap_array.Count())
+		{
+			// No enabled EAP types.
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("No enabled EAP types.\n")));
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+			m_partner->EapIndication(EFailedCompletely);
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return KErrNone; 
+		}	
+
+		// reset index (start from the first enabled EAP type)
+		m_eap_index = i;
+
+		// Check if the first enabled type is LEAP.
+		TLex8 tmp(eapType->UID);
+		TInt type(0);
+		tmp.Val(type);
+		
+		switch (type)
+		{
+		case eap_type_leap:
+			if (m_security_mode != Wpa
+				&& m_security_mode != Wpa2Only)
+			{
+				m_802_11_authentication_mode = EAuthModeLeap;
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+					(EAPL("Start: Trying auth mode LEAP.\n")));
+			}
+			else
+			{
+				// If security mode is WPA or WPA2 then even LEAP uses open authentication!
+				m_802_11_authentication_mode = EAuthModeOpen;
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+					(EAPL("Start: Trying auth mode OPEN (LEAP in WPA mode).\n")));
+			}
+
+			m_active_type_is_leap = true;
+			break;
+		default:
+			m_802_11_authentication_mode = EAuthModeOpen;
+
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+				(EAPL("Start: Trying auth mode OPEN.\n")));
+
+			m_active_type_is_leap = false;
+			break;
+		}
+	}
+	else
+	{
+		// WPA Pre-shared key mode
+		m_active_type_is_leap = false;
+		m_wpa_psk_mode_active = true;
+		m_802_11_authentication_mode = EAuthModeOpen;
+
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+			(EAPL("Start: Trying auth mode OPEN.\n")));
+	}
+		
+	// Ignore return value. Result comes with CompleteAssociation call.
+	m_partner->Associate(m_802_11_authentication_mode);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+	return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));
+}
+
+//--------------------------------------------------
+
+//
+TInt eapol_am_core_symbian_c::CompleteAssociation(
+		const TInt aResult,
+		const TMacAddress& aLocalAddress, 
+		const TMacAddress& aRemoteAddress,
+		const TUint8* const aReceivedWPAIE, // WLM must give only the WPA IE to EAPOL									        
+		const TUint aReceivedWPAIELength,
+		const TUint8* const aSentWPAIE,
+		const TUint aSentWPAIELength,
+		const TWPACipherSuite aGroupKeyCipherSuite,
+		const TWPACipherSuite aPairwiseKeyCipherSuite
+		)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
+
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::CompleteAssociation(): aResult %d\n"),
+		aResult));
+
+	eap_status_e status(eap_status_ok);
+
+	// ASSOCIATION UNSUCCESSFUL
+	if (aResult != KErrNone)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CompleteAssociation: Unsuccessful.\n")));
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("Got AP MAC address"),
+			aRemoteAddress.iMacAddress,
+			KMacAddressLength));
+
+		// Report rogue AP if we tried LEAP and it failed
+		if (m_802_11_authentication_mode == EAuthModeLeap)
+		{
+			// Only add rogue AP if the error code is correct
+			if (aResult == E802Dot11StatusAuthAlgorithmNotSupported)
+			{
+				eap_rogue_ap_entry_c rogue_entry(m_am_tools);
+			
+				rogue_entry.set_mac_address(static_cast<const u8_t *>(aRemoteAddress.iMacAddress));
+				rogue_entry.set_rogue_reason(rogue_ap_association_failed);
+
+				eap_array_c<eap_rogue_ap_entry_c> rogue_list(m_am_tools);
+				status = rogue_list.add_object(&rogue_entry, false);
+				if (status == eap_status_ok)
+				{	
+					status = add_rogue_ap(rogue_list);
+					// Ignore return value on purpose - it's not fatal if this fails
+				}
+			}			
+		}
+
+		if (m_wpa_psk_mode_active == false)
+		{
+			if (aResult == E802Dot11StatusAuthAlgorithmNotSupported
+				&& m_security_mode != Wpa
+				&& m_security_mode != Wpa2Only) // If security mode is WPA or WPA2 then only OPEN auth should be used
+			{
+				// Association failed because we had wrong authentication type. 
+				// Try to find next allowed type that uses different authentication type
+				m_eap_index++;
+
+				TEap* eapType;
+				TBool found(EFalse);
+				TInt i(0);
+				for (i = m_eap_index; i < m_iap_eap_array.Count(); i++)
+				{
+					// Check if type is enabled
+					eapType = m_iap_eap_array[i];
+					if (eapType->Enabled == 1)
+					{	
+						TLex8 tmp(eapType->UID);
+						TInt type(0);
+						tmp.Val(type);
+						
+						switch (type)
+						{
+						case eap_type_leap:
+							if (m_802_11_authentication_mode != EAuthModeLeap)
+							{
+								// This type will do; it uses different authentication mode.
+								EAP_TRACE_ALWAYS(
+									m_am_tools,
+									TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+									(EAPL("CompleteAssociation: Changed auth mode to LEAP.\n")));
+
+								m_802_11_authentication_mode = EAuthModeLeap;
+								m_active_type_is_leap = true;
+								found = ETrue;
+							}					
+							break;
+						default:
+							if (m_802_11_authentication_mode != EAuthModeOpen)
+							{
+								// This type will do; it uses different authentication mode.
+								EAP_TRACE_ALWAYS(
+									m_am_tools,
+									TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+									(EAPL("CompleteAssociation: Changed auth mode to OPEN.\n")));
+
+								m_802_11_authentication_mode = EAuthModeOpen;	
+								m_active_type_is_leap = false;
+								found = ETrue;
+							}
+							break;
+						}				
+						if (found)
+						{
+							break;
+						}
+					}
+				}
+
+				m_eap_index = i;
+
+				if (i >= m_iap_eap_array.Count())
+				{
+					// All the remaining allowed types had the same authentication mode.
+					// Give up this AP.
+					EAP_TRACE_ALWAYS(
+						m_am_tools,
+						TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+						(EAPL("Could not associate to the AP. Tried all types.\n")));
+
+					EAP_TRACE_ALWAYS(
+						m_am_tools,
+						TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+						(EAPL("Indication sent to WLM: EThisAPFailed.\n")));
+
+					m_partner->EapIndication(EThisAPFailed);
+					return KErrNone;
+
+				}
+
+				// We found a type with different authentication mode. Try it.			
+			
+				// Ignore return value. Result comes with CompleteAssociation call.
+				m_partner->Associate(m_802_11_authentication_mode);
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				return KErrNone;
+			}
+			else
+			{
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+					(EAPL("Could not associate to the AP (error %d).\n"), aResult));
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+					(EAPL("Indication sent to WLM: EThisAPFailed.\n")));
+
+				m_partner->EapIndication(EThisAPFailed);
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				return KErrNone;
+			}
+		}
+		else
+		{
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
+				(EAPL("Could not associate to the AP with WPA pre-shared-key.\n")));
+
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: EThisAPFailed.\n")));
+
+			m_partner->EapIndication(EThisAPFailed);
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return KErrNone;
+		}					
+	}
+	
+	// ASSOCIATION SUCCESSFUL
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("CompleteAssociation: Successful.\n")));
+
+	// Store parameters
+	m_local_address = aLocalAddress;
+
+	m_remote_address = aRemoteAddress;
+
+	m_received_wpa_ie = aReceivedWPAIE;
+
+	m_received_wpa_ie_length = aReceivedWPAIELength;
+
+	m_sent_wpa_ie = aSentWPAIE;
+
+	m_sent_wpa_ie_length = aSentWPAIELength;
+
+	m_group_key_cipher_suite = aGroupKeyCipherSuite;
+
+	m_pairwise_key_cipher_suite = aPairwiseKeyCipherSuite;
+
+	// Create stack if it does not already exist. 
+	status = create_upper_stack();
+	if (status != eap_status_ok
+		&& status != eap_status_already_exists)
+	{
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+			(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+		m_partner->EapIndication(EFailedCompletely);
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return KErrNone; 
+	}
+
+	// First create stack object and then copy it to heap object. This is because 
+	// eap_am_network_id_c does not have a constructor that copies the buffers.
+	eap_am_network_id_c receive_network_id(
+			m_am_tools,
+			&aRemoteAddress,
+			sizeof(TMacAddress),
+			&aLocalAddress,
+			sizeof(TMacAddress),
+			eapol_ethernet_type_pae,
+			false,
+			false);
+	
+	delete m_receive_network_id;
+	m_receive_network_id = new eap_am_network_id_c(
+		m_am_tools);
+
+	if (m_receive_network_id == 0)
+	{
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+			(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+		m_partner->EapIndication(EFailedCompletely);
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return KErrNone; 
+	}
+	
+	status = m_receive_network_id->set_copy_of_network_id(&receive_network_id);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+			(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+		m_partner->EapIndication(EFailedCompletely);
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return KErrNone; 
+	}
+
+	
+#if defined (USE_EAPOL_KEY_STATE) 
+
+	// Initialise EAPOL key state
+
+	eapol_key_authentication_type_e authentication_type(eapol_key_authentication_type_dynamic_WEP);
+	
+	if (aReceivedWPAIE !=0 
+		&& aSentWPAIE != 0)
+	{
+		// WPA (in wpa or 802.1x security mode)
+		if (m_wpa_psk_mode_allowed == false)
+		{
+			authentication_type = eapol_key_authentication_type_WPA_EAP;
+		}
+		else
+		{
+			m_wpa_psk_mode_active = true;
+			authentication_type = eapol_key_authentication_type_WPA_PSK;
+		}
+
+	}
+	else
+	{
+		// Non-wpa mode
+		authentication_type = eapol_key_authentication_type_dynamic_WEP;
+	}	
+
+	eap_variable_data_c	authenticator_RSNA_IE(m_am_tools);
+	eap_variable_data_c	supplicant_RSNA_IE(m_am_tools);
+
+	// Note: the default values here are only for 802.1x mode. In that mode
+	// we don't know the WEP key length beforehand so we will have to guess.
+	// It does not matter in this case if we guess wrong - only thing that matters
+	// is that it is WEP.
+	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e 
+		eapol_pairwise_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40);
+	eapol_RSNA_key_header_c::eapol_RSNA_cipher_e 
+		eapol_group_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40);	
+	
+	// WPA mode is active if information elements are valid
+	if (aReceivedWPAIE != 0
+		&& aSentWPAIE != 0)
+	{
+		status = authenticator_RSNA_IE.set_copy_of_buffer(aReceivedWPAIE, aReceivedWPAIELength);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+			m_partner->EapIndication(EFailedCompletely);
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return KErrNoMemory;
+		}
+		status = supplicant_RSNA_IE.set_copy_of_buffer(aSentWPAIE, aSentWPAIELength);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_ALWAYS(
+				m_am_tools,
+				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+			m_partner->EapIndication(EFailedCompletely);
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return KErrNoMemory;
+		}
+		
+		switch (aGroupKeyCipherSuite)
+		{
+		case ENoCipherSuite:
+			eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_none;
+			break;
+		case EWEP40:
+			eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40;							 
+			break;
+		case EWEP104:
+			eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_104;
+			break;
+		case ETKIP:
+			eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP;
+			break;
+		case ECCMP:
+			eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_CCMP;
+			break;
+		case EWRAP:
+		default:
+			User::Panic(_L("EAPOL"), KErrNotSupported);							
+		}
+
+		switch (aPairwiseKeyCipherSuite)
+		{
+		case ENoCipherSuite:
+			eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_none;
+			break;
+		case EWEP40:
+			eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40;							 
+			break;
+		case EWEP104:
+			eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_104;
+			break;
+		case ETKIP:
+			eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP;
+			break;
+		case ECCMP:
+			eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_CCMP;
+			break;
+		case EWRAP:
+		default:
+			User::Panic(_L("EAPOL"), KErrNotSupported);							
+		}
+	} 
+
+	if (authentication_type == eapol_key_authentication_type_WPA_PSK)
+	{
+		status = m_ethernet_core->association(
+			m_receive_network_id,
+			authentication_type,
+			&authenticator_RSNA_IE,
+			&supplicant_RSNA_IE,
+			eapol_pairwise_cipher,
+			eapol_group_cipher,
+			m_wpa_preshared_key);
+	}
+	else
+	{
+		status = m_ethernet_core->association(
+			m_receive_network_id,
+			authentication_type,
+			&authenticator_RSNA_IE,
+			&supplicant_RSNA_IE,
+			eapol_pairwise_cipher,
+			eapol_group_cipher,
+			0);
+	}
+	if (status != eap_status_ok)
+	{
+
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+			(EAPL("m_ethernet_core->association call failed.\n")));
+
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+			(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+		m_partner->EapIndication(EFailedCompletely);
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return KErrGeneral;
+	}
+
+#endif // USE_EAPOL_KEY_STATE
+
+	if (m_wpa_psk_mode_active == false)
+	{
+		// Start authentication if mode is not pre-shared key. If mode is pre-shared key then
+		// just wait for EAPOL-Key frames.
+		status = m_ethernet_core->start_authentication(m_receive_network_id, m_is_client);		
+	}
+	
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+	return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));
+}
+
+//--------------------------------------------------
+
+//
+TInt eapol_am_core_symbian_c::ReceivePacket(const TUint aLength, const TUint8* const aPacket)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::ReceivePacket()\n")));
+
+	if (aLength < eapol_ethernet_header_wr_c::get_header_length())
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, eap_status_too_short_message));
+	}
+
+	eapol_ethernet_header_wr_c eth_header(m_am_tools, aPacket, aLength);
+	eap_am_network_id_c receive_network_id(
+			m_am_tools,
+			eth_header.get_source(),
+			eth_header.get_source_length(),
+			eth_header.get_destination(),
+			eth_header.get_destination_length(),
+			eth_header.get_type(),
+			false,
+			false);
+	eap_status_e status(eap_status_process_general_error);
+	if (eth_header.get_type() == eapol_ethernet_type_pae)
+	{
+		status = create_upper_stack();
+		if (status != eap_status_ok 
+			&& status != eap_status_already_exists)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+			m_partner->EapIndication(EFailedCompletely);
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return KErrNone; 
+		} 
+
+#if defined (USE_EAPOL_KEY_STATE) 
+		if (m_is_client == false
+			&& status != eap_status_already_exists)
+		{
+			// If we are server we need to do associate here.
+			eapol_key_authentication_type_e authentication_type(
+				eapol_key_authentication_type_WPA_EAP);
+
+			eap_variable_data_c authenticator_RSNA_IE(m_am_tools);
+			eap_variable_data_c supplicant_RSNA_IE(m_am_tools);
+
+			status = authenticator_RSNA_IE.set_buffer(TEST_RSN_IE, sizeof(TEST_RSN_IE), false, false);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+
+			status = supplicant_RSNA_IE.set_buffer(TEST_RSN_IE, sizeof(TEST_RSN_IE), false, false);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+						
+			eapol_RSNA_key_header_c::eapol_RSNA_cipher_e 
+				eapol_pairwise_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP);	
+			eapol_RSNA_key_header_c::eapol_RSNA_cipher_e 
+				eapol_group_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP);	
+			
+				
+			if (authentication_type == eapol_key_authentication_type_WPA_PSK)
+			{
+				status = m_ethernet_core->association(
+					&receive_network_id,
+					authentication_type,
+					&authenticator_RSNA_IE,
+					&supplicant_RSNA_IE,
+					eapol_pairwise_cipher,
+					eapol_group_cipher,
+					m_wpa_preshared_key);
+			}
+			else
+			{
+				status = m_ethernet_core->association(
+					&receive_network_id,
+					authentication_type,
+					&authenticator_RSNA_IE,
+					&supplicant_RSNA_IE,
+					eapol_pairwise_cipher,
+					eapol_group_cipher,
+					0);
+			}
+
+		}
+#endif // USE_EAPOL_KEY_STATE
+
+		// Forward the packet to the Ethernet layer of the EAPOL stack. Ignore return value. Failure is signalled using state_notification.
+		status = m_ethernet_core->packet_process(
+			&receive_network_id,
+			&eth_header,
+			aLength);
+		
+	} 
+	else
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Not supported ethernet type 0x%04x\n"), eth_header.get_type()));
+		status = eap_status_ethernet_type_not_supported;
+	}
+	
+	status = eap_status_ok;
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::set_is_valid()
+{
+	m_is_valid = true;
+}
+
+bool eapol_am_core_symbian_c::get_is_valid()
+{
+	return m_is_valid;
+}
+
+void eapol_am_core_symbian_c::increment_authentication_counter()
+{
+	++m_authentication_counter;
+}
+
+u32_t eapol_am_core_symbian_c::get_authentication_counter()
+{
+	return m_authentication_counter;
+}
+
+bool eapol_am_core_symbian_c::get_is_client()
+{
+	return m_is_client;
+}
+	
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::packet_data_crypto_keys(
+	const eap_am_network_id_c * const /*send_network_id*/,
+	const eap_variable_data_c * const /*master_session_key*/)
+{
+	// Not needed in Symbian version
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return eap_status_ok;
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::packet_data_session_key(
+	const eap_am_network_id_c * const /*send_network_id*/,
+	const eapol_session_key_c * const key)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	TInt status(KErrNone);
+
+	const eap_variable_data_c * const key_data = key->get_key();
+	if (key_data == 0)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return eap_status_key_error;
+	}
+
+	EAP_TRACE_DEBUG(m_am_tools,
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("packet_data_session_key: index: %d, type %d\n"),
+		key->get_key_index(),
+		key->get_key_type()));
+	
+	EAP_TRACE_DATA_DEBUG(m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("packet_data_session_key:"),
+		key_data->get_data(key_data->get_data_length()),
+		key_data->get_data_length()));
+	
+	switch (key->get_key_type())
+	{
+	case eapol_key_type_broadcast:
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eapol_am_core_symbian_c::packet_data_session_key: Got rc4_broadcast key.\n")));
+
+		status = m_partner->SetCipherKey(
+			ERC4Broadcast,
+			static_cast<TUint8> (key->get_key_index()),
+			key_data->get_data(key_data->get_data_length()),
+			key_data->get_data_length());
+		m_broadcast_wep_key_received = true;
+		break;
+	case eapol_key_type_unicast:
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eapol_am_core_symbian_c::packet_data_session_key: Got rc4_unicast key.\n")));
+
+		status = m_partner->SetCipherKey(
+			ERC4Unicast,
+			static_cast<TUint8> (key->get_key_index()),
+			key_data->get_data(key_data->get_data_length()),
+			key_data->get_data_length());
+		m_unicast_wep_key_received = true;
+		break;
+	default:
+		EAP_TRACE_ERROR(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eapol_am_core_symbian_c::packet_data_session_key: Got unsupported key, type %d.\n"),
+			key->get_key_type()));
+		status = KErrNotSupported;
+		break;
+	}
+
+	if (m_unicast_wep_key_received == true 
+		&& m_broadcast_wep_key_received == true
+		&& m_success_indication_sent == false)
+	{
+		// Signal success because we have received one unicast (pairwise) key and one broadcast (group) key.
+		// If there are more keys coming later they are saved also.
+		if (m_active_type_is_leap == true)
+		{
+			// Leap was successful
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: ELeapSuccess.\n")));
+			m_partner->EapIndication(ELeapSuccess);
+		}
+		else
+		{
+			// some other type was successful
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Indication sent to WLM: ESuccess.\n")));
+			m_partner->EapIndication(ESuccess);
+		}
+		
+		m_success_indication_sent = true;
+		m_first_authentication = false;
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(status));
+}
+
+//--------------------------------------------------
+
+//
+
+eap_status_e eapol_am_core_symbian_c::packet_send(
+	const eap_am_network_id_c * const /*send_network_id*/,
+	eap_buf_chain_wr_c * const sent_packet,
+	const u32_t header_offset,
+	const u32_t data_length,
+	const u32_t /*buffer_length*/)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::packet_send(data_length=%d).\n"),
+		data_length));
+
+	if (header_offset != 0u)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("packet_send: packet buffer corrupted.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return eap_status_process_general_error;
+	}
+	else if (header_offset+data_length != sent_packet->get_data_length())
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("ERROR: packet_send: packet buffer corrupted (data_length != sent_packet->get_data_length()).\n")));
+		EAP_ASSERT(data_length == sent_packet->get_buffer_length());
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return eap_status_process_general_error;
+	}	
+
+	if (m_block_packet_sends_and_notifications == true)
+	{
+		// Packet sending block is active. This happens when disassociated has been called.  
+		// start_authentication clears the block.
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("packet_send: packet ignored because Disassociated() was called.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return eap_status_ok;
+	}
+
+	TInt status(KErrNone);
+	if (m_send_original_packet_first == true)
+	{
+		if (m_enable_random_errors == true)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send original packet\n"),
+				this,
+				m_packet_index));
+		}
+
+		u8_t * const packet_data = sent_packet->get_data_offset(header_offset, data_length);
+		if (packet_data == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return eap_status_buffer_too_short;
+		}
+
+		// Here we send the original packet.
+		status = m_partner->EapPacketSend(
+			data_length, 
+			static_cast<TUint8*>(packet_data));
+		++m_packet_index;
+	}
+
+	if (m_enable_random_errors == true
+		&& status == KErrNone)
+	{
+		if (m_generate_multiple_error_packets > 0ul)
+		{
+			// First create a copy of sent packet. Original correct packet will will be sent last.
+			for (u32_t ind = 0ul; ind < m_generate_multiple_error_packets; ind++)
+			{
+				eap_buf_chain_wr_c *copy_packet = sent_packet->copy();
+
+				if (copy_packet != 0
+					&& copy_packet->get_is_valid_data() == true)
+				{
+					// Make a random error to the copy message.
+					random_error(copy_packet, true, m_packet_index);
+
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send error packet\n"),
+						this,
+						m_packet_index));
+					
+					u8_t * const packet_data = copy_packet->get_data_offset(header_offset, data_length);
+					if (packet_data == 0)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return eap_status_buffer_too_short;
+					}
+
+					// Here we send the copied and manipulated packet.
+					status = m_partner->EapPacketSend(
+						data_length, 
+						static_cast<TUint8*>(packet_data));
+					
+					++m_packet_index;
+				}
+				delete copy_packet;
+			}
+		}
+		else
+		{
+			// Make a random error to the original message.
+			random_error(sent_packet, false, m_packet_index);
+
+			if (sent_packet->get_is_manipulated() == true)
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send error packet\n"),
+					this,
+					m_packet_index));
+			}
+		}
+	}
+
+
+	if (m_send_original_packet_first == false
+		&& status == KErrNone)
+	{
+		if (m_enable_random_errors == true)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send original packet\n"),
+				this,
+				m_packet_index));
+		}
+
+		u8_t * const packet_data = sent_packet->get_data_offset(header_offset, data_length);
+		if (packet_data == 0)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return eap_status_buffer_too_short;
+		}
+
+		// Here we send the original packet.
+		status = m_partner->EapPacketSend(
+			data_length,
+			static_cast<TUint8*>(packet_data));
+		++m_packet_index;
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(status));
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::reassociate(
+		const eap_am_network_id_c * const /* send_network_id */,
+		const eapol_key_authentication_type_e /* authentication_type */,
+		const eap_variable_data_c * const /* PMKID */,
+		const eap_variable_data_c * const /* WPXM_WPXK1 */,
+		const eap_variable_data_c * const /* WPXM_WPXK2 */)
+{
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
+}
+
+//--------------------------------------------------
+
+//
+void eapol_am_core_symbian_c::state_notification(const abs_eap_state_notification_c * const state)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	if(state->get_protocol_layer() == eap_protocol_layer_general)
+	{
+		if (state->get_current_state() == eap_general_state_authentication_cancelled)
+		{
+			// Authentication was cancelled. Cannot continue.
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Authentication was cancelled. Sets timer EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID.\n")));
+
+			set_timer(this, EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID, 0, 0);
+		}
+		else if (state->get_current_state() == eap_general_state_configuration_error)
+		{
+			// Configuration error. Cannot continue.
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Configuration error. Sets timer EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID.\n")));
+
+			set_timer(this, EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID, 0, 0);
+		}
+	}
+
+
+	if (m_block_packet_sends_and_notifications == true)
+	{
+		// Notification block is active.		
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("state_notification: notification ignored because Disassociated() was called.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return;
+	}
+
+
+	// Check if this is EAP layer notification
+	if(state->get_protocol_layer() == eap_protocol_layer_eap)
+	{
+		switch (state->get_current_state())
+		{
+		case eap_state_none:
+			break;
+		case eap_state_identity_request_sent:
+			// This is for server only so no need to notify WLM.
+			break;
+		case eap_state_identity_request_received:
+			if (m_authentication_indication_sent == false) 
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("Indication sent to WLM: EAuthenticating.\n")));
+				m_partner->EapIndication(EAuthenticating);
+				m_authentication_indication_sent = true;
+			}
+			break;
+		case eap_state_identity_response_received:
+			// This is for server only so no need to notify WLM.
+			break;
+		case eap_state_authentication_finished_successfully:
+			{
+
+			increment_authentication_counter();
+			m_successful_authentications++;	
+			
+			if (m_wpa_psk_mode_active == false)
+			{				
+				TEap eap;
+				eap.Enabled = ETrue;
+				eap.UID.Num(static_cast<TInt>(state->get_eap_type()));
+				
+				// This moves the successful type to be the top priority type in IAP settings.
+				TRAPD(err, SetToTopPriorityL(&eap));
+				if (err != KErrNone)
+				{
+					// Just log the error. 
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT, 
+						(EAPL("state_notification: SetToTopPriorityL leaved!\n")));
+				}
+
+				// Move the active eap type index to the first type
+				m_eap_index = 0; 
+			}
+						
+
+			}
+			break;
+		case eap_state_authentication_terminated_unsuccessfully:
+			{
+				if (m_wpa_psk_mode_active == false)
+				{
+					// Set index to next type.
+					m_eap_index++;
+				}
+		
+				increment_authentication_counter();
+				m_failed_authentications++;
+
+				// Restart authentication
+				eap_am_network_id_c* send_network_id = new eap_am_network_id_c(m_am_tools, state->get_send_network_id());
+				if (send_network_id == 0 
+					|| send_network_id->get_is_valid_data() == false)
+				{
+					delete send_network_id;
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+					m_partner->EapIndication(EFailedCompletely);
+					break;
+				}
+				set_timer(this, EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID, send_network_id, 0);
+
+			}
+			break;
+		default:
+			break;
+		}
+	}
+	else 
+	{
+		if(state->get_protocol_layer() == eap_protocol_layer_eapol)
+		{
+			switch (state->get_current_state())
+			{
+			case eapol_state_no_start_response:
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("Indication sent to WLM: ENoResponse.\n")));
+				m_partner->EapIndication(ENoResponse);
+				break;
+			default:
+				break;
+			}
+		}
+		else if(state->get_protocol_layer() == eap_protocol_layer_eapol_key)
+		{
+			switch (state->get_current_state())
+			{
+			case eapol_key_state_802_11i_authentication_terminated_unsuccessfull:
+				{					
+					increment_authentication_counter();
+					m_failed_authentications++;
+
+					// Consider EAPOL layer failures fatal.
+					EAP_TRACE_ERROR(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("ERROR: Unsuccessful authentication on EAPOL level.\n")));
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("Indication sent to WLM: EThisAPFailed.\n")));
+					m_partner->EapIndication(EThisAPFailed);
+				}
+				break;
+			case eapol_key_state_802_11i_authentication_finished_successfull:
+				{					
+					EAP_TRACE_ALWAYS(
+						m_am_tools,
+						TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+						(EAPL("EAPOL_KEY: %s: Authentication SUCCESS\n"),
+						(m_is_client == true ? "client": "server")));
+				}
+				break;
+			default:
+				break;
+			}
+		}	
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+}
+
+//--------------------------------------------------
+
+//
+
+eap_status_e eapol_am_core_symbian_c::timer_expired(
+	const u32_t id, void * /* data */)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::TimerExpired id = %d.\n"),
+		id));
+
+	switch (id)
+	{
+	case EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID:
+		{			
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID elapsed: Stopping stack.\n")));
+			
+			// Stop stack. Do this only if Ethernet core still exists.
+			if (m_ethernet_core != 0)
+			{
+				m_ethernet_core->shutdown();
+				delete m_ethernet_core;
+				m_ethernet_core = 0;
+			}
+			if (m_wpa_psk_mode_active == true)
+			{
+				// PSK mode active - cannot restart. Just fail.
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("WPA PSK mode failed.\n")));
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("Indication sent to WLM: EThisAPFailed.\n")));
+				m_partner->EapIndication(EThisAPFailed);			
+				break;
+
+			}
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Checking if more types.\n")));
+
+			TInt i;
+			TEap *eapType = 0;  
+			// Search for more EAP types to try
+			for (i = m_eap_index; i < m_iap_eap_array.Count(); i++)
+			{
+				// Find the next enabled EAP type (highest priority)
+				eapType = m_iap_eap_array[i];			
+				if (eapType->Enabled == 1)
+				{
+					break;
+				}
+			}
+			// Update index to point to next type to be tried
+			m_eap_index = i;
+
+			if (i >= m_iap_eap_array.Count())
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("No more configured EAP types to try.\n")));
+
+				// No point in trying to restart authentication because there isn't any more
+				// EAP types left to try...
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("Indication sent to WLM: EThisAPFailed.\n")));
+				m_partner->EapIndication(EThisAPFailed);			
+				break;
+			}
+
+			// Check if authentication mode must be changed
+			TLex8 tmp(eapType->UID);
+			TInt type(0);
+			tmp.Val(type);
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Found new type to try: %d.\n"), type));
+
+			switch (type)
+			{
+			case eap_type_leap:
+				m_active_type_is_leap = true;
+				if (m_802_11_authentication_mode != EAuthModeLeap
+					&& m_security_mode != Wpa
+					&& m_security_mode != Wpa2Only) // In WPA or WPA2 even LEAP uses open authentication
+				{
+					// New type is LEAP and the old was something else:
+					// must reassociate with correct authentication mode.					
+					m_self_disassociated = true;
+					TInt result = m_partner->Disassociate();
+					if (result != KErrNone)
+					{
+						// Probably unrecoverable error
+						EAP_TRACE_DEBUG(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("Indication sent to WLM: EFailedCompletely.\n")));				
+						m_partner->EapIndication(EFailedCompletely);
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+						return eap_status_ok;
+					}
+					
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("TimerExpired: Changing auth type to LEAP.\n")));
+
+					m_802_11_authentication_mode = EAuthModeLeap;
+					
+					m_partner->Associate(EAuthModeLeap);
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+					return eap_status_ok;
+				}
+				break;
+			default:
+				m_active_type_is_leap = false;
+				if (m_802_11_authentication_mode != EAuthModeOpen
+					&& m_security_mode != Wpa
+					&& m_security_mode != Wpa2Only) // In WPA or WPA2 even LEAP uses open authentication)
+				{
+					// New type is non-LEAP and the old was LEAP:
+					// must reassociate with correct authentication mode
+					m_self_disassociated = true;
+					TInt result = m_partner->Disassociate();
+					if (result != KErrNone)
+					{
+						// Probably unrecoverable error	
+						EAP_TRACE_DEBUG(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+						m_partner->EapIndication(EFailedCompletely);
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+						return eap_status_ok;
+					}
+
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("TimerExpired: Changing auth type to OPEN.\n")));				
+
+					m_802_11_authentication_mode = EAuthModeOpen;
+					
+					m_partner->Associate(EAuthModeOpen);
+					
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+					return eap_status_ok;
+				}
+				break;
+			}
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("TimerExpired: No need to change auth type.\n")));				
+
+			if (CompleteAssociation(
+					KErrNone,
+					m_local_address, 
+					m_remote_address,
+					m_received_wpa_ie, 
+					m_received_wpa_ie_length,
+					m_sent_wpa_ie,
+					m_sent_wpa_ie_length,
+					m_group_key_cipher_suite,
+					m_pairwise_key_cipher_suite) != KErrNone)
+			{
+				// Probably unrecoverable error	
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("Indication sent to WLM: EFailedCompletely.\n")));				
+				m_partner->EapIndication(EFailedCompletely);
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				return eap_status_ok;
+			}			
+		}
+		break;
+				
+	case EAPOL_AM_CORE_TIMER_DELETE_STACK_ID:
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAPOL_AM_CORE_TIMER_DELETE_STACK_ID elapsed: Delete stack.\n")));
+
+			cancel_all_timers();
+
+			// Delete stack
+			if (m_ethernet_core != 0)
+			{
+				m_ethernet_core->shutdown();
+				delete m_ethernet_core;
+				m_ethernet_core = 0;				
+			}
+			m_stack_marked_to_be_deleted = false;
+
+			// Re-activates timer queue.
+			eap_status_e status = m_am_tools->re_activate_timer_queue();
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("ERROR: re_activate_timer_queue() failed, status = %d\n")));
+			}
+		}
+		break;
+	
+	case EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID:
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID elapsed: Indication sent to WLM: EFailedCompletely.\n")));
+
+			m_partner->EapIndication(EFailedCompletely);
+		}
+		break;
+	
+	default:
+		break;
+	}
+	return eap_status_ok;
+}
+
+eap_status_e eapol_am_core_symbian_c::timer_delete_data(
+	const u32_t id, void *data)
+{
+	switch (id)
+	{
+	case EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID:
+		{
+			eap_am_network_id_c* tmp = static_cast<eap_am_network_id_c*>(data);
+			delete tmp;
+		}
+		break;
+	case EAPOL_AM_CORE_TIMER_DELETE_STACK_ID:
+		break;
+	case EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID:
+		break;
+
+	default:
+		{
+			EAP_TRACE_ERROR(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("eapol_am_core_symbian_c::timer_delete_data: deleted unknown timer.\n")));
+			(void)EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
+		}
+	}	
+	return eap_status_ok;
+}
+//--------------------------------------------------
+
+//
+u32_t eapol_am_core_symbian_c::get_header_offset(
+	u32_t * const MTU,
+	u32_t * const trailer_length)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	*MTU = KMTU;
+	*trailer_length = KTrailerLength;
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return KHeaderOffset;
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::unload_module(const eap_type_value_e type)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	eap_status_e status(eap_status_type_does_not_exists_error);
+	TInt index = m_eap_type_array.Find(type);
+	if (index != KErrNotFound)
+	{
+		delete m_plugin_if_array[index];
+		m_plugin_if_array.Remove(index);
+		m_eap_type_array.Remove(index);
+		status = eap_status_ok;			
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::eap_acknowledge(const eap_am_network_id_c * const receive_network_id)
+{
+	// Any Network Protocol packet is accepted as a success indication.
+	// This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)".
+
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	eap_status_e status = m_ethernet_core->eap_acknowledge(receive_network_id);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::load_module(
+		const eap_type_value_e type,
+		const eap_type_value_e tunneling_type,
+		abs_eap_base_type_c * const partner,
+		eap_base_type_c ** const eap_type_if,
+		const bool is_client_when_true,
+		const eap_am_network_id_c * const receive_network_id)
+{	
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::load_module(type %d=%s, tunneling_type %d=%s)\n"),
+		static_cast<TInt>(type),
+		eap_header_string_c::get_eap_type_string(type),
+		static_cast<TInt>(tunneling_type),
+		eap_header_string_c::get_eap_type_string(tunneling_type)));
+
+	eap_status_e status = eap_status_process_general_error;
+	TBuf8<KMaxEapCueLength> cue;
+	cue.Num(static_cast<TInt>(convert_eap_type_to_u32_t(type)));
+	CEapType* eapType = 0;
+	TInt error(KErrNone);
+
+	// Check if this EAP type has already been loaded
+	TInt eapArrayIndex = m_eap_type_array.Find(type);
+	if (eapArrayIndex != KErrNotFound)
+	{
+		// Yep. It was loaded already.
+		eapType = m_plugin_if_array[eapArrayIndex];		
+	}
+	else 
+	{
+		// We must have a trap here since the EAPOL core knows nothing about Symbian.
+		TRAP(error, (eapType = CEapType::NewL(cue, m_index_type, m_index)));	
+		if (error != KErrNone
+			|| eapType == 0)
+		{
+			// Interface not found or implementation creation function failed
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("ECom could not find/initiate implementation.\n")));
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+	}
+	// Set the tunneling type
+	eapType->SetTunnelingType(convert_eap_type_to_u32_t(tunneling_type));
+
+	// Create the EAP protocol interface implementation.
+	TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(m_am_tools, partner, is_client_when_true, receive_network_id)));
+		
+	if (error != KErrNone 
+		|| *eap_type_if == 0 
+		|| (*eap_type_if)->get_is_valid() == false)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Could not create EAP type interface instance. Error: %d\n"), error));
+
+		status = eap_status_allocation_error;
+		// Unload DLL (two ways, depending whether this type was already loaded...)
+		if  (eapArrayIndex == KErrNotFound)
+		{
+			// No need to call shutdown here because GetStackInterfaceL has done it.
+			delete eapType;
+		}
+		else
+		{
+			unload_module(type);
+		}
+		// Note: even in error cases eap_core_c deletes eap_type_if
+	}
+	else
+	{
+		status = eap_status_ok;
+		if (eapArrayIndex  == KErrNotFound)
+		{
+			// Add plugin information to the member arrays. There is no need to store eap_type pointer because
+			// the stack takes care of its deletion.
+			if (m_plugin_if_array.Append(eapType) != KErrNone)
+			{
+				delete eapType;
+				status = eap_status_allocation_error;
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);				
+			}
+			if (m_eap_type_array.Append(type) != KErrNone)
+			{
+				// Remove the eap type added just previously
+				m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1);
+				delete eapType;
+				status = eap_status_allocation_error;
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);				
+			}
+		} 
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+//
+TInt eapol_am_core_symbian_c::Disassociated()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::Disassociated()\n")));
+
+	if (m_self_disassociated == true)
+	{
+		// We were expecting this. No need to reset state.
+		m_self_disassociated = false;
+		return KErrNone;
+	}
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::Disassociated.\n")));
+
+	eap_status_e status(eap_status_ok);
+
+	// Set block on.
+	m_block_packet_sends_and_notifications = true;
+
+	// Reset flags
+	m_success_indication_sent = false;
+	m_unicast_wep_key_received = false;
+	m_broadcast_wep_key_received = false;
+	m_authentication_indication_sent = false;
+
+	if (m_ethernet_core != 0)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Stack exists. Set EAPOL_AM_CORE_TIMER_DELETE_STACK_ID timer.\n")));
+
+		m_stack_marked_to_be_deleted = true;
+		set_timer(this, EAPOL_AM_CORE_TIMER_DELETE_STACK_ID, 0, 0);
+	} 
+	else
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Stack did not exists. EAPOL_AM_CORE_TIMER_DELETE_STACK_ID timer not set.\n")));
+	}
+
+	// reset index
+	m_eap_index = 0;
+
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));	
+}
+
+//--------------------------------------------------
+
+//
+TInt eapol_am_core_symbian_c::SendWPAMICFailureReport(
+		TBool aFatalMICFailure,
+		const TMICFailureType aMICFailureType)
+{
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::SendWPAMICFailureReport(%d, %d).\n"),
+		aFatalMICFailure,
+		aMICFailureType));
+
+	bool fatal_failure_when_true = true;
+
+	if (!aFatalMICFailure)
+	{
+		fatal_failure_when_true = false;
+	}
+
+	eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type
+		= eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_pairwise_key;
+
+	if (aMICFailureType == EGroupKey)
+	{
+		tkip_mic_failure_type
+			= eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_group_key;
+	}
+
+	const eap_status_e status = m_ethernet_core->tkip_mic_failure(
+		m_receive_network_id,
+		fatal_failure_when_true,
+		tkip_mic_failure_type);
+
+	return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status));	
+}
+
+
+//--------------------------------------------------
+
+//
+void eapol_am_core_symbian_c::ReadEAPSettingsL()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::ReadEAPSettingsL()\n")));
+
+	eap_status_e status(eap_status_ok);
+
+	// Delete old IAP settings
+	m_iap_eap_array.ResetAndDestroy();
+	if (m_index_type == ELan)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Beginning to read IAP settings - Type: %d, Index: %d.\n"), m_index_type, m_index));
+
+		CWLanSettings* wlan = new(ELeave) CWLanSettings;
+		CleanupStack::PushL(wlan);
+		SWLANSettings wlanSettings;
+		if (wlan->Connect() != KErrNone)
+		{
+			// Could not connect to CommDB			
+			User::Leave(KErrCouldNotConnect);
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n")));
+
+		if (wlan->GetWlanSettingsForService(m_index, wlanSettings) != KErrNone)
+		{
+			wlan->Disconnect();
+			User::Leave(KErrUnknown);
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Got WLAN settings.\n")));
+		
+		wlan->GetEapDataL(m_iap_eap_array);
+		
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Got EAP data:\n")));
+
+		for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAP type %d\n"),
+				i));
+
+			TLex8 tmp(m_iap_eap_array[i]->UID);
+			TInt val(0);
+			tmp.Val(val);
+		
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("  UID: %d\n"), val));
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("  Enabled: %d\n"),
+				m_iap_eap_array[i]->Enabled));
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("End EAP data:\n")));
+
+		if (m_iap_eap_array.Count() == 0)
+		{
+			// The EAP field was empty. Allow all types.
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Empty EAP field -> enable all types.\n")));
+
+			RImplInfoPtrArray eapArray;
+			
+			REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapArray);
+		
+			TEap *eap;
+			for (TInt i = 0; i < eapArray.Count(); i++)
+			{
+				eap = new(ELeave) TEap;
+				eap->UID.Copy(eapArray[i]->DataType());
+				eap->Enabled = ETrue;
+				m_iap_eap_array.Append(eap);
+			}
+
+			eapArray.ResetAndDestroy();
+		}
+
+		// Get security mode
+		if (m_wpa_override_enabled == false)
+		{
+			m_security_mode = static_cast<EWlanSecurityMode>(wlanSettings.SecurityMode);		
+	
+			if (wlanSettings.EnableWpaPsk)
+			{
+				m_wpa_psk_mode_allowed = true;
+			}
+			else
+			{
+				m_wpa_psk_mode_allowed = false;
+			}
+		}
+		else
+		{
+			// WPA override is enabled
+			m_security_mode = Wpa;
+			if (m_wpa_psk_password_override->get_is_valid_data() == true
+				&& m_wpa_psk_password_override->get_data_length() > 0)
+			{
+				m_wpa_psk_mode_allowed = true;
+			}			
+			else
+			{
+				m_wpa_psk_mode_allowed = false;
+			}
+		}
+		
+		
+		// Get WPA or WPA2 pre shared key & SSID
+		if ((m_security_mode == Wlan8021x
+			|| m_security_mode == Wpa
+			|| m_security_mode == Wpa2Only)
+			&& m_wpa_psk_mode_allowed == true
+			&& m_is_client == true)
+		{
+			eap_variable_data_c * password = new eap_variable_data_c(m_am_tools);
+			if (password == 0)
+			{
+				wlan->Disconnect();
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(KErrNoMemory);
+			}
+			eap_variable_data_c * ssid = new eap_variable_data_c(m_am_tools);
+			if (ssid == 0)
+			{
+				delete password;
+				wlan->Disconnect();
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(KErrNoMemory);
+			}
+
+			// When using easy WLAN there might be WPA PSK override
+			if (m_wpa_psk_password_override->get_is_valid_data() == true
+				&& m_wpa_psk_password_override->get_data_length() > 0)
+			{
+				// Use WPA PSK override
+				status = password->set_copy_of_buffer(
+					m_wpa_psk_password_override->get_data(m_wpa_psk_password_override->get_data_length()), 
+					m_wpa_psk_password_override->get_data_length());
+				if (status != eap_status_ok)
+				{
+					delete password;
+					delete ssid;
+					wlan->Disconnect();
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				}
+			}
+			else
+			{
+				status = password->set_copy_of_buffer(wlanSettings.WPAPreSharedKey.Ptr(), wlanSettings.WPAPreSharedKey.Size());
+				if (status != eap_status_ok)
+				{
+					delete password;
+					delete ssid;
+					wlan->Disconnect();
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				}
+			}
+
+			TBuf8<KMaxSSIDLength> tmp;
+			tmp.Copy(wlanSettings.SSID);
+			status = ssid->set_copy_of_buffer(tmp.Ptr(), tmp.Size());
+			if (status != eap_status_ok)
+			{
+				delete password;
+				delete ssid;
+				wlan->Disconnect();
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+
+			crypto_wpa_psk_password_hash_c password_hash(m_am_tools);
+
+			if (ssid->get_data_length() == 0)
+			{
+				status = ssid->set_copy_of_buffer(m_ssid);
+				if (status != eap_status_ok)
+				{
+					delete password;
+					delete ssid;
+					wlan->Disconnect();
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				}
+			}	
+
+			TPSKEntry pskEntry;
+
+			pskEntry.indexType = m_index_type;
+			pskEntry.index = m_index;
+
+			TPtr8 ssidPtr(
+					ssid->get_data(ssid->get_data_length()),
+					ssid->get_data_length(),
+					ssid->get_data_length()
+				);			
+
+            TInt err(KErrNone);
+
+			if (m_wpa_psk_password_override->get_is_valid_data() == false
+				|| m_wpa_psk_password_override->get_data_length() == 0)
+			{
+				// Retrieve saved PSK only when override is not in effect
+				TRAP(err, RetrievePSKL(pskEntry));
+			} 
+			
+			if (err != KErrNone
+				|| pskEntry.ssid.Compare(ssidPtr) != 0
+				|| pskEntry.password.Compare(wlanSettings.WPAPreSharedKey) != 0)
+			{
+				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("No previous PSK found...\n")));
+				// No previous PSK or parameters were changed. We need to calculate
+				// PSK again
+
+				status = password_hash.password_hash(
+					password,
+					ssid,	
+					m_wpa_preshared_key,
+					0,
+					0);
+
+				if (status != eap_status_ok)
+				{			
+					delete password;
+					delete ssid;
+					wlan->Disconnect();							
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				//	return;
+				}
+				
+				if (m_wpa_psk_password_override->get_is_valid_data() == false
+					|| m_wpa_psk_password_override->get_data_length() == 0)
+				{
+					// Save new PSK (only if psk override is not in effect)
+					pskEntry.ssid.Copy(ssidPtr);
+				
+					pskEntry.password.Copy(wlanSettings.WPAPreSharedKey);
+					
+					pskEntry.psk.Copy(
+						m_wpa_preshared_key->get_data(m_wpa_preshared_key->get_data_length()),
+						m_wpa_preshared_key->get_data_length()
+						);
+
+					EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Saving PSK.\n")));
+					SavePSKL(pskEntry);																
+				}
+			}			
+			else
+			{
+				// Copy retrieved psk to member variable
+				status = m_wpa_preshared_key->set_copy_of_buffer(pskEntry.psk.Ptr(), pskEntry.psk.Size());
+				if (status != eap_status_ok)
+				{
+					delete password;
+					delete ssid;
+					wlan->Disconnect();
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				}
+			}
+			delete password;
+			delete ssid;
+		}
+		
+		wlan->Disconnect();
+		CleanupStack::PopAndDestroy(wlan);		
+		if (m_security_mode != Wlan8021x
+			&& m_security_mode != Wpa
+			&& m_security_mode != Wpa2Only)
+		{
+			// Unsupported mode
+			User::Leave(KErrNotSupported);
+		}
+	} 
+	else
+	{
+		// At the moment only LAN bearer is supported.
+		User::Leave(KErrNotSupported);
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::SetToTopPriorityL(const TEap* const aEapType)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::SetToTopPriorityL()\n")));
+
+	if (m_index_type == ELan)
+	{
+		TInt i(0);
+		TBuf8<3> uid;
+		for (i = 0; i < m_iap_eap_array.Count(); i++)
+		{
+			TEap* eap = m_iap_eap_array[i];
+			if (eap->UID[0] == '0')
+			{
+				// Cut the leading zero
+				uid.Copy(eap->UID.Right(eap->UID.Length()-1));				
+			}
+			else
+			{
+				uid.Copy(eap->UID);
+			}
+			if (eap->Enabled == aEapType->Enabled
+				&& uid.Compare(aEapType->UID) == 0)
+			{
+				// Found
+				break;
+			}
+		}
+		if (i >= m_iap_eap_array.Count())
+		{
+			// This should never happen
+			User::Leave(KErrNotFound);					
+		}
+	
+		TLex8 tmp(aEapType->UID);
+		TInt val(0);
+		tmp.Val(val);
+
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Setting to top priority:\n")));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Old index: %d\n"), i));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("  UID: %d\n"), val));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("  Enabled: %d\n"), aEapType->Enabled));
+	
+		if (i == 0)
+		{
+			// Already at the highest priority
+			return;
+		}
+
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Beginning to write IAP EAP settings - Type: %d, Index: %d.\n"), m_index_type, m_index));
+		
+		CWLanSettings* wlan = new(ELeave) CWLanSettings;
+		CleanupStack::PushL(wlan);
+		SWLANSettings wlanSettings;
+		if (wlan->Connect() != KErrNone)
+		{
+			// Could not connect to CommDB			
+			User::Leave(KErrCouldNotConnect);
+		}
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n")));		
+		if (wlan->GetWlanSettingsForService(m_index, wlanSettings) != KErrNone)
+		{
+			wlan->Disconnect();
+			User::Leave(KErrUnknown);
+		}
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WLAN settings.\n")));
+		
+		// Change the order
+		TEap* eap = m_iap_eap_array[i];
+
+		m_iap_eap_array.Remove(i); // This does not delete the object	
+				
+		m_iap_eap_array.Insert(eap, 0);
+
+		wlan->SetEapDataL(m_iap_eap_array);
+		
+		wlan->Disconnect();
+
+		CleanupStack::PopAndDestroy(wlan);		
+	} 
+	else
+	{
+		// At the moment only LAN bearer is supported.
+		User::Leave(KErrNotSupported);
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::configure()
+{	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::configure()\n")));
+
+
+	//----------------------------------------------------------
+
+#if defined(USE_EAP_ERROR_TESTS)
+
+	{
+		eap_variable_data_c EAP_ERROR_TEST_enable_random_errors(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_ERROR_TEST_enable_random_errors.get_field(),
+			&EAP_ERROR_TEST_enable_random_errors);
+		if (status == eap_status_ok
+			&& EAP_ERROR_TEST_enable_random_errors.get_is_valid_data() == true)
+		{
+			u32_t *enable_random_errors = reinterpret_cast<u32_t *>(
+				EAP_ERROR_TEST_enable_random_errors.get_data(sizeof(u32_t));
+			if (enable_random_errors != 0
+				&& *enable_random_errors != 0)
+			{
+				m_enable_random_errors = true;
+			}
+		}
+	}
+
+	{
+		eap_variable_data_c EAP_ERROR_TEST_send_original_packet_first(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_ERROR_TEST_send_original_packet_first.get_field(),
+			&EAP_ERROR_TEST_send_original_packet_first);
+		if (status == eap_status_ok
+			&& EAP_ERROR_TEST_send_original_packet_first.get_is_valid_data() == true)
+		{
+			u32_t *send_original_packet_first = reinterpret_cast<u32_t *>(
+				EAP_ERROR_TEST_send_original_packet_first.get_data(sizeof(u32_t));
+			if (send_original_packet_first != 0
+				&& *send_original_packet_first != 0)
+			{
+				m_send_original_packet_first = true;
+			}
+		}
+	}
+
+	{
+		eap_variable_data_c EAP_ERROR_TEST_generate_multiple_error_packets(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_ERROR_TEST_generate_multiple_error_packets.get_field(),
+			&EAP_ERROR_TEST_generate_multiple_error_packets);
+		if (status == eap_status_ok
+			&& EAP_ERROR_TEST_generate_multiple_error_packets.get_is_valid_data() == true)
+		{
+			u32_t *generate_multiple_error_packets = reinterpret_cast<u32_t *>(
+				EAP_ERROR_TEST_generate_multiple_error_packets.get_data(sizeof(u32_t));
+			if (generate_multiple_error_packets != 0
+				&& *generate_multiple_error_packets != 0)
+			{
+				m_generate_multiple_error_packets = *generate_multiple_error_packets;
+			}
+		}
+	}
+
+
+	{
+		eap_variable_data_c EAP_ERROR_TEST_manipulate_ethernet_header(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_ERROR_TEST_manipulate_ethernet_header.get_field(),
+			&EAP_ERROR_TEST_manipulate_ethernet_header);
+		if (status == eap_status_ok
+			&& EAP_ERROR_TEST_manipulate_ethernet_header.get_is_valid_data() == true)
+		{
+			u32_t *manipulate_ethernet_header = reinterpret_cast<u32_t *>(
+				EAP_ERROR_TEST_manipulate_ethernet_header.get_data(sizeof(u32_t));
+			if (manipulate_ethernet_header != 0
+				&& *manipulate_ethernet_header != 0)
+			{
+				m_manipulate_ethernet_header = true;
+			}
+		}
+	}
+
+	{
+		eap_variable_data_c EAP_ERROR_TEST_error_probability(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_ERROR_TEST_error_probability.get_field(),
+			&EAP_ERROR_TEST_error_probability);
+		if (status == eap_status_ok
+			&& EAP_ERROR_TEST_error_probability.get_is_valid_data() == true)
+		{
+			u32_t *error_probability = reinterpret_cast<u32_t *>(
+				EAP_ERROR_TEST_error_probability.get_data(sizeof(u32_t));
+			if (error_probability != 0)
+			{
+				m_error_probability = *error_probability;
+			}
+		}
+	}	
+
+	{
+		eap_variable_data_c EAP_disable_function_traces(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_TRACE_enable_function_traces.get_field(),
+			&EAP_disable_function_traces);
+		if (status == eap_status_ok
+			&& EAP_disable_function_traces.get_is_valid_data() == true)
+		{
+			u32_t *disable_function_traces = reinterpret_cast<u32_t *>(
+				EAP_disable_function_traces.get_data(sizeof(u32_t));
+			if (disable_function_traces != 0
+				&& *disable_function_traces != 0)
+			{
+				m_am_tools->set_trace_mask(
+					m_am_tools->get_trace_mask()
+					| eap_am_tools_c::eap_trace_mask_functions
+					);
+			}
+		}
+	}
+
+#endif //#if defined(USE_EAP_ERROR_TESTS)
+
+
+	//----------------------------------------------------------
+
+	{		
+		eap_variable_data_c EAP_TRACE_disable_traces(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_TRACE_disable_traces.get_field(),
+			&EAP_TRACE_disable_traces);
+		if (status == eap_status_ok
+			&& EAP_TRACE_disable_traces.get_is_valid_data() == true)
+		{
+			u32_t *disable_traces = reinterpret_cast<u32_t *>(
+				EAP_TRACE_disable_traces.get_data(sizeof(u32_t)));
+			if (disable_traces != 0
+				&& *disable_traces != 0)
+			{
+				m_am_tools->set_trace_mask(eap_am_tools_c::eap_trace_mask_none);
+			}
+			else
+			{
+				// OK, set the default trace mask.
+				m_am_tools->set_trace_mask(
+					eap_am_tools_c::eap_trace_mask_debug
+					| eap_am_tools_c::eap_trace_mask_always
+					| eap_am_tools_c::eap_trace_mask_error);
+			}
+		}
+	}
+
+	//----------------------------------------------------------
+
+	{		
+		eap_variable_data_c EAP_TRACE_activate_only_trace_masks_always_and_error(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_TRACE_activate_only_trace_masks_always_and_error.get_field(),
+			&EAP_TRACE_activate_only_trace_masks_always_and_error);
+		if (status == eap_status_ok
+			&& EAP_TRACE_activate_only_trace_masks_always_and_error.get_is_valid_data() == true)
+		{
+			u32_t *activate_trace_mask_always
+				= reinterpret_cast<u32_t *>(
+					EAP_TRACE_activate_only_trace_masks_always_and_error.get_data(
+						sizeof(u32_t)));
+			if (activate_trace_mask_always != 0
+				&& *activate_trace_mask_always != 0)
+			{
+				m_am_tools->set_trace_mask(
+					eap_am_tools_c::eap_trace_mask_always
+					| eap_am_tools_c::eap_trace_mask_error
+					);
+			}
+		}
+	}
+
+	//----------------------------------------------------------
+
+	{		
+		eap_variable_data_c EAP_TRACE_activate_trace_on_error(m_am_tools);
+
+		eap_status_e status = read_configure(
+			cf_str_EAP_TRACE_activate_trace_on_error.get_field(),
+			&EAP_TRACE_activate_trace_on_error);
+		if (status == eap_status_ok
+			&& EAP_TRACE_activate_trace_on_error.get_is_valid_data() == true)
+		{
+			u32_t *activate_trace_on_error = reinterpret_cast<u32_t *>(
+				EAP_TRACE_activate_trace_on_error.get_data(sizeof(u32_t)));
+			if (activate_trace_on_error != 0
+				&& *activate_trace_on_error != 0)
+			{
+				m_am_tools->set_activate_trace_on_error();
+			}
+		}
+	}
+
+	//----------------------------------------------------------
+
+	// All of the configuration options are optional.
+	// So we return OK.
+	return eap_status_ok;
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::read_configure(
+	const eap_configuration_field_c * const field,
+	eap_variable_data_c * const data)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	EAP_ASSERT_ALWAYS(data != NULL);
+	
+	// To remove compilation warning in UREL due to KMaxConfigStringLength.
+	if(field->get_field_length() > KMaxConfigStringLength)
+	{
+		return eap_status_process_general_error;
+	}
+	
+	// Trap must be set here because the OS independent portion of EAPOL
+	// that calls this function does not know anything about Symbian.	
+	eap_status_e status(eap_status_ok);
+	
+	// Check if the wanted parameter is default type
+
+	eap_variable_data_c wanted_field(m_am_tools);
+	eap_variable_data_c type_field(m_am_tools);
+	eap_variable_data_c type_field_server(m_am_tools);
+	
+	status = wanted_field.set_buffer(
+		field->get_field(),
+		field->get_field_length(),
+		false,
+		false);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return status;
+	}
+	
+	status = type_field.set_buffer(
+		cf_str_EAP_default_type_u32_t.get_field()->get_field(),
+		cf_str_EAP_default_type_u32_t.get_field()->get_field_length(),
+		false,
+		false);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return status;
+	}
+	
+	status = type_field_server.set_buffer(
+		cf_str_EAP_server_default_type_u32_t.get_field()->get_field(),
+		cf_str_EAP_server_default_type_u32_t.get_field()->get_field_length(),
+		false,
+		false);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return status;
+	}
+
+	if (!wanted_field.compare(&type_field)
+		|| !wanted_field.compare(&type_field_server))
+	{
+		TInt i; 
+		// We need to return here the next EAP type we should try		
+		for (i = m_eap_index; i < m_iap_eap_array.Count(); i++)
+		{
+			// Find the first enabled EAP type (highest priority)
+			TEap *eapType = m_iap_eap_array[i];			
+			if (eapType->Enabled == 1)
+			{
+				// Convert the string to integer
+				TLex8 tmp(eapType->UID);
+				TInt val(0);
+				tmp.Val(val);
+				status = data->set_copy_of_buffer(reinterpret_cast<u8_t *>(&val), sizeof(TUint));
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
+				}
+
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("EAPOL: Trying EAP type: %d.\n"), val));
+				break;
+			}
+		}	
+		m_eap_index = i;
+		if (i >= m_iap_eap_array.Count())
+		{
+			// Not found
+			// Send WLM notification because there is no way that the authentication
+			// can be successful if we don't have any EAP types to use...
+			if (m_is_client)
+			{
+				EAP_TRACE_ERROR(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("ERROR: No configured EAP types or all tried unsuccessfully.\n")));
+			}
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
+		}
+	
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);		
+	}
+
+	// It was something else than EAP type. Read it from DB.
+	TRAPD(err, read_configureL(
+		field->get_field(),
+		field->get_field_length(),
+		data));
+	if (err != KErrNone) 
+	{
+		status = m_am_tools->convert_am_error_to_eapol_error(err);
+
+#if defined(USE_EAP_FILECONFIG)
+		if (m_fileconfig != 0
+			&& m_fileconfig->get_is_valid() == true)
+		{
+			// Here we could try the final configuration option.
+			status = m_fileconfig->read_configure(
+				field,
+				data);
+		}
+#endif //#if defined(USE_EAP_FILECONFIG)
+	}
+
+	m_am_tools->trace_configuration(
+		status,
+		field,
+		data);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::read_configureL(
+	eap_config_string field,
+	const u32_t /*field_length*/,
+	eap_variable_data_c * const data)
+{	
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	// Create a buffer for the ascii strings - initialised with the argument
+	HBufC8* asciibuf = HBufC8::NewLC(128);
+	TPtr8 asciiString = asciibuf->Des();
+	asciiString.Copy(reinterpret_cast<const unsigned char *>(field));
+		
+	// Buffer for unicode parameter
+	HBufC* unicodebuf = HBufC::NewLC(128);
+	TPtr unicodeString = unicodebuf->Des();
+	
+	// Convert to unicode 
+	unicodeString.Copy(asciiString);
+
+	// Now do the database query
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+	_LIT(KSQLQueryRow, "SELECT %S FROM eapol");
+	sqlStatement.Format(KSQLQueryRow, &unicodeString);
+	
+	RDbView view;
+	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+	if (view.FirstL())
+	{
+		eap_status_e status(eap_status_process_general_error);
+		view.GetL();		
+		switch (view.ColType(1))
+		{
+		case EDbColText:				
+			{
+				unicodeString = view.ColDes(1);
+				// Convert to 8-bit
+				asciiString.Copy(unicodeString);
+				if (asciiString.Size() > 0)
+				{
+					status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size());
+					if (status != eap_status_ok)
+					{
+						User::Leave(KErrNoMemory);
+					}
+				} 
+				else 
+				{
+					// Empty field. Do nothing...data remains invalid
+					// and the stack knows what to do hopefully.
+					break;
+				}
+			}
+			break;
+		case EDbColUint32:
+			{
+				TUint value;
+				value = view.ColUint32(1);
+				status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value));
+				if (status != eap_status_ok)
+				{
+					User::Leave(KErrNoMemory);
+				}
+			}
+			break;
+		default:
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("read_configureL: Unexpected column type.\n")));
+			User::Panic(_L("EAPOL"), 1);			
+		}
+	} 
+	else 
+	{
+		// Could not find parameter
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("read_configureL: Could not find configuration parameter.\n")));
+		User::Leave(KErrNotFound);
+	}		
+	
+	// Close database
+	CleanupStack::PopAndDestroy(4); // session & 3 buffers
+
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::write_configure(
+	const eap_configuration_field_c * const /*field*/,
+	eap_variable_data_c * const /*data*/)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return eap_status_not_supported;
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::set_timer(
+	abs_eap_base_timer_c * const p_initializer, 
+	const u32_t p_id, 
+	void * const p_data,
+	const u32_t p_time_ms)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	const eap_status_e status = m_am_tools->am_set_timer(
+		p_initializer, 
+		p_id, 
+		p_data,
+		p_time_ms);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return status;
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::cancel_timer(
+	abs_eap_base_timer_c * const p_initializer, 
+	const u32_t p_id)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
+	const eap_status_e status = m_am_tools->am_cancel_timer(
+		p_initializer, 
+		p_id);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return status;
+}
+
+//--------------------------------------------------
+
+//
+eap_status_e eapol_am_core_symbian_c::cancel_all_timers()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	const eap_status_e status = m_am_tools->am_cancel_all_timers();
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return status;
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
+	TEap *eapType = 0; 
+	
+	eap_status_e status(eap_status_illegal_eap_type);
+	
+	for (int i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Try next EAP type
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			// Convert the string to integer
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+			if (eap_type == static_cast<eap_type_ietf_values_e>(val))
+			{
+				// Allowed
+				status = eap_status_ok;
+				break;
+			}	
+		}
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::get_eap_type_list(
+	eap_array_c<eap_type_value_e> * const eap_type_list)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	TEap *eapType = 0; 
+
+	eap_status_e status(eap_status_illegal_eap_type);
+
+	status = eap_type_list->reset();
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Check if type is enabled
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			eap_type_value_e * const eap_type = new eap_type_value_e(
+				static_cast<eap_type_ietf_values_e>(val));
+			if (eap_type == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			status = eap_type_list->add_object(eap_type, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return eap_status_ok;
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::TryOpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession)
+{
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::TryOpenDatabaseL()\n")));
+
+	// 1. Open/create a database	
+	
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database (if necessary) with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat);
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. err=%d\n"), err ));	
+		
+	if(err == KErrNone)
+	{	
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);
+	
+	// Create the database (if necessary)		
+	TInt err = aDatabase.Create(fsSession, KDatabaseName);
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("TryOpenDatabaseL() - Created Non-Secure DB for eapol.dat. err=%d\n"), err ));	
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName));
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
+
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// 2. Create the table for pre-shared keys in database (ignore error if exists)
+	
+//// NAME /////////////////////////////////////////////////// TYPE ////////////// Constant ///////
+//| ServiceType											  | UNSIGNED INTEGER | KServiceType    |//
+//| ServiceIndex										  | UNSIGNED INTEGER | KServiceIndex   |//
+//| SSID												  | VARBINARY(255)	 | KSSID		   |//	
+//| Password											  | VARBINARY(255)	 | KPassword	   |//	
+//| PSK												      | VARBINARY(255)   | KPSK			   |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////	
+
+	_LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARBINARY(255), \
+											 %S VARBINARY(255), \
+											 %S VARBINARY(255))");
+											 
+	sqlStatement.Format(KSQLCreateTable2, &KEapolPSKTableName, 
+		&KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK);
+		
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
+	{
+		User::Leave(err);
+	}
+	
+	CleanupStack::PopAndDestroy(); // buf
+	CleanupStack::Pop(2); // database, session
+	
+	// If compacting is not done the database will start growing
+	aDatabase.Compact();
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession)
+{
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::OpenDatabaseL()\n")));
+
+	// Create the database (if necessary)
+	TRAPD(err, TryOpenDatabaseL(aDatabase, aSession));
+	if (err != KErrNone)
+	{
+		// Because of error remove the database file.
+		RFs fsDataBaseFile;
+		User::LeaveIfError(fsDataBaseFile.Connect());
+		CleanupClosePushL(fsDataBaseFile);
+		err = fsDataBaseFile.Delete(KDatabaseName);
+		if(err != KErrNone)
+		{
+			User::Leave(KErrCorrupt);
+		}
+		CleanupStack::PopAndDestroy(); // close fsDataBaseFile
+
+		// Try open database again. This will leave if fails second time.
+		TryOpenDatabaseL(aDatabase, aSession);
+	}
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::random_error(
+	eap_buf_chain_wr_c * const sent_packet,
+	const bool forse_error,
+	const u32_t packet_index)
+{	
+	EAP_UNREFERENCED_PARAMETER(packet_index);
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::random_error()\n")));
+
+	eap_status_e status(eap_status_ok);
+	u8_t *data = sent_packet->get_data(sent_packet->get_data_length());
+
+	crypto_random_c rand(m_am_tools);
+	u32_t random_guard(0);
+	bool error_generated(false);
+	u32_t minimum_index(0);
+
+	if (m_manipulate_ethernet_header == false)
+	{
+		minimum_index = eapol_ethernet_header_wr_c::get_header_length();
+	}
+
+	for (u32_t ind = minimum_index; ind < sent_packet->get_data_length(); ind++)
+	{
+		status = rand.get_rand_bytes(
+			reinterpret_cast<u8_t *>(&random_guard),
+			sizeof(random_guard));
+		if (status != eap_status_ok)
+		{
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		// This is simple limiter to the probability of an error.
+		// probability = m_error_probability / (2^32)
+		if (random_guard < m_error_probability)
+		{
+			u8_t rnd(0);
+			u8_t previous_data(0);
+			// Create an error.
+			status = rand.get_rand_bytes(
+				&rnd,
+				sizeof(rnd));
+			if (status != eap_status_ok)
+			{
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			previous_data = data[ind];
+			data[ind] ^= rnd;
+
+			if (previous_data != data[ind])
+			{
+				error_generated = true;
+				sent_packet->set_random_error_type(eap_random_error_type_manipulate_byte);
+
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, data[0x%04x] changed from 0x%02x to 0x%02x.\n"),
+					this,
+					packet_index,
+					ind,
+					previous_data,
+					data[ind]));
+			}
+		}
+	}
+
+	if (error_generated == false
+		&& forse_error == true
+		&& sent_packet->get_data_length() > 0ul)
+	{
+		// Generate one error.
+
+		// Random error type.
+		eap_random_error_type error_type = eap_random_error_type_none_keep_this_last_case;
+		status = rand.get_rand_bytes(
+			reinterpret_cast<u8_t *>(&error_type),
+			sizeof(error_type));
+		if (status != eap_status_ok)
+		{
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		error_type = static_cast<eap_random_error_type>(
+			static_cast<u32_t>(error_type % static_cast<u32_t>(
+								   eap_random_error_type_none_keep_this_last_case)));
+
+		sent_packet->set_random_error_type(error_type);
+
+		switch(error_type)
+		{
+		case eap_random_error_type_manipulate_byte:
+			{
+				u32_t rnd_index(0);
+				u8_t previous_data(0);
+				u32_t index(0);
+
+				do
+				{
+					do
+					{
+						// Create an error index.
+						status = rand.get_rand_bytes(
+							reinterpret_cast<u8_t *>(&rnd_index),
+							sizeof(rnd_index));
+						if (status != eap_status_ok)
+						{
+							return EAP_STATUS_RETURN(m_am_tools, status);
+						}
+
+						index = (rnd_index % (sent_packet->get_data_length() - minimum_index))
+							+ minimum_index;
+					}
+					while(index < minimum_index
+						|| index > sent_packet->get_buffer_length());
+
+					u8_t rnd(0);
+					// Create an error.
+					status = rand.get_rand_bytes(
+						&rnd,
+						sizeof(rnd));
+					if (status != eap_status_ok)
+					{
+						return EAP_STATUS_RETURN(m_am_tools, status);
+					}
+
+					previous_data = data[index];
+					data[index] ^= rnd;
+				}
+				while(previous_data == data[index]);
+
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, data[0x%04x] changed from 0x%02x to 0x%02x.\n"),
+					this,
+					packet_index,
+					index,
+					previous_data,
+					data[index]));
+
+				error_generated = true;
+			}
+			break;
+		case eap_random_error_type_change_packet_length_longer:
+			{
+				u8_t delta_length(0);
+				i32_t new_length(0);
+
+				do
+				{
+					status = rand.get_rand_bytes(
+						reinterpret_cast<u8_t *>(&delta_length),
+						sizeof(delta_length));
+					if (status != eap_status_ok)
+					{
+						return EAP_STATUS_RETURN(m_am_tools, status);
+					}
+
+					new_length = static_cast<i32_t>(sent_packet->get_data_length()
+													+ static_cast<i32_t>(delta_length));
+				}
+				while (new_length < static_cast<i32_t>(
+						   eapol_ethernet_header_wr_c::get_header_length())
+					|| new_length > static_cast<i32_t>(sent_packet->get_buffer_length()));
+
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, packet length changed from %lu to %lu.\n"),
+					this,
+					packet_index,
+					sent_packet->get_data_length(),
+					new_length));
+
+				sent_packet->set_data_length(new_length);
+
+				error_generated = true;
+			}
+			break;
+		case eap_random_error_type_change_packet_length_shorter:
+			{
+				u8_t delta_length(0);
+				i32_t new_length(0);
+
+				do
+				{
+					status = rand.get_rand_bytes(
+						reinterpret_cast<u8_t *>(&delta_length),
+						sizeof(delta_length));
+					if (status != eap_status_ok)
+					{
+						return EAP_STATUS_RETURN(m_am_tools, status);
+					}
+
+					delta_length %= static_cast<i32_t>(
+						sent_packet->get_data_length()
+						- static_cast<i32_t>(eapol_ethernet_header_wr_c::get_header_length()));
+
+					if (delta_length == 0)
+					{
+						continue;
+					}
+
+					new_length = static_cast<i32_t>(
+						sent_packet->get_data_length() - static_cast<i32_t>(delta_length));
+				}
+				while (new_length < static_cast<i32_t>(
+						   eapol_ethernet_header_wr_c::get_header_length())
+					|| new_length > static_cast<i32_t>(sent_packet->get_buffer_length()));
+
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("TEST: random_error(): packet_index 0x%08x:%lu, packet length changed from %lu to %lu.\n"),
+					this,
+					packet_index,
+					sent_packet->get_data_length(),
+					new_length));
+
+				sent_packet->set_data_length(new_length);
+
+				error_generated = true;
+			}
+			break;
+		default:
+			User::Panic(_L("EAPOL"), 1);
+			break;
+		}
+	}
+
+	if (error_generated == true)
+	{
+		sent_packet->set_is_manipulated();
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return status;
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::create_upper_stack()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::create_upper_stack()\n")));
+
+	eap_status_e status(eap_status_ok);
+
+	if (m_ethernet_core == 0)
+	{        
+		m_ethernet_core = new ethernet_core_c(m_am_tools, this, m_is_client);
+		if (m_ethernet_core == 0
+			|| m_ethernet_core->get_is_valid() != true)
+		{
+			if (m_ethernet_core != 0)
+			{
+				m_ethernet_core->shutdown();
+				delete m_ethernet_core;
+				m_ethernet_core = 0;							
+			}			
+			EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Stack creation failed.\n")));			
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);	
+		}
+
+		// Initialise upper stack
+		status = m_ethernet_core->configure();
+		
+		if (status != eap_status_ok)
+		{
+			m_ethernet_core->shutdown();
+			delete m_ethernet_core;
+			m_ethernet_core = 0;							
+
+			EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Stack creation failed.\n")));			
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);	
+		}
+	}
+	else
+	{			
+		status = eap_status_already_exists;
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return status;	
+}
+
+//--------------------------------------------------
+
+eap_status_e eapol_am_core_symbian_c::add_rogue_ap(
+	eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_core_symbian_c::add_rogue_ap()\n")));
+
+	TInt err(KErrNone);
+	eap_rogue_ap_entry_c* entry = 0;
+
+	TMacAddress mac;
+
+	TRogueType type;
+
+	for (u32_t i = 0; i < rogue_ap_list.get_object_count(); i++)
+	{
+		entry = rogue_ap_list.get_object(i);
+
+		entry->get_mac_address(mac.iMacAddress);
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Adding rogue AP - type: %d\n"),
+			entry->get_rogue_reason()));
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("Rogue MAC address"),
+			mac.iMacAddress,
+			KMacAddressLength));
+
+		switch (entry->get_rogue_reason())
+		{
+		case rogue_ap_none:
+			// Ignore this
+			continue;
+		case rogue_ap_association_failed:
+			type = EInvalidAuthenticationType;
+			break;
+		case rogue_ap_timeout:
+			type = EAuthenticationTimeout;
+			break;
+		case rogue_ap_challenge_to_client_failed:
+			type = EChallengeFromAPFailed;
+			break;
+		case rogue_ap_challenge_to_ap_failed:
+			type = EChallengeToAPFailed;
+			break;
+		default:
+			// ignore others
+			continue;
+		}
+
+		err = m_partner->AddRogueAP(mac, type);
+		if (err != KErrNone)
+		{
+			break;
+		}
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+	return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::RetrievePSKL(TPSKEntry& entry)
+{
+	HBufC* sqlbuf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = sqlbuf->Des();
+
+	RDbView view;
+
+	_LIT(KSQL, "SELECT %S, %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d");
+
+	sqlStatement.Format(KSQL, &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK,
+		&KEapolPSKTableName, &KServiceType, entry.indexType, &KServiceIndex, entry.index);
+		
+	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+
+	TInt rows = view.CountL();
+	
+	if (rows == 0)
+	{
+		// No saved PSK
+		User::Leave(KErrNotFound);
+	}
+	view.FirstL();
+	view.GetL();
+
+	entry.ssid.Copy(view.ColDes8(3));
+	entry.password.Copy(view.ColDes8(4));
+	entry.psk.Copy(view.ColDes8(5));
+
+	CleanupStack::PopAndDestroy(2); // view, buf
+}
+
+//--------------------------------------------------
+
+void eapol_am_core_symbian_c::SavePSKL(TPSKEntry& entry)
+{
+	// Connect to CommDBif so that we can delete PSK entries that have no IAP associated anymore.
+	CWLanSettings* wlan = new(ELeave) CWLanSettings;
+	CleanupStack::PushL(wlan);
+	
+	SWLANSettings wlanSettings;
+
+	if (wlan->Connect() != KErrNone)
+	{
+		// Could not connect to CommDB			
+		User::Leave(KErrCouldNotConnect);
+	}
+
+	HBufC* sqlbuf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = sqlbuf->Des();
+
+	RDbView view;
+
+	_LIT(KSQL, "SELECT %S, %S, %S, %S, %S FROM %S");
+	
+	sqlStatement.Format(KSQL, &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK,
+		&KEapolPSKTableName);
+
+	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));	
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());
+
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet = view.ColSetL();		
+	CleanupStack::PushL(colSet);
+
+	// Delete old row and also rows that have no associated IAP settings.
+	if (view.FirstL())
+	{		
+		do {
+			view.GetL();
+
+			if ((wlan->GetWlanSettingsForService(view.ColUint32(colSet->ColNo(KServiceIndex)), wlanSettings) != KErrNone)
+				|| (view.ColUint32(colSet->ColNo(KServiceType)) == static_cast<TUint>(entry.indexType)
+					&& view.ColUint32(colSet->ColNo(KServiceIndex)) == static_cast<TUint>(entry.index)))
+			{	
+				// Not found or current IAP
+				view.DeleteL();	
+			}
+			
+		} while (view.NextL() != EFalse);
+	}
+
+	wlan->Disconnect();
+		
+	view.InsertL();
+	
+	view.SetColL(colSet->ColNo(KServiceType), (TUint)entry.indexType);
+	view.SetColL(colSet->ColNo(KServiceIndex), (TUint)entry.index);
+	view.SetColL(colSet->ColNo(KSSID), entry.ssid);
+	view.SetColL(colSet->ColNo(KPassword), entry.password);
+	view.SetColL(colSet->ColNo(KPSK), entry.psk);	
+		
+	view.PutL();
+	
+	CleanupStack::PopAndDestroy( colSet ); // Delete colSet.	
+
+	CleanupStack::PopAndDestroy(3); // CWLanSettings, session, database
+
+}
+
+														 
+//--------------------------------------------------				
+
+
+// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 94 %
+* %version: 59.1.4 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -39,25 +39,27 @@
 #include "eapol_key_types.h"
 #include "eap_timer_queue.h"
 #include "eap_crypto_api.h"
-#include "abs_eap_database_reference_if.h"
+#include "abs_eapol_wlan_database_reference_if.h"
 #include "abs_eap_state_notification.h"
 #include "eap_state_notification.h"
 #include "eap_automatic_variable.h"
 #include "eap_base_type.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_core_client_message_if.h"
 
 #include "EapolDbDefaults.h"
 #include "EapolDbParameterNames.h"
-#include "EapConversion.h"
-#include "EapConfigToolsSymbian.h"
-#include "EapPluginTools.h"
-
-#include <wdbifwlansettings.h>
 
 const TUint KMaxSqlQueryLength = 2048;
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+const TUint KExpandedEAPSize = 8;
+
+#else
+
+const TUint KMaxEapCueLength = 3;
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 //--------------------------------------------------
 
 // 
@@ -68,7 +70,6 @@
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c(): this = 0x%08x\n"),
 		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c()");
 }
 
 //--------------------------------------------------
@@ -76,8 +77,10 @@
 // 
 EAP_FUNC_EXPORT eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(
 	abs_eap_am_tools_c * const tools,
-	const bool is_client_when_true)
-: m_am_partner(0)
+	const bool is_client_when_true,
+	const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference)
+: CActive(CActive::EPriorityStandard)
+, m_am_partner(0)
 #if defined(USE_EAP_SIMPLE_CONFIG)
 , m_configuration_if(0)
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
@@ -86,8 +89,12 @@
 , m_SSID(tools)
 , m_wpa_preshared_key(tools)
 , m_wpa_preshared_key_hash(tools)
-, m_database_reference(tools)
+, m_wlan_database_reference(wlan_database_reference)
+#ifdef USE_EAP_EXPANDED_TYPES
+, m_eap_type_array(tools)
+#endif
 , m_receive_network_id(tools)
+, m_security_mode(Wpa)
 , m_selected_eapol_key_authentication_type(eapol_key_authentication_type_none)
 , m_WPA_override_enabled(false)
 , m_is_client(is_client_when_true)
@@ -96,13 +103,6 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c()");
-
 	m_is_valid = true;
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -114,13 +114,6 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::get_is_valid(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::get_is_valid()");
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return m_is_valid;
 }
@@ -133,44 +126,57 @@
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
 		(EAPL("eapol_am_wlan_authentication_symbian_c::TryOpenDatabaseL()\n")));	
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::TryInitDatabaseL()");
 		
 	// 1. Open/create a database	
 	RDbNamedDatabase db;
 
+#ifdef SYMBIAN_SECURE_DBMS
+	
 	// Create the secure shared database (if necessary) with the specified secure policy.
 	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
-
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::GetPrivatePathL(
-		m_session,
-		aPrivateDatabasePathName);
-
-	aPrivateDatabasePathName.Append(KEapolDatabaseName);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	TInt error = db.Create(m_session, aPrivateDatabasePathName);
+	
+	TInt err = db.Create(m_session, KDatabaseName, KSecureUIDFormat);
 	
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. error=%d\n"), error ));	
+		(EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. err=%d\n"), err ));	
 		
-	if(error == KErrNone)
+	if(err == KErrNone)
 	{	
 		db.Close();
 		
-	} else if (error != KErrAlreadyExists) 
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	User::LeaveIfError(db.Open(m_session, aPrivateDatabasePathName));	
+	User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat));	
 		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	// Create the database (if necessary)		
+	TInt err = db.Create(m_fs, KDatabaseName);
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("TryOpenDatabaseL() - Created Non-Secure DB for eapol.dat. err=%d\n"), err ));	
+	
+	if(err == KErrNone)
+	{
+		db.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+		
+	User::LeaveIfError(db.Open(m_session, KDatabaseName));
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS		
+
 	CleanupClosePushL(db);
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
@@ -192,18 +198,18 @@
 											 %S VARBINARY(255))");
 	sqlStatement.Format(KSQLCreateTable2, &KEapolPSKTableName, 
 		&KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK);
-	error = db.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = db.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 	
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(); // buf
 	
 	// If compacting is not done the database will start growing
 	db.Compact();
 	
-	CleanupStack::PopAndDestroy(&db);
+	CleanupStack::PopAndDestroy(); // Close database
 }
 
 //--------------------------------------------------
@@ -213,28 +219,15 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("eapol_am_wlan_authentication_symbian_c::InitDatabaseL()\n")));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::InitDatabaseL()");
+		(EAPL("eapol_am_wlan_authentication_symbian_c::OpenDatabaseL()\n")));
 
 	// Create the database (if necessary)
-	TRAPD(error, TryInitDatabaseL());
-	if (error != KErrNone)
+	TRAPD(err, TryInitDatabaseL());
+	if (err != KErrNone)
 	{
 		// Because of error remove the database file.
-		TFileName aPrivateDatabasePathName;
-
-		EapPluginTools::GetPrivatePathL(
-			m_session,
-			aPrivateDatabasePathName);
-
-		aPrivateDatabasePathName.Append(KEapolDatabaseName);
-
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-			aPrivateDatabasePathName.Ptr(),
-			aPrivateDatabasePathName.Size()));
-
-		error = m_session.Delete(aPrivateDatabasePathName);
-		if(error != KErrNone)
+		err = m_fs.Delete(KDatabaseName);
+		if(err != KErrNone)
 		{
 			User::Leave(KErrCorrupt);
 		}		
@@ -257,10 +250,8 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::configure()");
 
 	TInt error(KErrNone);
-	eap_status_e status(eap_status_process_general_error);
 
 	// Open the database session
 	error = m_session.Connect();
@@ -271,9 +262,8 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: RDbs::Connect() failed %d=%s.\n"),
-			status,
-			eap_status_string_c::get_status_string(status)));
+			(EAPL("RDbs::Connect() failed %d.\n"),
+			status));
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
@@ -283,8 +273,8 @@
 		TRACE_FLAGS_DEFAULT,
 		(EAPL("Database session initialized...\n")));
 
-	// Initialize database
-	TRAP(error, InitDatabaseL());
+	// Connect to FS
+	error = m_fs.Connect();
 	if (error != KErrNone)
 	{
 		eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error));
@@ -292,9 +282,28 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: InitDatabaseL failed %d=%s.\n"),
-			status,
-			eap_status_string_c::get_status_string(status)));
+			(EAPL("RFs::Connect() failed %d.\n"),
+			status));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("Fileserver session initialized...\n")));
+
+	// Initialize database
+	TRAPD(err, InitDatabaseL());
+	if (err != KErrNone)
+	{
+		eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error));
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("InitDatabaseL failed %d.\n"),
+			status));
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
@@ -306,14 +315,169 @@
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
-	status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian(
-		m_am_tools,
-		&m_fileconfig);
-	if (status != eap_status_ok)
+#if defined(USE_EAP_FILECONFIG)
 	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		eap_am_file_input_symbian_c * const fileio = new eap_am_file_input_symbian_c(m_am_tools);
+
+		eap_automatic_variable_c<eap_am_file_input_symbian_c> automatic_fileio(m_am_tools, fileio);
+
+		if (fileio != 0
+			&& fileio->get_is_valid() == true)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Initialize file configuration.\n")));
+
+			eap_variable_data_c file_name_c_data(m_am_tools);
+
+			eap_status_e status(eap_status_process_general_error);
+
+			{
+				#if defined(EAPOL_SYMBIAN_VERSION_7_0_s)
+					eap_const_string const FILECONFIG_FILENAME_C
+						= "c:\\system\\data\\eap.conf";
+				#else
+					eap_const_string const FILECONFIG_FILENAME_C
+						= "c:\\private\\101F8EC5\\eap.conf";
+				#endif
+
+				status = file_name_c_data.set_copy_of_buffer(
+					FILECONFIG_FILENAME_C,
+					m_am_tools->strlen(FILECONFIG_FILENAME_C));
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, status);
+				}
+
+				status = file_name_c_data.add_end_null();
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, status);
+				}
+			}
+
+			eap_variable_data_c file_name_z_data(m_am_tools);
+
+			{
+				#if defined(EAPOL_SYMBIAN_VERSION_7_0_s)
+					eap_const_string const FILECONFIG_FILENAME_Z
+						= "z:\\system\\data\\eap.conf";
+				#else
+					eap_const_string const FILECONFIG_FILENAME_Z
+						= "z:\\private\\101F8EC5\\eap.conf";
+				#endif
+
+				status = file_name_z_data.set_copy_of_buffer(
+					FILECONFIG_FILENAME_Z,
+					m_am_tools->strlen(FILECONFIG_FILENAME_Z));
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, status);
+				}
+
+				status = file_name_z_data.add_end_null();
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, status);
+				}
+			}
+
+
+
+			if (status == eap_status_ok)
+			{
+				// First try open from C: disk.
+				status = fileio->file_open(
+					&file_name_c_data,
+					eap_file_io_direction_read);
+				if (status == eap_status_ok)
+				{
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("Opens configure file %s\n"),
+						file_name_c_data.get_data(file_name_c_data.get_data_length())));
+				}
+				else if (status != eap_status_ok)
+				{
+					// Second try open from Z: disk.
+					status = fileio->file_open(
+						&file_name_z_data,
+						eap_file_io_direction_read);
+					if (status == eap_status_ok)
+					{
+						EAP_TRACE_DEBUG(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("Opens configure file %s\n"),
+							 file_name_z_data.get_data(file_name_z_data.get_data_length())));
+					}
+				}
+
+				if (status == eap_status_ok)
+				{
+					// Some of the files were opened.
+
+					m_fileconfig = new eap_file_config_c(m_am_tools);
+					if (m_fileconfig != 0
+						&& m_fileconfig->get_is_valid() == true)
+					{
+						status = m_fileconfig->configure(fileio);
+						if (status != eap_status_ok)
+						{
+							EAP_TRACE_DEBUG(
+								m_am_tools,
+								TRACE_FLAGS_DEFAULT,
+								(EAPL("ERROR: Configure read from %s failed.\n"),
+								file_name_c_data.get_data(file_name_c_data.get_data_length())));
+						}
+						else
+						{
+							EAP_TRACE_DEBUG(
+								m_am_tools,
+								TRACE_FLAGS_DEFAULT,
+								(EAPL("Configure read from %s\n"),
+								file_name_c_data.get_data(file_name_c_data.get_data_length())));
+						}
+					}
+					else
+					{
+						// No file configuration.
+						delete m_fileconfig;
+						m_fileconfig = 0;
+
+						EAP_TRACE_DEBUG(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("ERROR: Cannot create configure object for file %s\n"),
+							file_name_c_data.get_data(file_name_c_data.get_data_length())));
+					}
+				}
+				else
+				{
+					EAP_TRACE_DEBUG(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("ERROR: Cannot open configure file neither %s nor %s\n"),
+						file_name_c_data.get_data(file_name_c_data.get_data_length()),
+						file_name_z_data.get_data(file_name_z_data.get_data_length())));
+				}
+			}
+		}
+		else
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Skips file configuration.\n")));
+		}
 	}
+#endif //#if defined(USE_EAP_FILECONFIG)
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
@@ -321,7 +485,7 @@
 	{
 		eap_variable_data_c trace_output_file(m_am_tools);
 
-		status = read_configure(
+		eap_status_e status = read_configure(
 			cf_str_EAP_TRACE_output_file_name.get_field(),
 			&trace_output_file);
 		if (status == eap_status_ok
@@ -345,33 +509,9 @@
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 	{
-		eap_variable_data_c EAP_TRACE_enable_timer_traces(m_am_tools);
-
-		status = read_configure(
-			cf_str_EAP_TRACE_enable_timer_traces.get_field(),
-			&EAP_TRACE_enable_timer_traces);
-		if (status == eap_status_ok
-			&& EAP_TRACE_enable_timer_traces.get_is_valid_data() == true)
-		{
-			u32_t *enable_timer_traces = reinterpret_cast<u32_t *>(
-				EAP_TRACE_enable_timer_traces.get_data(sizeof(u32_t)));
-			if (enable_timer_traces != 0
-				&& *enable_timer_traces != 0)
-			{
-				m_am_tools->set_trace_mask(
-					m_am_tools->get_trace_mask()
-					| TRACE_FLAGS_TIMER
-					);
-			}
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
 		eap_variable_data_c EAP_TRACE_enable_timer_queue_traces(m_am_tools);
 
-		status = read_configure(
+		eap_status_e status = read_configure(
 			cf_str_EAP_TRACE_enable_timer_queue_traces.get_field(),
 			&EAP_TRACE_enable_timer_queue_traces);
 		if (status == eap_status_ok
@@ -384,18 +524,16 @@
 			{
 				m_am_tools->set_trace_mask(
 					m_am_tools->get_trace_mask()
-					| TRACE_FLAGS_TIMER_QUEUE
+					| eap_am_tools_c::eap_trace_mask_timer_queue
 					);
 			}
 		}
 	}
 
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 	{
 		eap_variable_data_c EAP_TRACE_enable_function_traces(m_am_tools);
 
-		status = read_configure(
+		eap_status_e status = read_configure(
 			cf_str_EAP_TRACE_enable_function_traces.get_field(),
 			&EAP_TRACE_enable_function_traces);
 		if (status == eap_status_ok
@@ -427,6 +565,50 @@
 
 //--------------------------------------------------
 
+eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_plugins()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eapol_am_wlan_authentication_symbian_c::reset_eap_plugins(): %s, this = 0x%08x => 0x%08x\n"),
+		 (m_is_client == true) ? "client": "server",
+		 this,
+		 dynamic_cast<abs_eap_base_timer_c *>(this)));
+
+	// Unload all loaded plugins
+	for(int ind = 0; ind < m_plugin_if_array.Count(); ind++)
+	{
+		delete m_plugin_if_array[ind];
+	}
+
+	m_plugin_if_array.Close();
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	m_enabled_expanded_eap_array.ResetAndDestroy();
+
+	m_disabled_expanded_eap_array.ResetAndDestroy();
+	
+	m_eap_type_array.reset();
+	
+#else
+
+	// Delete the IAP EAP type info array
+	m_iap_eap_array.ResetAndDestroy();
+	
+	m_eap_type_array.Close();	
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::shutdown()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -438,13 +620,15 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::shutdown()");
 
 	m_session.Close();
+	m_fs.Close();
 
 	delete m_fileconfig;
 	m_fileconfig = 0;
 
+	(void) reset_eap_plugins();
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
@@ -466,7 +650,6 @@
 		(EAPL("eapol_am_wlan_authentication_simulator_c::set_am_partner(): %s, this = 0x%08x\n"),
 		 (m_is_client == true) ? "client": "server",
 		 this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_am_partner()");
 
 	m_am_partner = am_partner;
 
@@ -480,25 +663,24 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration()
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_configuration()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration(): %s, this = 0x%08x\n"),
+		(EAPL("eapol_am_wlan_authentication_symbian_c::reset_eap_configuration(): %s, this = 0x%08x\n"),
 		 (m_is_client == true) ? "client": "server",
 		 this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration()");
-
-	TRAPD(error, ReadWPASettingsL());
+
+	TRAPD(error, ReadEAPSettingsL());
 	if (error != KErrNone)
 	{
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("EAP settings reading from CommDb failed or cancelled(error %d).\n"), error));
+			(EAPL("EAP settings reading from CommDb failed or cancelled(err %d).\n"), error));
 
 		eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error));
 
@@ -518,7 +700,6 @@
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("eapol_am_wlan_authentication_symbian_c::send_error_notification, error=%d\n"),
 		error));	
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::send_error_notification()");
 
 	eap_general_state_variable_e general_state_variable(eap_general_state_authentication_error);
 	
@@ -567,7 +748,6 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_wlan_parameters()");
 
 	m_WPA_override_enabled = WPA_override_enabled;
 
@@ -595,18 +775,11 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT void eapol_am_wlan_authentication_symbian_c::state_notification(
+void eapol_am_wlan_authentication_symbian_c::state_notification(
 	const abs_eap_state_notification_c * const state)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::state_notification(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::state_notification()");
-
 	EAP_UNREFERENCED_PARAMETER(state);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -626,7 +799,6 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::association()");
 
 	eap_status_e status = m_receive_network_id.set_copy_of_network_id(receive_network_id);
 
@@ -650,7 +822,6 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::disassociation()");
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
@@ -658,6 +829,181 @@
 
 //--------------------------------------------------
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(
+	eap_array_c<eap_type_selection_c> * const selected_eap_types)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(): %s, this = 0x%08x => 0x%08x\n"),
+		 (m_is_client == true) ? "client": "server",
+		 this,
+		 dynamic_cast<abs_eap_base_timer_c *>(this)));
+
+	eap_status_e status = selected_eap_types->reset();
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_header_string_c eap_string;
+	EAP_UNREFERENCED_PARAMETER(eap_string);
+
+	// We need to return only the EAP types available as enabled types.
+	// It means only the ones available in m_enabled_expanded_eap_array.
+	
+	for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++)
+	{	
+		TBuf8<KExpandedEAPSize> tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType);
+
+		EAP_TRACE_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eapol_am_wlan_authentication_symbian_c::get_selected_eap_types:Enabled expanded EAP type at index=%d\n"),
+			 i));
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Enabled expanded EAP type"),
+			tmpExpEAP.Ptr(),
+			tmpExpEAP.Size()));
+
+		// This is for one expanded EAP type (for the above one).
+		eap_expanded_type_c expandedEAPType;
+				
+		// Read the expanded EAP type details from an item in m_enabled_expanded_eap_array.
+		status = eap_expanded_type_c::read_type(m_am_tools,
+												0,
+												tmpExpEAP.Ptr(),
+												tmpExpEAP.Size(),
+												&expandedEAPType);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		// Add EAP-type to list.
+		eap_type_selection_c * selection = new eap_type_selection_c(
+			m_am_tools,
+			expandedEAPType,
+			true);
+		if (selection != 0)
+		{
+			status = selected_eap_types->add_object(selection, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+			
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("get_selected_eap_types(): added EAP-type=0x%08x=%s\n"),
+				expandedEAPType.get_vendor_type(),
+				eap_string.get_eap_type_string(expandedEAPType)));			
+		}
+		else
+		{
+			// On error we ignore this EAP-type.
+			EAP_TRACE_DEBUG(
+				m_am_tools, 
+				TRACE_FLAGS_DEFAULT, 
+				(EAPL("Some problem with EAP type at index %d in m_enabled_expanded_eap_array\n"),
+				 i));
+		}
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+//--------------------------------------------------
+
+#else // for non-expanded (normal EAP types)
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(
+	eap_array_c<eap_type_selection_c> * const selected_eap_types)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(): %s, this = 0x%08x => 0x%08x\n"),
+		 (m_is_client == true) ? "client": "server",
+		 this,
+		 dynamic_cast<abs_eap_base_timer_c *>(this)));
+
+	eap_status_e status = selected_eap_types->reset();
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_header_string_c eap_string;
+	EAP_UNREFERENCED_PARAMETER(eap_string);
+
+	TEap *eapType = 0; 
+
+	for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Check if type is enabled
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("get_selected_eap_types(): adds EAP-type=0x%08x=%s\n"),
+				static_cast<eap_type_ietf_values_e>(val),
+				eap_string.get_eap_type_string(
+					static_cast<eap_type_value_e>(
+						static_cast<eap_type_ietf_values_e>(val)))));
+
+			// Add EAP-type to list.
+			eap_type_selection_c * selection = new eap_type_selection_c(
+				m_am_tools,
+				static_cast<eap_type_value_e>(static_cast<eap_type_ietf_values_e>(val)),
+				true);
+			if (selection != 0)
+			{
+				status = selected_eap_types->add_object(selection, true);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, status);
+				}
+			}
+			else
+			{
+				// On error we ignore this EAP-type.
+			}
+		}
+	}
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_wlan_configuration(
 	eap_variable_data_c * const wpa_preshared_key_hash)
 {
@@ -670,7 +1016,6 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::get_wlan_configuration()");
 
 	eap_status_e status = wpa_preshared_key_hash->set_copy_of_buffer(&m_wpa_preshared_key_hash);
 
@@ -682,7 +1027,7 @@
 
 EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::authentication_finished(
 	const bool when_true_successfull,
-	const eap_type_value_e /* eap_type */,
+	const eap_type_value_e eap_type,
 	const eapol_key_authentication_type_e authentication_type)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -694,13 +1039,46 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::authentication_finished()");
 
 	if (when_true_successfull == true)
 	{
 		if (authentication_type != eapol_key_authentication_type_RSNA_PSK
 			&& authentication_type != eapol_key_authentication_type_WPA_PSK)
 		{
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+			// This moves the successful type to be the top priority type in IAP settings.
+			TRAPD(err, SetToTopPriorityL(eap_type));
+			if (err != KErrNone)
+			{
+				// Just log the error. 
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT, 
+					(EAPL("state_notification: SetToTopPriorityL() Expanded EAP type - leave with error=%d!\n"),
+					err));
+			}
+
+#else // For normal EAP types
+					
+			TEap eap;
+			eap.Enabled = ETrue;
+			eap.UID.Num(static_cast<TInt>(convert_eap_type_to_u32_t(eap_type)));
+			
+			// This moves the successful type to be the top priority type in IAP settings.
+			TRAPD(err, SetToTopPriorityL(&eap));
+			if (err != KErrNone)
+			{
+				// Just log the error. 
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT, 
+					(EAPL("state_notification: SetToTopPriorityL leaved!\n")));
+			}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 			// Move the active eap type index to the first type
 			m_am_partner->set_current_eap_index(0ul);
 		}
@@ -725,11 +1103,19 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::read_database_reference_values()");
+
+	eap_variable_data_c database_reference(m_am_tools);
+
+	eap_status_e status = m_wlan_database_reference->get_wlan_database_reference_values(&database_reference);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
 
 	const eapol_wlan_database_reference_values_s * const database_reference_values
 		= reinterpret_cast<eapol_wlan_database_reference_values_s *>(
-		m_database_reference.get_data(sizeof(eapol_wlan_database_reference_values_s)));
+		database_reference.get_data(sizeof(eapol_wlan_database_reference_values_s)));
 	if (database_reference_values == 0)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -752,6 +1138,351 @@
 
 //--------------------------------------------------
 
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::load_module(
+	const eap_type_value_e type,
+	const eap_type_value_e tunneling_type,
+	abs_eap_base_type_c * const partner,
+	eap_base_type_c ** const eap_type_if,
+	const bool is_client_when_true,
+	const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
+	)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s)\n"),
+		convert_eap_type_to_u32_t(type),
+		eap_header_string_c::get_eap_type_string(type),
+		convert_eap_type_to_u32_t(tunneling_type),
+		eap_header_string_c::get_eap_type_string(tunneling_type)));
+
+	eap_status_e status(eap_status_process_general_error);
+	
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	CEapType* eapType = 0;
+	TInt error(KErrNone);
+
+	// Check if this EAP type has already been loaded
+	TInt eapArrayIndex = find<eap_type_value_e>(
+		&m_eap_type_array,
+		&type,
+		m_am_tools);
+
+	if (eapArrayIndex >= 0)
+	{
+		// We found the entry in the array.
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) already loaded.\n"),
+			convert_eap_type_to_u32_t(type),
+			eap_header_string_c::get_eap_type_string(type),
+			convert_eap_type_to_u32_t(tunneling_type),
+			eap_header_string_c::get_eap_type_string(tunneling_type)));
+
+		// Yep. It was loaded already.
+		eapType = m_plugin_if_array[eapArrayIndex];		
+	}
+	else 
+	{
+		TIndexType index_type(ELan);
+		TUint index(0UL);
+
+		status = read_database_reference_values(
+			&index_type,
+			&index);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) load new, index type=%d, index=%d.\n"),
+			convert_eap_type_to_u32_t(type),
+			eap_header_string_c::get_eap_type_string(type),
+			convert_eap_type_to_u32_t(tunneling_type),
+			eap_header_string_c::get_eap_type_string(tunneling_type),
+			index_type,
+			index));
+
+		TBuf8<KExpandedEAPSize> ExpandedCue;
+		
+		// Some indirect way of forming the 8 byte string of an EAP type for the cue is needed here.		
+		TUint8 tmpExpCue[KExpandedEAPSize];
+
+		// This is to make the tmpExpCue in 8 byte string with correct vendor type and vendor id details.
+		status = eap_expanded_type_c::write_type(m_am_tools,
+												0, // index should be zero here.
+												tmpExpCue,
+												KExpandedEAPSize,
+												true,
+												type);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("load_module: eap_expanded_type_c::write_type failed \n")));
+		
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+		
+		// Now copy the 8 byte string to the real expanded cue.
+		ExpandedCue.Copy(tmpExpCue, KExpandedEAPSize);
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("EAPOL:eapol_am_wlan_authentication_symbian_c::load_module: Expanded CUE:"),
+			ExpandedCue.Ptr(),
+			ExpandedCue.Size()));
+
+
+		// We must have a trap here since the EAPOL core knows nothing about Symbian.
+		TRAP(error, (eapType = CEapType::NewL(
+			ExpandedCue,
+			index_type,
+			index)));	
+		if (error != KErrNone
+			|| eapType == 0)
+		{
+			// Interface not found or implementation creation function failed
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("ECom could not find/initiate implementation.\n")));
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+	}
+
+#else // For normal EAP types
+	
+	TBuf8<KMaxEapCueLength> cue;
+	cue.Num(static_cast<TInt>(convert_eap_type_to_u32_t(type)));
+	CEapType* eapType = 0;
+	TInt error(KErrNone);
+
+	// Check if this EAP type has already been loaded
+	TInt eapArrayIndex = m_eap_type_array.Find(type);
+	if (eapArrayIndex != KErrNotFound)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) already loaded.\n"),
+			convert_eap_type_to_u32_t(type),
+			eap_header_string_c::get_eap_type_string(type),
+			convert_eap_type_to_u32_t(tunneling_type),
+			eap_header_string_c::get_eap_type_string(tunneling_type)));
+
+		// Yep. It was loaded already.
+		eapType = m_plugin_if_array[eapArrayIndex];		
+	}
+	else 
+	{
+		TIndexType index_type(ELan);
+		TUint index(0UL);
+
+		status = read_database_reference_values(
+			&index_type,
+			&index);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) load new, index type=%d, index=%d.\n"),
+			convert_eap_type_to_u32_t(type),
+			eap_header_string_c::get_eap_type_string(type),
+			convert_eap_type_to_u32_t(tunneling_type),
+			eap_header_string_c::get_eap_type_string(tunneling_type),
+			index_type,
+			index));
+
+		// We must have a trap here since the EAPOL core knows nothing about Symbian.
+		TRAP(error, (eapType = CEapType::NewL(
+			cue,
+			index_type,
+			index)));	
+		if (error != KErrNone
+			|| eapType == 0)
+		{
+			// Interface not found or implementation creation function failed
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("ECom could not find/initiate implementation.\n")));
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+		}
+	}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Set the tunneling type
+	eapType->SetTunnelingType(convert_eap_type_to_u32_t(tunneling_type));
+
+	// Create the EAP protocol interface implementation.
+	
+#ifdef USE_EAP_SIMPLE_CONFIG
+
+	TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(m_am_tools, 
+		partner, 
+		is_client_when_true, 
+		receive_network_id,
+		this)));
+
+#else
+
+	TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(m_am_tools, 
+		partner, 
+		is_client_when_true, 
+		receive_network_id)));
+
+#endif // #ifdef USE_EAP_SIMPLE_CONFIG
+	
+		
+	if (error != KErrNone 
+		|| *eap_type_if == 0 
+		|| (*eap_type_if)->get_is_valid() == false)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Could not create EAP type interface instance. Error: %d\n"), error));
+
+		status = eap_status_allocation_error;
+		// Unload DLL (two ways, depending whether this type was already loaded...)
+		if  (eapArrayIndex == KErrNotFound)
+		{
+			// No need to call shutdown here because GetStackInterfaceL has done it.
+			delete eapType;
+		}
+		else
+		{
+			unload_module(type);
+		}
+		// Note: even in error cases eap_core_c deletes eap_type_if
+	}
+	else
+	{
+		status = eap_status_ok;
+		if (eapArrayIndex  == KErrNotFound)
+		{
+			// Add plugin information to the member arrays. There is no need to store eap_type pointer because
+			// the stack takes care of its deletion.
+			if (m_plugin_if_array.Append(eapType) != KErrNone)
+			{
+				delete eapType;
+				status = eap_status_allocation_error;
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);				
+			}
+			
+#ifdef USE_EAP_EXPANDED_TYPES
+
+			eap_type_value_e * tmpEAPType = new eap_type_value_e();
+			if(tmpEAPType == NULL)
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("eapol_am_wlan_authentication_symbian_c::load_module() eap_type_value_e creation failed\n")));
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);				
+			}
+			
+			*tmpEAPType = type;
+			
+			status = m_eap_type_array.add_object(tmpEAPType, true);
+			
+			if (status != eap_status_ok)			
+
+#else // For normal EAP type.			
+			
+			if (m_eap_type_array.Append(type) != KErrNone)
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES			
+			{
+				// Remove the eap type added just previously
+				m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1);
+				delete eapType;
+				status = eap_status_allocation_error;
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);				
+			}
+		} 
+	}
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::unload_module(
+	const eap_type_value_e type)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eapol_am_wlan_authentication_symbian_c::unload_module(): %s, this = 0x%08x => 0x%08x\n"),
+		 (m_is_client == true) ? "client": "server",
+		 this,
+		 dynamic_cast<abs_eap_base_timer_c *>(this)));
+
+	eap_status_e status(eap_status_type_does_not_exists_error);
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Check if this EAP type has already been loaded
+	TInt index = find<eap_type_value_e>(
+		&m_eap_type_array,
+		&type,
+		m_am_tools);
+		
+	if (index >= 0)
+	{
+		// EAP was loaded before.
+		
+		delete m_plugin_if_array[index];
+		m_plugin_if_array.Remove(index);
+		
+		status = m_eap_type_array.remove_object(index);
+	}
+
+#else // For normal EAP types.
+
+	TInt index = m_eap_type_array.Find(type);
+	if (index != KErrNotFound)
+	{
+		delete m_plugin_if_array[index];
+		m_plugin_if_array.Remove(index);
+		m_eap_type_array.Remove(index);
+		status = eap_status_ok;			
+	}
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
 EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::read_configure(
 	const eap_configuration_field_c * const field,
 	eap_variable_data_c * const data)
@@ -766,8 +1497,7 @@
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eapol_am_wlan_authentication_symbian_c::read_configure()");
-
+	
 	// Trap must be set here because the OS independent portion of EAPOL
 	// that calls this function does not know anything about Symbian.	
 	eap_status_e status(eap_status_ok);
@@ -785,7 +1515,7 @@
 	if (status != eap_status_ok)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		return status;
 	}
 	
 	status = type_field.set_buffer(
@@ -796,55 +1526,220 @@
 	if (status != eap_status_ok)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
+		return status;
 	}
 
+	eap_type_value_e aSelectedEapType;
+	
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	if (!wanted_field.compare(&type_field))
+	{
+		TInt ind; 
+
+		// First check do we have read configuration from databases.
+		if (m_enabled_expanded_eap_array.Count() == 0)
+		{
+			EAP_TRACE_ERROR(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAP settings not read from CommsDat\n")));
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
+		}
+
+		// Now we need to return here the next EAP type we should try		
+		for (ind = m_am_partner->get_current_eap_index(); ind < m_enabled_expanded_eap_array.Count(); ind++)
+		{
+			// Find the highest priority EAP with index "ind".
+			
+			TBuf8<KExpandedEAPSize> tmpExpEAP(m_enabled_expanded_eap_array[ind]->EapExpandedType);
+			
+			status = data->set_copy_of_buffer(tmpExpEAP.Ptr(), tmpExpEAP.Size());			
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
+			}
+
+			EAP_TRACE_DATA_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAPOL:eapol_am_wlan_authentication_symbian_c::read_configure: Trying EAP type:"),
+				tmpExpEAP.Ptr(),
+				tmpExpEAP.Size()));
+			status = eap_expanded_type_c::read_type(m_am_tools,
+					0,
+					tmpExpEAP.Ptr(),
+					tmpExpEAP.Size(),
+					&aSelectedEapType);
+			if (status == eap_status_ok)
+			{
+				break;
+			}
+		}
+
+		// Set the index of new EAP type we are trying now.
+		m_am_partner->set_current_eap_index(ind);
+		
+		if (ind >= m_enabled_expanded_eap_array.Count())
+		{
+			// Not found any other EAP type as enabled.
+			// Send WLM notification because there is no way that the authentication
+			// can be successful if we don't have any EAP types to use...
+			if (m_is_client)
+			{
+				EAP_TRACE_ERROR(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("ERROR: read_configure: No configured EAP types or all tried unsuccessfully.\n")));
+			}
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
+		}
+	
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);		
+	}
+
+#else // For normal non-expanded EAP
+
+	if (!wanted_field.compare(&type_field))
+	{
+		TInt ind; 
+
+		// First check do we have read configuration from databases.
+		if (m_iap_eap_array.Count() == 0)
+		{
+			EAP_TRACE_ERROR(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAP settings not read from CommDb\n")));
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
+		}
+
+		// We need to return here the next EAP type we should try		
+		for (ind = m_am_partner->get_current_eap_index(); ind < m_iap_eap_array.Count(); ind++)
+		{
+			// Find the first enabled EAP type (highest priority)
+			TEap *eapType = m_iap_eap_array[ind];			
+			if (eapType->Enabled == 1)
+			{
+				// Convert the string to integer
+				TLex8 tmp(eapType->UID);
+				TInt val(0);
+				tmp.Val(val);
+				status = data->set_copy_of_buffer(reinterpret_cast<u8_t *>(&val), sizeof(TUint));
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
+				}
+
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("EAPOL: Trying EAP type: %d.\n"), val));
+				aSelectedEapType = val;
+				break;
+			}
+		}
+
+		m_am_partner->set_current_eap_index(ind);
+		if (ind >= m_iap_eap_array.Count())
+		{
+			// Not found
+			// Send WLM notification because there is no way that the authentication
+			// can be successful if we don't have any EAP types to use...
+			if (m_is_client)
+			{
+				EAP_TRACE_ERROR(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("ERROR: No configured EAP types or all tried unsuccessfully.\n")));
+			}
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
+		}
+	
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);		
+	}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	// It was something else than EAP type. Read it from eapol DB.
 	_LIT( KEapolTableName, "eapol" );
-
-	TFileName aPrivateDatabasePathName;
-
-	TRAPD(err, EapPluginTools::GetPrivatePathL(
-		m_session,
-		aPrivateDatabasePathName));
-		
-	if (err)
-		{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	aPrivateDatabasePathName.Append(KEapolDatabaseName);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	TRAPD( error, read_configureL(
-		aPrivateDatabasePathName,
+	TRAPD( err, read_configureL(
+		KDatabaseName,
 		KEapolTableName,
 		field->get_field(),
 		field->get_field_length(),
 		data) );
-
 	// Try to read it for eap fast DB	
-	HBufC8* fieldBuf = HBufC8::New( field->get_field_length() );
-
-	eap_automatic_variable_c<HBufC8> automatic_fieldBuf(
-		m_am_tools,
-		fieldBuf);
-
-	if (fieldBuf == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
+	HBufC8* fieldBuf = HBufC8::NewLC( field->get_field_length() );
 	TPtr8 fieldPtr = fieldBuf->Des();
 	fieldPtr.Copy( reinterpret_cast<const TUint8 *> ( field->get_field() ));
 
-	if (error != KErrNone) 
+	_LIT8(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, "EAP_TLS_PEAP_use_identity_privacy");
+	
+	if ( err != KErrNone &&
+		 fieldPtr.Compare( cf_str_EAP_TLS_PEAP_use_identity_privacy_literal() ) == 0 ) 
+		{
+		if (aSelectedEapType == eap_type_tls)
+			{
+			_LIT(KGeneralSettingsDBTableName, "KTlsDatabaseTableName");
+			TRAP( err, read_configureL(
+					KDatabaseName,
+					KGeneralSettingsDBTableName,
+					field->get_field(),
+					field->get_field_length(),
+					data) );		
+
+			}
+		if (aSelectedEapType == eap_type_peap)
+			{
+			_LIT(KGeneralSettingsDBTableName, "KPeapDatabaseTableName"); 
+			TRAP( err, read_configureL(
+					KDatabaseName,
+					KGeneralSettingsDBTableName,
+					field->get_field(),
+					field->get_field_length(),
+					data) );		
+			}
+		if (aSelectedEapType == eap_type_ttls)
+			{
+			_LIT(KGeneralSettingsDBTableName, "KTtlsDatabaseTableName"); 
+			TRAP( err, read_configureL(
+					KDatabaseName,
+					KGeneralSettingsDBTableName,
+					field->get_field(),
+					field->get_field_length(),
+					data) );		
+			}
+#if defined (USE_FAST_EAP_TYPE)
+		if ( aSelectedEapType == eap_type_fast)
+			{
+			_LIT(KFastGeneralSettingsDBTableName, "eapfast_general_settings"); 
+			TRAP( err, read_configureL(
+			KFastDatabaseName,
+			KFastGeneralSettingsDBTableName,
+			field->get_field(),
+			field->get_field_length(),
+			data) );		
+			}
+#endif
+		}
+	CleanupStack::PopAndDestroy( fieldBuf );
+
+	if (err != KErrNone) 
 	{
-		status = m_am_tools->convert_am_error_to_eapol_error(error);
+		status = m_am_tools->convert_am_error_to_eapol_error(err);
 
 #if defined(USE_EAP_FILECONFIG)
 		if (m_fileconfig != 0
@@ -857,7 +1752,6 @@
 		}
 #endif //#if defined(USE_EAP_FILECONFIG)
 	}
-
 	m_am_tools->trace_configuration(
 		status,
 		field,
@@ -877,27 +1771,15 @@
 	eap_variable_data_c * const data)
 {	
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::read_configureL(): %s, this = 0x%08x => 0x%08x\n"),
-		 (m_is_client == true) ? "client": "server",
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eapol_am_wlan_authentication_symbian_c::read_configureL()");
-
+	
 	// Open database
 	RDbNamedDatabase db;
 
-	TInt error = db.Open(m_session, aDbName);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::read_configureL(): db.Open(), error = %d\n"),
-		 error));
-
-	User::LeaveIfError(error);
+#ifdef SYMBIAN_SECURE_DBMS
+	User::LeaveIfError(db.Open(m_session, aDbName, KSecureUIDFormat));	
+#else			
+	User::LeaveIfError(db.Open(m_session, aDbName));
+#endif // #ifdef SYMBIAN_SECURE_DBMS		
 	
 	CleanupClosePushL(db);
 
@@ -940,8 +1822,7 @@
 					status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size());
 					if (status != eap_status_ok)
 					{
-						User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-							EAP_STATUS_RETURN(m_am_tools, status)));
+						User::Leave(KErrNoMemory);
 					}
 				} 
 				else 
@@ -958,8 +1839,7 @@
 				status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value));
 				if (status != eap_status_ok)
 				{
-					User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-						EAP_STATUS_RETURN(m_am_tools, status)));
+					User::Leave(KErrNoMemory);
 				}
 			}
 			break;
@@ -967,7 +1847,7 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: read_configureL: Unexpected column type.\n")));
+				(EAPL("read_configureL: Unexpected column type.\n")));
 			User::Panic(_L("EAPOL"), 1);			
 		}
 	} 
@@ -977,17 +1857,12 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: read_configureL: Could not find configuration parameter.\n")));
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-							EAP_STATUS_RETURN(m_am_tools, eap_status_not_found)));
+			(EAPL("read_configureL: Could not find configuration parameter.\n")));
+		User::Leave(KErrNotFound);
 	}		
 	
 	// Close database
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-	CleanupStack::PopAndDestroy(unicodebuf);
-	CleanupStack::PopAndDestroy(asciibuf);
-	CleanupStack::PopAndDestroy(&db);
+	CleanupStack::PopAndDestroy(5); // view, 3 buffers and database
 
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1017,13 +1892,6 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::set_timer(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_timer()");
-
 	const eap_status_e status = m_am_tools->am_set_timer(
 		p_initializer, 
 		p_id, 
@@ -1042,13 +1910,6 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::cancel_timer(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::cancel_timer()");
-
 	const eap_status_e status = m_am_tools->am_cancel_timer(
 		p_initializer, 
 		p_id);
@@ -1063,13 +1924,6 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::cancel_all_timers(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::cancel_all_timers()");
-
 	const eap_status_e status = m_am_tools->am_cancel_all_timers();
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1078,39 +1932,315 @@
 
 //--------------------------------------------------
 
-void eapol_am_wlan_authentication_symbian_c::RetrievePSKL(TPSKEntry& entry)
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type)
 {
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	eap_header_string_c eap_string;
+	EAP_UNREFERENCED_PARAMETER(eap_string);
+
 	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::RetrievePSKL(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::RetrievePSKL()");
-
-	// Open database
-	RDbNamedDatabase db;
-
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::GetPrivatePathL(
-		m_session,
-		aPrivateDatabasePathName);
-
-	aPrivateDatabasePathName.Append(KEapolDatabaseName);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	TInt error = db.Open(m_session, aPrivateDatabasePathName);
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type():  %s, this = 0x%08x => 0x%08x, EAP-type=0x%08x=%s\n"),
+		 (m_is_client == true) ? "client": "server",
+		 this,
+		 dynamic_cast<abs_eap_base_timer_c *>(this),
+		convert_eap_type_to_u32_t(eap_type),
+		eap_string.get_eap_type_string(eap_type)));
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	for (int i = 0; i < m_enabled_expanded_eap_array.Count(); i++)
+	{
+		TBuf8<KExpandedEAPSize> tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType);
+
+		EAP_TRACE_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type:Enabled expanded EAP type at index=%d\n"),
+			 i));
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Enabled expanded EAP type:"),
+			tmpExpEAP.Ptr(),
+			tmpExpEAP.Size()));
+
+		// This is for one expanded EAP type (for the above one).
+		eap_expanded_type_c expandedEAPType;
+				
+		// Read the expanded EAP type details for this item in m_enabled_expanded_eap_array.
+		eap_status_e status = eap_expanded_type_c::read_type(m_am_tools,
+												0,
+												tmpExpEAP.Ptr(),
+												tmpExpEAP.Size(),
+												&expandedEAPType);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		if (eap_type == expandedEAPType)
+		{
+			// This is Allowed and Valid.
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+		}
+	}
+		 
+#else // For normal unexpanded EAP type
+
+	TEap *eapType = 0; 
+	
+	for (int i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Try next EAP type
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			// Convert the string to integer
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			if (eap_type == static_cast<eap_type_ietf_values_e>(val))
+			{
+				// Allowed
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
+			}
+		}
+	}
+	
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
+	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("ERROR: %s: check_is_valid_eap_type(): not supported EAP-type=0x%08x=%s\n"),
+		 (m_is_client == true ? "client": "server"),
+		 convert_eap_type_to_u32_t(eap_type),
+		 eap_string.get_eap_type_string(eap_type)));
+
+	
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type);
+}
+
+//--------------------------------------------------
+
+EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_eap_type_list(
+	eap_array_c<eap_type_value_e> * const eap_type_list)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::RetrievePSKL(): db.Open(), error = %d\n"),
-		 error));
-
-	User::LeaveIfError(error);
+		(EAPL("eapol_am_wlan_authentication_symbian_c::get_eap_type_list(): %s, this = 0x%08x => 0x%08x\n"),
+		 (m_is_client == true) ? "client": "server",
+		 this,
+		 dynamic_cast<abs_eap_base_timer_c *>(this)));
+
+
+	eap_status_e status(eap_status_illegal_eap_type);
+
+	status = eap_type_list->reset();
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+	eap_header_string_c eap_string;
+	EAP_UNREFERENCED_PARAMETER(eap_string);
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// This function is same as get_selected_eap_types in behavior.
+
+	// We need to return only the EAP types available as enabled types.
+	// It means only the ones available in m_enabled_expanded_eap_array.
+	
+	for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++)
+	{	
+		TBuf8<KExpandedEAPSize> tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType);
+
+		EAP_TRACE_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eapol_am_wlan_authentication_symbian_c::get_eap_type_list:Enabled expanded EAP type at index=%d\n"),
+			 i));
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Enabled expanded EAP type:"),
+			tmpExpEAP.Ptr(),
+			tmpExpEAP.Size()));
+
+		// This is for one expanded EAP type (for the above one).
+		eap_expanded_type_c * expandedEAPType = new eap_type_value_e();
+				
+		// Read the expanded EAP type details from an item in m_enabled_expanded_eap_array.
+		status = eap_expanded_type_c::read_type(m_am_tools,
+												0,
+												tmpExpEAP.Ptr(),
+												tmpExpEAP.Size(),
+												expandedEAPType);
+		if (status != eap_status_ok)
+		{
+			delete expandedEAPType;
+			expandedEAPType = 0;
+
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		// Add EAP-type to list.		
+		status = eap_type_list->add_object(expandedEAPType, true);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}		
+			
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"),
+			expandedEAPType->get_vendor_type(),
+			eap_string.get_eap_type_string(*expandedEAPType)));			
+	}
+
+#else // for normal EAP types.
+
+	TEap *eapType = 0; 
+
+	for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Check if type is enabled
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("get_eap_type_list(): adds EAP-type=0x%08x=%s\n"),
+				static_cast<eap_type_ietf_values_e>(val),
+				eap_string.get_eap_type_string(
+					static_cast<eap_type_value_e>(
+						static_cast<eap_type_ietf_values_e>(val)))));
+
+			eap_type_value_e * const eap_type = new eap_type_value_e(
+				static_cast<eap_type_ietf_values_e>(val));
+			if (eap_type == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			status = eap_type_list->add_object(eap_type, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	}
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+	return EAP_STATUS_RETURN(m_am_tools, status);
+}
+
+//--------------------------------------------------
+
+//
+void eapol_am_wlan_authentication_symbian_c::RunL()
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_wlan_authentication_symbian_c::RunL(): iStatus.Int() = %d\n"),
+		iStatus.Int()));
+
+	if (iStatus.Int() != KErrNone)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return;
+	}
+
+	// Authentication cancelled.
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("Authentication cancelled.\n")));
+
+	eap_status_e status = m_am_partner->disassociation(
+		&m_receive_network_id);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("set_timer(EAPOL_AM_CORE_TIMER_DELETE_STACK_ID) failed in RunL().\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return;
+	}
+	
+	// Reset index of current EAP-type.
+	m_am_partner->set_current_eap_index(0ul);
+
+	EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
+		(EAPL("Indication sent to WLM: EFailedCompletely.\n")));
+
+	m_am_partner->eapol_indication(
+		&m_receive_network_id,
+		eapol_wlan_authentication_state_failed_completely);
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+}
+
+//--------------------------------------------------
+
+//
+void eapol_am_wlan_authentication_symbian_c::DoCancel()
+{	
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_wlan_authentication_symbian_c::DoCancel()\n")));
+
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+}
+
+//--------------------------------------------------
+
+void eapol_am_wlan_authentication_symbian_c::RetrievePSKL(TPSKEntry& entry)
+{
+
+	// Open database
+	RDbNamedDatabase db;
+
+#ifdef SYMBIAN_SECURE_DBMS
+	User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat));	
+#else			
+	User::LeaveIfError(db.Open(m_session, KDatabaseName));
+#endif // #ifdef SYMBIAN_SECURE_DBMS		
 	
 	CleanupClosePushL(db);
 
@@ -1143,22 +2273,13 @@
 	entry.password.Copy(view.ColDes8(4));
 	entry.psk.Copy(view.ColDes8(5));
 
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(sqlbuf);
-	CleanupStack::PopAndDestroy(&db);
+	CleanupStack::PopAndDestroy(3); // view, buf, database
 }
 
 //--------------------------------------------------
 
 void eapol_am_wlan_authentication_symbian_c::SavePSKL(TPSKEntry& entry)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::SavePSKL(): this = 0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::SavePSKL()");
-
 	// Connect to CommDBif so that we can delete PSK entries that have no IAP associated anymore.
 	CWLanSettings* wlan_settings = new(ELeave) CWLanSettings;
 	CleanupStack::PushL(wlan_settings);
@@ -1174,19 +2295,11 @@
 	// Open database
 	RDbNamedDatabase db;
 
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::GetPrivatePathL(
-		m_session,
-		aPrivateDatabasePathName);
-
-	aPrivateDatabasePathName.Append(KEapolDatabaseName);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	User::LeaveIfError(db.Open(m_session, aPrivateDatabasePathName));	
+#ifdef SYMBIAN_SECURE_DBMS
+	User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat));	
+#else			
+	User::LeaveIfError(db.Open(m_session, KDatabaseName));
+#endif // #ifdef SYMBIAN_SECURE_DBMS		
 	
 	CleanupClosePushL(db);
 
@@ -1210,7 +2323,7 @@
 	
 	// Delete old row and also rows that have no associated IAP settings.
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.GetL();
 
@@ -1239,37 +2352,32 @@
 	
 	CleanupStack::PopAndDestroy( colSet ); // Delete colSet.	
 
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(sqlbuf);
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(wlan_settings);
+	CleanupStack::PopAndDestroy(4); // CWLanSettings, database, buffer, view
 
 }
 														 
 //--------------------------------------------------
 
 //
-void eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL()
+void eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL(): %s, this = 0x%08x => 0x%08x\n"),
+		(EAPL("eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL(): %s, this = 0x%08x => 0x%08x\n"),
 		 (m_is_client == true) ? "client": "server",
 		 this,
 		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL()");
 
 	eap_status_e status(eap_status_ok);
 
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS)
+	status = reset_eap_plugins();
+	if (status != eap_status_ok)
 	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT, (EAPL("WPS does not use CommDbIf anymore.\n")));
-		return;
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
 	}
 
 	TIndexType index_type(ELan);
@@ -1289,28 +2397,253 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("WLAN settings: m_WPA_override_enabled=%d\n"),
+			(EAPL("Beginning to read IAP settings - Type: %d, Index: %d.\n"), index_type, index));
+
+		CWLanSettings* wlan_settings = new(ELeave) CWLanSettings;
+		CleanupStack::PushL(wlan_settings);
+		SWLANSettings wlanSettings;
+		if (wlan_settings->Connect() != KErrNone)
+		{
+			// Could not connect to CommDB			
+			User::Leave(KErrCouldNotConnect);
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n")));
+
+		if (wlan_settings->GetWlanSettingsForService(index, wlanSettings) != KErrNone)
+		{
+			wlan_settings->Disconnect();
+			User::Leave(KErrUnknown);
+		}
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Got WLAN settings: wlanSettings.EnableWpaPsk=%d, m_WPA_override_enabled=%d\n"),
+			wlanSettings.EnableWpaPsk,
 			m_WPA_override_enabled));
 
 		EAP_TRACE_DATA_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("m_wpa_preshared_key"),
-			m_wpa_preshared_key.get_data(),
-			m_wpa_preshared_key.get_data_length()));
-
-		EAP_TRACE_DATA_DEBUG(
+			(EAPL("WPA-PSK"),
+			wlanSettings.WPAPreSharedKey.Ptr(),
+			wlanSettings.WPAPreSharedKey.Size()));
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Beginning to read EAP Data using new Comm_DB_if for expanded eap type\n")));
+
+		wlan_settings->GetEapDataL(m_enabled_expanded_eap_array, m_disabled_expanded_eap_array);
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Enabled EAP count=%d, Disabled EAP count=%d\n"),
+			m_enabled_expanded_eap_array.Count(), m_disabled_expanded_eap_array.Count()));
+
+			
+	
+#else
+		// Without expanded EAP type. Normal EAP type stuff.
+		wlan_settings->GetEapDataL(m_iap_eap_array);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+		
+		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("m_SSID"),
-			m_SSID.get_data(),
-			m_SSID.get_data_length()));
+			(EAPL("Got EAP data:\n")));
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+		// Reading enabled.
+		for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++)
+		{	
+			TBuf8<KExpandedEAPSize> tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType);
+
+			EAP_TRACE_DEBUG(
+				m_am_tools, 
+				TRACE_FLAGS_DEFAULT, 
+				(EAPL("eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL:Enabled expanded EAP type at index=%d\n"),
+				 i));
+
+			EAP_TRACE_DATA_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Enabled expanded EAP type:"),
+				tmpExpEAP.Ptr(),
+				tmpExpEAP.Size()));
+		}
+
+		// Now reading disabled.
+		for (TInt i = 0; i < m_disabled_expanded_eap_array.Count(); i++)
+		{	
+			TBuf8<KExpandedEAPSize> tmpExpEAP(m_disabled_expanded_eap_array[i]->EapExpandedType);
+
+			EAP_TRACE_DEBUG(
+				m_am_tools, 
+				TRACE_FLAGS_DEFAULT, 
+				(EAPL("eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL:Disabled expanded EAP type at index=%d\n"),
+				 i));
+
+			EAP_TRACE_DATA_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Disabled expanded EAP type:"),
+				tmpExpEAP.Ptr(),
+				tmpExpEAP.Size()));
+		}
+
+#else // Normal EAP type.
+
+		for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("EAP type %d\n"),
+				i));
+
+			TLex8 tmp(m_iap_eap_array[i]->UID);
+			TInt val(0);
+			tmp.Val(val);
+		
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("  UID: %d\n"), val));
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("  Enabled: %d\n"),
+				m_iap_eap_array[i]->Enabled));
+		}
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("End EAP data:\n")));
+
+
+#ifndef USE_EAP_EXPANDED_TYPES
+
+// There can not be a situation where all EAPs are disabled.
+
+		if (m_iap_eap_array.Count() == 0)
+		{
+
+#if defined(USE_EAP_ALLOW_ALL_EAP_TYPES_WHEN_NONE_IS_ACTIVATED_IN_CONFIGURATION)
+
+			// The EAP field was empty. Allow all types.
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Empty EAP field -> enable all types.\n")));
+
+			RImplInfoPtrArray eapArray;
+			
+			REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapArray);
+		
+			TEap *eap;
+			for (TInt i = 0; i < eapArray.Count(); i++)
+			{
+				eap = new(ELeave) TEap;
+				eap->UID.Copy(eapArray[i]->DataType());
+				eap->Enabled = ETrue;
+				m_iap_eap_array.Append(eap);
+			}
+
+			eapArray.ResetAndDestroy();
+
+#else
+
+			// The EAP field was empty. Allow EAP-SIM only.
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Empty EAP field -> enable EAP-SIM only.\n")));
+
+			{
+				TBuf8<3> eap_sim_uid = _L8("018");
+
+				TEap *eap = new(ELeave) TEap;
+				eap->UID.Copy(eap_sim_uid);
+				eap->Enabled = ETrue;
+				m_iap_eap_array.Append(eap);
+			}
+
+#endif //#if defined(USE_EAP_ALLOW_ALL_EAP_TYPES_WHEN_NONE_IS_ACTIVATED_IN_CONFIGURATION)
+
+		}
+
+#endif // #ifndef USE_EAP_EXPANDED_TYPES
+
+		// Get security mode
+		if (m_WPA_override_enabled == false)
+		{
+			m_security_mode = static_cast<EWlanSecurityMode>(wlanSettings.SecurityMode);
+		}
+		else
+		{
+			// WPA override is enabled
+			m_security_mode = Wpa;
+		}
 
 		// Get WPA pre shared key & SSID
 		if (m_is_client == true
+			&& (wlanSettings.EnableWpaPsk
+				|| m_WPA_override_enabled == true)
 			&& (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_RSNA_PSK
 				|| m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPA_PSK))
 		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Uses WPAPSK: wlanSettings.EnableWpaPsk=%d\n"),
+				wlanSettings.EnableWpaPsk));
+
+			// When not using easy WLAN there is no WPA PSK override.
+			if (m_WPA_override_enabled == false)
+			{
+				status = m_wpa_preshared_key.set_copy_of_buffer(
+					wlanSettings.WPAPreSharedKey.Ptr(),
+					wlanSettings.WPAPreSharedKey.Size());
+				if (status != eap_status_ok)
+				{
+					send_error_notification(eap_status_key_error);
+					wlan_settings->Disconnect();
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				}
+
+				// Here we copy the SSID read from IAP.
+				TBuf8<K_Max_SSID_Length> tmp;
+				tmp.Copy(wlanSettings.SSID);
+				status = m_SSID.set_copy_of_buffer(tmp.Ptr(), tmp.Size());
+				if (status != eap_status_ok)
+				{
+					wlan_settings->Disconnect();
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+				}
+			}
+			else
+			{
+				// In override mode SSID is stored to m_SSID
+				// and password is stored to m_wpa_preshared_key.
+			}
+
 			TPSKEntry pskEntry;
 			pskEntry.indexType = index_type;
 			pskEntry.index = index;
@@ -1318,12 +2651,12 @@
 			pskEntry.password.Zero();
 			pskEntry.psk.Zero();
 
-            TInt error(KErrNone);
+            TInt err(KErrNone);
 
 			// Retrieve saved PSK only when override is not in effect
-			TRAP(error, RetrievePSKL(pskEntry));
+			TRAP(err, RetrievePSKL(pskEntry));
 			
-			if (error != KErrNone
+			if (err != KErrNone
 				|| m_SSID.compare(pskEntry.ssid.Ptr(), pskEntry.ssid.Size()) != 0
 				|| m_wpa_preshared_key.compare(pskEntry.password.Ptr(), pskEntry.password.Size()) != 0)
 			{
@@ -1343,6 +2676,7 @@
 					if (status != eap_status_ok)
 					{
 						send_error_notification(eap_status_key_error);
+						wlan_settings->Disconnect();							
 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 						User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
 					}
@@ -1351,6 +2685,7 @@
 					if (status != eap_status_ok)
 					{
 						send_error_notification(eap_status_key_error);
+						wlan_settings->Disconnect();							
 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 						User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
 					}
@@ -1364,6 +2699,7 @@
 						|| target_length != EAPOL_WPA_PSK_LENGTH_BYTES)
 					{
 						send_error_notification(eap_status_key_error);
+						wlan_settings->Disconnect();							
 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 						User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
 					}
@@ -1380,6 +2716,7 @@
 					if (status != eap_status_ok)
 					{
 						send_error_notification(eap_status_key_error);
+						wlan_settings->Disconnect();							
 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 						User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
 					}
@@ -1433,6 +2770,7 @@
 				if (status != eap_status_ok)
 				{
 					send_error_notification(eap_status_key_error);
+					wlan_settings->Disconnect();
 					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 					User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
 				}
@@ -1459,6 +2797,17 @@
 					m_wpa_preshared_key_hash.get_data_length()));
 			}
 		}
+		
+		wlan_settings->Disconnect();
+		CleanupStack::PopAndDestroy(wlan_settings);
+
+		if (m_security_mode != Wlan8021x
+			&& m_security_mode != Wpa
+			&& m_security_mode != Wpa2Only)
+		{
+			// Unsupported mode
+			User::Leave(KErrNotSupported);
+		}
 	} 
 	else
 	{
@@ -1471,6 +2820,253 @@
 
 //--------------------------------------------------
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+void eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL(const eap_type_value_e aEapType)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - for EXP EAP types\n")));
+
+	TIndexType index_type(ELan);
+	TUint index(0UL);
+	TInt priorityIndex (0);
+
+	eap_status_e status = read_database_reference_values(
+		&index_type,
+		&index);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+	}
+
+	if (index_type == ELan)
+	{
+		for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++)
+		{
+			TBuf8<KExpandedEAPSize> tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType);
+
+			EAP_TRACE_DEBUG(
+				m_am_tools, 
+				TRACE_FLAGS_DEFAULT, 
+				(EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL:Enabled expanded EAP type at index=%d\n"),
+				 i));
+
+			EAP_TRACE_DATA_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("Enabled expanded EAP type:"),
+				tmpExpEAP.Ptr(),
+				tmpExpEAP.Size()));
+
+			// This is for one expanded EAP type (for the above one).
+			eap_expanded_type_c expandedEAPType;
+					
+			// Read the expanded EAP type details for this item in m_enabled_expanded_eap_array.
+			eap_status_e status = eap_expanded_type_c::read_type(m_am_tools,
+													0,
+													tmpExpEAP.Ptr(),
+													tmpExpEAP.Size(),
+													&expandedEAPType);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+			}
+
+			if (aEapType == expandedEAPType)
+			{
+				// Found it. This is the EAP type which should be at top priority.
+				priorityIndex = i;
+				break;
+			}
+		}	
+				
+		if(priorityIndex == 0)
+		{
+			// This means this EAP type is already at the top priority.
+
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - This is already at top\n")));
+			
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return;
+		}
+
+		if (priorityIndex >= m_enabled_expanded_eap_array.Count())
+		{
+			// No such EAP type in enabled list. This should never happen.
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("ERROR: eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - No such EAP in the enabled list\n")));
+			
+			User::Leave(KErrNotFound);					
+		}
+
+		CWLanSettings* wlan = new(ELeave) CWLanSettings;
+		CleanupStack::PushL(wlan);
+		SWLANSettings wlanSettings;
+		if (wlan->Connect() != KErrNone)
+		{
+			// Could not connect to CommDB			
+			User::Leave(KErrCouldNotConnect);
+		}
+		
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SetToTopPriorityL():Connected to CommDbIf.\n")));
+
+		if (wlan->GetWlanSettingsForService(index, wlanSettings) != KErrNone)
+		{
+			wlan->Disconnect();
+			User::Leave(KErrUnknown);
+		}
+		
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SetToTopPriorityL():Got WLAN settings.\n")));
+		
+		// Change the order
+		SEapExpandedType* TopPriorityEAP(m_enabled_expanded_eap_array[priorityIndex]);
+
+		m_enabled_expanded_eap_array.Remove(priorityIndex); // This does not delete the object	
+				
+		m_enabled_expanded_eap_array.Insert(TopPriorityEAP, 0); // Insert in the beginning.
+
+		wlan->SetEapDataL(m_enabled_expanded_eap_array, m_disabled_expanded_eap_array);
+		
+		wlan->Disconnect();
+
+		CleanupStack::PopAndDestroy(wlan);		
+	} 
+	else
+	{
+		// At the moment only LAN bearer is supported.
+
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - LEAVE - only LAN bearer is supported\n")));
+		
+		User::Leave(KErrNotSupported);
+	}
+		
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+}
+
+#else // For normal EAP types
+
+void eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL(const TEap* const aEapType)
+{
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL()\n")));
+
+	TIndexType index_type(ELan);
+	TUint index(0UL);
+
+	eap_status_e status = read_database_reference_values(
+		&index_type,
+		&index);
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)));
+	}
+
+	if (index_type == ELan)
+	{
+		TInt i(0);
+		TBuf8<3> uid;
+		for (i = 0; i < m_iap_eap_array.Count(); i++)
+		{
+			TEap* eap = m_iap_eap_array[i];
+			if (eap->UID[0] == '0')
+			{
+				// Cut the leading zero
+				uid.Copy(eap->UID.Right(eap->UID.Length()-1));				
+			}
+			else
+			{
+				uid.Copy(eap->UID);
+			}
+			if (eap->Enabled == aEapType->Enabled
+				&& uid.Compare(aEapType->UID) == 0)
+			{
+				// Found
+				break;
+			}
+		}
+		if (i >= m_iap_eap_array.Count())
+		{
+			// This should never happen
+			User::Leave(KErrNotFound);					
+		}
+	
+		TLex8 tmp(aEapType->UID);
+		TInt val(0);
+		tmp.Val(val);
+
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Setting to top priority:\n")));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Old index: %d\n"), i));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("  UID: %d\n"), val));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("  Enabled: %d\n"), aEapType->Enabled));
+	
+		if (i == 0)
+		{
+			// Already at the highest priority
+			return;
+		}
+
+		CWLanSettings* wlan = new(ELeave) CWLanSettings;
+		CleanupStack::PushL(wlan);
+		SWLANSettings wlanSettings;
+		if (wlan->Connect() != KErrNone)
+		{
+			// Could not connect to CommDB			
+			User::Leave(KErrCouldNotConnect);
+		}
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n")));
+
+		if (wlan->GetWlanSettingsForService(index, wlanSettings) != KErrNone)
+		{
+			wlan->Disconnect();
+			User::Leave(KErrUnknown);
+		}
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WLAN settings.\n")));
+		
+		// Change the order
+		TEap* eap = m_iap_eap_array[i];
+
+		m_iap_eap_array.Remove(i); // This does not delete the object	
+				
+		m_iap_eap_array.Insert(eap, 0);
+
+		wlan->SetEapDataL(m_iap_eap_array);
+		
+		wlan->Disconnect();
+
+		CleanupStack::PopAndDestroy(wlan);		
+	} 
+	else
+	{
+		// At the moment only LAN bearer is supported.
+		User::Leave(KErrNotSupported);
+	}
+		
+	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+}
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES 
+
+//--------------------------------------------------
+
 #if defined(USE_EAP_SIMPLE_CONFIG)
 
 EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::save_simple_config_session(
@@ -1485,7 +3081,6 @@
 		TRACE_FLAGS_DEFAULT,
 		(EAPL("%s: eapol_am_wlan_authentication_simulator_c::save_simple_config_session()\n"),
 		(m_is_client == true ? "client": "server")));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::save_simple_config_session()");
 
 	eap_status_e status(eap_status_ok);
 
@@ -1504,45 +3099,17 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values(
-	const eap_variable_data_c * const reference)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("%s: eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values()\n"),
-		(m_is_client == true ? "client": "server")));
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values(): reference"),
-		 reference->get_data(),
-		 reference->get_data_length()));
-
-	eap_status_e status = m_database_reference.set_copy_of_buffer(reference);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT eapol_am_wlan_authentication_c * eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication(
 	abs_eap_am_tools_c * const tools,
-	const bool is_client_when_true)
+	const bool is_client_when_true,
+	const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference)
 {
 	EAP_TRACE_BEGIN(tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eapol_am_wlan_authentication_symbian_c::new_eapol_am_wlan_authentication()\n")));
-	EAP_TRACE_RETURN_STRING(tools, "returns: eapol_am_wlan_authentication_symbian_c::new_eapol_am_wlan_authentication()");
-
 	eapol_am_wlan_authentication_c * const wauth = new eapol_am_wlan_authentication_symbian_c(
 		tools,
-		is_client_when_true);
+		is_client_when_true,
+		wlan_database_reference);
 
 	EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
 	return wauth;
@@ -1550,82 +3117,6 @@
 
 
 //--------------------------------------------------
-
-//
-eap_session_core_base_c * new_eap_core_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_session_core_c * const partner,
-	const bool is_client_when_true,
-	const u32_t MTU)
-{
-	EAP_TRACE_DEBUG(
-		tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("new_eap_core_client_message_if_c()\n")));
-	EAP_TRACE_RETURN_STRING(tools, "returns: new_eap_core_client_message_if_c()");
-
-	eap_am_message_if_c *client_if = new_eap_am_client_message_if_c(
-		tools,
-		is_client_when_true,
-		MTU);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): client_if->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			(void) client_if->shutdown();
-		}
-
-		return 0;
-	}
-
-	eap_core_client_message_if_c * new_session_core = new eap_core_client_message_if_c(tools, client_if, partner, is_client_when_true);
-
-	eap_automatic_variable_c<eap_core_client_message_if_c> automatic_new_session_core(
-		tools,
-		new_session_core);
-
-	if (new_session_core == 0
-		|| new_session_core->get_is_valid() == false)
-	{
-		// ERROR.
-		if (new_session_core != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): new_session_core->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			new_session_core->shutdown();
-		}
-
-		(void) client_if->shutdown();
-
-		return 0;
-	}
-
-	client_if->set_partner(new_session_core);
-
-	automatic_server_if.do_not_free_variable();
-	automatic_new_session_core.do_not_free_variable();
-
-	return new_session_core;
-}
-
-//--------------------------------------------------
 //--------------------------------------------------
 //--------------------------------------------------
 // End.
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf	Wed Sep 01 12:23:57 2010 +0100
@@ -1,27 +1,25 @@
 #
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#	  EAP configuration file
-#
-# %version:  17 %
+#  Name        : ./wlan_symbian/wlaneapol_symbian/am/core/symbian/file_config/eap_symbian.conf
+#  Part of     : EAPOL / 
+#  Description : Configuration file for EAPOL.
+#  Version     : %version: 16 %
+#  
+#  Copyright © 2001-2005 Nokia. All rights reserved.
+#  This material, including documentation and any related 
+#  computer programs, is protected by copyright controlled by 
+#  Nokia. All rights are reserved. Copying, including 
+#  reproducing, storing, adapting or translating, any 
+#  or all of this material requires the prior written consent of 
+#  Nokia. This material also contains confidential 
+#  information which may not be disclosed to others without the 
+#  prior written consent of Nokia.
 #
 
 EAP_TRACE_disable_traces = bool:false
 
-EAP_TRACE_enable_timer_traces = bool:true
+EAP_TRACE_enable_timer_traces = bool:false
 
-EAP_TRACE_enable_timer_queue_traces = bool:true
+EAP_TRACE_enable_timer_queue_traces = bool:false
 
 EAP_TRACE_output_file_name = string:e:\logs\eapol\eap_core.txt
 
--- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf	Wed Sep 01 12:23:57 2010 +0100
@@ -1,23 +1,3 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#	  EAP configuration file
-#
-# %version:  3 %
-#
-
- 
 #--------------------------------------------------------------------
 
 # This string configuration option selects file and path name of trace log file.
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2000-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:  Build information file for eap_notifier
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-
-
-PRJ_MMPFILES
-eap_notifier.mmp
-
-//PRJ_EXPORTS
-
-//../inc/eap_auth_notifier.h
\ No newline at end of file
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/eap_notifier.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 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:  Project definition file for eap_notifier
-*
-*/
-
-/*
-* %version:  5 %
-*/
-
-// using relative paths for sourcepath and user includes
-
-TARGET        eap_notifier.dll
-TARGETTYPE    dll
-
-UID           0x1000008d 0x2002E6F1
-
-CAPABILITY    All -TCB
-
-SOURCEPATH    ..\src
-SOURCE        eap_auth_notifier.cpp
-SOURCE        eap_auth_observer.cpp
-
-USERINCLUDE   ..\inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY       euser.lib
-LIBRARY	      eapsymbiantools.lib 
-LIBRARY	      eaptools.lib
-LIBRARY		    HbCore.lib
-LIBRARY	      HbWidgets.lib
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_notifier.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP Authentication Notifier
-*
-*/
-
-/*
-* %version: 15 %
-*/
-
-#ifndef __EAPAUTHNOTIFIER_H__
-#define __EAPAUTHNOTIFIER_H__
-
-// System includes
-#include <e32base.h>
-#include <hb/hbcore/hbdevicedialogsymbian.h>
-
-// User includes
-
-// Forward declarations
-
-class TEapExpandedType; 
-class CEapAuthObserver;
-
-// External data types
-
-//Global function prototypes
-
-//Constants
-
-const TUint KMaxNotifItemLength = 256;
-const TUint KMaxUiDataLength = 1024;
-
-/**
- * Callback interface
- */
-class MNotificationCallback
-    {
-    public:
-       /**
-        * Notify for the client that the Dialog is complete
-        *
-        * @param  aStatus status
-        * return  -
-        */
-        virtual void DlgComplete( TInt aStatus ) = 0;
-    };
-
-/**
- * EAP Notifier
- */
-NONSHARABLE_CLASS ( CEapAuthNotifier ): public CBase
-    {
-    public:
-        // Data types
-        
-        /** EAP Notifier types */
-        enum EEapNotifierType
-        {
-            EEapNotifierTypeLEapUsernamePasswordDialog, 
-            EEapNotifierTypeGTCQueryDialog,
-            EEapNotifierTypePapAuthQueryDialog,
-            EEapNotifierTypePapChallengeDialog, 
-            EEapNotifierTypeGtcChallengeDialog, 
-            EEapNotifierTypeFastInstallPacQueryDialog,
-            EEapNotifierTypeFastPacStorePwQueryDialog,
-            EEapNotifierTypeFastCreateMasterkeyQueryDialog, 
-            EEapNotifierTypeFastPacFilePwQueryDialog, 
-            EEapNotifierTypeFastStartAuthProvWaitNote, 
-            EEapNotifierTypeFastStartUnauthProvWaitNote,
-            EEapNotifierTypePapUsernamePasswordDialog,
-            EEapNotifierTypeFastShowProvNotSuccessNote, 
-            EEapNotifierTypeEapMsChapV2UsernamePasswordDialog,
-            EEapNotifierTypeMsChapV2UsernamePasswordDialog, 
-            EEapNotifierTypeMsChapV2NewPasswordDialog, 
-            EEapNotifierTypeMsChapV2OldPasswordDialog,
-            EEapNotifierTypeMsChapV2PasswordExpiredNote,
-            EEapNotifierTypeGTCUsernamePasswordDialog,
-        }; 
-        
-        /**  EAP Notifier Data struct */
-        struct TEapDialogInfo
-        {
-            TBool iPasswordPromptEnabled;
-            TBool iIsIdentityQuery;
-            TBuf16<KMaxNotifItemLength> iUsername;
-            TBuf16<KMaxNotifItemLength> iPassword;
-            TBuf16<KMaxNotifItemLength> iOldPassword; 
-            TBool iIsFirstQuery;
-            TBuf16<KMaxUiDataLength> iUidata;
-        };
-                     
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C  static CEapAuthNotifier* NewL( MNotificationCallback& aClient );
-        
-        /**
-        * Destructor
-        */
-        ~CEapAuthNotifier();
-    
-    public:          
-        /**
-        * Start the Notifier
-        *
-        * @param  aType            notifier type
-        * @param  aPasswordInfo    data to be filled
-        * @param  aEapType         eap type
-        * return -
-        */
-        IMPORT_C void StartL( EEapNotifierType aType,
-                              TEapDialogInfo* aEapInfo,
-                              TEapExpandedType& aEapType );
-        
-        /**
-        * Cancel() the notifier
-        *
-        * @param  -
-        * return -
-        */
-        IMPORT_C void Cancel();
-                 
-        /**
-        * CompleteL the notifier is complete
-        *
-        * @param  aStatus status
-        * return  -
-        */
-        void CompleteL( TInt aStatus );
-        
-        /**
-        * Sets the selected user name and password of the presented dialog
-        *
-        * @param  aPasswordInfo password 
-        * return  -
-        */
-        void SetSelectedUnameAndPwd( TEapDialogInfo& aPasswordInfo );
-                
-        /**
-        * Sets the selected password of the presented dialog
-        *
-        * @param  aPasswordInfo password 
-        * return  -
-        */
-        void SetSelectedPassword(
-                TEapDialogInfo& aPasswordInfo );
-        
-        /**
-        * Sets the selected Old password of the presented dialog
-        *
-        * @param  aPasswordInfo old password 
-        * return  -
-        */
-        void SetSelectedOldPassword(
-                TEapDialogInfo& aPasswordInfo );
-       
-    private:
-        /**
-        * Constructor
-        */
-        CEapAuthNotifier( MNotificationCallback& aClient );
-        
-        /**
-        * ConstructL
-        */
-        void ConstructL();
-        
-        /**
-        * Set data for the UsernamePassword Dialog(s)
-        *
-        * @param  aPasswordInfo    data to be filled
-        * @param  aEapType         Eap type to be used
-        * @param  aMap             Pointer to variant data
-        * @param  aAuthMethod      Authentication method to be used
-        * return -
-        */
-        void SetUsernamePasswordDataL( 
-            TEapDialogInfo* aPasswordInfo,
-            TEapExpandedType& aEapType,
-            CHbSymbianVariantMap* aMap,
-            const TDesC& aAuthMethod );
-                
-        
-        /**
-        * Set data for the query Dialog(s)
-        *
-        * @param  aEapInfo         data to be filled
-        * @param  aMap             Pointer to variant data
-        * @param  aAuthMethod      Authentication method to be used
-        * return -
-        */
-        void SetQueryDialogDataL( 
-            TEapDialogInfo* aEapInfo,
-            CHbSymbianVariantMap* aMap,
-            const TDesC& aAuthMethod );
-        
-       /**
-        * Set data for the Install Pac query Dialog(s)
-        *
-        * @param  aEapInfo         data to be filled
-        * @param  aMap             Pointer to variant data
-        * return -
-        */
-        void SetFastInstallPacQueryDialogDataL( 
-            TEapDialogInfo* aEapInfo,
-            CHbSymbianVariantMap* aMap );
-        
-       /**
-        * Set data for the Pac file query Dialog(s)
-        *
-        * @param  aEapInfo         data to be filled
-        * @param  aMap             Pointer to variant data
-        * return -
-        */
-        void SetFastPacFileQueryPwDialogDataL( 
-            TEapDialogInfo* aEapInfo,
-            CHbSymbianVariantMap* aMap );
-        
-       /**
-        * Set data for the prov wait note Dialog(s)
-        *
-        * @param  aMap                  Pointer to variant data
-        * @param  aAuthProvWaitNote     Tells whether auth or unauth 
-        * return -
-        */
-        void SetFastProvWaitNoteDialogDataL( 
-            CHbSymbianVariantMap* aMap,
-            TBool aAuthProvWaitNote );
-                    
-       /**
-        * Set data for the Password Dialog(s)
-        *
-        * @param  aEapType         Eap type to be used
-        * @param  aMap             Pointer to variant data
-        * @param  aAuthMethod      Authentication method to be used
-        * return -
-        */
-        void SetPasswordQueryDataL( 
-            TEapExpandedType& aEapType,
-            CHbSymbianVariantMap* aMap,
-            const TDesC& aAuthMethod );
-        
-    private: // Data
-        
-        /** 
-         * For callback 
-         */
-        MNotificationCallback& iClient;  
-        
-        /** 
-         * Pointer to the device dialog interface for handling the dialog 
-         */
-        CHbDeviceDialogSymbian* iDialog;
-        
-        /** 
-         * The observer to handle the data received from the orbit dialog 
-         */
-        CEapAuthObserver* iObserver;
-                        
-        /** 
-         * Information if request was already completed, in case the
-         * observer receives the data signal and the signal about closing the
-         * dialog.
-         */
-        TBool iCompleted;
-        
-        /**
-         * Information if request was already cancelled.
-         */
-        TBool iCancelled;
-        
-        /** 
-         * Pointer to the Eap Dialog Info structure 
-         */
-        TEapDialogInfo* iEapInfo;
-        
-    
-    };
-
-#endif //__EAPAUTHNOTIFIER_H__
-
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_observer.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Dialog Observer implementation
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-#ifndef __EAPAUTHOBSERVER_H__
-#define __EAPAUTHOBSERVER_H__
-
-// System includes
-
-// User includes
-
-// Forward declarations
-class CEapAuthNotifier;
-
-// External data types
-
-//Global function prototypes
-
-//Constants
-
-/**
- * EAP Observer
- */
-NONSHARABLE_CLASS ( CEapAuthObserver ) : public CBase, public MHbDeviceDialogObserver
-    {
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CEapAuthObserver* NewL( 
-                CEapAuthNotifier* aNotifier
-                );
-                
-        /**
-        * Destructor
-        */
-        ~CEapAuthObserver();
-        
-        /**
-        * Handles the setting of the notifier (dialog) type
-        *
-        * @param    aType EEapNotifierType
-        * return -
-        */
-        void SetNotifierType( CEapAuthNotifier::EEapNotifierType aType );
-            
-        /**
-        * Handles the user input received from the dialog
-        *
-        * @param    aData CHbSymbianVariantMap&
-        * return -
-        */
-        void DataReceived( CHbSymbianVariantMap& aData );
-        
-        /**
-        * Handles the closing of the dialog
-        *
-        * @param    aCompletionCode TInt
-        * return -
-        */
-        void DeviceDialogClosed( TInt aCompletionCode );
-    private:
-        /**
-        * Constructor
-        */
-        CEapAuthObserver( CEapAuthNotifier* aNotifier );
-        
-        /**
-        * Handles the user name password input received from the dialog
-        *
-        * @param    aData CHbSymbianVariantMap&
-        * return -
-        */
-        void UsernamePasswordDlgDataReceived( CHbSymbianVariantMap& aData );
-          
-        /**
-        * Handles the password query user input received from the dialog
-        *
-        * @param    aData CHbSymbianVariantMap&
-        * return -
-        */
-        void PwdQueryDataReceived( CHbSymbianVariantMap& aData );
-        
-        /**
-        * Handles the old password query user input received from the dialog
-        *
-        * @param    aData CHbSymbianVariantMap&
-        * return -
-        */
-        void OldPwdQueryDataReceived( CHbSymbianVariantMap& aData );
-        
-    private: // Data
-        /** 
-         * Pointer to the object that triggered the dialog opening,
-         * needed to update the information about the user input.
-         */
-        CEapAuthNotifier* iNotifier;
-        
-        /** 
-         * Current EAP notifier type to serve 
-         */
-        CEapAuthNotifier::EEapNotifierType iType;
-    };
-
-#endif /* __EAPAUTHOBSERVER_H__ */
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_ui_strings.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 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: 
- *   EAP String definitions
- *
- */
- 
-/*
- * %version: 3 %
- */
-
-
-#ifndef EAPAUTHUISTRINGS_H
-#define EAPAUTHUISTRINGS_H
-
-#include <e32base.h>
-
-namespace EapAuthUiStrings
-{
-_LIT(EapAka, "EAP-AKA");
-_LIT(EapFast, "EAP-FAST");
-_LIT(EapGtc, "EAP-GTC");
-_LIT(EapMschapv2, "EAP-MSCHAPv2");
-_LIT(EapSim, "EAP-SIM");
-_LIT(EapTls, "EAP-TLS");
-_LIT(EapTtls, "EAP-TTLS");
-_LIT(Leap, "LEAP");
-_LIT(Mschapv2, "MSCHAPv2");
-_LIT(Pap, "PAP");
-_LIT(Peap, "PEAP");
-}
-
-#endif //EAPAUTHUISTRINGS_H
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/rom/eap_notifier.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- * 
- */
- 
-#ifndef __EAP_NOTIFIER_IBY__
-#define __EAP_NOTIFIER_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\eap_notifier.dll                  SHARED_LIB_DIR\eap_notifier.dll
-
-#endif
\ No newline at end of file
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,572 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   EAP Authentication Notitier implementation
-*
-*/
-
-/*
-* %version: 21 %
-*/
-
-// System include files
-#include <hb/hbcore/hbsymbianvariant.h>
-#include <e32debug.h> 
-#include <EapExpandedType.h> 
-// User include files 
-#include "eap_auth_notifier.h"
-#include "eap_auth_observer.h"
-#include "eap_auth_ui_strings.h"
-
-// External function prototypes
-
-// Local constants
-const TInt KVariableLength = 30; 
-const TInt KDlgTypeStrLength = 100; 
-const TInt KMaxAuthMethodLength = 50;
-
-_LIT( KUsername, "username");
-_LIT( KAuthmethod, "authmethod");
-_LIT( KPacservername, "pacservername");
-_LIT( KPacfilename, "pacfilename");
-_LIT( KEaptype, "eaptype");
-_LIT( KMessage, "messagetxt");
-_LIT( KFastprovwaitnote, "notificationtxt");
-
-_LIT(KTypeunamepwddlg, "com.nokia.eap.usernamepassworddialog/1.0");
-_LIT(KTypepwdquerydlg, "com.nokia.eap.passwordquerydialog/1.0");
-_LIT(KTypequerydlg, "com.nokia.eap.querydialog/1.0"); 
-_LIT(KTypeinstallpacquerydlg, "com.nokia.eap.fastinstallpacquerydialog/1.0");
-_LIT(KTypepacstorepwquerydlg, "com.nokia.eap.fastpacstorepwquerydialog/1.0"); 
-_LIT(KTypemasterkeyquerydlg, "com.nokia.eap.fastcreatemasterkeyquerydialog/1.0"); 
-_LIT(KTypepacfilepwquerydlg, "com.nokia.eap.fastpacfilepwquerydialog/1.0"); 
-_LIT(KTypeprovwaitnotedlg, "com.nokia.eap.fastprovwaitnotedialog/1.0"); 
-_LIT(KTypepwdexpnotedlg,"com.nokia.eap.mschapv2passwordexpirednotedialog/1.0"); 
-_LIT(KTypeoldpwddlg,"com.nokia.eap.mschapv2oldpassworddialog/1.0"); 
-_LIT(KTypenewpwddlg,"com.nokia.eap.mschapv2newpassworddialog/1.0"); 
-_LIT(KTypeshowprovnotsuccdlg,"com.nokia.eap.fastshowprovnotsuccessnotedialog/1.0"); 
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CEapAuthNotifier::CEapAuthNotifier( MNotificationCallback& aClient )
-    :iClient(aClient),
-     iDialog(NULL),
-     iObserver(NULL),   
-     iCompleted(EFalse),
-     iCancelled(EFalse) 
-    {
-    RDebug::Print(_L("CEapAuthNotifier::CEapAuthNotifier DLL++") );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CEapAuthNotifier::~CEapAuthNotifier()
-    {
-    RDebug::Print(_L("CEapAuthNotifier::~CEapAuthNotifier") );
-    
-    if ( iCancelled == EFalse )
-        {
-        iCompleted = ETrue;
-        if ( iDialog )
-            { 
-            iDialog->Cancel();
-            }
-        }
-    if ( iDialog )
-        { 
-        delete iDialog;
-        }
-    if ( iObserver )
-        {
-        delete iObserver;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CEapAuthNotifier* CEapAuthNotifier::NewL( 
-    MNotificationCallback& aClient )
-    {
-    RDebug::Print(_L("CEapAuthNotifier::NewL"));
-    
-    CEapAuthNotifier* self = 
-        new ( ELeave ) CEapAuthNotifier( aClient );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL for the Notifier
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::ConstructL()
-    {
-    RDebug::Print(_L("CEapAuthNotifier::ConstructL"));
-    //Observer is needed in order to get the user inputs
-    iObserver = CEapAuthObserver::NewL( this ); 
-    iDialog = CHbDeviceDialogSymbian::NewL();    
-    }
-
-// ---------------------------------------------------------------------------
-// Start the Notifier
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CEapAuthNotifier::StartL( 
-    EEapNotifierType aType,
-    TEapDialogInfo* aEapInfo, 
-    TEapExpandedType& aEapType )
-    {
-    TInt error;
-    TBuf<KDlgTypeStrLength> EapNtfType;
-    TBuf16<KMaxAuthMethodLength> authMethod;
-               
-    RDebug::Print(_L("CEapAuthNotifier::StartL: ENTERING"));
-    
-    iCancelled = EFalse;
-    iCompleted = EFalse;
-    iEapInfo = aEapInfo;
-            
-    //Method must be called before using the observer  
-    iObserver->SetNotifierType(aType);
-        
-    //The variant map is needed to construct the dialog correctly,
-    CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL();
-    CleanupStack::PushL( map );
-    
-    if ( aType == EEapNotifierTypeLEapUsernamePasswordDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::Leap);
-        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );  
-        EapNtfType.Copy(KTypeunamepwddlg);
-        }   
-    else if ( aType == EEapNotifierTypeGTCUsernamePasswordDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::EapGtc);
-        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );  
-        EapNtfType.Copy(KTypeunamepwddlg);
-        }   
-    else if ( aType == EEapNotifierTypePapUsernamePasswordDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::Pap);
-        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );    
-        EapNtfType.Copy(KTypeunamepwddlg);
-        }   
-    else if ( aType == EEapNotifierTypeEapMsChapV2UsernamePasswordDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::EapMschapv2);
-        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );   
-        EapNtfType.Copy(KTypeunamepwddlg);
-        }   
-    else if ( aType == EEapNotifierTypeMsChapV2UsernamePasswordDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::Mschapv2);
-        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );  
-        EapNtfType.Copy(KTypeunamepwddlg);
-        }   
-    else if ( aType == EEapNotifierTypeGtcChallengeDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::EapGtc);
-        SetQueryDialogDataL( aEapInfo, map, authMethod );
-        EapNtfType.Copy(KTypequerydlg);
-        }    
-    else if ( aType == EEapNotifierTypePapChallengeDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::Pap);
-        SetQueryDialogDataL( aEapInfo, map, authMethod );
-        EapNtfType.Copy(KTypequerydlg);
-        }
-    else if ( aType == EEapNotifierTypeGTCQueryDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::EapGtc);
-        SetPasswordQueryDataL( aEapType, map, authMethod );
-        EapNtfType.Copy(KTypepwdquerydlg); 
-        }
-    else if ( aType == EEapNotifierTypePapAuthQueryDialog )
-        {
-        authMethod.Copy(EapAuthUiStrings::Pap);
-        SetPasswordQueryDataL( aEapType, map, authMethod );
-        EapNtfType.Copy(KTypepwdquerydlg); 
-        }
-    else if ( aType == EEapNotifierTypeFastInstallPacQueryDialog ) 
-        {
-        SetFastInstallPacQueryDialogDataL( aEapInfo, map );
-        EapNtfType.Copy(KTypeinstallpacquerydlg);
-        }
-    else if ( aType == EEapNotifierTypeFastPacStorePwQueryDialog ) 
-        {
-        EapNtfType.Copy(KTypepacstorepwquerydlg);
-        }
-    else if ( aType == EEapNotifierTypeFastCreateMasterkeyQueryDialog ) 
-        {
-        EapNtfType.Copy(KTypemasterkeyquerydlg);
-        }
-    else if ( aType == EEapNotifierTypeFastPacFilePwQueryDialog ) 
-        {
-        SetFastPacFileQueryPwDialogDataL( aEapInfo, map );
-        EapNtfType.Copy(KTypepacfilepwquerydlg);
-        }
-    else if ( aType == EEapNotifierTypeFastStartAuthProvWaitNote )
-        {
-        SetFastProvWaitNoteDialogDataL( map, ETrue );
-        EapNtfType.Copy(KTypeprovwaitnotedlg);
-        }
-    else if ( aType == EEapNotifierTypeFastStartUnauthProvWaitNote )
-        {
-        SetFastProvWaitNoteDialogDataL( map, EFalse );
-        EapNtfType.Copy(KTypeprovwaitnotedlg);
-        }   
-    else if ( aType == EEapNotifierTypeMsChapV2PasswordExpiredNote )
-        {
-        EapNtfType.Copy(KTypepwdexpnotedlg);
-        }
-    else if ( aType == EEapNotifierTypeMsChapV2OldPasswordDialog )
-        {
-        EapNtfType.Copy(KTypeoldpwddlg);
-        }
-    else if ( aType == EEapNotifierTypeMsChapV2NewPasswordDialog )
-        {
-        EapNtfType.Copy(KTypenewpwddlg);
-        }
-    else if ( aType == EEapNotifierTypeFastShowProvNotSuccessNote )
-        {
-        EapNtfType.Copy(KTypeshowprovnotsuccdlg);
-        }
-
-    RDebug::Print(_L("CEapAuthNotifier::StartL: Load the Dialog NOW!"));
-    
-    //Show the dialog.
-    error = iDialog->Show( EapNtfType, *map, iObserver );
-    
-    User::LeaveIfError( error );
-    CleanupStack::PopAndDestroy( map ); 
-
-    RDebug::Print(_L("CEapAuthNotifier::StartL: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Set data for the EAP-FAST provisioning wait note Dialog(s)
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetFastProvWaitNoteDialogDataL(    
-    CHbSymbianVariantMap* aMap,
-    TBool aAuthProvWaitNote )
-    {
-    TInt error;  
-    TBuf<KVariableLength> key(KFastprovwaitnote);
-            
-    CHbSymbianVariant *variant = NULL;
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetFastProvWaitNoteDialogDataL: ENTERING"));    
-
-    //Create the variant data information for the plugin
-    variant =  
-        CHbSymbianVariant::NewL (
-        &aAuthProvWaitNote, CHbSymbianVariant::EBool );
-    CleanupStack::PushL( variant );
-    error = aMap->Add( key, variant);
-    User::LeaveIfError( error );
-    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetFastProvWaitNoteDialogDataL: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Set data for the EAP-FAST PAC file query Dialog(s)
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL( 
-    TEapDialogInfo* aEapInfo,
-    CHbSymbianVariantMap* aMap )
-    {
-    TInt error;  
-    TBuf<KVariableLength> key(KPacfilename);
-                
-    CHbSymbianVariant *variant = NULL;
-        
-    RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: ENTERING"));
-        
-    if( 0 < aEapInfo->iUidata.Length() )
-       {
-       RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: Set PAC filename"));
-       RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata );
-        
-       // Create the variant data information for the plugin
-       variant =  
-           CHbSymbianVariant::NewL ( 
-           &aEapInfo->iUidata, CHbSymbianVariant::EDes );
-       CleanupStack::PushL( variant );
-       error = aMap->Add( key, variant);
-       User::LeaveIfError( error );
-       CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-       }     
-    RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Set data for the EAP-FAST Install PAC query Dialog(s)
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetFastInstallPacQueryDialogDataL( 
-    TEapDialogInfo* aEapInfo,
-    CHbSymbianVariantMap* aMap )
-    {
-    TInt error;  
-    TBuf<KVariableLength> key(KPacservername);
-            
-    CHbSymbianVariant *variant = NULL;
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: ENTERING"));
-    
-    if( 0 < aEapInfo->iUidata.Length() )
-        {
-        RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: Set PAC Install server name"));
-        RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata );
-    
-        // Create the variant data information for the plugin
-        variant =  
-            CHbSymbianVariant::NewL ( 
-            &aEapInfo->iUidata, CHbSymbianVariant::EDes );
-        CleanupStack::PushL( variant );
-        error = aMap->Add( key, variant);
-        User::LeaveIfError( error );
-        CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-        }     
-    RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Set data for the Challenge Query Dialog(s)
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetQueryDialogDataL( 
-    TEapDialogInfo* aEapInfo,
-    CHbSymbianVariantMap* aMap,
-    const TDesC& aAuthMethod )
-    {
-    TInt error;  
-    TBuf<KVariableLength> key1(KAuthmethod);
-    TBuf<KVariableLength> key2(KMessage);
-        
-    CHbSymbianVariant *variant = NULL;
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: ENTERING"));
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: Set Heading"));
-    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: aAuthMethod = %S\n"), &aAuthMethod );
-    
-    // Create the variant data information for the plugin
-    variant =  
-        CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes );
-    CleanupStack::PushL( variant );
-    error = aMap->Add( key1, variant);
-    User::LeaveIfError( error );
-    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-            
-    if( 0 < aEapInfo->iUidata.Length() )
-        {
-        RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: Set user input message"));
-        RDebug::Print(_L("CEapAuthObserver::SetQueryDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata );
-    
-        // Create the variant data information for the plugin
-        variant =  
-            CHbSymbianVariant::NewL (
-            &aEapInfo->iUidata, CHbSymbianVariant::EDes );
-        CleanupStack::PushL( variant );
-        error = aMap->Add( key2, variant);
-        User::LeaveIfError( error );
-        CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-        }     
-    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Set data for the Password Query Dialog(s)
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetPasswordQueryDataL( 
-    TEapExpandedType& aEapType,
-    CHbSymbianVariantMap* aMap,
-    const TDesC& aAuthMethod )
-    {
-    TInt error;  
-    TBuf<KVariableLength> key2(KAuthmethod);
-    TBuf<KVariableLength> key3(KEaptype); 
-    CHbSymbianVariant *variant = NULL;
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: ENTERING"));
-    RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: aAuthMethod = %S\n"), &aAuthMethod );
-    
-    //Create the variant data information for the plugin
-    //Set authentication method 
-    variant =  
-        CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes );
-    CleanupStack::PushL( variant );
-    error = aMap->Add( key2, variant);
-    User::LeaveIfError( error );
-    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-    
-    //Set EAP type
-    variant =  
-        CHbSymbianVariant::NewL(
-        &aEapType.GetValue(), CHbSymbianVariant::EBinary );
-    CleanupStack::PushL( variant );
-    error = aMap->Add( key3, variant);
-    User::LeaveIfError( error );
-    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.    
-    RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Set data for the UsernamePassword Dialog(s)
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetUsernamePasswordDataL( 
-    TEapDialogInfo* aEapInfo,
-    TEapExpandedType& aEapType,
-    CHbSymbianVariantMap* aMap,
-    const TDesC& aAuthMethod )
-    {
-    TInt error;  
-    TBuf<KVariableLength> key1(KUsername);
-    TBuf<KVariableLength> key2(KAuthmethod);
-    TBuf<KVariableLength> key3(KEaptype);
-    CHbSymbianVariant *variant = NULL;
-    
-    RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: ENTERING"));
-    RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: aAuthMethod = %S\n"), &aAuthMethod );
-    
-    //Create the variant data information for the plugin
-    //Set authentication method 
-    variant =  
-        CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes );
-    CleanupStack::PushL( variant );
-    error = aMap->Add( key2, variant);
-    User::LeaveIfError( error );
-    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-    
-    //Set username
-    if( 0 < aEapInfo->iUsername.Length() )
-        {
-        RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: Set default UNAME"));
-        RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: iEapInfo->iUsername = %S\n"), &iEapInfo->iUsername );
-    
-        // Create the variant data information for the plugin
-        variant =  
-            CHbSymbianVariant::NewL ( 
-            &aEapInfo->iUsername, CHbSymbianVariant::EDes );
-        CleanupStack::PushL( variant );
-        error = aMap->Add( key1, variant);
-        User::LeaveIfError( error );
-        CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
-        }
-
-    //Set EAP type
-    variant =  
-        CHbSymbianVariant::NewL( 
-        &aEapType.GetValue(), CHbSymbianVariant::EBinary );
-    CleanupStack::PushL( variant );
-    error = aMap->Add( key3, variant);
-    User::LeaveIfError( error );
-    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.    
-    RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: LEAVING") );
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the selected user name and password of the presented dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetSelectedUnameAndPwd ( TEapDialogInfo& aEapInfo )
-    {
-    RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd"));
-    
-    iEapInfo->iIsIdentityQuery = aEapInfo.iIsIdentityQuery;
-    if ( aEapInfo.iIsIdentityQuery ) 
-        {
-        iEapInfo->iUsername = aEapInfo.iUsername;
-        RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd: iEapInfo->iUsername = %S\n"), &iEapInfo->iUsername );
-        }
-    
-    iEapInfo->iPasswordPromptEnabled = aEapInfo.iPasswordPromptEnabled;
-    if ( aEapInfo.iPasswordPromptEnabled )
-        {
-        iEapInfo->iPassword = aEapInfo.iPassword;
-        RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd: iEapInfo->iPassword = %S\n"), &iEapInfo->iPassword );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the selected password of the presented dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetSelectedPassword ( TEapDialogInfo& aPasswordInfo )
-    {
-    RDebug::Print(_L("CEapAuthNotifier::SetSelectedPassword"));
-
-    iEapInfo->iPassword = aPasswordInfo.iPassword;
-    RDebug::Print(_L("CEapAuthNotifier::SetSelectedPassword: iEapInfo->iPassword = %S\n"), &iEapInfo->iPassword );    
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the selected Old password of the presented dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::SetSelectedOldPassword ( TEapDialogInfo& aPasswordInfo )
-    {
-    RDebug::Print(_L("CEapAuthNotifier::SetSelectedOldPassword"));
-
-    iEapInfo->iOldPassword = aPasswordInfo.iOldPassword;
-    RDebug::Print(_L("CEapAuthNotifier::SetSelectedOldPassword: iEapInfo->iOldPassword = %S\n"), &iEapInfo->iOldPassword );    
-    }
-
-// ---------------------------------------------------------------------------
-// The notifier is complete
-// ---------------------------------------------------------------------------
-//
-void CEapAuthNotifier::CompleteL( TInt aStatus )
-    {
-    RDebug::Print(_L("CEapAuthNotifier::CompleteL"));
-    
-    if ( !iCompleted )
-        {
-        iClient.DlgComplete(aStatus);
-        iCompleted = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Cancel() the notifier
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CEapAuthNotifier::Cancel()
-    {
-    RDebug::Print(_L("CEapAuthNotifier::Cancel"));
-    if ( !iCompleted )
-        {
-        iCancelled = ETrue;
-        iDialog->Cancel();
-        }
-    }
--- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_observer.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Dialog observer implementation
-*
-*/
-
-/*
-* %version: 15 %
-*/
-
-// System include files
-#include <hb/hbcore/hbsymbianvariant.h>
-#include <e32debug.h>
-
-// User include files
-#include "eap_auth_notifier.h"
-#include "eap_auth_observer.h"
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CEapAuthObserver* CEapAuthObserver::NewL( 
-    CEapAuthNotifier* aNotifier )
-    {
-    RDebug::Print(_L("CEapAuthObserver::NewL") );
-    
-    CEapAuthObserver* self = new ( ELeave ) CEapAuthObserver( aNotifier );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CEapAuthObserver::CEapAuthObserver( 
-    CEapAuthNotifier* aNotifier  ): 
-    iNotifier( aNotifier )
-    {
-    RDebug::Print(_L("CEapAuthObserver::CEapAuthObserver") );
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CEapAuthObserver::~CEapAuthObserver()
-    {
-    RDebug::Print(_L("CEapAuthObserver::~CEapAuthObserver") );
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the setting of the notifier (dialog) type
-// ---------------------------------------------------------------------------
-//
-void CEapAuthObserver::SetNotifierType( CEapAuthNotifier::EEapNotifierType aType )
-    {
-    RDebug::Print(_L("CEapAuthObserver::setNotifierType") );
-    
-    iType = aType;
-    }
-
-// Derived function:
-// ---------------------------------------------------------------------------
-// From class MHbDeviceDialogObserver.
-// Handles the user input received from the dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthObserver::DataReceived( CHbSymbianVariantMap& aData )
-{
-    RDebug::Print(_L("CEapAuthObserver::DataReceived") );
-    
-    if ( iType == CEapAuthNotifier::EEapNotifierTypeLEapUsernamePasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeLEapUsernamePasswordDialog") );
-        UsernamePasswordDlgDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeGTCUsernamePasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeGTCUsernamePasswordDialog") );
-        UsernamePasswordDlgDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypePapUsernamePasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypePapUsernamePasswordDialog") );
-        UsernamePasswordDlgDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeEapMsChapV2UsernamePasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeEapMsChapV2UsernamePasswordDialog") );
-        UsernamePasswordDlgDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeMsChapV2UsernamePasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeMsChapV2UsernamePasswordDialog") );
-        UsernamePasswordDlgDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeGTCQueryDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeGTCQueryDialog") ); 
-        PwdQueryDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypePapAuthQueryDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypePapAuthQueryDialog") ); 
-        PwdQueryDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeFastPacStorePwQueryDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeFastPacStorePwQueryDialog") ); 
-        PwdQueryDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeFastCreateMasterkeyQueryDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeFastCreateMasterkeyQueryDialog") ); 
-        PwdQueryDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeFastPacFilePwQueryDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeFastPacFilePwQueryDialog") ); 
-        PwdQueryDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeMsChapV2OldPasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeMsChapV2OldPasswordDialog") ); 
-        OldPwdQueryDataReceived(aData);
-        }
-    else if ( iType == CEapAuthNotifier::EEapNotifierTypeMsChapV2NewPasswordDialog )
-        {
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeMsChapV2NewPasswordDialog") ); 
-        PwdQueryDataReceived(aData);
-        }
-    
-    TInt status = KErrNone;
-    
-    TRAP_IGNORE( iNotifier->CompleteL( status ));
-}
-
-// ---------------------------------------------------------------------------
-// Handles the user name password input received from the dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthObserver::UsernamePasswordDlgDataReceived(
-     CHbSymbianVariantMap& aData )
-{
-    RDebug::Print(_L("CEapAuthObserver::UsernamePasswordDlgDataReceived") ); 
-    
-    _LIT(KUsername, "username");
-    _LIT(KPassword, "password");
-    
-    CEapAuthNotifier::TEapDialogInfo PasswordInfo;
-    TDesC* Data = NULL;
-       
-    PasswordInfo.iIsIdentityQuery = EFalse; 
-    PasswordInfo.iPasswordPromptEnabled = EFalse;
-    
-    const CHbSymbianVariant *my_variant = aData.Get(KUsername); 
-    if ( my_variant != NULL )
-        {
-        ASSERT( my_variant->Type() == CHbSymbianVariant::EDes  );
-    
-        Data = reinterpret_cast<TDesC*>(my_variant->Data());       
-        PasswordInfo.iUsername.Copy( Data->Ptr(), Data->Length() );
-        PasswordInfo.iIsIdentityQuery = ETrue; 
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: PasswordInfo.iUsername = %S\n"), &PasswordInfo.iUsername );
-        }
-    my_variant = aData.Get(KPassword);
-    if ( my_variant != NULL )
-        {
-        ASSERT( my_variant->Type() == CHbSymbianVariant::EDes  );
-    
-        Data = reinterpret_cast<TDesC*>(my_variant->Data());     
-        PasswordInfo.iPassword.Copy( Data->Ptr(), Data->Length() );
-        PasswordInfo.iPasswordPromptEnabled = ETrue;
-        RDebug::Print(_L("CEapAuthObserver::DataReceived: PasswordInfo.iPassword = %S\n"), &PasswordInfo.iPassword );
-        }
-       
-    iNotifier->SetSelectedUnameAndPwd( PasswordInfo );   
-}
-
-// ---------------------------------------------------------------------------
-// Handles the old password query user input received from the dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthObserver::OldPwdQueryDataReceived( CHbSymbianVariantMap& aData )
-{
-    RDebug::Print(_L("CEapAuthObserver::OldPwdQueryDataReceived") ); 
-    
-    _LIT(KPassword, "password");
-    
-    CEapAuthNotifier::TEapDialogInfo PasswordInfo;
-    TDesC* Data = NULL;
-          
-    const CHbSymbianVariant *my_variant = aData.Get(KPassword); 
-    if ( my_variant != NULL )
-        {
-        ASSERT( my_variant->Type() == CHbSymbianVariant::EDes  );
-    
-        Data = reinterpret_cast<TDesC*>(my_variant->Data());     
-        PasswordInfo.iOldPassword.Copy( Data->Ptr(), Data->Length() );
-
-        RDebug::Print(_L("CEapAuthObserver::OldPwdQueryDataReceived: PasswordInfo.iOldPassword = %S\n"), &PasswordInfo.iOldPassword );
-        }
-       
-    iNotifier->SetSelectedOldPassword( PasswordInfo );   
-}
-
-// ---------------------------------------------------------------------------
-// Handles the password query user input received from the dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthObserver::PwdQueryDataReceived( CHbSymbianVariantMap& aData )
-{
-    RDebug::Print(_L("CEapAuthObserver::PwdQueryDataReceived") ); 
-    
-    _LIT(KPassword, "password");
-    
-    CEapAuthNotifier::TEapDialogInfo PasswordInfo;
-    TDesC* Data = NULL;
-           
-    const CHbSymbianVariant *my_variant = aData.Get(KPassword); 
-    if ( my_variant != NULL )
-        {
-        ASSERT( my_variant->Type() == CHbSymbianVariant::EDes  );
-    
-        Data = reinterpret_cast<TDesC*>(my_variant->Data());     
-        PasswordInfo.iPassword.Copy( Data->Ptr(), Data->Length() );
-
-        RDebug::Print(_L("CEapAuthObserver::PwdQueryDataReceived: PasswordInfo.iPassword = %S\n"), &PasswordInfo.iPassword );
-        }
-       
-    iNotifier->SetSelectedPassword( PasswordInfo );   
-}
-
-// Derived function:
-// ---------------------------------------------------------------------------
-// From class MHbDeviceDialogObserver.
-// Handles the closing of the dialog
-// ---------------------------------------------------------------------------
-//
-void CEapAuthObserver::DeviceDialogClosed( TInt /*aCompletionCode*/ )
-{
-    // Dialog was closed, let's complete with that error code
-    RDebug::Print(_L("CEapAuthObserver::DeviceDialogClosed"));
-    
-    TInt status = KErrCancel;
-    
-    if ( iType != CEapAuthNotifier::EEapNotifierTypeFastStartAuthProvWaitNote &&
-         iType != CEapAuthNotifier::EEapNotifierTypeFastStartUnauthProvWaitNote )
-        {
-        TRAP_IGNORE( iNotifier->CompleteL( status ));
-        }
-}
-
-
--- a/eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.2 %
+* %version: 10 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -50,7 +50,7 @@
 _LIT(K_eap_test_timer,"eap_test_timer");
 
 
-EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::start_timer_thread()
+eap_status_e eap_am_tools_symbian_c::start_timer_thread()
 { 
 	EAP_TRACE_DEBUG(this, TRACE_FLAGS_DEFAULT, (EAPL("Create timer thread.\n")));
 
@@ -81,7 +81,7 @@
 }
 
 
-EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::stop_timer_thread()
+eap_status_e eap_am_tools_symbian_c::stop_timer_thread()
 {
 	EAP_TRACE_DEBUG(this, TRACE_FLAGS_DEFAULT, (EAPL("Trigger timer thread stops.\n")));
 
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -17,7 +17,7 @@
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 12 %
 */
 
 #include <ecom/registryinfo.rh>
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -17,10 +17,10 @@
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 11 %
 */
 
-#include <ecom/registryinfo.rh>
+#include <ecom/RegistryInfo.rh>
 
 RESOURCE REGISTRY_INFO theInfo
 	{
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 19.1.11 %
+* %version: 21 %
 */
 
 #ifndef __EAPPLUGIN_H__
@@ -27,20 +27,17 @@
 
 #include <wdbifwlansettings.h>
 #include "eap_vpn_if.h"
-//#include "abs_eap_core.h"
+#include "abs_eap_core.h"
 #include "eapol_session_key.h"
+#include "eap_core.h"
 #include "eap_am_tools_symbian.h"
 #include "EapType.h"
 #include "EapolTimer.h"
-#include "abs_eap_session_core.h"
 
 // FORWARD DECLARATIONS
 class CEapType;
-class CEapTypePlugin;
 class eap_am_tools_symbian_c;
 class eap_file_config_c;
-class eap_session_core_base_c;
-class eap_process_tlv_message_data_c;
 
 /**
  * Class:       CEapVpnInterfaceImplementation
@@ -51,7 +48,7 @@
  */
 class CEapVpnInterfaceImplementation
 	: public CEapVpnInterface
-	, public abs_eap_session_core_c
+	, public abs_eap_core_c
 	, public abs_eap_base_timer_c
 {
 public:
@@ -323,35 +320,6 @@
     eap_status_e timer_delete_data(
         const u32_t id, void *data);
 
-	eap_status_e complete_get_802_11_authentication_mode(
-		const eap_status_e completion_status,
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_802_11_authentication_mode_e mode);
-
-	eap_status_e complete_remove_eap_session(
-		const bool complete_to_lower_layer,
-		const eap_am_network_id_c * const receive_network_id);
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-	/**
-	 * This function tells AM to save SIMPLE_CONFIG configuration parameters.
-	 * This is always syncronous call.
-	 */
-	eap_status_e save_simple_config_session(
-		const simple_config_state_e state,
-		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-		const eap_variable_data_c * const new_password,
-		const simple_config_Device_Password_ID_e Device_Password_ID,
-		const simple_config_payloads_c * const other_configuration
-		);
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-	static eap_session_core_base_c * new_eap_core_client_message_if_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_session_core_c * const partner,
-		const bool is_client_when_true,
-		const u32_t MTU);
-
 private:
 
     TInt CompleteAssociation(const TInt aResult);
@@ -359,13 +327,6 @@
     
     eap_status_e create_upper_stack();
 
-	eap_status_e add_configuration_data(
-		eap_process_tlv_message_data_c * const message,
-		const eap_configuration_field_c * field,
-		const eap_configure_type_e type,
-		const eap_variable_data_c * const value_data
-		);
-
 protected:
 
 	/**
@@ -394,17 +355,25 @@
     TBool iQueryIdentity;
 
     /// Pointer to the lower layer in the stack
-    MAbsEapVpnInterface * iCaller;
+    MAbsEapVpnInterface* iCaller;
 
     /// Pointer to the upper layer in the stack
-    eap_session_core_base_c * iEapCore;
+    eap_core_c* iEapCore;
 
+#ifdef USE_EAP_EXPANDED_TYPES
+    
     eap_type_value_e iRequestedEapType;
 
+#else
+    
+    TUint8 iRequestedEapType;
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+    
     /// Pointer to the tools class
-    eap_am_tools_symbian_c * m_am_tools;
+    eap_am_tools_symbian_c* m_am_tools;
 
-    eap_am_network_id_c * m_receive_network_id;
+    eap_am_network_id_c* m_receive_network_id;
 
 	eap_variable_data_c * m_trace_log_file_name;
     
@@ -419,10 +388,9 @@
     bool m_is_client;	
 
     /// Array for storing the loaded EAP types.
-    RPointerArray<CEapType> m_eap_if_array;
+    RPointerArray<CEapType> m_plugin_if_array;
 
-    /// Array for storing the loaded EAP types.
-    RPointerArray<CEapTypePlugin> m_eap_plugin_if_array;
+#ifdef USE_EAP_EXPANDED_TYPES
 
 	/// Enabled expanded EAP configuration data from CommsDat
 	// This is for the outer most EAP (not tunneled)
@@ -435,13 +403,23 @@
 	/// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types.	
 	eap_array_c<eap_type_value_e> * m_eap_type_array;
 
+#else
+
+    /// EAP configuration data from CommDb
+    TEapArray m_iap_eap_array;
+
+    /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types.
+    RArray<TUint8> m_eap_type_array;
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
     /// Indicates the bearer type
     TIndexType m_index_type;
 
     /// Indicates the service index in CommDb
     TInt m_index;
 
-    eap_file_config_c * m_fileconfig;
+    eap_file_config_c* m_fileconfig;
 
     u32_t m_packet_index;
 
@@ -449,9 +427,9 @@
 
     bool m_stack_marked_to_be_deleted;
 
-    HBufC8 * iManualUsername;
-    HBufC8 * iManualRealm;
-    HBufC8 * iRealmPrefix;
+    HBufC8* iManualUsername;
+    HBufC8* iManualRealm;
+    HBufC8* iRealmPrefix;
     TBool iHideInitialIdentity;    
 };
 
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h	Wed Sep 01 12:23:57 2010 +0100
@@ -17,7 +17,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #ifndef __EAPPLUGINRESOLVER_H__
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined(_EAPOL_TIMER_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,16 +16,13 @@
 */
 
 /*
-* %version: 61 %
+* %version: 38.1.5 %
 */
 
 // INCLUDE FILES
 #include <w32std.h>
 #include <pathinfo.h>
 
-#include <EapType.h>
-#include <EapTypePlugin.h>
-
 #include "eap_vpn_if_implementation.h"
 #include "eap_am_memory.h"
 #include "eap_tools.h"
@@ -35,19 +32,13 @@
 #include "eap_type_gsmsim.h"
 #include "eap_type_aka.h"
 #include "eap_header_string.h"
-//#include "EapolDbDefaults.h"
-//#include "EapolDbParameterNames.h"
+#include "EapolDbDefaults.h"
+#include "EapolDbParameterNames.h"
 #include "eap_am_file_input_symbian.h"
 #include "abs_eap_vpn_if.h"
 #include "eap_array_algorithms.h"
-#include "eap_core.h"
 
 #include "EapSimDbDefaults.h"
-#include "EapConversion.h"
-#include "eap_session_core_base.h"
-#include "eap_automatic_variable.h"
-#include "eap_core_client_message_if.h"
-#include "eap_process_tlv_message_data.h"
 
 // LOCAL CONSTANTS
 const TUint KMaxConfigStringLength = 256;
@@ -55,6 +46,12 @@
 const u32_t KTrailerLength = 0;
 const u32_t KHeaderOffset = 0;
 
+#ifndef USE_EAP_EXPANDED_TYPES
+
+static const TUint KMaxEapCueLength = 3;
+
+#endif //#ifndef USE_EAP_EXPANDED_TYPES
+
 #define KEapIdentityOffset 5
 const eap_const_string EAPPLUGIN_TRACE_FILE = EAPL("logs\\eapol\\eap_vpn_if.txt");
 
@@ -94,7 +91,9 @@
 CEapVpnInterfaceImplementation::CEapVpnInterfaceImplementation()
 : m_trace_log_file_name(0)
 , m_is_client(true)
+#ifdef USE_EAP_EXPANDED_TYPES
 , m_eap_type_array(0)
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 , m_index_type(EVpn)
 , m_index(EAP_VPN_DEFAULT_SERVICE_TABLE_INDEX)
 {
@@ -216,12 +215,18 @@
 		CleanupStack::PopAndDestroy(buf); // Delete pathbuffer.
 	}
     
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	m_eap_type_array = new eap_array_c<eap_type_value_e>(m_am_tools);
 	if (m_eap_type_array == 0)
 	{
 		User::Leave(KErrGeneral);
 	}
 
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+
     //------ Create network id
 	{
 		EAP_TRACE_DEBUG(
@@ -381,25 +386,15 @@
 		delete m_receive_network_id;
 	}
 
+	// Unload all loaded plugins
+	for(int i = 0; i < m_plugin_if_array.Count(); i++)
 	{
-		// Unload all loaded EAP-interfaces.
-		for(int i = 0; i < m_eap_if_array.Count(); i++)
-		{
-			delete m_eap_if_array[i];
-		}
-
-		m_eap_if_array.Close();
+		delete m_plugin_if_array[i];
 	}
 
-	{
-		// Unload all loaded EAP-plugins.
-		for(int i = 0; i < m_eap_plugin_if_array.Count(); i++)
-		{
-			delete m_eap_plugin_if_array[i];
-		}
-
-		m_eap_plugin_if_array.Close();
-	}
+	m_plugin_if_array.Close();
+
+#ifdef USE_EAP_EXPANDED_TYPES
 
 	m_enabled_expanded_eap_array.ResetAndDestroy();
 
@@ -410,6 +405,15 @@
 	delete m_eap_type_array;
 	m_eap_type_array = 0;
 
+#else // For normal EAP type.
+
+	// Delete the IAP EAP type info array
+	m_iap_eap_array.ResetAndDestroy();
+
+	m_eap_type_array.Close();
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	delete iManualUsername;
 	iManualUsername = NULL;
 
@@ -679,6 +683,8 @@
 	// Clear packet send and notification blocking.
 	m_block_packet_sends_and_notifications = false;
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	if (m_enabled_expanded_eap_array.Count() == 0)
 	{
 		// The EAP field was empty. Allow all types.
@@ -752,6 +758,60 @@
 		CleanupStack::PopAndDestroy(&eapArray);
 	}
 
+#else // For normal EAP type.
+
+	if (m_iap_eap_array.Count() == 0)
+	{
+		// The EAP field was empty. Allow all types.
+
+		EAP_TRACE_ALWAYS(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("Empty EAP field -> enable all types.\n")));
+
+		RImplInfoPtrArray eapArray;
+		CleanupStack::PushL( TCleanupItem( CleanupImplArray, &eapArray ) );
+
+		REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapArray);
+
+		for (TInt i = 0; i < eapArray.Count(); i++)
+		{
+			TEap *eap = new(ELeave) TEap;
+			eap->UID.Copy(eapArray[i]->DataType());
+			eap->Enabled = EFalse;
+
+			// Convert the string to integer
+			TLex8 tmp(eap->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			if(val == iRequestedEapType)
+			{
+				eap->Enabled = ETrue;
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("EAP-Type %d enabled\n"), val));
+
+				m_iap_eap_array.Insert(eap, 0);
+			}
+			else
+			{
+				m_iap_eap_array.Append(eap);
+
+				EAP_TRACE_ALWAYS(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("EAP-Type %d disabled\n"), val));
+			}
+		} // for()
+
+		CleanupStack::PopAndDestroy(&eapArray);
+	}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	CompleteAssociation(status);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
@@ -1018,11 +1078,7 @@
 
 	if (iEapCore == 0)
 	{        
-		iEapCore = new_eap_core_client_message_if_c(
-			m_am_tools,
-			this,
-			true,
-			KMTU);
+		iEapCore = new eap_core_c(m_am_tools, this, m_is_client, m_receive_network_id, EFalse);
 
 		if (iEapCore == 0
 			|| iEapCore->get_is_valid() != true)
@@ -1267,186 +1323,96 @@
 
 	EAP_ASSERT_TOOLS(m_am_tools, (type == iRequestedEapType));
 
-	TEapExpandedType aEapType;
-
-	TInt error = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-		&iRequestedEapType,
-		&aEapType);
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapVpnInterfaceImplementation::load_module(): Error from CEapConversion::ConvertExpandedEAPTypeToInternalType()=%d\n"),
-			error));		
-	
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-	}
-
-	i32_t eapArrayIndex = -1;
-
-	{
-		CEapType* eapType = 0;
-
-		// Check if this EAP type has already been loaded
-		eapArrayIndex = find<eap_type_value_e>(
-			m_eap_type_array,
-			&iRequestedEapType,
-			m_am_tools);
-
-		if (eapArrayIndex >= 0)
-		{
-			// Yep. It was loaded already.
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapVpnInterfaceImplementation: EAP Type Already loaded\n")));
-
-			eapType = m_eap_if_array[eapArrayIndex];		
-		}
-		else 
-		{
-			// We must have a trap here since the EAP core knows nothing about Symbian.
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapVpnInterfaceImplementation: EAP Type new\n")));
-
-			TRAP(error, (eapType = CEapType::NewL(m_index_type, m_index, aEapType)));	
-
-			if (error != KErrNone
-				|| eapType == 0)
-			{
-				// Interface not found or implementation creation function failed
-				
-				delete eapType;
-				eapType = 0;
-				
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapVpnInterfaceImplementation: EAP Type new, unable to load\n")));
-				EAP_TRACE_ALWAYS(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ECom could not find/initiate implementation.\n")));
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			// Add EAP-interface information to the member arrays.
-			if (m_eap_if_array.Append(eapType) != KErrNone)
-			{
-				delete eapType;
-				status = eap_status_allocation_error;
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);				
-			}
-		}
-
-		//--------------------------------------------------------
-		//--------------------------------------------------------
-		// Set the values for realm and user name if there is any.
-		// If there is no values the default settings will be used( automatic realm and username).
-
-
+#ifdef USE_EAP_EXPANDED_TYPES
+
+		TBuf8<KExpandedEapTypeSize> cue;
+		
+		// Some indirect way of forming the 8 byte string of an EAP type for the cue is needed here.		
+		TUint8 tmpExpCue[KExpandedEapTypeSize];
+
+		// This is to make the tmpExpCue in 8 byte string with correct vendor type and vendor id details.
+		status = eap_expanded_type_c::write_type(m_am_tools,
+												0, // index should be zero here.
+												tmpExpCue,
+												KExpandedEapTypeSize,
+												true,
+												iRequestedEapType);
+		if (status != eap_status_ok)
 		{
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapVpnInterfaceImplementation::load_module - About to configure manual/auto username and manual/auto realm \n")));
+				(EAPL("load_module: eap_expanded_type_c::write_type failed \n")));
+		
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 		
-			EAPSettings* setSettings = new EAPSettings;
-			if( setSettings == NULL )     
-			{
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapVpnInterfaceImplementation::load_module - EAPSettings allocation error \n")));
-	    		
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);				
-			}
-			
-			if(iRequestedEapType == eap_type_aka)
-			{
-				setSettings->iEAPExpandedType = *EapExpandedTypeAka.GetType();
-				
-			}
-			else if(iRequestedEapType == eap_type_gsmsim)
-			{
-				setSettings->iEAPExpandedType = *EapExpandedTypeSim.GetType();
-			}
-			else
-			{
-				delete setSettings;
-				setSettings = 0;
-
-				// Only EAP-SIM and AKA are possible now.
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type);
-			}
-			
-			if(iManualUsername && iManualUsername->Length() != 0)
-			{
-    			setSettings->iUsernamePresent = ETrue; // Same value for both SIM and AKA.
-	    		setSettings->iUsername.Copy(iManualUsername->Des());
-			}
-			else
-			{
-	    		// No user name. we have to set automatic now.
-	    		setSettings->iUsernamePresent = EFalse; // Same value for both SIM and AKA.
-	    		setSettings->iUseAutomaticUsernamePresent = ETrue; // Same value for both SIM and AKA.
-	    		setSettings->iUseAutomaticUsername = ETrue; // Same value for both SIM and AKA.
-			}
-			
-			if(iManualRealm && iManualRealm->Length() != 0)
-			{
-	    		setSettings->iRealmPresent = ETrue; // Same value for both SIM and AKA.
-	    		setSettings->iRealm.Copy(iManualRealm->Des());
-			}
-			else
-			{
-	    		// No realm. we have to set automatic now.
-	    		setSettings->iRealmPresent = EFalse; // Same value for both SIM and AKA.
-	    		setSettings->iUseAutomaticRealmPresent = ETrue; // Same value for both SIM and AKA.
-	    		setSettings->iUseAutomaticRealm = ETrue; // Same value for both SIM and AKA.
-			}    
-			
-			TRAP(error, eapType->SetConfigurationL(*setSettings) );
-			if ( error != KErrNone )
-			{
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapVpnInterfaceImplementation::load_module - Setting Manual Username and Realm failed.error=%d, Continuing \n")));
-			}
-			
-			delete setSettings;
-			setSettings = 0;    
-		}
-	}
-    
-	//--------------------------------------------------------
-	//--------------------------------------------------------
-	
-	// Create the EAP protocol interface implementation.
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL()\n")));
-
+		// Now copy the 8 byte string to the real expanded cue.
+		cue.Copy(tmpExpCue, KExpandedEapTypeSize);
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("EAPOL:CEapVpnInterfaceImplementation::load_module: Expanded CUE:"),
+			cue.Ptr(),
+			cue.Size()));
+
+#else
+
+	TBuf8<KMaxEapCueLength> cue;
+	cue.Num(static_cast<TInt>(iRequestedEapType));
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	CEapType* eapType = 0;
+	TInt error(KErrNone);
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Check if this EAP type has already been loaded
+	TInt eapArrayIndex = find<eap_type_value_e>(
+		m_eap_type_array,
+		&iRequestedEapType,
+		m_am_tools);
+
+	if (eapArrayIndex >= 0)
+
+#else // For normal EAP type.
+
+	// Check if this EAP type has already been loaded
+	TInt eapArrayIndex = m_eap_type_array.Find(iRequestedEapType);
+
+	if (eapArrayIndex != KErrNotFound)
+
+#endif
 
 	{
-		CEapTypePlugin* eapPlugin = 0;
-
-		TRAP(error, (eapPlugin = CEapTypePlugin::NewL(aEapType.GetValue(), m_index_type, m_index)));
+		// Yep. It was loaded already.
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CEapVpnInterfaceImplementation: EAP Type Already loaded\n")));
+
+		eapType = m_plugin_if_array[eapArrayIndex];		
+	}
+	else 
+	{
+		// We must have a trap here since the EAP core knows nothing about Symbian.
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CEapVpnInterfaceImplementation: EAP Type new\n")));
+
+		TRAP(error, (eapType = CEapType::NewL(cue, m_index_type, m_index)));	
 
 		if (error != KErrNone
-			|| eapPlugin == 0)
+			|| eapType == 0)
 		{
 			// Interface not found or implementation creation function failed
 			
-			delete eapPlugin;
-			eapPlugin = 0;
+			delete eapType;
+			eapType = 0;
 			
 			EAP_TRACE_DEBUG(
 				m_am_tools,
@@ -1458,112 +1424,197 @@
 				(EAPL("ECom could not find/initiate implementation.\n")));
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
-
-#ifdef USE_EAP_SIMPLE_CONFIG
-
-		TRAP(error, (*eap_type_if = eapPlugin->GetStackInterfaceL(
-			m_am_tools, 
-			partner, 
-			is_client_when_true, 
-			receive_network_id,
-			0))); // Check this up.
-
-#else
-
-		TRAP(error, (*eap_type_if = eapPlugin->GetStackInterfaceL(
-			m_am_tools, 
-			partner, 
-			is_client_when_true, 
-			receive_network_id)));
-
-#endif // #ifdef USE_EAP_SIMPLE_CONFIG
-
-		if (error != KErrNone 
-			|| *eap_type_if == 0 
-			|| (*eap_type_if)->get_is_valid() == false)
+	}
+
+	//--------------------------------------------------------
+	//--------------------------------------------------------
+	// Set the values for realm and user name if there is any.
+	// If there is no values the default settings will be used( automatic realm and username).
+
+
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CEapVpnInterfaceImplementation::load_module - About to configure manual/auto username and manual/auto realm \n")));
+	
+	    EAPSettings* setSettings = new EAPSettings;
+		if( setSettings == NULL )     
 		{
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), failed = %d\n"), error));
-
-			EAP_TRACE_ALWAYS(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("Could not create EAP type interface instance. Error: %d\n"), error));
-
-			status = eap_status_allocation_error;
-
-			// Unload DLL (two ways, depending whether this type was already loaded...)
-			if  (eapArrayIndex < 0)
-			{
-				// No need to call shutdown here because GetStackInterfaceL has done it.
-				delete m_eap_if_array[m_eap_if_array.Count() - 1];
-				m_eap_if_array.Remove(m_eap_if_array.Count() - 1);
-
-				delete eapPlugin;
-			}
-			else
-			{
-				unload_module((eap_type_value_e)iRequestedEapType);
-			}
-			// Note: even in error cases eap_core_c deletes eap_type_if
+				(EAPL("CEapVpnInterfaceImplementation::load_module - EAPSettings allocation error \n")));
+	    	
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);				
+		}
+	    
+		if(iRequestedEapType == eap_type_aka)
+		{
+			setSettings->iEAPType = EAPSettings::EEapAka;
+			
+		}
+		else if(iRequestedEapType == eap_type_gsmsim)
+		{
+			setSettings->iEAPType = EAPSettings::EEapSim;
 		}
 		else
 		{
+			delete setSettings;
+			setSettings = 0;
+
+			// Only EAP-SIM and AKA are possible now.
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type);
+		}
+	    
+	    if(iManualUsername && iManualUsername->Length() != 0)
+	    {
+    		setSettings->iUsernamePresent = EGSMSIMUseManualUsernameYes; // Same value for both SIM and AKA.
+	    	setSettings->iUsername.Copy(iManualUsername->Des());
+	    }
+	    else
+	    {
+	    	// No user name. we have to set automatic now.
+	    	setSettings->iUsernamePresent = EGSMSIMUseManualUsernameNo; // Same value for both SIM and AKA.
+	    }
+	    
+	    if(iManualRealm && iManualRealm->Length() != 0)
+	    {
+	    	setSettings->iRealmPresent = EGSMSIMUseManualRealmYes; // Same value for both SIM and AKA.
+	    	setSettings->iRealm.Copy(iManualRealm->Des());
+	    }
+	    else
+	    {
+	    	// No realm. we have to set automatic now.
+	    	setSettings->iRealmPresent = EGSMSIMUseManualRealmNo; // Same value for both SIM and AKA.
+	    }    
+	    
+		TRAP(error, eapType->SetConfigurationL(*setSettings) );
+	    if ( error != KErrNone )
+	    {
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), success\n")));
-
-			status = eap_status_ok;
-
-			if (eapArrayIndex  < 0)
+				(EAPL("CEapVpnInterfaceImplementation::load_module - Setting Manual Username and Realm failed.error=%d, Continuing \n")));
+	    }
+	    
+	    delete setSettings;
+	    setSettings = 0;    
+	}
+    
+	//--------------------------------------------------------
+	//--------------------------------------------------------
+	
+	// Create the EAP protocol interface implementation.
+	EAP_TRACE_DEBUG(
+		m_am_tools,
+		TRACE_FLAGS_DEFAULT,
+		(EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL()\n")));
+
+#ifdef USE_EAP_SIMPLE_CONFIG
+
+	TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(
+		m_am_tools, 
+		partner, 
+		is_client_when_true, 
+		receive_network_id,
+		0))); // Check this up.
+
+#else
+
+	TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(
+		m_am_tools, 
+		partner, 
+		is_client_when_true, 
+		receive_network_id)));
+
+#endif // #ifdef USE_EAP_SIMPLE_CONFIG
+
+	if (error != KErrNone 
+		|| *eap_type_if == 0 
+		|| (*eap_type_if)->get_is_valid() == false)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), failed = %d\n"), error));
+
+		EAP_TRACE_ALWAYS(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("Could not create EAP type interface instance. Error: %d\n"), error));
+
+		status = eap_status_allocation_error;
+
+		// Unload DLL (two ways, depending whether this type was already loaded...)
+		if  (eapArrayIndex == KErrNotFound)
+		{
+			// No need to call shutdown here because GetStackInterfaceL has done it.
+			delete eapType;
+		}
+		else
+		{
+			unload_module((eap_type_value_e)iRequestedEapType);
+		}
+		// Note: even in error cases eap_core_c deletes eap_type_if
+	}
+	else
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), success\n")));
+
+		status = eap_status_ok;
+
+		if (eapArrayIndex  == KErrNotFound)
+		{
+			// Add plugin information to the member arrays. There is no need to store eap_type pointer because
+			// the stack takes care of its deletion.
+			if (m_plugin_if_array.Append(eapType) != KErrNone)
 			{
-				// Add plugin information to the member arrays. There is no need to store eap_type pointer because
-				// the stack takes care of its deletion.
-				if (m_eap_plugin_if_array.Append(eapPlugin) != KErrNone)
-				{
-					delete m_eap_if_array[m_eap_if_array.Count() - 1];
-					m_eap_if_array.Remove(m_eap_if_array.Count() - 1);
-
-					delete eapPlugin;
-					status = eap_status_allocation_error;
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, status);				
-				}
-
-				eap_type_value_e * tmpEAPType = new eap_type_value_e();
-				if(tmpEAPType == NULL)
-				{
-					EAP_TRACE_DEBUG(
-						m_am_tools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("eapol_am_wlan_authentication_symbian_c::load_module() eap_type_value_e creation failed\n")));
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);				
-				}
-				
-				*tmpEAPType = type;
-				
-				status = m_eap_type_array->add_object(tmpEAPType, true);
-				
-				if (status != eap_status_ok)			
-				{
-					delete m_eap_if_array[m_eap_if_array.Count() - 1];
-					m_eap_if_array.Remove(m_eap_if_array.Count() - 1);
-
-					// Remove the eap type added just previously
-					m_eap_plugin_if_array.Remove(m_eap_plugin_if_array.Count() - 1);
-					delete eapPlugin;
-
-					status = eap_status_allocation_error;
-
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, status);				
-				}
-			} 
-		}
+				delete eapType;
+				status = eap_status_allocation_error;
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);				
+			}
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+			eap_type_value_e * tmpEAPType = new eap_type_value_e();
+			if(tmpEAPType == NULL)
+			{
+				EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("eapol_am_wlan_authentication_symbian_c::load_module() eap_type_value_e creation failed\n")));
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);				
+			}
+			
+			*tmpEAPType = type;
+			
+			status = m_eap_type_array->add_object(tmpEAPType, true);
+			
+			if (status != eap_status_ok)			
+
+#else // For normal EAP type.			
+
+			if (m_eap_type_array.Append(iRequestedEapType) != KErrNone)
+
+#endif
+			{
+				// Remove the eap type added just previously
+				m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1);
+				delete eapType;
+				status = eap_status_allocation_error;
+
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);				
+			}
+		} 
 	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1579,6 +1630,8 @@
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	eap_status_e status(eap_status_type_does_not_exists_error);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	// Check if this EAP type has already been loaded
 	TInt index = find<eap_type_value_e>(
 		m_eap_type_array,
@@ -1589,15 +1642,26 @@
 	{
 		// EAP was loaded before.
 		
-		delete m_eap_if_array[index];
-		m_eap_if_array.Remove(index);
-		
-		delete m_eap_plugin_if_array[index];
-		m_eap_plugin_if_array.Remove(index);
+		delete m_plugin_if_array[index];
+		m_plugin_if_array.Remove(index);
 		
 		status = m_eap_type_array->remove_object(index);
 	}
 
+#else // For normal EAP types.
+
+	TInt index = m_eap_type_array.Find(type);
+
+	if (index != KErrNotFound)
+	{
+		delete m_plugin_if_array[index];
+		m_plugin_if_array.Remove(index);
+		m_eap_type_array.Remove(index);
+		status = eap_status_ok;			
+	}
+
+#endif
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
@@ -1694,82 +1758,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(status));
 }
 
-
-eap_status_e CEapVpnInterfaceImplementation::add_configuration_data(
-	eap_process_tlv_message_data_c * const message,
-	const eap_configuration_field_c * field,
-	const eap_configure_type_e /* type */,
-	const eap_variable_data_c * const value_data
-    )
-{
-	eap_variable_data_c selector(m_am_tools);
-
-	eap_status_e status = selector.set_buffer(
-		field->get_field(),
-		field->get_field_length(),
-		false,
-		false);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return status;
-	}
-
-	eap_config_value_c config(m_am_tools);
-
-	if (config.get_is_valid() == false)
-	{
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	config.set_type(eap_configure_type_hex_data);
-
-	status = config.get_data()->set_copy_of_buffer(
-		value_data);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	status = message->add_parameter_data(
-		&selector,
-		&config);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-
-const TUint32 K2DigitMncMccList[]
-	= {
-		202,204,206,208,213,214,216,218,
-		219,220,222,226,228,230,231,232,
-		234,238,240,242,244,246,247,248,
-		250,255,257,259,260,262,266,268,
-		270,272,274,276,278,280,282,284,
-		286,288,290,293,294,295,308,340,
-		362,363,400,401,402,404,410,413,
-		414,415,416,417,419,420,421,422,
-		424,425,426,427,428,429,432,434,
-		436,437,438,440,441,452,454,455,
-		456,457,460,470,472,502,505,510,
-		515,520,525,528,530,537,539,541,
-		546,547,549,602,603,604,605,607,
-		608,609,610,611,612,613,614,615,
-		616,617,619,620,621,622,623,624,
-		625,626,628,629,630,631,633,634,
-		635,636,638,639,640,641,642,643,
-		645,646,647,648,649,650,651,652,
-		653,654,655,702,704,706,710,712,
-		714,716,724,730,734,744,746,901
-	};
-
 /**
  * The read_configure() function reads the configuration data identified
  * by the field string of field_length bytes length. Adaptation module must direct
@@ -1801,495 +1789,6 @@
 
 	// Check if the wanted parameter is default type
 
-	if (field->get_type() == eap_configure_type_all_configurations
-		&& field->compare(
-			m_am_tools,
-			cf_str_EAP_read_all_configurations.get_field()) == true)
-	{
-		// Copy all special configurations to data.
-
-		eap_process_tlv_message_data_c message(m_am_tools);
-
-		if (message.get_is_valid() == false)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		{
-			// cf_str_EAP_default_type_hex_data and cf_str_EAP_server_default_type_hex_data
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			// Now there are enabled EAP type, we need to take the first EAP type from the arrary.
-			SEapExpandedType * expandedEAPType = m_enabled_expanded_eap_array[0]; //First item.
-
-			status = value_data.set_copy_of_buffer(
-				expandedEAPType->EapExpandedType.Ptr(),
-				KExpandedEapTypeSize);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_default_type_hex_data.get_field(),
-				eap_configure_type_hex_data,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_server_default_type_hex_data.get_field(),
-				eap_configure_type_hex_data,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_UMA_profile, cf_str_EAP_AKA_UMA_profile,
-			// cf_str_EAP_GSMSIM_wait_eap_success_packet and cf_str_EAP_AKA_wait_eap_success_packet
-
-			TInt val(1);
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			status = value_data.set_copy_of_buffer((u8_t*) &val, sizeof(TUint));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_UMA_profile.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_UMA_profile.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_wait_eap_success_packet.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_wait_eap_success_packet.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_UMA_realm_prefix and cf_str_EAP_AKA_UMA_realm_prefix
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			// Set uma realm prefix of EAP-SIM and EAP-AKA.
-			status = value_data.set_copy_of_buffer(iRealmPrefix->Ptr(), iRealmPrefix->Length());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_UMA_realm_prefix.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_UMA_realm_prefix.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_use_manual_realm, cf_str_EAP_AKA_use_manual_realm
-
-			TInt val(1);
-
-			if(iManualRealm == NULL || (iManualRealm && (iManualRealm->Length() == 0)))
-			{
-				val = 0;
-			}
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			status = value_data.set_copy_of_buffer((u8_t*) &val, sizeof(TUint));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_use_manual_realm.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_use_manual_realm.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_manual_realm and cf_str_EAP_AKA_manual_realm
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			if(iManualRealm != NULL)
-			{
-				// ManualRealm of EAP-SIM and EAP-AKA.
-				status = value_data.set_copy_of_buffer(iManualRealm->Ptr(), iManualRealm->Length());
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, status);			
-				}
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_manual_realm.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_manual_realm.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_use_manual_username, cf_str_EAP_AKA_use_manual_username
-
-			// Use ManualUsername of EAP-SIM and EAP-AKA.
-			TInt val(1);
-			if (iManualUsername == NULL || (iManualUsername->Length() == 0))
-				{
-				val = 0;
-				}
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			status = value_data.set_copy_of_buffer((u8_t*) &val, sizeof(TUint));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_use_manual_username.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_use_manual_username.get_field(),
-				eap_configure_type_boolean,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_manual_username and cf_str_EAP_AKA_manual_username
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			// ManualUsername of EAP-SIM and EAP-AKA.
-			if (iManualUsername != NULL)
-				{
-				status = value_data.set_copy_of_buffer(iManualUsername->Ptr(), iManualUsername->Length());
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, status);			
-					}
-				}
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_manual_username.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_manual_username.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_TRACE_output_file_name
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			status = value_data.set_copy_of_buffer(m_trace_log_file_name);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_TRACE_output_file_name.get_field(),
-				eap_configure_type_string,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_max_session_validity_time and cf_str_EAP_AKA_max_session_validity_time
-
-			u32_t session_validity_time_in_seconds(43200ul);
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			status = value_data.set_copy_of_buffer(reinterpret_cast<u8_t*>(&session_validity_time_in_seconds), sizeof(session_validity_time_in_seconds));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_max_session_validity_time.get_field(),
-				eap_configure_type_u32_t,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_max_session_validity_time.get_field(),
-				eap_configure_type_u32_t,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_CORE_wait_eap_request_type_timeout
-
-			u32_t wait_eap_request_type_timeout_in_milli_seconds(30000ul);
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			status = value_data.set_copy_of_buffer(reinterpret_cast<u8_t*>(&wait_eap_request_type_timeout_in_milli_seconds), sizeof(wait_eap_request_type_timeout_in_milli_seconds));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_CORE_wait_eap_request_type_timeout.get_field(),
-				eap_configure_type_u32_t,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		{
-			// cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array and cf_str_EAP_AKA_2_digit_mnc_map_of_mcc_of_imsi_array
-
-			eap_variable_data_c value_data(m_am_tools);
-			if (value_data.get_is_valid() == false)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			// 2-digit MNC configuration of EAP-SIM and EAP-AKA.
-			status = value_data.set_copy_of_buffer((u32_t*) K2DigitMncMccList, sizeof(K2DigitMncMccList));
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array.get_field(),
-				eap_configure_type_u32array,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-
-			status = add_configuration_data(
-				&message,
-				cf_str_EAP_AKA_2_digit_mnc_map_of_mcc_of_imsi_array.get_field(),
-				eap_configure_type_u32array,
-				&value_data);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);			
-			}
-		}
-
-		status = data->set_copy_of_buffer(
-			message.get_message_data(),
-			message.get_message_data_length());
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-	else
 	{
 		eap_variable_data_c wanted_field(m_am_tools);
 
@@ -2306,13 +1805,15 @@
 
 
 		if (wanted_field.compare(
-			cf_str_EAP_default_type_hex_data.get_field()->get_field(),
-			cf_str_EAP_default_type_hex_data.get_field()->get_field_length()) == 0
+		cf_str_EAP_default_type_u32_t.get_field()->get_field(),
+		cf_str_EAP_default_type_u32_t.get_field()->get_field_length()) == 0
 		|| wanted_field.compare(
-			cf_str_EAP_server_default_type_hex_data.get_field()->get_field(),
-			cf_str_EAP_server_default_type_hex_data.get_field()->get_field_length()) == 0)
+		cf_str_EAP_server_default_type_u32_t.get_field()->get_field(),
+		cf_str_EAP_server_default_type_u32_t.get_field()->get_field_length()) == 0)
 		{
 			// We need to return here the next EAP type we should try
+			
+#ifdef USE_EAP_EXPANDED_TYPES
 
 			if(m_enabled_expanded_eap_array.Count() < 1)
 			{
@@ -2373,6 +1874,62 @@
 					expandedEAPType->EapExpandedType.Size()));
 			}							
 
+#else // For normal EAP types
+		
+			TInt i; 	
+
+			for (i = 0; i < m_iap_eap_array.Count(); i++)
+			{
+				// Find the first enabled EAP type (highest priority)
+				TEap *eapType = m_iap_eap_array[i];			
+				if (eapType->Enabled == 1)
+				{
+					// Convert the string to integer
+					TLex8 tmp(eapType->UID);
+					TInt val(0);
+					tmp.Val(val);
+
+					status = data->set_copy_of_buffer((u8_t*) &val, sizeof(TUint));
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
+					}
+
+					if(val == iRequestedEapType)
+					{
+						EAP_TRACE_ALWAYS(
+							m_am_tools,
+							TRACE_FLAGS_DEFAULT,
+							(EAPL("EAPOL: Trying EAP type: %d.\n"), val));
+						break;
+					}
+					else
+					{
+						continue;
+					}
+				}
+			} // for()
+
+			if (i >= m_iap_eap_array.Count())
+			{
+				// Not found
+				// Send WLM notification because there is no way that the authentication
+				// can be successful if we don't have any EAP types to use...
+				if (m_is_client)
+				{
+					EAP_TRACE_ERROR(
+						m_am_tools,
+						TRACE_FLAGS_DEFAULT,
+						(EAPL("ERROR: No configured EAP types or all tried unsuccessfully.\n")));
+				}
+
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
+			}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, status);		
 		}
@@ -2452,11 +2009,7 @@
 		{
 			// Use ManualUsername of EAP-SIM and EAP-AKA.
 			TInt val(1);
-			if(iManualUsername == NULL)
-			{
-				val = 0;
-			}
-			if (iManualUsername && (iManualUsername->Length() == 0))
+			if(iManualUsername == NULL || (iManualUsername && (iManualUsername->Length() == 0)))
 			{
 				val = 0;
 			}
@@ -2472,12 +2025,9 @@
 				cf_str_EAP_AKA_manual_username.get_field()->get_field_length()) == 0)
 		{
 			// ManualUsername of EAP-SIM and EAP-AKA.
-			if(iManualUsername != NULL)
-				{
-				status = data->set_copy_of_buffer(iManualUsername->Ptr(), iManualUsername->Length());
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(m_am_tools, status);		
-				}
+			status = data->set_copy_of_buffer(iManualUsername->Ptr(), iManualUsername->Length());
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);		
 		}
 		else if (wanted_field.compare(
 				cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array.get_field()->get_field(),
@@ -2487,6 +2037,30 @@
 					cf_str_EAP_AKA_2_digit_mnc_map_of_mcc_of_imsi_array.get_field()->get_field_length()) == 0)
 		{
 			// 2-digit MNC configuration of EAP-SIM and EAP-AKA.
+			const TUint32 K2DigitMncMccList[]
+				= {
+					202,204,206,208,213,214,216,218,
+					219,220,222,226,228,230,231,232,
+					234,238,240,242,244,246,247,248,
+					250,255,257,259,260,262,266,268,
+					270,272,274,276,278,280,282,284,
+					286,288,290,293,294,295,308,340,
+					362,363,400,401,402,404,410,413,
+					414,415,416,417,419,420,421,422,
+					424,425,426,427,428,429,432,434,
+					436,437,438,440,441,452,454,455,
+					456,457,460,470,472,502,505,510,
+					515,520,525,528,530,537,539,541,
+					546,547,549,602,603,604,605,607,
+					608,609,610,611,612,613,614,615,
+					616,617,619,620,621,622,623,624,
+					625,626,628,629,630,631,633,634,
+					635,636,638,639,640,641,642,643,
+					645,646,647,648,649,650,651,652,
+					653,654,655,702,704,706,710,712,
+					714,716,724,730,734,744,746,901
+				};
+
 			status = data->set_copy_of_buffer((u32_t*) K2DigitMncMccList, sizeof(K2DigitMncMccList));
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, status);		
@@ -2669,16 +2243,11 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	eap_status_e status(eap_status_ok);
-
-	if (m_am_tools != 0)
-	{
-		status = m_am_tools->am_set_timer(
-			p_initializer, 
-			p_id, 
-			p_data,
-			p_time_ms);
-	}
+	const eap_status_e status = m_am_tools->am_set_timer(
+		p_initializer, 
+		p_id, 
+		p_data,
+		p_time_ms);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return status;
@@ -2698,14 +2267,9 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	eap_status_e status(eap_status_ok);
-
-	if (m_am_tools != 0)
-	{
-		status = m_am_tools->am_cancel_timer(
-			p_initializer, 
-			p_id);
-	}
+	const eap_status_e status = m_am_tools->am_cancel_timer(
+		p_initializer, 
+		p_id);
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return status;
@@ -2724,12 +2288,7 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	eap_status_e status(eap_status_ok);
-
-	if (m_am_tools != 0)
-	{
-		status = m_am_tools->am_cancel_all_timers();
-	}
+	const eap_status_e status = m_am_tools->am_cancel_all_timers();
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return status;
@@ -2746,6 +2305,8 @@
 
 	eap_status_e status(eap_status_illegal_eap_type);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	for (int i = 0; i < m_enabled_expanded_eap_array.Count(); i++)
 	{
 		TBuf8<KExpandedEapTypeSize> tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType);
@@ -2785,6 +2346,32 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 		}
 	} // End of for()
+		 
+#else // For normal unexpanded EAP type
+
+	TEap *eapType = 0; 
+
+	for (int i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Try next EAP type
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			// Convert the string to integer
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			if (val == eap_type)
+			{
+				// Allowed
+				status = eap_status_ok;
+				break;
+			}	
+		}
+	} // for()
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -2813,6 +2400,8 @@
 	eap_header_string_c eap_string;
 	EAP_UNREFERENCED_PARAMETER(eap_string);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	// This function is same as get_selected_eap_types in behavior.
 
 	// We need to return only the EAP types available as enabled types.
@@ -2860,16 +2449,48 @@
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		}		
-
+			
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("get_eap_type_list():added EAP-type=0xfe%06x%08x=%s\n"),
-			expandedEAPType->get_vendor_id(),
+			(EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"),
 			expandedEAPType->get_vendor_type(),
-			eap_header_string_c::get_eap_type_string(*expandedEAPType)));
+			eap_string.get_eap_type_string(*expandedEAPType)));			
 	}
 
+#else // for normal EAP types.
+
+	TEap *eapType = 0; 
+
+	for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Check if type is enabled
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			eap_type_value_e * const eap_type = new eap_type_value_e(
+			static_cast<eap_type_ietf_values_e>(val));
+			if (eap_type == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			status = eap_type_list->add_object(eap_type, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	} // for()
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return eap_status_ok;
 }
@@ -3035,125 +2656,4 @@
 
 //--------------------------------------------------
 
-eap_status_e CEapVpnInterfaceImplementation::complete_get_802_11_authentication_mode(
-	const eap_status_e /* completion_status */,
-	const eap_am_network_id_c * /* const receive_network_id */,
-	const eapol_key_802_11_authentication_mode_e /* mode */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-//--------------------------------------------------
-
-eap_status_e CEapVpnInterfaceImplementation::complete_remove_eap_session(
-	const bool /* complete_to_lower_layer */,
-	const eap_am_network_id_c * const /* receive_network_id */)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-//--------------------------------------------------
-
-#if defined(USE_EAP_SIMPLE_CONFIG)
-
-eap_status_e CEapVpnInterfaceImplementation::save_simple_config_session(
-	const simple_config_state_e /* state */,
-	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const /* credential_array */,
-	const eap_variable_data_c * const /* new_password */,
-	const simple_config_Device_Password_ID_e /* Device_Password_ID */,
-	const simple_config_payloads_c * const /* other_configuration */
-	)
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
-}
-
-#endif // #if defined(USE_EAP_SIMPLE_CONFIG)
-
-//--------------------------------------------------
-
-//
-eap_session_core_base_c * CEapVpnInterfaceImplementation::new_eap_core_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_session_core_c * const partner,
-	const bool is_client_when_true,
-	const u32_t MTU)
-{
-	eap_am_message_if_c *client_if = new_eap_am_client_message_if_c(
-		tools,
-		is_client_when_true,
-		MTU);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): client_if->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			(void) client_if->shutdown();
-		}
-
-		return 0;
-	}
-
-	eap_core_client_message_if_c * new_session_core = new eap_core_client_message_if_c(tools, client_if, partner, is_client_when_true);
-
-	eap_automatic_variable_c<eap_core_client_message_if_c> automatic_new_session_core(
-		tools,
-		new_session_core);
-
-	if (new_session_core == 0
-		|| new_session_core->get_is_valid() == false)
-	{
-		// ERROR.
-		if (new_session_core != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): new_session_core->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			new_session_core->shutdown();
-		}
-
-		(void) client_if->shutdown();
-
-		return 0;
-	}
-
-	client_if->set_partner(new_session_core);
-
-	automatic_server_if.do_not_free_variable();
-	automatic_new_session_core.do_not_free_variable();
-
-	return new_session_core;
-}
-
-//--------------------------------------------------
-
 // End
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.2 %
+* %version: 10 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 // INCLUDE FILES
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 10.1.2 %
+* %version: 13 %
 */
 
 #ifndef _EAPAKAINTERFACE_H_
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapAutomatic.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#ifndef _EAP_AUTOMATIC_H_
-#define _EAP_AUTOMATIC_H_
-
-template <class Type>
-class PointerArrayResetAndDestroy
-{
-
-public:
-
-	PointerArrayResetAndDestroy( RPointerArray<Type> * aArray, const TBool aDeleteWhenTrue)
-		: iArray(aArray)
-		, iDeleteWhenTrue(aDeleteWhenTrue)
-	{
-	}
-
-	virtual ~PointerArrayResetAndDestroy()
-	{
-		if (iArray != 0)
-		{
-			iArray->ResetAndDestroy();
-			iArray->Close();
-
-			if (iDeleteWhenTrue)
-			{
-				delete iArray;
-			}
-			iArray = 0;
-		}
-	}
-
-	void DoNotFreeArray()
-	{
-		iArray = 0;
-	}
-
-private:
-
-	RPointerArray<Type> * iArray;
-
-	TBool iDeleteWhenTrue;
-
-};
-
-#endif // _EAP_AUTOMATIC_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapConfigToolsSymbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 1 %
-*/
-
-#if !defined(_EAP_CONFIG_TOOLS_SYMBIAN_H_)
-#define _EAP_CONFIG_TOOLS_SYMBIAN_H_
-
-class abs_eap_am_tools_c;
-class eap_file_config_c;
-
-class EapConfigToolsSymbian
-{
-
-public:
-
-	// ----------------------------------------------------------------------
-
-	static eap_status_e EapReadDefaultConfigFileSymbian(
-		abs_eap_am_tools_c * const aAmTools,
-		eap_file_config_c ** const aFileconfig);
-
-};
-
-#endif //#if !defined(_EAP_CONFIG_TOOLS_SYMBIAN_H_)
-
-//--------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapConversion.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAP_CONVERSION_H_
-#define _EAP_CONVERSION_H_
-
-// INCLUDES
-#include <e32base.h>
-#include "eap_array.h"
-#include "eap_expanded_type.h"
-#include "eap_method_settings.h"
-#include "EapExpandedType.h"
-#include "EapSettings.h"
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-/**
-* Class that implements the conversion functions for EAP type interface.
-*/
-class EAP_EXPORT CEapConversion
-{
-
-public:
-
-	EAP_FUNC_IMPORT static TInt ConvertFromTDesCToInternal(
-		abs_eap_am_tools_c * const tools,
-		const TDesC & input16,
-		eap_variable_data_c * const target8);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertFromInternalToBuf16(
-		abs_eap_am_tools_c * const tools,
-		const eap_variable_data_c * const input8,
-		TDes * const target16);
-
-	EAP_FUNC_IMPORT static TInt ConvertFromBuf16ToInternal(
-		abs_eap_am_tools_c * const tools,
-		const TDes * const input16,
-		eap_variable_data_c * const target8);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertEAPTypesToInternalTypes(
-		abs_eap_am_tools_c * const tools,
-		const RArray<TUint> * const EncapsulatedEAPTypes,
-		eap_array_c<eap_type_value_e> * const target);
-
-	EAP_FUNC_IMPORT static TInt ConvertInternalTypesToEAPTypes(
-		abs_eap_am_tools_c * const tools,
-		const eap_array_c<eap_type_value_e> * const source,
-		RArray<TUint> * const EncapsulatedEAPTypes);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertExpandedEAPTypeToInternalType(
-		const TEapExpandedType * const EncapsulatedExpandedEAPType,
-		eap_type_value_e * const target);
-
-	EAP_FUNC_IMPORT static TInt ConvertInternalTypeToExpandedEAPType(
-		const eap_type_value_e * const source,
-		TEapExpandedType * const EncapsulatedExpandedEAPType);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertExpandedEAPTypesToInternalTypes(
-		abs_eap_am_tools_c * const tools,
-		const RArray<TEapExpandedType> * const EncapsulatedExpandedEAPTypes,
-		eap_array_c<eap_type_value_e> * const target);
-
-	EAP_FUNC_IMPORT static TInt ConvertInternalTypesToExpandedEAPTypes(
-		abs_eap_am_tools_c * const tools,
-		const eap_array_c<eap_type_value_e> * const source,
-		RArray<TEapExpandedType> * const EncapsulatedExpandedEAPTypes);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertInternalTypesToHBufC8(
-		abs_eap_am_tools_c * const tools,
-		const eap_array_c<eap_type_value_e> * const source,
-		HBufC8 ** const EncapsulatedExpandedEAPTypesData);
-
-	EAP_FUNC_IMPORT static TInt ConvertHBufC8ToInternalTypes(
-		abs_eap_am_tools_c * const tools,
-		const HBufC8 * const EncapsulatedExpandedEAPTypesData,
-		eap_array_c<eap_type_value_e> * const target);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertCipherSuitesToInternalType(
-		abs_eap_am_tools_c * const tools,
-		const RArray<TUint> * const aCipherSuites,
-		eap_array_c<u16_t> * const internal_cipher_suites);
-
-	EAP_FUNC_IMPORT static TInt ConvertInternalTypeToCipherSuites(
-		abs_eap_am_tools_c * const tools,
-		const eap_array_c<u16_t> * const internal_cipher_suites,
-		RArray<TUint> * const aCipherSuites);
-
-
-	EAP_FUNC_IMPORT static TInt ConvertCertificatesToInternalType(
-		abs_eap_am_tools_c * const tools,
-		const RPointerArray<EapCertificateEntry> * const aCertificates,
-		eap_array_c<eap_certificate_entry_c> * const internal_certificates);
-
-	EAP_FUNC_IMPORT static TInt 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_FUNC_IMPORT static TInt ConvertEAPSettingsToInternalType(
-		abs_eap_am_tools_c * const tools,
-		const EAPSettings * const aSettings,
-		eap_method_settings_c * const internal_settings);
-
-	EAP_FUNC_IMPORT static TInt ConvertInternalTypeToEAPSettings(
-		abs_eap_am_tools_c * const tools,
-		const eap_method_settings_c * const internal_settings,
-		EAPSettings * const aSettings);
-
-};
-
-#endif // _EAP_CONVERSION_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef EAPLEAPNOTIFIERSTRUCTS_H
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 /** 
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapMessageQueue.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version:  5 %
-*/
-
-#ifndef EAPMESSAGEQUEU_H_
-#define EAPMESSAGEQUEU_H_
-
-#include "EapServerClientDef.h"
-#include "abs_eap_am_tools.h"
-#include "eap_am_export.h"
-
-class EAP_EXPORT EapMessageBuffer
-{
-public:
-
-	EAP_FUNC_IMPORT EapMessageBuffer(abs_eap_am_tools_c * const tools);
-
-	EAP_FUNC_IMPORT virtual ~EapMessageBuffer();
-
-	EAP_FUNC_IMPORT TInt CopyData(TEapRequests type, const void * const data, const TUint length);
-
-	EAP_FUNC_IMPORT HBufC8 * GetData() const;
-
-	EAP_FUNC_IMPORT TEapRequests GetRequestType() const;
-
-private:
-
-	abs_eap_am_tools_c * const iTools;
-
-	TEapRequests iRequestType;
-
-	HBufC8 * iData;
-
-};
-
-    
-class EAP_EXPORT EapMessageQueue
-{
-public:
-
-	EAP_FUNC_IMPORT EapMessageQueue(abs_eap_am_tools_c * const tools);
-
-	EAP_FUNC_IMPORT virtual ~EapMessageQueue();
-
-	EAP_FUNC_IMPORT TInt AddMessage(TEapRequests type, const void * const data, const TUint length);
-
-	EAP_FUNC_IMPORT EapMessageBuffer * GetFirstMessage();
-
-	EAP_FUNC_IMPORT TInt DeleteFirstMessage();
-
-private:
-
-	abs_eap_am_tools_c * const iTools;
-
-	RArray<EapMessageBuffer *> iEapMessageQueue;
-
-};
-    
-#endif /* EAPMESSAGEQUEU_H_ */
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef EAPMSCHAPV2NOTIFIERSTRUCTS_H
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 //
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapPluginTools.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#if !defined(_EAPPLUGINTOOLS_H_)
-#define _EAPPLUGINTOOLS_H_
-
-#include <d32dbms.h>
-#include <EapExpandedType.h>
-#include <EapTypeDefinitions.h>
-
-/** @file */
-
-class EapPluginTools
-{
-
-public:
-
-	// ----------------------------------------------------------------------
-
-	IMPORT_C EapPluginTools();
-
-	IMPORT_C virtual ~EapPluginTools();
-
-	IMPORT_C void ListAllEapPluginsL(const TIndexType aIndexType, const TEapExpandedType & aTunnelingEapType, RPointerArray<TEapExpandedType> & aPlugins);
-
-	IMPORT_C static void CleanupImplArray( TAny* aAny );
-
-	IMPORT_C static void GetPrivatePathL(
-		RFs& aFileServerSession,
-		TFileName& aPrivateDatabasePathName);
-
-	IMPORT_C static void GetPrivatePathL(
-		TFileName& aPrivateDatabasePathName);
-
-	IMPORT_C static void CreateDatabaseLC(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
-		TInt& error,
-		const TDesC& aDatabaseName,
-		TFileName& aPrivateDatabasePathName);
-
-	// ----------------------------------------------------------------------
-
-private:
-
-	// ----------------------------------------------------------------------
-
-	// ----------------------------------------------------------------------
-
-};
-
-#define EAP_LITERAL_SYMBIAN(name, string) \
-	_LIT8(name##_8bit, string); \
-	_LIT(name, string)
-
-#endif //#if !defined(_EAPPLUGINTOOLS_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 4.1.2 %
+* %version: 6 %
 */
 
 #ifndef _EAPPROTECTEDSETUPINTERFACE_H_
@@ -29,7 +29,7 @@
 #include <etelmm.h>
 
 // FORWARD DECLARATIONS
-class CEapAmProtectedSetupSymbian;
+class eap_am_type_protected_setup_symbian_c;
 
 // CLASS DECLARATION
 /**
@@ -54,7 +54,7 @@
 	*/
 	static CEapProtectedSetupInterface* NewL(
 		abs_eap_am_tools_c* const aTools, 
-		CEapAmProtectedSetupSymbian* const aParent);	
+		eap_am_type_protected_setup_symbian_c* const aParent);	
 
 	/**
 	* Destructor
@@ -69,7 +69,7 @@
 
 protected:
 
-	CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, CEapAmProtectedSetupSymbian* const aParent);
+	CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, eap_am_type_protected_setup_symbian_c* const aParent);
 
 	void ConstructL();
 	
@@ -85,7 +85,7 @@
 
 private:
 
-	CEapAmProtectedSetupSymbian * const iParent;
+	eap_am_type_protected_setup_symbian_c * const iParent;
 	
 	abs_eap_am_tools_c * const m_am_tools;
 		
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef EAPSECURIDNOTIFIERSTRUCTS_H
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 /** 
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 13 %
 */
 
 #ifndef _EAPSIMINTERFACE_H_
@@ -88,6 +88,8 @@
 	// Creates the MMETel connection and loads the phone module.
 	TInt CreateMMETelConnectionL();
 
+	void DisconnectMMETel();
+
 private:
 
 	eap_am_type_gsmsim_symbian_c * const iParent;
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #ifndef _EAPSIMISAINTERFACE_H_
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13.1.2 %
 */
 
 #ifndef _EAPTLSPEAPCERTINTERFACE_H_
@@ -48,20 +48,17 @@
 
 	virtual ~CEapTlsPeapCertInterface();	
 	
-	void ReadCertificateL(EapCertificateEntry& aCertInfo, const TBool aRetrieveChain);
+	void ReadCertificateL(SCertEntry& aCertInfo, const TBool aRetrieveChain);
 	
-	void ReadCACertificateL(EapCertificateEntry& aCertInfo);
+	void ReadCACertificateL(SCertEntry& aCertInfo);
 	
 	void ReadPrivateKeyL(TKeyIdentifier& aHash);
 	
-	void ValidateChainL(
-		TDesC8& aCertChain,
-		RPointerArray<EapCertificateEntry>& aCACerts,
-		const TBool aUseAutomaticCaCertificate);
+	void ValidateChainL(TDesC8& aCertChain, RArray<SCertEntry>& aCACerts);
 
 	
 	void GetMatchingCertificatesL(
-		const RPointerArray<EapCertificateEntry>& aAllowedUserCerts,
+		const RArray<SCertEntry>& aAllowedUserCerts,
 		const TBool aUseCertAuthoritiesFilter,
 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const aCertAuthorities,
 		const TBool aUseCertTypesFilter,
@@ -70,12 +67,12 @@
 		const RArray<TUint>& aAllowedCipherSuites);		
 
 	void SignL(
-		const TKeyIdentifier& aKeyId,
+		TKeyIdentifier& aKeyId,
 		const TDesC8& aHashIn,
 		const TUint aSignatureLength);
 
 	void DecryptL(
-		const TKeyIdentifier& aKeyId,
+		TKeyIdentifier& aKeyId,
 		const TDesC8& aData);
 		
 	void CancelSignWithPrivateKey();		
@@ -137,7 +134,7 @@
 	
 	RFs iFs;
 	
-	RPointerArray<EapCertificateEntry> iAllowedUserCerts;
+	RArray<SCertEntry> iAllowedUserCerts;
 
 	TBool iUseCertAuthoritiesFilter;
 	
@@ -148,9 +145,9 @@
 	TBool iRSACertsAllowed;
 
 	TBool iDSACertsAllowed;
-
+	
 	RPointerArray<CX500DistinguishedName> iCertAuthorities;
-
+	
 	const eap_array_c<u8_t>* iCertTypes;
 
 	RMPointerArray<CCTCertInfo> iCertInfos;
@@ -176,17 +173,17 @@
 
 	RPointerArray<CX509Certificate> iUserCertChain;
 	
-	RPointerArray<EapCertificateEntry> iMatchingUserCertInfos;
+	CArrayFixFlat<SCertEntry> iMatchingUserCertInfos;
 
 	TUint iCAIndex;
 
 	TUint iUserCertIndex;
 	
-	RPointerArray<EapCertificateEntry> iAllowedCACerts;
+	RArray<SCertEntry> iAllowedCACerts;
 	
 	HBufC8* iInputCertChain;
 
-	EapCertificateEntry iCertInfo;
+	SCertEntry iCertInfo;
 
 	TAny *iResArray;	
 
@@ -212,9 +209,6 @@
 	CUnifiedKeyStore* iKeyStore;
 
 	TBool iRetrieveChain;
-
-	TBool iUseAutomaticCaCertificate;
-
 }; 
 
 #endif // _EAPTLSPEAPCERTINTERFACE_H_
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,59 +16,24 @@
 */
 
 /*
-* %version: %
+* %version: 6.1.2 %
 */
 
 #ifndef _CERTIFICATESELECTIONINFO_H_
 #define _CERTIFICATESELECTIONINFO_H_
 
 #include "EapTlsPeapUtils.h"
-#include "EapTraceSymbian.h"
 
 const TUint KIdentityFieldLength = 64;
 
-class TCertificateSelectionInfo
+struct TCertificateSelectionInfo
 {
-
-public:
-
-	TCertificateSelectionInfo()
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::TCertificateSelectionInfo()\n")));
-		EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TCertificateSelectionInfo::TCertificateSelectionInfo()\n"));
-	}
-
-	virtual ~TCertificateSelectionInfo()
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::~TCertificateSelectionInfo()\n")));
-		EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TCertificateSelectionInfo::~TCertificateSelectionInfo()\n"));
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::~TCertificateSelectionInfo(): calls iCertificates.ResetAndDestroy()")));
-		iCertificates.ResetAndDestroy(); // ResetAndDestroy() function must be called because the objects represented by the array need to be deleted before the array object is destroyed.
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::~TCertificateSelectionInfo(): calls iCertificates.Close()")));
-		iCertificates.Close(); // The Close() function must be called before RPointerArray object is destroyed.
-	}
-
-	RPointerArray<EapCertificateEntry> iCertificates;
+	TInt iCount;
+	TFixedArray<SCertEntry, 32> iCertificates;
 };
 
-class TIdentityInfo
+struct TIdentityInfo
 {
-public:
-
-	TIdentityInfo()
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("TIdentityInfo::TIdentityInfo()\n")));
-		EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TIdentityInfo::TIdentityInfo()\n"));
-	}
-
-	virtual ~TIdentityInfo()
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("TIdentityInfo::~TIdentityInfo()\n")));
-		EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TIdentityInfo::~TIdentityInfo()\n"));
-	}
-
 	TBool iUseManualUsername;
 	TBuf<KIdentityFieldLength> iUsername;
 	TBuf<KIdentityFieldLength> iRealm;	
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #ifndef _EAPTLSPEAPTIMERVALUES_H_
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef EAPTTLSPAPDBINFOSTRUCT_H
--- a/eapol/eapol_framework/eapol_symbian/am/include/Eapol.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/Eapol.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAPOL_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 5.1.5 %
+* %version: 7 %
 */
 
 #if !defined(_EAPOLDBDEFAULTS_H_)
@@ -24,17 +24,44 @@
 
 // LOCAL CONSTANTS
 
-// For EAPOL database.
-// Database will be written to private folder of the WLAN-server.
-_LIT(KEapolDatabaseName, "eapol.dat");
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAPOL secure database.
+// Full path is not needed. The database eapol.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eapol.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KDatabaseName, "c:eapol.dat");
+
+_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KDatabaseName, "c:\\system\\data\\eapol.dat");
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
+
+#if !defined(USE_EAP_FILECONFIG)
+	const TInt default_EAP_TRACE_disable_traces = 0;
+	const TInt default_EAP_TRACE_enable_function_traces = 0;
+	const TInt default_EAP_TRACE_only_trace_messages = 0;
+	const TInt default_EAP_TRACE_only_test_vectors = 0;
+#endif //#if !defined(USE_EAP_FILECONFIG)
 
 _LIT(default_EAP_TRACE_output_file_name, "c:\\logs\\eapol\\eap_core.txt");
 
 #if !defined(USE_EAP_FILECONFIG)
+	const TInt default_EAP_CORE_session_timeout = 120000; // ms = 120 seconds = 2 minutes.
 	const TInt default_EAPOL_CORE_starts_max_count = 3;		
 	const TInt default_EAPOL_CORE_send_start_interval = 2000; // ms
+	const TInt default_EAP_ERROR_TEST_enable_random_errors = 0;
+	const TInt default_EAP_ERROR_TEST_send_original_packet_first = 0;
+	const TInt default_EAP_ERROR_TEST_generate_multiple_error_packets = 2;
+	const TInt default_EAP_ERROR_TEST_manipulate_ethernet_header = 0;
+	const TInt default_EAP_ERROR_TEST_error_probability = 8000000;
+	const TInt default_EAP_test_default_type = 18; // EAP-SIM
+	const TInt default_EAP_CORE_retransmission_counter = 0;
 #endif //#if !defined(USE_EAP_FILECONFIG)
-
+		
 #endif // _EAPOLDBDEFAULTS_H_
 
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAPOLDBPARAMETERNAMES_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_EAPOL_TIMER_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_EAPOLTOWLMIF_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 23 %
+* %version: 12.1.2 %
 */
 
 #ifndef _EAPOLUID_H_
@@ -55,8 +55,8 @@
 #define EAP_MSCHAPV2_CHANGE_PASSWORD_NOTIFIER_UID 0x101f8e6a
 
 // EAP-SecurID
+#define EAP_SECURID_NOTIFIERS_DLL_UID 0x101f8e6c
 #define EAP_SECURID_DLL_UID 0x101f8e74
-#define EAP_SECURID_NOTIFIERS_DLL_UID 0x101f8e6c
 #define EAP_SECURID_IMPLEMENTATION_UID 0x101f8e75
 #define EAP_SECURID_IDENTITY_NOTIFIER_UID 0x101f8e76
 #define EAP_SECURID_PASSCODE_NOTIFIER_UID 0x101f8e77
@@ -81,51 +81,6 @@
 #define EAP_PROTECTED_SETUP_DLL_UID 0x2000b003
 #define EAP_PROTECTED_SETUP_IMPLEMENTATION_UID 0x2000b004	 
 
-// EAP-Generic IF
-#define EAP_GENERIC_DLL_UID 0x20026FD1
-#define EAP_GENERIC_IMPLEMENTATION_UID 0x20026FD2
-#define EAP_GENERIC_INTERFACE_UID 0x20026FF7
-
-// EAP-General-Settings IF
-#define EAP_GENERAL_SETTINGS_DLL_UID 0x20026FD6
-#define EAP_GENERAL_SETTINGS_IMPLEMENTATION_UID 0x20026FD8
-#define EAP_GENERAL_SETTINGS_INTERFACE_UID 0x20026FF8
-
-#define EAP_PLUGIN_DLL_UID 0x20026FD3
-#define EAP_PLUGIN_IMPLEMENTATION_UID 0x20026FD5
-#define EAP_PLUGIN_INTERFACE_UID 0x20026FD4
-
-#define EAP_CORE_INTERFACEIMPLEMENTATION_DLL_UID 0x20026FCD
-#define EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID 0x20026FCC
-#define EAP_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID 0x20026FC7
-
-#define EAP_TOOLS_DLL_UID 0x20026FC8
-#define EAP_SYMBIAN_TOOLS_UID 0x20026FD0
-#define EAP_TOOLS_INTERFACE_UID 0x20026FCF
-
-#define EAP_SERVER_UID 0x20026FCB
-
-#define EAP_CORE_INTERFACE_DLL_UID 0x20026FEC
-
-// WAPI Security Settings
-#define WAPI_SETTINGS_CLIENT_PLUGIN_DLL_UID 0x2002DC6C
-#define WAPI_SETTINGS_CLIENT_IMPLEMENTATION_UID 0x2002DC6E
-#define WAPI_SETTINGS_CLIENT_INTERFACE_UID 0x2002DC6D
-
-#define WAPI_SETTINGS_SERVER_PLUGIN_DLL_UID 0x2002DC90
-#define WAPI_SETTINGS_SERVER_IMPLEMENTATION_UID 0x2002DC92
-#define WAPI_SETTINGS_SERVER_INTERFACE_UID 0x2002DC91
-
-// WAPI Core
-#define WAPI_CORE_INTERFACE_DLL_UID 0x2002E6E3
-
-#define WAPI_CORE_INTERFACEIMPLEMENTATION_DLL_UID 0x2002E6E4
-#define WAPI_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID 0x2002E6E6
-#define WAPI_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID 0x2002E6E5
-
-#define WAPI_CORE_SERVER_PLUGIN_DLL_UID 0x2002E6EE
-#define WAPI_CORE_SERVER_IMPLEMENTATION_UID 0x2002E6F0
-#define WAPI_CORE_SERVER_INTERFACE_UID 0x2002E6EF
 
 // FREE UIDS
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #if !defined(_ABS_EAPOL_AM_CORE_SYMBIAN_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 #if !defined(_ABS_EAPOL_AM_CORE_SYMBIAN_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 2.1.2 %
+* %version: 4 %
 */
 
 #ifndef _EAP_AM_ASYNC_WAIT_SYMBIAN_H_
@@ -39,7 +39,7 @@
         /**
         * Destructor.
         */    
-        virtual ~eap_am_async_wait_symbian_c() ;
+        ~eap_am_async_wait_symbian_c() ;
 
     public: 
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #if !defined( _EAP_AM_CRYPTO_SYMBIAN_H_ )
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 3.1.12 %
 */
 
 #if !defined(_EAP_AM_FILE_INPUT_SYMBIAN_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #if !defined( _EAP_AM_MUTEX_SYMBIAN_H_ )
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5 %
 */
 
 #if !defined( _EAP_AM_SEMAPHORE_SYMBIAN_H_ )
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 3.1.2 %
 */
 
 // INCLUDES
@@ -51,7 +51,6 @@
 private:
 
 #if defined(USE_EAP_FILE_TRACE)
-
 	/// File server used in filetrace.
 	RFs m_Fs;
 
@@ -60,12 +59,8 @@
 
 	/// File name used in filetrace.
 	TBuf<64> m_filename;
-
 #endif //#if defined(USE_EAP_FILE_TRACE)
 
-	/// Prefix string used in filetrace.
-	eap_variable_data_c m_prefix_string;
-
 	u64_t m_start_ticks;
 
 	bool m_directory_exists;
@@ -168,9 +163,6 @@
 	EAP_FUNC_IMPORT bool get_is_timer_thread_active();
 
 
-	EAP_FUNC_IMPORT eap_status_e set_trace_prefix(
-		const eap_variable_data_c * const prefix8bit);
-
 	EAP_FUNC_IMPORT eap_status_e set_trace_file_name(const eap_variable_data_c * const trace_output_file);
 
 	EAP_FUNC_IMPORT void set_max_trace_file_size(const u32_t max_trace_file_size);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_trace_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2001-2005 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 8.1.2 %
+*/
+
+#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ )
+#define _EAP_AM_TRACE_SYMBIAN_H_
+
+#if defined(_DEBUG)
+
+#include "eap_status_string.h"
+#include <e32debug.h>
+
+#define DEBUG(a)		            RDebug::Print(_L(a))
+#define DEBUG1(a,b)		            RDebug::Print(_L(a),b)
+#define DEBUG2(a,b,c)	            RDebug::Print(_L(a),b,c)
+#define DEBUG3(a,b,c,d)	            RDebug::Print(_L(a),b,c,d)
+#define DEBUG4(a,b,c,d,e)	        RDebug::Print(_L(a),b,c,d,e)
+#define DEBUG5(a,b,c,d,e,f)	        RDebug::Print(_L(a),b,c,d,e,f)
+#define DEBUG6(a,b,c,d,e,f,g)	    RDebug::Print(_L(a),b,c,d,e,f,g)
+#define DEBUG7(a,b,c,d,e,f,g,h) 	RDebug::Print(_L(a),b,c,d,e,f,g,h)
+#define DEBUG8(a,b,c,d,e,f,g,h,i)	RDebug::Print(_L(a),b,c,d,e,f,g,h,i)
+
+void trace_data(
+	eap_const_string prefix,
+	const void * const p_data,
+	const u32_t data_length);
+
+#define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) \
+		{ \
+			RDebug::Print _parameter_list_ ; \
+		} \
+
+#define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_) \
+		{ \
+			trace_data _parameter_list_ ; \
+		} \
+
+#else // #if defined(_DEBUG) || defined(DEBUG)
+
+#define DEBUG(a)
+#define DEBUG1(a,b)
+#define DEBUG2(a,b,c)
+#define DEBUG3(a,b,c,d)
+#define DEBUG4(a,b,c,d,e)
+#define DEBUG5(a,b,c,d,e,f)
+#define DEBUG6(a,b,c,d,e,f,g)
+#define DEBUG7(a,b,c,d,e,f,g,h)
+#define DEBUG8(a,b,c,d,e,f,g,h,i)
+
+#define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) 
+
+#define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_)
+
+#endif // #if defined(_DEBUG) || defined(DEBUG)
+
+#endif //#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ )
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18.1.4 %
+* %version: 20 %
 */
 
 #if !defined(_EAP_AM_TYPE_AKA_SYMBIAN_H_)
@@ -423,10 +423,8 @@
 	void store_authentication_timeL();
 
 private:
-
 	//--------------------------------------------------
-
-	RFs m_session;
+	RDbs m_session;
 	
 	RDbNamedDatabase m_database;	
 
@@ -496,6 +494,14 @@
 	// This holds the max session time read from the configuration file.
 	TInt64 m_max_session_time;
 	
+	// This is the vendor-type for tunneling EAP type.
+	// Valid for both expanded and non-expanded EAP types.
+	// This is used since m_tunneling_type can not be used in the same way 
+	// in expanded and non-expanded cases. 
+	// Unlike EAP type, Tunneling type is still non-expanded
+	// for both cases especially for using in the EAP databases.
+	u32_t m_tunneling_vendor_type;	
+	
 }; // class eap_am_type_aka_symbian_c
 
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 19.1.4 %
+* %version: 21 %
 */
 
 #if !defined(_EAP_AM_TYPE_GSMSIM_SYMBIAN_H_)
@@ -262,7 +262,6 @@
 	//--------------------------------------------------
 
 private:
-
 	void type_configure_readL(
 		eap_config_string field,
 		const u32_t field_length,
@@ -338,12 +337,10 @@
 	
 
 private:
-
 	//--------------------------------------------------
-
-	RFs m_session;
+	RDbs m_session;
 	
-	RDbNamedDatabase m_database;
+	RDbNamedDatabase m_database;	
 
 	eap_am_tools_symbian_c * const m_am_tools;
 
@@ -403,6 +400,14 @@
 	// This holds the max session time read from the configuration file.
 	TInt64 m_max_session_time;
 
+	// This is the vendor-type for tunneling EAP type.
+	// Valid for both expanded and non-expanded EAP types.
+	// This is used since m_tunneling_type can not be used in the same way 
+	// in expanded and non-expanded cases. 
+	// Unlike EAP type, Tunneling type is still non-expanded
+	// for both cases especially for using in the EAP databases.
+	u32_t m_tunneling_vendor_type;	
+
 	//--------------------------------------------------
 }; // class eap_am_type_gsmsim_symbian_c
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 10 %
 */
 
 #if !defined(_EAP_AM_TYPE_GSMSIM_SYMBIAN_SIMULATOR_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,26 +16,19 @@
 */
 
 /*
-* %version: 16.1.11 %
+* %version: 18 %
 */
 
 #ifndef EAP_AM_TYPE_LEAP_SYMBIAN_H
 #define EAP_AM_TYPE_LEAP_SYMBIAN_H
 
-// This flag is for testing memory leaks that occurs in QT notifier.
-#define USE_EAP_AUTH_NOTIFIER
-
 // INCLUDES
 
 #include "eap_am_tools_symbian.h"
 #include "abs_eap_base_type.h"
 #include "eap_am_type_leap.h"
 #include "eap_am_network_id.h"
-
-#if defined(USE_EAP_AUTH_NOTIFIER)
-#include "eap_auth_notifier.h"
-#endif //#if defined(USE_EAP_AUTH_NOTIFIER)
-
+#include "EapLeapNotifierStructs.h"
 #include <EapType.h>
 #include <d32dbms.h>
 
@@ -49,10 +42,6 @@
 */
 class EAP_EXPORT eap_am_type_leap_symbian_c
 : public CActive, public eap_am_type_leap_c
-#if defined(USE_EAP_AUTH_NOTIFIER)
-	, public MNotificationCallback
-#endif //#if defined(USE_EAP_AUTH_NOTIFIER)
-
 {
 private:
 	//--------------------------------------------------
@@ -61,17 +50,15 @@
 
 	abs_eap_base_type_c * const m_partner;
 
-	RFs m_session;
+	RDbs m_session;
 
 	RDbNamedDatabase m_database;
 
-#if defined(USE_EAP_AUTH_NOTIFIER)
 	RNotifier m_notifier;
 
-	CEapAuthNotifier::TEapDialogInfo * m_input_output_data_ptr;
+	TEapLeapUsernamePasswordInfo * m_input_output_data_ptr;
 
-	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_input_output_pckg_ptr;
-#endif //#if defined(USE_EAP_AUTH_NOTIFIER)
+	TPckg<TEapLeapUsernamePasswordInfo> * m_input_output_pckg_ptr;
 
 	eap_am_network_id_c m_receive_network_id;
 
@@ -95,10 +82,19 @@
 
 	bool m_shutdown_was_called;
 	
-
+	bool m_is_notifier_connected; // Tells if notifier server is connected.
+	
 	// This holds the max session time read from the configuration file.
 	TInt64 m_max_session_time;
 	
+	// This is the vendor-type for tunneling EAP type.
+	// Valid for both expanded and non-expanded EAP types.
+	// This is used since m_tunneling_type can not be used in the same way 
+	// in expanded and non-expanded cases. 
+	// Unlike EAP type, Tunneling type is still non-expanded
+	// for both cases especially for using in the EAP databases.
+	u32_t m_tunneling_vendor_type;	
+	
 	void send_error_notification(const eap_status_e error);
 
 	/**
@@ -109,9 +105,6 @@
 	 
 	bool is_session_validL();	
 
-#if defined(USE_EAP_AUTH_NOTIFIER)
-	CEapAuthNotifier* iEapAuthNotifier;
-#endif //#if defined(USE_EAP_AUTH_NOTIFIER)
 
 	//--------------------------------------------------
 protected:
@@ -204,10 +197,6 @@
 	 */
 	eap_status_e store_authentication_time();
 
-	void DlgComplete( TInt aStatus );
-
-	TInt IsDlgReadyToCompleteL();
-	
 }; // class eap_am_type_leap_symbian_c
 
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 16.1.8 %
+* %version: 18 %
 */
 
 #ifndef _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
@@ -27,8 +27,7 @@
 #include "abs_eap_base_type.h"
 #include "eap_am_type_mschapv2.h"
 #include "eap_type_mschapv2.h"
-#include "eap_auth_notifier.h"
-
+#include "EapMsChapV2NotifierStructs.h"
 #include <EapType.h>
 #include <d32dbms.h>
 
@@ -40,19 +39,14 @@
 */
 class EAP_EXPORT eap_am_type_mschapv2_symbian_c
 : public CActive, public eap_am_type_mschapv2_c
-	, public MNotificationCallback
-
-
 {
 private:
-
 	//--------------------------------------------------
-
 	eap_am_tools_symbian_c * const m_am_tools;
 
 	abs_eap_base_type_c * const m_partner;
 
-	RFs m_session;
+	RDbs m_session;
 
 	RDbNamedDatabase m_database;
 
@@ -64,7 +58,7 @@
 
 	TState m_state;
 
-
+	RNotifier m_notifier;
 
 	eap_variable_data_c * m_username_utf8;
 	eap_variable_data_c * m_password_utf8;
@@ -72,9 +66,8 @@
 	bool * m_password_prompt_enabled;
 	bool m_is_identity_query;
 
-	CEapAuthNotifier::TEapDialogInfo * m_username_password_io_ptr;
-	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_username_password_io_pckg_ptr;
-
+	TEapMsChapV2UsernamePasswordInfo * m_username_password_io_ptr;
+	TPckg<TEapMsChapV2UsernamePasswordInfo> * m_username_password_io_pckg_ptr;
 
 	eap_am_network_id_c m_receive_network_id;
 
@@ -90,13 +83,18 @@
 
 	bool m_shutdown_was_called;
 	
-
+	bool m_is_notifier_connected; // Tells if notifier server is connected.
 
 	// This holds the max session time read from the configuration file.
 	TInt64 m_max_session_time;
 
-	CEapAuthNotifier* iEapAuthNotifier;
-
+	// This is the vendor-type for tunneling EAP type.
+	// Valid for both expanded and non-expanded EAP types.
+	// This is used since m_tunneling_type can not be used in the same way 
+	// in expanded and non-expanded cases. 
+	// Unlike EAP type, Tunneling type is still non-expanded
+	// for both cases especially for using in the EAP databases.
+	u32_t m_tunneling_vendor_type;	
 
 	void send_error_notification(const eap_status_e error);
 
@@ -204,10 +202,6 @@
 	 */
 	eap_status_e store_authentication_time();	
 
-	EAP_FUNC_IMPORT void DlgComplete( TInt aStatus );
-
-	TInt IsDlgReadyToCompleteL();
-
 }; // class eap_am_type_mschapv2_symbian_c
 
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 13.1.9 %
+* %version: 18 %
 */
 
 #if !defined(_EAP_AM_TYPE_PROTECTED_SETUP_SYMBIAN_H_)
@@ -52,15 +52,14 @@
 */
 
 
-class EAP_EXPORT CEapAmProtectedSetupSymbian
-: public CBase
-, public eap_am_type_simple_config_c
+class EAP_EXPORT eap_am_type_protected_setup_symbian_c
+: public eap_am_type_simple_config_c
 {
 public:
 
 	//--------------------------------------------------	
 	
-	EAP_FUNC_IMPORT static CEapAmProtectedSetupSymbian* NewL(
+	EAP_FUNC_IMPORT static eap_am_type_protected_setup_symbian_c* NewL(
 		abs_eap_am_tools_c * const tools,
 		abs_eap_base_type_c * const partner,
 		const TIndexType aIndexType,
@@ -72,7 +71,7 @@
 		abs_eap_configuration_if_c * const configuration_if);
 		
 	// 
-	EAP_FUNC_IMPORT virtual ~CEapAmProtectedSetupSymbian();	
+	EAP_FUNC_IMPORT ~eap_am_type_protected_setup_symbian_c();	
 	
 	EAP_FUNC_IMPORT void set_is_valid();	
 		
@@ -244,7 +243,7 @@
 
 	//--------------------------------------------------
 
-	CEapAmProtectedSetupSymbian(
+	eap_am_type_protected_setup_symbian_c(
 		abs_eap_am_tools_c * const tools,
 		abs_eap_base_type_c * const partner,
 		const TIndexType aIndexType,
@@ -331,7 +330,7 @@
     
 	//-----------------------------------------------------------------	
 	
-}; // class CEapAmProtectedSetupSymbian
+}; // class eap_am_type_protected_setup_symbian_c
 
 
 #endif //#if !defined(_EAP_AM_TYPE_PROTECTED_SETUP_SYMBIAN_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 16.1.11 %
+* %version: 18 %
 */
 
 #ifndef EAP_AM_TYPE_SECURID_SYMBIAN_H
@@ -27,8 +27,7 @@
 #include "abs_eap_base_type.h"
 #include "eap_am_type_securid.h"
 #include "eap_am_network_id.h"
-#include "eap_auth_notifier.h"
-
+#include "EapSecurIDNotifierStructs.h"
 #include <EapType.h>
 #include <d32dbms.h>
 
@@ -39,16 +38,11 @@
 * For Symbian OS.
 */
 class EAP_EXPORT eap_am_type_securid_symbian_c
-	: public CActive
-	, public eap_am_type_securid_c
-	, public abs_eap_base_timer_c
-	, public MNotificationCallback
-
-
+	: public CActive, public eap_am_type_securid_c
 {
 private:
 
-	RFs m_session;
+	RDbs m_session;
 
 	RDbNamedDatabase m_database;
 
@@ -57,17 +51,15 @@
 		EHandlingIdentityQuery,
 		EHandlingPasscodeQuery,
 		EHandlingPincodeQuery,
-		EHandlingGTCQuery,
-		EHandlingTimerCall
+		EHandlingGTCQuery
 	};
 
 	TState m_state;
 
 	RNotifier m_notifier;
 
-	CEapAuthNotifier::TEapDialogInfo * m_dialog_data_ptr;
-	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_dialog_data_pckg_ptr;
-
+	TEapSecurIDStruct * m_dialog_data_ptr;
+	TPckg<TEapSecurIDStruct> * m_dialog_data_pckg_ptr;
 
 	abs_eap_am_tools_c * const m_am_tools;
 
@@ -96,13 +88,20 @@
 	// This holds the max session time read from the configuration file.
 	TInt64 m_max_session_time;
 	
+	// This is the vendor-type for tunneling EAP type.
+	// Valid for both expanded and non-expanded EAP types.
+	// This is used since m_tunneling_type can not be used in the same way 
+	// in expanded and non-expanded cases. 
+	// Unlike EAP type, Tunneling type is still non-expanded
+	// for both cases especially for using in the EAP databases.
+	u32_t m_tunneling_vendor_type;	
+
+	u32_t m_eap_vendor_type; // This is needed in certain cases.
+	
 	void send_error_notification(const eap_status_e error);
 	
 	bool is_session_validL();	
 
-	CEapAuthNotifier* iEapAuthNotifier;
-
-
 protected:
 
 	eap_am_type_securid_symbian_c(
@@ -206,17 +205,6 @@
 	 */
 	eap_status_e store_authentication_time();
 
-	void DlgComplete( TInt aStatus );
-
-	TInt IsDlgReadyToCompleteL();
-
-	EAP_FUNC_IMPORT eap_status_e timer_expired(
-		const u32_t id, void *data);
-
-	//
-	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
-		const u32_t id, void *data);
-
 }; // class eap_am_type_securid_symbian_c
 
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_EAP_AM_TYPE_SIM_SYMBIAN_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 112 %
+* %version: 86.1.2 %
 */
 
 #if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_)
@@ -33,8 +33,7 @@
 #include <unifiedcertstore.h>
 #include <mctwritablecertstore.h>
 #include <pkixcertchain.h>
-#include "eap_auth_notifier.h"
-
+#include "EapTlsPeapNotifierStructs.h"
 #include "EapTlsPeapUtils.h"
 #include <bigint.h>
 
@@ -49,12 +48,14 @@
 class CEapTlsPeapCertInterface;
 class eap_am_tools_symbian_c;
 class abs_tls_am_application_eap_fast_c;
-
-
+#if defined(USE_FAST_EAP_TYPE)
+class CEapFastActive;
+#endif
+class CEapTtlsPapActive;
 
 #ifdef USE_PAC_STORE
 class CPacStoreDatabase;
-class SInfoEntry;
+struct SInfoEntry;
 #endif
 #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
 class eap_file_config_c;
@@ -62,7 +63,6 @@
 
 const TInt KMaxLabelLength = 64;
 const TInt KMaxDatabaseTableName = 64;
-const TInt KOffsetCorrection = 1;
 
 #if defined(USE_FAST_EAP_TYPE)
 const char KEapFastPacProvisResultKey[] = "eap_am_type_tls_peap_symbian_c prov. result";
@@ -72,10 +72,8 @@
 
 /// This class is interface to adaptation module of EAP/TLS and PEAP.
 class EAP_EXPORT eap_am_type_tls_peap_symbian_c
-: public CActive
-, public eap_am_type_tls_peap_c
-, public abs_eap_base_timer_c
-, public MNotificationCallback
+: public CActive, public eap_am_type_tls_peap_c
+,public abs_eap_base_timer_c 
 {
 
 public:
@@ -87,12 +85,10 @@
     EEapFastPacProvisResultSuccess  /* 1 */  
     };
 #endif
-
 private: // data
+//--------------------------------------------------
 
-	//--------------------------------------------------
-
-	RFs m_session;
+	RDbs m_session;
 
 	RDbNamedDatabase m_database;
 
@@ -102,21 +98,17 @@
 		EHandlingManualIdentityQuery,     /* 1 */
 		EHandlingChainQuery,              /* 2 */
 		EHandlingCipherSuiteQuery,        /* 3 */
-    EHandlingDeviceSeedQuery,        /* 4 */
-#if defined(USE_FAST_EAP_TYPE)            /* 5 */
-		EHandlingNotifierQuery,           /* 6 */
-		EPasswordQuery,                   /* 7 */
-		EWrongPassword,                   /* 8 */
-		EFilePasswordQuery,               /* 9 */
-		EMasterkeyQuery,                  /* 10 */
-		EPasswordCancel,                  /* 11 */
-		EShowProvSuccesstNote,            /* 12 */
-		EShowProvNotSuccesstNote,         /* 13 */
-		ENotifierComplete,				/*14 */
+#if defined(USE_FAST_EAP_TYPE)            /* 4 */
+		EHandlingNotifierQuery,           /* 5 */
+		EPasswordQuery,                   /* 6 */
+		EWrongPassword,                   /* 7 */
+		EFilePasswordQuery,               /* 8 */
+		EMasterkeyQuery,                  /* 9 */
+		EPasswordCancel,                  /* 10 */
+		EShowProvSuccesstNote,            /* 11 */
+		EShowProvNotSuccesstNote,         /* 12 */
+		ENone                             /* 13 */
 #endif //#if defined(USE_FAST_EAP_TYPE)
-		EPapUserNameAndPassword, /* 15 */
-		EPapChallenge, /* 16 */
-		ENone                             /* 17 */
 		
 	};
 	
@@ -138,7 +130,9 @@
 
 #if defined(USE_FAST_EAP_TYPE)
 	abs_tls_am_application_eap_fast_c * m_tls_application;
-
+	CEapFastActive* iEapFastActiveWaitNote;
+	CEapFastActive* iEapFastActiveNotes;
+	
 	enum TAlterTableCmd
 	    {
 	    EAddColumn,
@@ -152,6 +146,11 @@
 
 	eap_type_value_e m_current_eap_type;
 
+	// These are the vendor-types for EAP type and tunneling EAP type.
+	// Valid for both expanded and non-expanded EAP types.
+	u32_t m_current_eap_vendor_type;
+	u32_t m_tunneling_vendor_type;
+
 	TBufC<KMaxDatabaseTableName> m_db_table_name;
 	TBufC<KMaxDatabaseTableName> m_db_user_cert_table_name;
 	TBufC<KMaxDatabaseTableName> m_db_ca_cert_table_name;
@@ -159,8 +158,8 @@
 	TBufC<KMaxDatabaseTableName> m_db_name;
 
 #if defined (USE_FAST_EAP_TYPE)	
-	TBufC<KMaxDatabaseTableName> m_db_fast_special_table_name;
-	RPointerArray<SInfoEntry> m_info_array;
+TBufC<KMaxDatabaseTableName> m_db_fast_special_table_name;
+RArray<SInfoEntry> m_info_array;
 #endif	
 
 	u32_t m_max_count_of_session_resumes;
@@ -175,7 +174,7 @@
 
 	CEapTlsPeapCertInterface* m_cert_if;	
 
-	EapCertificateEntry m_own_certificate_info;
+	SCertEntry m_own_certificate_info;
 
 	eap_am_network_id_c m_receive_network_id;
 
@@ -183,11 +182,11 @@
 
 	TKeyIdentifier m_subject_key_id;
 
-	RPointerArray<EapCertificateEntry> m_allowed_ca_certs;
+	RArray<SCertEntry> m_allowed_ca_certs;
 
-	RPointerArray<EapCertificateEntry> m_allowed_user_certs;
+	RArray<SCertEntry> m_allowed_user_certs;
 	
-	RPointerArray<EapCertificateEntry> m_allowed_server_certs;
+	RArray<SCertEntry> m_allowed_server_certs;
 
 	RArray<TUint> m_allowed_cipher_suites;
 
@@ -199,11 +198,20 @@
 	
 	bool m_shutdown_was_called;
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	/// Tunneling EAP configuration data from EAP database.
-	RPointerArray<TEapExpandedType> m_enabled_tunneling_exp_eap_array;
-	RPointerArray<TEapExpandedType> m_disabled_tunneling_exp_eap_array;
+	RExpandedEapTypePtrArray m_enabled_tunneling_exp_eap_array;
+	RExpandedEapTypePtrArray m_disabled_tunneling_exp_eap_array;
+
+#else
 
+	/// Tunneling EAP configuration data from EAP database.
+	TEapArray m_iap_eap_array;
 
+#endif  // #ifdef USE_EAP_EXPANDED_TYPES
+	TIdentityInfo* m_identity_info; 
+	
 	TBuf8<4> m_selector_output;
 
 	eap_type_value_e m_tunneled_type;
@@ -222,8 +230,6 @@
 	
 	bool m_tls_peap_server_authenticates_client_policy_flag;
 
-	bool m_use_automatic_ca_certificate;
-
 	/// This flag prevents double configuration. This can happen when 
 	/// this class implements many interfaces.
 	bool m_configured;
@@ -258,16 +264,18 @@
 	
 	bool m_serv_unauth_prov_mode;
 	bool m_serv_auth_prov_mode;
-#endif
 	
-
+	// For FAST notifiers
+	RNotifier m_notifier;	
+	bool m_is_notifier_connected; // Tells if notifier server is connected.
 
-	CEapAuthNotifier::TEapDialogInfo * m_notifier_data_to_user;
+	TEapFastNotifierStruct * m_notifier_data_to_user;
+	TPckg<TEapFastNotifierStruct> * m_notifier_data_pckg_to_user;	
 
-	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_notifier_data_pckg_to_user;
+	TEapFastNotifierStruct * m_notifier_data_from_user;
+	TPckg<TEapFastNotifierStruct> * m_notifier_data_pckg_from_user;	
 
     /* For MMETEL */
-#if defined(USE_FAST_EAP_TYPE)
     
 	// ETel connection.
     RTelServer iServer;
@@ -279,7 +287,6 @@
     	
     // Tells if MMETEL is connected already or not.
     TBool iMMETELConnectionStatus;    
-
     TBool m_completed_with_zero;   
 	TBool m_verificationStatus;
 
@@ -287,6 +294,7 @@
 	EEapFastNotifierUserAction m_userAction;
 	eap_pac_store_data_type_e m_pacStoreDataRefType;
 	eap_fast_pac_store_data_c m_data_reference;
+	TBool m_notifier_complete;
 	eap_variable_data_c m_userResponse;
 	eap_fast_pac_store_pending_operation_e m_pending_operation;
 	TInt m_both_completed;
@@ -308,7 +316,6 @@
 	eap_fast_initialize_pac_store_completion_e iCompletion;
 
 #endif //#if defined(USE_FAST_EAP_TYPE)
-	TBool m_notifier_complete;
 
 #ifdef USE_PAC_STORE
 	CPacStoreDatabase * iPacStoreDb;
@@ -331,16 +338,7 @@
 	* Provides asynch services used by the caller such as
     * query for TTLS-PAP user name and password.
     */
-
- //   eap_am_type_tls_peap_symbian_c* iCaller;
-    
-    eap_variable_data_c* iPacStoreDeviceSeed;
-
-#ifdef USE_PAC_STORE
-#endif
-
-	CEapAuthNotifier* iEapAuthNotifier;
-
+	CEapTtlsPapActive* iEapTtlsPapActive;
 
 	
 //--------------------------------------------------
@@ -421,6 +419,10 @@
 
 	void send_error_notification(const eap_status_e error);
 
+	eap_status_e show_certificate_selection_dialog();
+
+	eap_status_e show_manual_identity_dialog();
+
 	void ResetSessionIdL();
 	
 	/**
@@ -458,7 +460,8 @@
 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
 		EAP_TEMPLATE_CONST eap_array_c<eap_fast_pac_store_data_c> * const in_references_and_data_blocks);
 		
-
+	eap_status_e ShowNotifierItemAndGetResponse(
+		EEapFastNotifierUiItem aNotifierUiItem, TBool aSetActive );
 
 	eap_status_e RemoveIAPReference();
 
@@ -470,6 +473,8 @@
 	
 	eap_status_e CompleteFilePasswordQueryL();
 	
+	eap_status_e CompleteNotifierL();
+		
 	eap_status_e CompleteFilePasswordQuery();
 	
 	eap_status_e FinalCompleteReadPACStoreDataL(eap_status_e status);
@@ -557,23 +562,7 @@
 		const TInt64& aInMaxSessionTime,
 		const TInt64& aInLastFullAuthTime );
 	
-#ifdef USE_FAST_EAP_TYPE    
-    TInt CreateMMETelConnectionL();
-
-    void DisconnectMMETel();    
-
-    eap_status_e CreateDeviceSeedAsync();
-    
-    void CompleteCreateDeviceSeedL( TInt aStatus );
-#endif
 	
-	eap_status_e select_cipher_suite(
-		const bool select_all_cipher_suites,
-		const tls_cipher_suites_e test_cipher_suite,
-		const TAlgorithmId testcertAlgorithm,
-		const TAlgorithmId certAlgorithm,
-		eap_array_c<u16_t> * cipher_suites);
-
 //--------------------------------------------------
 protected: // methods
 //--------------------------------------------------
@@ -613,7 +602,7 @@
 
 	EAP_FUNC_IMPORT virtual ~eap_am_type_tls_peap_symbian_c();
 
-	EAP_FUNC_IMPORT eap_status_e shutdown();
+	EAP_FUNC_EXPORT eap_status_e shutdown();
 
 	EAP_FUNC_IMPORT void set_is_valid();
 
@@ -827,9 +816,9 @@
 	eap_status_e complete_read_ca_certificate(
 		const RPointerArray<CX509Certificate>& aCertChain, eap_status_e aStatus);
 
-	void complete_validate_chain(const CPKIXValidationResult * const aValidationResult, const eap_status_e aStatus);
+	void complete_validate_chain(CPKIXValidationResult& aValidationResult, eap_status_e aStatus);
 
-	void complete_get_matching_certificates(RPointerArray<EapCertificateEntry>& aMatchingCerts, eap_status_e aStatus);
+	void complete_get_matching_certificates(CArrayFixFlat<SCertEntry>& aMatchingCerts, eap_status_e aStatus);
 
 	void complete_sign(const RInteger& aR, const RInteger& aS, eap_status_e aStatus);
 
@@ -1027,12 +1016,7 @@
 #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
  	eap_status_e ReadFileConfig();
 #endif
-
-#endif 
-
-	EAP_FUNC_IMPORT void DlgComplete( TInt aStatus );
-
-	
+#endif 	
 }; // class eap_am_type_tls_peap_symbian_c
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,379 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#if !defined(_EAPOL_AM_CORE_SYMBIAN_H_)
+#define _EAPOL_AM_CORE_SYMBIAN_H_
+
+// INCLUDES
+#include <d32dbms.h>
+#include <wlanmgmtpacket.h> // For MWlanMgmtPacket
+
+#include <wdbifwlansettings.h>
+
+#include "abs_ethernet_core.h"
+#include "eapol_key_types.h"
+#include <EapType.h> // For TIndexType
+//#include "EapolTimer.h"
+
+#include <Eapol.h>
+
+// FORWARD DECLARATIONS
+class MEapolToWlmIf;
+class CEapType;
+class ethernet_core_c;
+class eap_am_tools_symbian_c;
+class eap_file_config_c;
+
+const TInt KMaxWPAPSKPasswordLength = 64;
+const TInt KWPAPSKLength = 32;
+
+// CLASS DECLARATION
+class eapol_am_core_symbian_c
+:  public CActive, public abs_ethernet_core_c,
+	public abs_eap_base_timer_c
+
+{
+public:
+
+	struct TPSKEntry {
+		TIndexType indexType;
+		TUint index;
+		TBuf8<KMaxSSIDLength> ssid;
+		TBuf8<KMaxWPAPSKPasswordLength> password;
+		TBuf8<KWPAPSKLength> psk;
+	};
+
+	virtual ~eapol_am_core_symbian_c();	
+	
+	///////////////////////////////////////////////////////////////
+	/* These are called from WLM via CEapol */
+
+	static eapol_am_core_symbian_c * NewL(
+		MEapolToWlmIf* const aPartner,
+		const bool aIsClient = ETrue,
+		const TUint aServerIndex = 0);
+
+
+	TInt Start( 
+		const TIndexType aIndexType, 
+		const TUint aIndex,
+		const TSSID& aSSID,
+		const TBool aWPAOverrideEnabled,
+		const TUint8* aWPAPSK,
+		const TUint aWPAPSKLength
+		);
+
+	TInt CompleteAssociation(
+		const TInt aResult,
+		const TMacAddress& aLocalAddress, 
+		const TMacAddress& aRemoteAddress,
+		const TUint8* const aReceivedWPAIE, // WLM must give only the WPA IE to EAPOL									        
+		const TUint aReceivedWPAIELength,
+		const TUint8* const aSentWPAIE,
+		const TUint aSentWPAIELength,
+		const TWPACipherSuite aGroupKeyCipherSuite,
+		const TWPACipherSuite aPairwiseKeyCipherSuite
+		);		
+
+	
+	TInt Disassociated(); 
+		
+	TInt ReceivePacket(
+		const TUint aLength, 
+		const TUint8* const aData);
+
+	TInt SendWPAMICFailureReport(
+		TBool aFatalMICFailure,
+		const TMICFailureType aMICFailureType); 	
+
+	/////////////////////////////////////////
+	/* These are called from ethernet_core */
+	
+	/**
+	* Sends packet to lower layers
+	*/
+	eap_status_e packet_send(
+		const eap_am_network_id_c * const send_network_id,
+		eap_buf_chain_wr_c * const sent_packet,
+		const u32_t header_offset,
+		const u32_t data_length,
+		const u32_t buffer_length); 
+
+	u32_t get_header_offset(
+		u32_t * const MTU,
+		u32_t * const trailer_length);
+
+	eap_status_e eap_acknowledge(const eap_am_network_id_c * const receive_network_id); 
+
+	eap_status_e reassociate(
+			const eap_am_network_id_c * const send_network_id,
+			const eapol_key_authentication_type_e authentication_type,
+			const eap_variable_data_c * const PMKID,
+			const eap_variable_data_c * const WPXM_WPXK1,
+			const eap_variable_data_c * const WPXM_WPXK2);
+
+	/**
+	* Loads an EAP type plug-in.
+	* @param type Type to be loaded.
+	* @param partner Pointer to the partner class for the EAP type.
+	* @param eap_type The pointer for the loaded type should be set here.
+	* @param is_client_when_true Indicates whether the loaded EAP type should be client or server.
+	* @param receive_network_id Network address.
+	*/
+	eap_status_e load_module(
+		const eap_type_value_e type,
+		const eap_type_value_e /* tunneling_type */,
+		abs_eap_base_type_c * const partner,
+		eap_base_type_c ** const eap_type,
+		const bool is_client_when_true,
+		const eap_am_network_id_c * const receive_network_id);
+
+	eap_status_e unload_module(const eap_type_value_e type); 	
+
+	void set_is_valid();
+
+	bool get_is_valid();
+
+	void increment_authentication_counter();
+
+	u32_t get_authentication_counter();
+
+	bool get_is_client();
+
+	/**
+	* This does the initial configuration of the class.
+	*/
+	eap_status_e configure();
+
+	eap_status_e shutdown();
+
+	/**
+	* Reads a configuration parameter value from the database. 
+	* In Symbian this function is only a TRAP wrapper for read_configure_L.
+	*/
+	eap_status_e read_configure(
+		const eap_configuration_field_c * const field,
+		eap_variable_data_c * const data);
+
+	eap_status_e write_configure(
+		const eap_configuration_field_c * const field,
+		eap_variable_data_c * const data);
+
+	// See abs_eap_base_type_c::state_notification().
+	void state_notification(const abs_eap_state_notification_c * const state);
+	
+	eap_status_e set_timer(
+		abs_eap_base_timer_c * const p_initializer, 
+		const u32_t p_id, 
+		void * const p_data,
+		const u32_t p_time_ms);
+
+	eap_status_e cancel_timer(
+		abs_eap_base_timer_c * const p_initializer, 
+		const u32_t p_id);
+
+	eap_status_e cancel_all_timers();
+
+	eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
+	
+	eap_status_e packet_data_crypto_keys(
+		const eap_am_network_id_c * const send_network_id,
+		const eap_variable_data_c * const master_session_key);
+
+	/**
+	* Forwards the keys to lower layer (= WLM).
+	*/
+	eap_status_e packet_data_session_key(
+		const eap_am_network_id_c * const send_network_id,
+		const eapol_session_key_c * const key);
+
+	/**
+	* Packet mangling routine for testing.
+	*/
+	
+	eap_status_e timer_expired(const u32_t id, void *data);
+
+	eap_status_e timer_delete_data(const u32_t id, void *data);
+
+	eap_status_e get_eap_type_list(
+		eap_array_c<eap_type_value_e> * const eap_type_list);
+
+	eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
+
+protected:
+	
+	eapol_am_core_symbian_c(
+		MEapolToWlmIf * const aPartner,
+		const bool is_client_when_true,
+		const TUint aServerIndex);
+	
+	void ConstructL();
+
+	void RunL();
+	
+	void DoCancel();
+
+private:
+
+	eap_status_e random_error(
+		eap_buf_chain_wr_c * const sent_packet,
+		const bool forse_error,
+		const u32_t packet_index);
+
+	/**
+	* Tries to open EAPOL parameter database.
+	*/
+	void TryOpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession);
+
+	/**
+	* Opening function for EAPOL parameter database.
+	*/
+	void OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession);
+	
+	void read_configureL(eap_config_string field,
+										const u32_t field_length,
+										eap_variable_data_c * const data);	
+
+	void ReadEAPSettingsL();
+
+	void SetToTopPriorityL(const TEap* const aEapType);
+
+	eap_status_e create_upper_stack();
+
+	void RetrievePSKL(TPSKEntry& entry);
+
+	void SavePSKL(TPSKEntry& entry);
+
+
+
+private:
+
+	RDbs m_session;
+	RDbNamedDatabase m_database;
+
+	/// Pointer to the lower layer in the stack
+	MEapolToWlmIf* m_partner;
+
+	/// Pointer to the upper layer in the stack
+	ethernet_core_c* m_ethernet_core;
+
+	/// Pointer to the tools class
+	eap_am_tools_symbian_c* m_am_tools;
+
+	bool m_enable_random_errors;
+
+	u32_t m_error_probability;
+
+	u32_t m_generate_multiple_error_packets;
+	
+	u32_t m_authentication_counter;
+
+	u32_t m_successful_authentications;
+
+	u32_t m_failed_authentications;
+
+	bool m_is_valid;
+
+	bool m_is_client;	
+
+	/// Array for storing the loaded EAP types.
+	RPointerArray<CEapType> m_plugin_if_array;
+	/// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types.
+	RArray<eap_type_value_e> m_eap_type_array;
+
+	/// EAP configuration data from CommDb
+	TEapArray m_iap_eap_array;
+	TUint m_eap_index;
+	/// Indicates the bearer type
+	TIndexType m_index_type;
+	/// Indicates the service index in CommDb
+	TUint m_index;
+
+	u32_t m_packet_index;
+
+	bool m_manipulate_ethernet_header;
+
+	bool m_send_original_packet_first;
+
+	bool m_authentication_indication_sent;
+
+	bool m_unicast_wep_key_received;
+
+	bool m_broadcast_wep_key_received;
+
+	bool m_block_packet_sends_and_notifications;
+
+	bool m_success_indication_sent;
+
+	bool m_first_authentication;
+
+	bool m_self_disassociated;
+
+	TAuthenticationMode m_802_11_authentication_mode;
+
+	EWlanSecurityMode m_security_mode;
+
+	eap_variable_data_c * m_wpa_preshared_key;
+
+	eap_variable_data_c * m_ssid;
+
+	eap_am_network_id_c* m_receive_network_id;
+	
+	eap_variable_data_c * m_wpa_psk_password_override;
+
+	bool m_wpa_override_enabled;
+
+	bool m_wpa_psk_mode_allowed;
+
+	bool m_wpa_psk_mode_active;	
+
+	bool m_stack_marked_to_be_deleted;
+
+	TMacAddress m_local_address;
+
+	TMacAddress m_remote_address;
+
+	const TUint8* m_received_wpa_ie;
+
+	TUint m_received_wpa_ie_length;
+
+	const TUint8* m_sent_wpa_ie;
+
+	TUint m_sent_wpa_ie_length;
+
+	TWPACipherSuite m_group_key_cipher_suite;
+
+	TWPACipherSuite m_pairwise_key_cipher_suite;
+
+	bool m_active_type_is_leap;
+
+	eap_file_config_c* m_fileconfig;
+
+	//--------------------------------------------------
+}; // class eapol_am_core_symbian_c
+
+#endif //#if !defined(_EAPOL_AM_CORE_SYMBIAN_H_)
+
+//--------------------------------------------------
+
+
+
+// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7.1.2 %
 */
 
 #if !defined(_EAP_AM_SYMBIAN_H_)
@@ -92,7 +92,7 @@
 
 #if defined(USE_EAPOL_LLC_INTERFACE)
 	//
-	EAP_FUNC_IMPORT eap_status_e packet_process(
+	EAP_FUNC_EXPORT eap_status_e packet_process(
 		RMBufChain& aPdu);
 #endif //#if defined(USE_EAPOL_LLC_INTERFACE)
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #if !defined(_EAPOL_AM_CORE_SYMBIAN_WLM_H_)
--- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 46 %
+* %version: 30.1.2 %
 */
 
 #if !defined(_EAPOL_AM_WLAN_AUTHENTICATION_SYMBIAN_H_)
@@ -38,10 +38,29 @@
 #include <e32std.h>
 #include <d32dbms.h>
 
-//#include <wdbifwlansettings.h>
+#include <wdbifwlansettings.h>
 
 #include <EapType.h> // For TIndexType
 
+
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP TLS, PEAP, TTLS, FAST secure databases.
+// Full path is not needed. The database eaptls.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eaptls.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KFastDatabaseName, "c:eapfast.dat");
+
+
+#else
+
+#ifdef USE_EAP_FAST_TYPE
+_LIT(KFastDatabaseName, "c:\\system\\data\\eapfast.dat");
+#endif
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
+
+
 class CEapType;
 class abs_eapol_am_wlan_authentication_c;
 class abs_eap_am_tools_c;
@@ -56,7 +75,8 @@
 /// This class declares the simulator adaptation module of eapol_am_wlan_authentication_c.
 /// See comments of the functions from eapol_am_wlan_authentication_c.
 class EAP_EXPORT eapol_am_wlan_authentication_symbian_c
-: public eapol_am_wlan_authentication_c
+: public CActive
+, public eapol_am_wlan_authentication_c
 #if defined(USE_EAP_SIMPLE_CONFIG)
 , public abs_eap_configuration_if_c
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
@@ -84,18 +104,47 @@
 	/// HAHS of WPA(2)-PSK 
 	eap_variable_data_c m_wpa_preshared_key_hash;
 
-	/// Database reference to EAPOL settings.
-	eap_variable_data_c m_database_reference;
+	/// This pointer is abstract interface to reference of WLAN database of the current connection.
+	const abs_eapol_wlan_database_reference_if_c * m_wlan_database_reference;
 
 	/// Handle of database session.
-	RFs m_session;
+	RDbs m_session;
 
 	/// Handle of database file.
-	//RFs m_fs;
+	RFs m_fs;
+
+	/// Array for storing the loaded EAP types.
+	RPointerArray<CEapType> m_plugin_if_array;
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	/// Enabled expanded EAP configuration data from CommsDat
+	// This is for the outer most EAP (not tunneled)
+	RExpandedEapTypeArray m_enabled_expanded_eap_array;
+
+	/// Disabled expanded EAP configuration data from CommsDat
+	// This is for the outer most EAP (not tunneled)
+	RExpandedEapTypeArray m_disabled_expanded_eap_array;
+	
+	/// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types.	
+	eap_array_c<eap_type_value_e> m_eap_type_array;
+		
+#else
+
+	/// EAP configuration data from CommDb
+	TEapArray m_iap_eap_array;
+	
+	/// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types.
+	RArray<eap_type_value_e> m_eap_type_array;	
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	/// Network identity of current connection.
 	eap_am_network_id_c m_receive_network_id;
 
+	/// WLAN security mode as defined in Symbian platform.
+	EWlanSecurityMode m_security_mode;
+
 	/// WLAN authentication type.
 	eapol_key_authentication_type_e m_selected_eapol_key_authentication_type;
 
@@ -147,14 +196,29 @@
 	/// This function saves WPA(2)-PSK to database.
 	void SavePSKL(TPSKEntry& entry);
 
-	/// This function reads WPA-settings from database.
-	void ReadWPASettingsL();
+	/// This function reads EAP-settings from database.
+	void ReadEAPSettingsL();
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	/// This function set the EAP-type to highest in priority.
+	void SetToTopPriorityL(const eap_type_value_e aEapType);
+
+#else // For normal EAP types.
+
+	/// This function set the EAP-type to highest in priority.
+	void SetToTopPriorityL(const TEap* const aEapType);
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
 
 	/// THis function reads the references to active Internet Access Point (IAP).
 	eap_status_e read_database_reference_values(
 		TIndexType * const type,
 		TUint * const index);
 
+	/// This function resets all EAP-plugings.
+	eap_status_e reset_eap_plugins();
+
 	/// This function sends error notification to partner object.
 	void send_error_notification(const eap_status_e error);
 
@@ -168,7 +232,8 @@
 	// 
 	EAP_FUNC_IMPORT eapol_am_wlan_authentication_symbian_c(
 		abs_eap_am_tools_c * const tools,
-		const bool is_client_when_true);
+		const bool is_client_when_true,
+		const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference);
 
 
 	/// See comments of the functions from eapol_am_wlan_authentication_c.
@@ -186,7 +251,7 @@
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 		);
 
-	EAP_FUNC_IMPORT eap_status_e reset_wpa_configuration();
+	EAP_FUNC_IMPORT eap_status_e reset_eap_configuration();
 
 	EAP_FUNC_IMPORT eap_status_e set_wlan_parameters(
 		const eap_variable_data_c * const SSID,
@@ -201,6 +266,9 @@
 		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
 		);
 
+	EAP_FUNC_IMPORT eap_status_e get_selected_eap_types(
+		eap_array_c<eap_type_selection_c> * const selected_eap_types);
+
 	EAP_FUNC_IMPORT eap_status_e get_wlan_configuration(
 		eap_variable_data_c * const wpa_preshared_key_hash);
 
@@ -209,6 +277,18 @@
 		const eap_type_value_e eap_type,
 		const eapol_key_authentication_type_e authentication_type);
 
+	EAP_FUNC_IMPORT eap_status_e load_module(
+		const eap_type_value_e type,
+		const eap_type_value_e tunneling_type,
+		abs_eap_base_type_c * const partner,
+		eap_base_type_c ** const eap_type_if,
+		const bool is_client_when_true,
+		const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address.
+		);
+
+	EAP_FUNC_IMPORT eap_status_e unload_module(
+		const eap_type_value_e type);
+
 	EAP_FUNC_IMPORT eap_status_e read_configure(
 		const eap_configuration_field_c * const field,
 		eap_variable_data_c * const data);
@@ -229,12 +309,17 @@
 
 	EAP_FUNC_IMPORT eap_status_e cancel_all_timers();
 
+	EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
+
+	EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
+		eap_array_c<eap_type_value_e> * const eap_type_list);
+
 	EAP_FUNC_IMPORT void state_notification(
 		const abs_eap_state_notification_c * const state);
 
 #if defined(USE_EAP_SIMPLE_CONFIG)
 
-	EAP_FUNC_IMPORT eap_status_e save_simple_config_session(
+	EAP_FUNC_EXPORT eap_status_e save_simple_config_session(
 		const simple_config_state_e state,
 		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
 		const eap_variable_data_c * const new_password,
@@ -243,9 +328,6 @@
 
 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
 
-	EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-		const eap_variable_data_c * const reference);
-
 	//--------------------------------------------------
 }; // class eapol_am_wlan_authentication_symbian_c
 
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapCertificateFetcher.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef _ABS_EAP_CERTIFICATE_FETCHER_H_
-#define _ABS_EAP_CERTIFICATE_FETCHER_H_
-
-// INCLUDES
-#include <e32base.h>
-#include "EapSettings.h"
-
-
-// CLASS DECLARATION
-class CAbsEapCertificateFetcher: public CBase
-{
-public:
-
-	CAbsEapCertificateFetcher()
-	{
-	}
-
-	virtual ~CAbsEapCertificateFetcher()
-	{
-	}
-
-	virtual void CompleteReadCertificatesL(
-		const RPointerArray<EapCertificateEntry>& aUserCerts, 
-		const RPointerArray<EapCertificateEntry>& aCACerts) = 0;
-};
-
-#endif // _ABS_EAP_CERTIFICATE_FETCHER_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapTlsPeapUiCertificates.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _ABSEAPTLSPEAPUICERTIFICATES_H_
-#define _ABSEAPTLSPEAPUICERTIFICATES_H_
-
-// INCLUDES
-
-// CLASS DECLARATION
-/**
-* Class for 
-*/
-class MEapTlsPeapUiCertificates
-{
-public:
-	/**
-	* 
-	*/
-	virtual void CompleteReadCertificates(const TInt aResult) = 0;	
-};
-
-#endif // _ABSEAPTLSPEAPUICERTIFICATES_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastNotifierStruct.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef EAPFASTNOTIFIERSTRUCT_H
-#define EAPFASTNOTIFIERSTRUCT_H
-
-const TUid KEapFastNotifierUid = {0x2000F8DF};
-
-const TUint KMaxEapFastNotifierBufLength = 255;
-
-enum EEapFastNotifierUiItem
-{
-	EEapFastNotifierPacStorePwQuery,         /* 0 */
-	EEapFastNotifierWrongPacStorePwNote,     /* 1 */
-	EEapFastNotifierAuthProvWaitNote,        /* 2 */
-	EEapFastNotifierAuthProvWaitNoteEnd,     /* 3 */
-	EEapFastNotifierUnauthProvWaitNote,      /* 4 */
-	EEapFastNotifierUnauthProvWaitNoteEnd,   /* 5 */
-	EEapFastNotifierInstallPacConfirmQuery,	 /* 6 */
-	EEapFastNotifierProvSuccessNote,         /* 7 */
-	EEapFastNotifierProvNotSuccessNote,      /* 8 */
-	EEapFastNotifierPacFilePwQuery,          /* 9 */
-	EEapFastNotifierWrongPacFilePwNote,      /* 10 */
-	EEapFastNotifierCreateMasterkeyQuery,    /* 11 */
-	EEapFastNotifierUiItemsNumber            /* 12 */ // keep always as last element
-};
-
-enum EEapFastNotifierUserAction
-{
-	EEapFastNotifierUserActionOk,
-	EEapFastNotifierUserActionCancel
-};
-
-struct TEapFastNotifierStruct
-{
-	EEapFastNotifierUiItem iEapFastNotifierUiItem;
-	TBuf<KMaxEapFastNotifierBufLength> iEapFastNotifierBuffer;
-	EEapFastNotifierUserAction iEapFastNotifierUserAction;
-};
-
-#endif // EAPFASTNOTIFIERSTRUCT_H
-
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2008 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:  EAP-FAST PAC-store IF.
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#ifndef _EAPFASTPACSTORE_H_
-#define _EAPFASTPACSTORE_H_
-
-// INCLUDES
-#include <e32base.h>
-#include <ecom/ecom.h> 
-
-
-class CEapFastPacStore
-: public CBase
-{
-
-public:
-
-    /**
-    * Factory function that loads the CEapFastPacStore implementation DLL (plug-in).
-    */
-    static CEapFastPacStore * NewL();
-
-	virtual void OpenPacStoreL() = 0;
-    
-    // this may not be needed at all
-    virtual void CreateDeviceSeedL() = 0;
-
-    virtual TBool IsMasterKeyPresentL() = 0;
-
-    virtual TBool IsMasterKeyAndPasswordMatchingL(
-		const TDesC8 & aPassword8) = 0;
-
-    virtual TInt CreateAndSaveMasterKeyL(
-		const TDesC8 & aPassword8) = 0;
-
-    virtual TInt ComparePacStorePasswordL(
-		TDes8 & aPassword8) = 0;
-
-    virtual TBool IsPacStorePasswordPresentL() = 0;
-
-    virtual TInt SetPacStorePasswordL(
-		const TDesC8 & aPassword8) = 0;
-
-    virtual TInt DestroyPacStore() = 0;
-
-private:
-
-	/// ECom uses this key to keep track of DLL usage.
-	TUid iDtor_ID_Key;
-
-};
-
-#include "EapFastPacStore.inl"
-
-
-#endif //_EAPFASTPACSTORE_H_
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.inl	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2008 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:  WAPI authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#include "EapTraceSymbian.h"
-
-inline CEapFastPacStore* CEapFastPacStore::NewL()
-{
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapFastPacStore::NewL(): start")));
-
-    // This call finds and loads the correct DLL and after that calls the
-    // entry function in the interface implementation in the DLL.
-    TAny* ptr = 0;
-
-    const TUid KimplementationUid = { 0x2002BC93 };
-
-    TRAPD( err, ptr = REComSession::CreateImplementationL(
-            KimplementationUid,
-            _FOFF(CEapFastPacStore, iDtor_ID_Key)));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapFastPacStore::NewL(): CreateImplementationL(Uid=0x%08x), err=%d, returns ptr=0x%08x\n"),
-        KimplementationUid.iUid,
-        err,
-        ptr));
-
-
-    User::LeaveIfError(err);
-
-    return reinterpret_cast<CEapFastPacStore *>(ptr);
-}
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCertificates.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUICERTIFICATES_H_
-#define _EAPTLSPEAPUICERTIFICATES_H_
-
-#include <e32base.h>
-#include <AbsEapCertificateFetcher.h>
-
-
-class CEapTlsPeapUiConnection;
-class CEapGeneralSettings;
-class MEapTlsPeapUiCertificates;
-class CEapType;
-
-
-class CEapTlsPeapUiCertificates
-: public CBase
-//, public CAbsEapCertificateFetcher
-{
-
-public:
-
-    CEapTlsPeapUiCertificates(CEapTlsPeapUiConnection * const aUiConn, MEapTlsPeapUiCertificates * const aParent);
-
-    ~CEapTlsPeapUiCertificates();
-
-    TInt Open();
-
-	TInt GetCertificates(RPointerArray<EapCertificateEntry> ** aUserCerts,
-						 RPointerArray<EapCertificateEntry> ** aCACerts);
-    
-    TInt Update();
-
-    TInt Close();
-
-private:
-
-    TBool iIsOpened;
-
-    CEapTlsPeapUiConnection * iUiConn;
-
-    RPointerArray<EapCertificateEntry> * iUserCerts;
-
-    RPointerArray<EapCertificateEntry> * iCACerts;
-
-    TRequestStatus iStatus;
-	
-	CEapGeneralSettings *iEapGeneralSettings;
-	
-	MEapTlsPeapUiCertificates* iParent;
-	
-    CEapType* iEapTypeConnection; 
-
-private:
-
-	void SelectActiveCertificatesL();
-
-	void FetchDataL(
-		const RPointerArray<EapCertificateEntry>& aAvailableCerts,
-		RPointerArray<EapCertificateEntry> * const aArray);    
-
-    void UpdateL();
-
-	void SelectCertificatesL(
-		const EapCertificateEntry::TCertType aCertType,
-		const EAPSettings & aSettings,
-		RPointerArray<EapCertificateEntry>& aAvailableCerts);
-
-	void SaveCertificatesL(
-		const EapCertificateEntry::TCertType aCertType,
-		const RPointerArray<EapCertificateEntry>* const aAvailableCerts,
-		EAPSettings & aSettings);
-};
-
-#endif // _EAPTLSPEAPUICERTIFICATES_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuite.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUICIPHERSUITE_H_
-#define _EAPTLSPEAPUICIPHERSUITE_H_
-
-#include <e32std.h>
-
-class TEapTlsPeapUiCipherSuite
-{
-public:
-
-	TEapTlsPeapUiCipherSuite()
-		: iIsEnabled(EFalse)
-		, iCipherSuite(0ul)
-	{
-	}
-
-	virtual ~TEapTlsPeapUiCipherSuite()
-	{
-	}
-
-	void SetIsEnabled(const TBool aIsEnabled)
-	{
-		iIsEnabled = aIsEnabled;
-	}
-
-	void SetCipherSuite(const TUint aCipherSuite)
-	{
-		iCipherSuite = aCipherSuite;
-	}
-
-	TBool GetIsEnabled()
-	{
-		return iIsEnabled;
-	}
-
-	TUint GetCipherSuite()
-	{
-		return iCipherSuite;
-	}
-
-private:
-
-    TBool                           iIsEnabled;        
-    TUint							iCipherSuite;
-};
-
-#endif //_EAPTLSPEAPUICIPHERSUITE_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuites.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUICIPHERSUITES_H_
-#define _EAPTLSPEAPUICIPHERSUITES_H_
-
-#include <e32base.h>
-
-class CEapTlsPeapUiConnection;
-class TEapTlsPeapUiCipherSuite;
-class CEapType;
-
-
-class CEapTlsPeapUiCipherSuites : public CBase
-{
-
-public:
-
-    CEapTlsPeapUiCipherSuites(CEapTlsPeapUiConnection * const aUiConn);
-
-    ~CEapTlsPeapUiCipherSuites();
-
-    TInt Open();
-
-    TInt GetCipherSuites(RPointerArray<TEapTlsPeapUiCipherSuite> ** aDataPtr);
-   	
-    TInt Update();
-
-    TInt Close();
-
-private:
-
-    TBool iIsOpened;
-
-    CEapTlsPeapUiConnection * iUiConn;
-
-	RPointerArray<TEapTlsPeapUiCipherSuite>* iDataPtr;
-
-    CEapType* iEapTypeConnection;
-
-private:
-
-    void FetchDataL();
-    
-    void UpdateL();
-};
-
-#endif //_EAPTLSPEAPUICIPHERSUITES_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiConnection.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUICONNECTION_H_
-#define _EAPTLSPEAPUICONNECTION_H_
-
-#include <e32std.h>
-#include <e32base.h>
-#include <d32dbms.h>
-//#include <EapType.h>
-#include <EapTypeDefinitions.h>
-#include <EapExpandedType.h>
-
-class CEapTlsPeapUiDataConnection;
-class CEapTlsPeapUiCipherSuites;
-class CEapTlsPeapUiCertificates;
-class CEapTlsPeapUiEapTypes;
-class MEapTlsPeapUiCertificates;
-class CEapFastPacStore;
-
-class CEapTlsPeapUiConnection : public CBase
-{
-
-public:
-
-	// This creates a connection between EAP plugin and the EAP UI.
-	// aTunnelingType - the Vendor-Type of Tunneling EAP type.
-	// aEapType - the Vendor-Type of the EAP type 
-	// Supported Vendor-ID here is 0x 0 (3 bytes) for both.
-
-    CEapTlsPeapUiConnection(
-        const TIndexType aIndexType,
-        const TInt aIndex,
-        const TEapExpandedType aTunnelingType,
-        const TEapExpandedType aEapType);
-
-    ~CEapTlsPeapUiConnection();
-
-    TInt Connect();
-
-    TInt Close();
-
-    CEapTlsPeapUiDataConnection * GetDataConnection();
-
-	CEapTlsPeapUiCipherSuites * GetCipherSuiteConnection();
-	
-	CEapTlsPeapUiCertificates * GetCertificateConnection(MEapTlsPeapUiCertificates * const aParent);
-	
-	CEapTlsPeapUiEapTypes * GetEapTypeConnection();
-
-    TIndexType GetIndexType();
-
-    TInt GetIndex();
-
-	// Returns the Tunneling EAP type of this EAP type.
-    TEapExpandedType GetTunnelingType();
-
-	// Returns the EAP type.
-    TEapExpandedType GetEapType();
-
-    // Check if there's the PAC store master key.
-    // Call Connect() before doing this and Close() after.	
-    // Returns ETrue if there is master key. EFalse if there is not.
-	TBool IsPacStoreMasterKeyPresentL();
-
-    // This destroys the PAC store if it is created already.
-    // Call Connect() before doing this and Close() after.
-    // Returns KErrNone if successful. Symbian error code otherwise.
-	TInt DestroyPacStore();
-	
-    // This check if the PAC store (or PAC store master key) can be decrypted 
-	// with the password provided.
-    // Call Connect() before doing this and Close() after.	
-    // Returns ETrue if successful.
-	TBool VerifyPacStorePasswordL(const TDesC& aPacStorePw);
-	
-    // This creates the PAC store master key with the password provided.
-    // Call Connect() before doing this and Close() after.	
-    // Returns KErrNone if successful. Symbian error code otherwise.
-	TInt CreatePacStoreMasterKey(const TDesC& aPacStorePw);
-	
-    void GetPacStorePasswordL(
-		TDes8 & aPassword8);
-
-    void SetPacStorePasswordL(
-		const TDesC8 & aPassword8);
-
-protected:
-
-    // Bearer type
-	TIndexType iIndexType;
-	
-	// Unique index
-	TInt iIndex;
-
-	// This stores the Vendor-Type of Tunneling EAP type. Supported Vendor-ID here is 0x 0 (3 bytes).
-	TEapExpandedType iTunnelingType;
-
-	// This stores the Vendor-Type of the EAP type. Supported Vendor-ID here is 0x 0 (3 bytes).
-	TEapExpandedType iEapType;
-	
-    // database names, handlers etc...
-
-    CEapTlsPeapUiDataConnection * iDataConn;
-
-	CEapTlsPeapUiCipherSuites * iCipherSuites;
-		
-	CEapTlsPeapUiEapTypes * iEapTypes;
-	
-	CEapTlsPeapUiCertificates * iCertificates;	
-	
-private:
-	
-    void ConnectL();
-    
-private:
-	
-	CEapFastPacStore * iPacStoreDb;
-};
-
-#endif
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiDataConnection.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUIDATACONNECTION_H_
-#define _EAPTLSPEAPUIDATACONNECTION_H_
-
-#include <e32base.h>
-
-class CEapTlsPeapUiConnection;
-class CEapTlsPeapUiTlsPeapData;
-class CEapType;
-
-
-class CEapTlsPeapUiDataConnection : public CBase
-{
-
-public:
-
-    CEapTlsPeapUiDataConnection(CEapTlsPeapUiConnection * aUiConn);
-
-    ~CEapTlsPeapUiDataConnection();
-
-    TInt Open();
-
-    TInt GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr);
-
-   	TInt Update();
-
-    TInt Close();
-
-protected:
-
-    TBool iIsOpened;
-
-    CEapTlsPeapUiConnection * iUiConn;
-
-    CEapTlsPeapUiTlsPeapData * iDataPtr;
-
-private:
-	// Functions.
-	
-    //void FetchDataL();
-    //void UpdateDataL();
-    
-private:	
-	// Member variables.
-
-   // Only used with EAP-FAST. Can't use the flag here.
-    CDbColSet *  iFastSpecificColSet;
-
-    CEapType * iEapTypeConnection; 
-};
-
-#endif // _EAPTLSPEAPUIDATACONNECTION_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapType.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUIEAPTYPE_H_
-#define _EAPTLSPEAPUIEAPTYPE_H_
-
-#include <e32std.h>
-#include "EapExpandedType.h"
-
-class TEapTlsPeapUiEapType
-: public CBase
-{
-public:
-
-	TEapTlsPeapUiEapType()
-	{
-	}
-
-	virtual ~TEapTlsPeapUiEapType()
-	{
-	}
-
-	void SetIsEnabled(TBool aIsEnabled)
-	{
-		iIsEnabled = aIsEnabled;
-	}
-
-	void SetEapType(TEapExpandedType & aEapType)
-	{
-		iEapType = aEapType;
-	}
-
-	TBool GetIsEnabled()
-	{
-		return iIsEnabled;
-	}
-
-	TEapExpandedType & GetEapType()
-	{
-		return iEapType;
-	}
-
-private:
-
-    TBool            iIsEnabled;
-    TEapExpandedType iEapType;
-};
-
-#endif // _EAPTLSPEAPUIEAPTYPE_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapTypes.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUIEAPTYPES_H_
-#define _EAPTLSPEAPUIEAPTYPES_H_
-
-#include <e32base.h>
-
-class CEapTlsPeapUiConnection;
-class TEapTlsPeapUiEapType;
-class CEapType;
-
-
-class CEapTlsPeapUiEapTypes : public CBase
-{
-
-public:
-
-    CEapTlsPeapUiEapTypes(CEapTlsPeapUiConnection * const aUiConn);
-
-    ~CEapTlsPeapUiEapTypes();
-
-    TInt Open();
-
-    TInt GetEapTypes(RPointerArray<TEapTlsPeapUiEapType> ** aDataPtr);
-   	
-    TInt Update();
-
-    TInt Close();
-
-private:
-
-    TBool iIsOpened;
-
-    CEapTlsPeapUiConnection * iUiConn;
-
-    RPointerArray<TEapTlsPeapUiEapType>* iDataPtr;    
-    
-    CEapType * iEapTypeConnection;
-
-private:
-
-
-    void FetchExpandedDataL();
-    
-    void UpdateExpandedDataL();
-    
-};
-
-#endif // _EAPTLSPEAPUIEAPTYPES_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiTlsPeapData.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef _EAPTLSPEAPUITLSPEAPDATA_H_
-#define _EAPTLSPEAPUITLSPEAPDATA_H_
-
-#include <e32std.h>
-#include <e32base.h>
-
-const TInt KMaxLengthOfUsername=255;
-const TInt KMaxLengthOfPassword=255;
-
-const TInt KMaxLengthOfPapUserName = 253; // according to UI spec
-const TInt KMaxLengthOfPapPassword = 128; // according to UI spec
-
-class CEapTlsPeapUiTlsPeapData : public CBase
-{
-public:
-
-    CEapTlsPeapUiTlsPeapData();
-
-    ~CEapTlsPeapUiTlsPeapData();
-
-    TDes& GetManualUsername();
-
-    TBool * GetUseManualUsername();
-
-    TDes& GetManualRealm();
-
-    TBool * GetUseManualRealm();
-    
-    TBool * GetAllowVersion0();
-    
-    TBool * GetAllowVersion1();
-    
-    TBool * GetAllowVersion2();
-    
-    // New member functions for EAP-FAST 
-    
-    TBool * GetTlsPrivacy();
-    
-    TBool * GetAuthProvModeAllowed();
-
-    TBool * GetUnauthProvModeAllowed();
-    
-    TDes& GetPacStorePassword();
-    
-    TBool* GetUsePacStorePasswordPrompt();
-
-public: // new, for TTLS PAP
-    
-    TDes& GetPapUserName();
-
-    TDes& GetPapPassword();
-
-    TBool* GetPapPasswordPrompt();
-
-private:
-
-    TBuf<KMaxLengthOfUsername> iManualUsername;
-
-    TBool iUseManualUsername;
-
-    TBuf<KMaxLengthOfUsername> iManualRealm;
-
-    TBool iUseManualRealm;
-    
-    TBool iAllowVersion0;
-    
-    TBool iAllowVersion1;
-    
-    TBool iAllowVersion2;
-    
-    // New member variables for EAP-FAST
-    TBool iTlsPrivacy;
-    
-    TBool iAuthProvModeAllowed;
-
-    TBool iUnauthProvModeAllowed;
-    
-    TBuf<KMaxLengthOfPassword> iPacStorePassword;
-    
-    TBuf<KMaxLengthOfPapUserName> iPapUserName;
-
-    TBuf<KMaxLengthOfPapPassword> iPapPassword;
-
-    TBool iPapPasswordPrompt;
-
-    TBool iPasswordPrompt;
-    
-};
-
-#endif
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTtlsPapNotifierStruct.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2008 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#ifndef EAPTTLSPAPNOTIFIERSTRUCT_H
-#define EAPTTLSPAPNOTIFIERSTRUCT_H
-
-/**
-* UID of PAP notifier to display authentication query dialog.
-*/ 
-const TUid KPapNotifierUid = { 0x200159A9 };
-
-/**
-* Maximum PAP challenge length.
-*/ 
-const TUint KMaxPapChallengeLength = 4096;
-
-/**
-* Maximum PAP user name.
-*/ 
-const TUint KMaxPapUserNameLength = 253;
-
-/**
-* Maximum PAP password length.
-*/ 
-const TUint KMaxPapPasswordLength = 128;
-
-/**
-* Data structure defines user name, password and password prompt.
-*/ 
-struct TPapUserNamePasswordInfo
-    {
-    /**
-    * True if password prompt is enabled, False - otherwise.
-    */ 
- 	TBool iPasswordPromptEnabled;
- 	
-    /*
- 	* Buffer for user name.
- 	*/
- 	TBuf16<KMaxPapUserNameLength> iUserName;
- 	
- 	/**
- 	* Buffer for password.
- 	*/ 
- 	TBuf16<KMaxPapPasswordLength> iPassword;   
-    };
-
-/**
-* Data structure used in notifier communication.
-*/ 
-struct TPapUiNotifierInfo
-    {
-    enum TPapUiNotifierState
-        {
-        EPapUiNotifierAuthQueryDialog,               /* 0 */
-        EPapUiNotifierPapChallengeSize,              /* 1 */
-        EPapUiNotifierPapChallengeMsgDialog,         /* 2 */
-        EPapUiNotifierPapChallengeReplyQueryDialog,  /* 3 */
-        // ...
-        EPapUiNotifierStatesNumber                   /* 4 */ // keep always as last element
-        };
-
-    /**
-    * State defines UI notifier logic.
-    */ 
-    TPapUiNotifierState iState;
-
-    /**
-    * Data structure defines user name, password and password prompt.
-    */  
-    TPapUserNamePasswordInfo iUsrPwdInfo;
-    	
-	/**
-	* PAP challenge message.
-	*/
-	TUint iSrvChallengeSize;
-	TBuf16<KMaxPapChallengeLength> iPapChallenge;
-    };
-
-/**
-* Defines user action: accepting or cancelling
-* authentication query dialog.
-*/ 
-enum EPapNotifierUserAction
-    {
-    EPapNotifierUserActionOk,
-    EPapNotifierUserActionCancel
-    };
-    
-#endif // EAPTTLSPAPNOTIFIERSTRUCT_H
-
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18 %
+* %version: 17.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -191,6 +191,8 @@
 
 	if (iQueryId == EQueryRES)
 	{
+		iQueryId = EQueryNone;
+
 		// Cancel the request.
 		iCustomAPI.CancelAsyncRequest( ECustomGetSimAuthenticationDataIPC );
 
@@ -229,12 +231,15 @@
 		switch( iQueryId )
 		{
 			case EQueryIMSI:
+
 				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("AKA interface: Got IMSI reply.\n")));
 						
 				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("IMSI"),
 						iSubscriberId.Ptr(),
 						iSubscriberId.Size()));
 				
+				iQueryId = EQueryNone;
+
 				// Convert the IMSI from unicode to UTF8 characters.
 
 				completion_status = imsiInUnicode.set_buffer(iSubscriberId.Ptr(), iSubscriberId.Size(), false, false);
@@ -263,6 +268,7 @@
 			break;
 			
 			case EQueryRES:
+
 				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("####AKA interface: Got RES, CK, IK and AUTS reply. ####\n")));			
 				
 				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("RES"),
@@ -281,6 +287,8 @@
 						iEAPAka.iAUTS.Ptr(),
 						iEAPAka.iAUTS.Size()));
 										
+				iQueryId = EQueryNone;
+
 				delete iAuthenticationData;
 				iAuthenticationData = NULL;	
 						
@@ -335,6 +343,7 @@
 			case EQueryIMSI:
 			
 				// Error with IMSI. Reset it and complete the request.			
+				iQueryId = EQueryNone;
 				imsi.reset();
 				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("AKA interface: Error in IMSI.\n")));
 							
@@ -346,6 +355,7 @@
 				// Re-synchronization needed or error with RES or CK or IK.
 				
 				// We have to close the custom API anyway. 
+				iQueryId = EQueryNone;
 				iCustomAPI.Close();				
 				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapAkaInterface::RunL() - error case: CLOSED CUSTOM API \n")));
 				
@@ -483,6 +493,8 @@
 	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapAkaInterface::DisconnectMMETel()\n")));
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapAkaInterface::DisconnectMMETel()");
 
+	iQueryId = EQueryNone;
+
 	// Close the custom API since we don't need it any more.
 	iCustomAPI.Close();
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 46.1.10 %
+* %version: 49 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -36,7 +36,7 @@
 #include "EapAkaDbDefaults.h"
 #include "EapAkaDbParameterNames.h"
 #include "EapAkaDbUtils.h"
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 
 #include <d32dbms.h>	// For DBMS
 #include <s32strm.h> 	// For RReadStream
@@ -154,6 +154,16 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	m_tunneling_vendor_type = m_tunneling_type.get_vendor_type();
+
+#else
+
+	m_tunneling_vendor_type = static_cast<TUint>(m_tunneling_type);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	if (receive_network_id != 0
 		&& receive_network_id->get_is_valid_data() == true)
 	{
@@ -195,10 +205,6 @@
 	}
 #endif // #if defined (USE_EAP_TYPE_SERVER_AKA)	
 
-	TInt error = m_session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_aka_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
 	// Open/create database
 	EapAkaDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type);	
 		
@@ -219,7 +225,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_am_type_aka_symbian_c* eap_am_type_aka_symbian_c::NewL(
+eap_am_type_aka_symbian_c* eap_am_type_aka_symbian_c::NewL(
 	abs_eap_am_tools_c * const aTools,
 	abs_eap_base_type_c * const aPartner,
 	const TIndexType aIndexType,
@@ -308,7 +314,7 @@
 		// Read Maximum Session Validity Time from the config file
 		eap_variable_data_c sessionTimeFromFile(m_am_tools);
 		
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_AKA_max_session_validity_time.get_field(),
 			&sessionTimeFromFile);
 		
@@ -331,7 +337,7 @@
 	// We have to set the values for K, OP and AMF in simulator.
 	
 	{
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_AKA_simulator_aka_k.get_field(),
 			&m_simulator_aka_K);
 		if (status == eap_status_ok
@@ -360,7 +366,7 @@
 	}
 
 	{
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_AKA_simulator_aka_op.get_field(),
 			&m_simulator_aka_OP);
 		if (status == eap_status_ok
@@ -389,7 +395,7 @@
 	}
 
 	{
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_AKA_simulator_aka_amf.get_field(),
 			&m_simulator_aka_AMF);
 		if (status == eap_status_ok
@@ -576,19 +582,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KPseudonymId,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KPseudonymId, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	// Evaluate view
 	RDbView view;
@@ -688,19 +684,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KReauthId,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KReauthId, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -826,22 +812,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KXKey,
-		&KK_aut,
-		&KK_encr,
-		&KReauthCounter,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -980,22 +953,9 @@
 	TPtr sqlStatement = buf->Des();
 
 	// Form the query
-	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KXKey,
-		&KK_aut,
-		&KK_encr,
-		&KReauthCounter,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	RDbView view;
 	// Evaluate view
@@ -1104,19 +1064,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KReauthCounter,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KReauthCounter, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -1229,22 +1179,11 @@
 	m_stored_reauth_id.reset();
 	m_previous_imsi.reset();
 
-	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KReauthId,
-		&KReauthCounter,
-		&KPseudonymId,
-		&KPreviousIMSI,
-		&KAkaTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KReauthId, &KReauthCounter, &KPseudonymId,
+						&KPreviousIMSI, &KAkaTableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -1447,7 +1386,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L(
+eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L(
 	const eap_variable_data_c * const IMSI,
 	const eap_status_e completion_status )
 {
@@ -1605,19 +1544,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KPreviousIMSI,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KPreviousIMSI, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -1771,7 +1700,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L(
+eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L(
 	eap_variable_data_c * const aRES, 
 	eap_variable_data_c * const aCK,
 	eap_variable_data_c * const aIK,
@@ -2676,7 +2605,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id(
+eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id(
 	const eap_am_network_id_c * const send_network_id,
 	const eap_variable_data_c * const imsi,
 	eap_variable_data_c * const reauthentication_identity,
@@ -2889,19 +2818,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQueryRow,
-		&unicodeString,
-		&KAkaTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow, &unicodeString, &KAkaTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -3063,7 +2982,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT bool eap_am_type_aka_symbian_c::is_session_valid()
+bool eap_am_type_aka_symbian_c::is_session_valid()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	
@@ -3097,20 +3016,11 @@
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&cf_str_EAP_AKA_max_session_validity_time_literal,
-		&KAKALastFullAuthTime,
-		&KAkaTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &cf_str_EAP_AKA_max_session_validity_time_literal,
+						&KAKALastFullAuthTime, &KAkaTableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -3228,19 +3138,10 @@
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KAKALastFullAuthTime,
-		&KAkaTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KAKALastFullAuthTime, &KAkaTableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,14 +16,14 @@
 */
 
 /*
-* %version: 16 %
+* %version: 9.1.2 %
 */
 
 #ifndef _EAPAKA_H_
 #define _EAPAKA_H_
 
 // INCLUDES
-#include <EapTypePlugin.h>
+#include <EapType.h>
 #include "eap_header.h"
 
 // FORWARD DECLARATIONS
@@ -33,7 +33,7 @@
 /**
 * Class that implements the generic EAP type interface. Implements EAP AKA protocol.
 */
-class CEapAka : public CEapTypePlugin
+class CEapAka : public CEapType
 {
 public:		
 
@@ -87,13 +87,16 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 	
-
+	/**
+	* Invokes the configuration UI.
+	**/
+	TInt InvokeUiL();
 	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	CEapTypeInfo* GetInfoL();
+	CEapTypeInfo* GetInfoLC();
 
 	/**
 	* Deletes EAP type configuration
@@ -115,7 +118,7 @@
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
+	void SetTunnelingType(const TInt aTunnelingType);
 
 	/**
 	* Changes the index of the saved parameters.
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,24 +16,49 @@
 */
 
 /*
-* %version: %
+* %version: 17 %
 */
 
 #if !defined(_EAPAKADBDEFAULTS_H_)
 #define _EAPAKADBDEFAULTS_H_
 
-#include "EapPluginDbDefaults.h"
+enum TAKAUsePseudonymId 
+{
+	EAKAUsePseudonymIdNo,		// False. Don't use pseudonym id.
+	EAKAUsePseudonymIdYes,		// True. Use pseudonym id.
+	EAKAUsePseudonymIdNotValid 	// This indicates that the value is not configured.
+};
+
+enum TAKAUseManualRealm 
+{
+	EAKAUseManualRealmNo,		// False. Don't use Manual Realm.
+	EAKAUseManualRealmYes,		// True. Use Manual Realm.
+};
+
+enum TAKAUseManualUsername 
+{
+	EAKAUseManualUsernameNo,		// False. Don't use Manual Username.
+	EAKAUseManualUsernameYes,		// True. Use Manual Username.
+};
 
 // LOCAL CONSTANTS
-const TUint default_EAP_AKA_use_manual_realm = EEapDbFalse;
+const TUint default_EAP_AKA_use_manual_realm = EAKAUseManualRealmNo;
+_LIT(default_EAP_AKA_manual_realm, "");
 
-const TUint default_EAP_AKA_use_manual_username = EEapDbFalse;
+const TUint default_EAP_AKA_use_manual_username = EAKAUseManualUsernameNo;
+_LIT(default_EAP_AKA_manual_username, "");
 
-const TUint default_EAP_AKA_use_pseudonym_identity = EEapDbTrue; // Default is use pseudonym identity.
+const TUint default_EAP_AKA_use_pseudonym_identity = EAKAUsePseudonymIdYes; // Default is use pseudonym identity.
+
+const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file.
+const TInt64 default_FullAuthTime = 0;
 
 const TUint KMaxPseudonymIdLengthInDB = 1020; 	// This is the max possible length of an EAP packet.
 const TUint KMaxReauthIdLengthInDB = 1020; 		// pseudonym id or reauth id can't be more than that.
 
+const TUint KMaxManualUsernameLengthInDB = 255;
+const TUint KMaxManualRealmLengthInDB = 255;
+
 const TUint KMaxIMSILengthInDB = 15;
 
 const TUint KMaxXKeyLengthInDB = 20;
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13.1.2 %
 */
 
 #if !defined(_EAPAKADBPARAMETERNAMES_H_)
@@ -28,7 +28,6 @@
 
 _LIT(KServiceType, "ServiceType");
 _LIT(KServiceIndex, "ServiceIndex");
-_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId");
 _LIT(KTunnelingType, "TunnelingType");
 _LIT(KPseudonymId, "PseudonymId");
 _LIT(KXKey, "XKEY");
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 7.1.6 %
+* %version: 9 %
 */
 
 #ifndef _EAPAKADBUTILS_H_
@@ -29,22 +29,32 @@
 
 // LOCAL CONSTANTS
 
-// For EAP-AKA private database. Database will be in the private folder of EAP-server (20026FCB).
-// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h.
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP AKA secure database.
+// Full path is not needed. The database eapaka.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eapaka.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KDatabaseName, "c:eapaka.dat");
 
-_LIT(KEapAkaDatabaseName, "eapaka.dat");
+_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KDatabaseName, "c:\\system\\data\\eapaka.dat");
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 _LIT(KAkaTableName, "eapaka");
 
 // CLASS DECLARATION
 class EapAkaDbUtils 
 {
-
 public:
 	
 	static void OpenDatabaseL(
 		RDbNamedDatabase& aDatabase, 
-		RFs& aFileServerSession,
+		RDbs& aSession, 
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
@@ -88,6 +98,7 @@
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
+
 };
 
 #endif // _EAPAKADBUTILS_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef _EAPAKAGLOBAL_H_
@@ -26,9 +26,9 @@
 
 // Release date must be of format YYYYMMDD:. Will be localised automatically. 
 // Note that days and months start from 0.
-_LIT(KReleaseDate, ""); 
+_LIT(KReleaseDate, "20040829:"); 
 _LIT(KEapTypeVersion, "1.0");
-_LIT(KManufacturer, "");
+_LIT(KManufacturer, "Nokia");
 _LIT(KNokiaSignature, ""); // Not used
 _LIT(KExtraInfo1, ""); // Not used
 _LIT(KExtraInfo2, ""); // Not used
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 6.1.2 %
+* %version: 9 %
 */
 
 //  INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 25 %
+* %version: 15.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -37,11 +37,12 @@
 #include <EapTypeInfo.h>
 #include "eap_am_type_aka_symbian.h"
 #include "EapAkaDbUtils.h"
-#include "EapConversion.h"
+
+#include <EapAkaUiConnection.h>
+#include "EapAkaUi.h"
+
 
 #include "eap_am_tools_symbian.h"
-#include "EapTraceSymbian.h"
-
 
 // LOCAL CONSTANTS
 
@@ -137,19 +138,40 @@
 }
 
 // ----------------------------------------------------------
+TInt CEapAka::InvokeUiL()
+{
+	TInt buttonId(0);
+ 
+#ifdef USE_EAP_EXPANDED_TYPES
 
-CEapTypeInfo* CEapAka::GetInfoL()
+    CEapAkaUiConnection uiConn(iIndexType, iIndex, iTunnelingType.get_vendor_type());
+	
+#else
+
+    CEapAkaUiConnection uiConn(iIndexType, iIndex, iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+ 
+	CEapAkaUi* ui = CEapAkaUi::NewL(&uiConn);
+	CleanupStack::PushL(ui);
+	buttonId = ui->InvokeUiL();
+	CleanupStack::PopAndDestroy(ui);
+	return buttonId;
+}
+
+// ----------------------------------------------------------
+CEapTypeInfo* CEapAka::GetInfoLC()
 {
 	CEapTypeInfo* info = new(ELeave) CEapTypeInfo(
 		(TDesC&)KReleaseDate, 
 		(TDesC&)KEapTypeVersion,
 		(TDesC&)KManufacturer);
 
+	CleanupStack::PushL(info);
 	return info;
 }
 
 // ----------------------------------------------------------
-
 void CEapAka::DeleteConfigurationL()
 {		
 	EapAkaDbUtils::DeleteConfigurationL(iIndexType, iIndex, iTunnelingType);
@@ -164,22 +186,19 @@
 
 // ----------------------------------------------------------
 
-void CEapAka::SetTunnelingType(const TEapExpandedType aTunnelingType)
-    {
-    EAP_TRACE_DATA_DEBUG_SYMBIAN(
-         (EAPL("CEapAka::SetTunnelingType - tunneling type"),
-         aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
-   
-    eap_type_value_e aInternalType;
-    
-    TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-            &aTunnelingType,
-            &aInternalType);
-    
-    iTunnelingType = aInternalType;
-    
-    
-    }
+void CEapAka::SetTunnelingType(const TInt aTunnelingType)
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Vendor id is eap_type_vendor_id_ietf always in this plugin.
+	iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType);
+
+#else
+
+	iTunnelingType = static_cast<eap_type_value_e>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+}
 
 
 // ----------------------------------------------------------
@@ -204,16 +223,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::SetIndexL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-	
+		
 	EapAkaDbUtils::SetIndexL(
 		db, 
 		iIndexType, 
@@ -226,11 +242,7 @@
 	iIndexType = aIndexType;
 	iIndex = aIndex;
 
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db	
 }
 
 // ----------------------------------------------------------
@@ -239,29 +251,22 @@
 {
 	RDbNamedDatabase db;
 
-	RFs session;
-
-	CleanupClosePushL(session);
-	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
+	RDbs session;	
+	
 	// This also creates the IAP entry if it doesn't exist
 	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
+	CleanupClosePushL(session);
+	CleanupClosePushL(db);
+
 	EapAkaDbUtils::SetConfigurationL(
 		db,
 		aSettings, 
 		iIndexType,
 		iIndex,
 		iTunnelingType);		
-
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+		
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 // ----------------------------------------------------------
@@ -270,16 +275,13 @@
 {
 	RDbNamedDatabase db;
 
-	RFs session;
-
+	RDbs session;
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
+	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapAkaDbUtils::GetConfigurationL(
 		db,
@@ -287,12 +289,8 @@
 		iIndexType,
 		iIndex,
 		iTunnelingType);
-
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+		
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 // ----------------------------------------------------------
@@ -318,16 +316,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
-
+	RDbs session;
+	
+	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
+	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::CopySettingsL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapAkaDbUtils::CopySettingsL(
 		db,
 		iIndexType,
@@ -336,12 +331,8 @@
 		aDestinationIndexType, 
 		aDestinationIndex, 
 		iTunnelingType);
-
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+		
+	CleanupStack::PopAndDestroy(2); // db
+	
 }
-
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 54 %
+* %version: 29.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -34,146 +34,160 @@
 #include "EapAkaDbParameterNames.h"
 #include "eap_type_aka_types.h"
 
-#include <EapTraceSymbian.h>
-#include "EapPluginTools.h"
+#include "eap_am_trace_symbian.h"
 
 const TInt KMaxSqlQueryLength = 2048;
 const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute.
 
 // ================= MEMBER FUNCTIONS =======================
 
-// ----------------------------------------------------------
+void EapAkaDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType,
+	const TInt aIndex, const eap_type_value_e aTunnelingType)
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-void EapAkaDbUtils::OpenDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()) );
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"),
+	aIndexType,aIndex,aTunnelingVendorType) );
 
 	// 1. Open/create a database	
 	
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapAkaDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL - Created Secure DB for eapaka.dat. err=%d\n"), err));
+	
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL(): - Opened private DB for EAP-AKA. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KDatabaseName);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL - Created Non-Secure DB for eapaka.dat. err=%d\n"), err));
+	
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	CleanupStack::PopAndDestroy( &fsSession ); // close fsSession
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName));
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eapaka table to database (ignore error if exists)
 	
-	// Table columns:
-	//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
-	//| ServiceType									| UNSIGNED INTEGER 	| KServiceType      |//
-	//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex     |//
-	//| TunnelingTypeVendorId                       | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType    |//
-	//| EAP_AKA_use_manual_realm					| UNSIGNED INTEGER 	| cf_str_EAP_AKA_use_manual_realm_literal   |//
-	//| EAP_AKA_manual_realm						| VARCHAR(255)	   	| cf_str_EAP_AKA_manual_realm_literal		    |//
-	//| EAP_AKA_use_manual_username					| UNSIGNED INTEGER 	| cf_str_EAP_AKA_use_manual_username_literal|//
-	//| EAP_AKA_manual_username						| VARCHAR(255)	   	| cf_str_EAP_AKA_manual_username_literal|//
-	//| PseudonymId									| LONG VARBINARY   	| KPseudonymId      |//
-	//| XKEY										| BINARY(20)       	| KXKey             |//
-	//| K_aut										| BINARY(16)       	| KK_aut            |//
-	//| K_encr										| BINARY(16)       	| KK_encr           |//
-	//| ReauthCounter								| UNSIGNED INTEGER 	| KReauthCounter    |//
-	//| ReauthId									| LONG VARBINARY   	| KReauthId         |//
-	//| PreviousIMSI								| VARBINARY(15)   	| KPreviousIMSI	   	|//
-	//| EAP_AKA_use_pseudonym_identity				| UNSIGNED INTEGER 	| cf_str_EAP_AKA_use_pseudonym_identity_literal	   	|//
-	//| EAP_AKA_max_session_validity_time			| BIGINT		   	| cf_str_EAP_AKA_max_session_validity_time_literal   |//
-	//| EAP_AKA_last_full_authentication_time		| BIGINT		   	| KAKALastFullAuthTime	|//
-	//////////////////////////////////////////////////////////////////////////////////////////////////
+// Table columns:
+//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
+//| ServiceType									| UNSIGNED INTEGER 	| KServiceType      |//
+//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex     |//
+//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType    |//
+//| EAP_AKA_use_manual_realm					| UNSIGNED INTEGER 	| cf_str_EAP_AKA_use_manual_realm_literal   |//
+//| EAP_AKA_manual_realm						| VARCHAR(255)	   	| cf_str_EAP_AKA_manual_realm_literal		    |//
+//| EAP_AKA_use_manual_username					| UNSIGNED INTEGER 	| cf_str_EAP_AKA_use_manual_username_literal|//
+//| EAP_AKA_manual_username						| VARCHAR(255)	   	| cf_str_EAP_AKA_manual_username_literal|//
+//| PseudonymId									| LONG VARBINARY   	| KPseudonymId      |//
+//| XKEY										| BINARY(20)       	| KXKey             |//
+//| K_aut										| BINARY(16)       	| KK_aut            |//
+//| K_encr										| BINARY(16)       	| KK_encr           |//
+//| ReauthCounter								| UNSIGNED INTEGER 	| KReauthCounter    |//
+//| ReauthId									| LONG VARBINARY   	| KReauthId         |//
+//| PreviousIMSI								| VARBINARY(15)   	| KPreviousIMSI	   	|//
+//| EAP_AKA_use_pseudonym_identity				| UNSIGNED INTEGER 	| cf_str_EAP_AKA_use_pseudonym_identity_literal	   	|//
+//| EAP_AKA_max_session_validity_time			| BIGINT		   	| cf_str_EAP_AKA_max_session_validity_time_literal   |//
+//| EAP_AKA_last_full_authentication_time		| BIGINT		   	| KAKALastFullAuthTime	|//
+//////////////////////////////////////////////////////////////////////////////////////////////////
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLCreateTable, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S LONG VARBINARY, \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S UNSIGNED INTEGER, \
-		 %S LONG VARBINARY, \
-		 %S VARBINARY(%d), \
-		 %S UNSIGNED INTEGER, \
-		 %S BIGINT, \
-		 %S BIGINT)");
+	_LIT(KSQLCreateTable, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+												 %S UNSIGNED INTEGER, \
+												 %S UNSIGNED INTEGER, \
+												 %S UNSIGNED INTEGER, \
+												 %S VARCHAR(%d), \
+												 %S UNSIGNED INTEGER, \
+												 %S VARCHAR(%d), \
+												 %S LONG VARBINARY, \
+												 %S BINARY(%d), \
+												 %S BINARY(%d), \
+												 %S BINARY(%d), \
+												 %S UNSIGNED INTEGER, \
+												 %S LONG VARBINARY, \
+												 %S VARBINARY(%d), \
+												 %S UNSIGNED INTEGER, \
+												 %S BIGINT, \
+												 %S BIGINT)");
 
-	sqlStatement.Format(KSQLCreateTable,
-		&KAkaTableName,
-		&KServiceType,
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
-		&KTunnelingType,
-		&cf_str_EAP_AKA_use_manual_realm_literal,
-		&cf_str_EAP_AKA_manual_realm_literal, KMaxRealmLengthInDB,
-		&cf_str_EAP_AKA_use_manual_username_literal, 
-		&cf_str_EAP_AKA_manual_username_literal, KMaxUsernameLengthInDB,
-		&KPseudonymId, 
-		&KXKey, KMaxXKeyLengthInDB,
-		&KK_aut, KMaxK_autLengthInDB,
-		&KK_encr, KMaxK_encrLengthInDB,
-		&KReauthCounter, 
-		&KReauthId, 
-		&KPreviousIMSI, KMaxIMSILengthInDB,
-		&cf_str_EAP_AKA_use_pseudonym_identity_literal,
-		&cf_str_EAP_AKA_max_session_validity_time_literal, 
-		&KAKALastFullAuthTime);
+	sqlStatement.Format(KSQLCreateTable, &KAkaTableName, &KServiceType,
+														 &KServiceIndex,
+														 &KTunnelingType,
+														 &cf_str_EAP_AKA_use_manual_realm_literal,
+														 &cf_str_EAP_AKA_manual_realm_literal,KMaxManualRealmLengthInDB,
+														 &cf_str_EAP_AKA_use_manual_username_literal, 
+														 &cf_str_EAP_AKA_manual_username_literal, KMaxManualUsernameLengthInDB,
+														 &KPseudonymId, 
+														 &KXKey, KMaxXKeyLengthInDB,
+														 &KK_aut, KMaxK_autLengthInDB,
+														 &KK_encr, KMaxK_encrLengthInDB,
+														 &KReauthCounter, 
+														 &KReauthId, 
+														 &KPreviousIMSI, KMaxIMSILengthInDB,
+														 &cf_str_EAP_AKA_use_pseudonym_identity_literal,
+														 &cf_str_EAP_AKA_max_session_validity_time_literal, 
+														 &KAKALastFullAuthTime);
 																					
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 	
 	// 4. Check if database table contains a row for this service type and id  
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(KSQLQueryRow,
-		&cf_str_EAP_AKA_manual_realm_literal,
-		&KAkaTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_AKA_manual_realm_literal, &KAkaTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 		
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -202,14 +216,13 @@
 		view.InsertL();
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), default_EAP_AKA_use_manual_realm);	
-		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), default_EAP_realm);	
+		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), default_EAP_AKA_manual_realm);	
 
 		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), default_EAP_AKA_use_manual_username);
-		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), default_EAP_username);
+		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), default_EAP_AKA_manual_username);
 
 		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), default_EAP_AKA_use_pseudonym_identity);
 
@@ -219,20 +232,19 @@
 
 		view.PutL();
 		
-		CleanupStack::PopAndDestroy( colSet );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.
 		
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 	}
 	
+	CleanupStack::PopAndDestroy( buf ); // Delete buf
+	
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );	
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );	
-	CleanupStack::Pop( &aFileServerSession );
 }
 
-// ----------------------------------------------------------
-
 void EapAkaDbUtils::SetIndexL(
 	RDbNamedDatabase& aDatabase, 		
 	const TIndexType aIndexType,
@@ -242,37 +254,25 @@
 	const TInt aNewIndex,
 	const eap_type_value_e aNewTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapAkaDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapAkaDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"),
-		aNewIndexType,
-		aNewIndex,
-		aNewTunnelingType.get_vendor_id(),
-		aNewTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::SetIndexL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aNewTunnelingVendorType = static_cast<TUint>(aNewTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KAkaTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KAkaTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -301,19 +301,16 @@
 	view.UpdateL();
 	
     view.SetColL(colSet->ColNo(KServiceType), aNewIndexType);
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapAkaDbUtils::SetConfigurationL(
 	RDbNamedDatabase& aDatabase,
 	const EAPSettings& aSettings, 
@@ -321,20 +318,80 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d\n"),
+						aIndexType,aIndex, aTunnelingVendorType));
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the below values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Set these values for EAPType=%d"),aSettings.iEAPType) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, VerifyServerRealm=%d"),
+						aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, RequireClientAuthentication=%d"),
+						aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, SessionValidityTime=%d minutes"),
+						aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) );
+												
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, CipherSuites Count=%d"),
+						aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) );
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the below values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"),
+						aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) );
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Certificates Count=%d"),
+						aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate details below: \n")) );
+	
+	for( TInt n=0; n < aSettings.iCertificates.Count(); n++ )
+	{
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) );
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SubjectName=%S"),
+						aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, IssuerName=%S"),
+						aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SerialNumber=%S"),
+						aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - SubjectKeyID present=%d"),
+						aSettings.iCertificates[n].iSubjectKeyIDPresent ) );						
+						
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), 
+													aSettings.iCertificates[n].iSubjectKeyID.Size() ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, Thumbprint=%S"),
+						aSettings.iCertificates[n].iThumbprintPresent, &(aSettings.iCertificates[n].iThumbprint) ) );
+	}						
 
-	EAP_TRACE_SETTINGS(&aSettings);
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, EncapsulatedEAPTypes Count=%d"),
+						aSettings.iEncapsulatedEAPTypesPresent, aSettings.iEncapsulatedEAPTypes.Count()) );
+	for( TInt m=0; m < aSettings.iEncapsulatedEAPTypes.Count(); m++ )
+	{	
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - EncapsulatedEAPTypes=%d"),
+						aSettings.iEncapsulatedEAPTypes[m]) );
+	}						
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the above values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the above values: ***************************\n")) );
 
 	// Check if the settings are for the correct type
-	if (aSettings.iEAPExpandedType != (*EapExpandedTypeAka.GetType()))
+	if (aSettings.iEAPType != EAPSettings::EEapAka)
 	{
 		User::Leave(KErrNotSupported);
 	}
@@ -344,17 +401,9 @@
 
 	RDbView view;
 
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(KSQLQuery,
-		&KAkaTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KAkaTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -371,98 +420,90 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-
-	if (aSettings.iUseAutomaticUsernamePresent)
+	// Manual username
+	//if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase.
 	{
+		// Check if length of username is less than the max length.
+		if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB)
+		{
+			// Username too long. Can not be stored in DB.
+			
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL: Too long Username. Length=%d \n"),
+			aSettings.iUsername.Length()));
+			
+			User::Leave(KErrArgument);
+		}
+		
+		// Length is ok. Set the value in DB.
+		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), aSettings.iUsername);
+		
 		// This is to set the automatic or manual status.
 		TUint useManualUsernameStatus;
 		
-		if (aSettings.iUseAutomaticUsername)
+		if (aSettings.iUsernamePresent)
 		{
-			useManualUsernameStatus = EEapDbFalse;
+			useManualUsernameStatus = EAKAUseManualUsernameYes;
 		}
 		else
 		{
-			useManualUsernameStatus = EEapDbTrue;
+			useManualUsernameStatus = EAKAUseManualUsernameNo;
 		}
 		
 		// Set the value.
 		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), useManualUsernameStatus);
 	}
-
-
-	if (aSettings.iUseAutomaticRealmPresent)
-	{
-		// This is to set the automatic or manual status.
-		TUint useManualRealmStatus;
-		
-		if (aSettings.iUseAutomaticRealm)
-		{
-			useManualRealmStatus = EEapDbFalse;
-		}
-		else
-		{
-			useManualRealmStatus = EEapDbTrue;
-		}
-
-		// Set the value.
-		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), useManualRealmStatus);
-	}
-
-
-	// Manual username
-	if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase.
-	{
-		// Check if length of username is less than the max length.
-		if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB)
-		{
-			// Username too long. Can not be stored in DB.
-			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapAkaDbUtils::SetConfigurationL(): Too long Username. Length=%d \n"),
-				aSettings.iUsername.Length()));
-			
-			User::Leave(KErrArgument);
-		}
-
-		// Length is ok. Set the value in DB.
-		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), aSettings.iUsername);
-	}
 		
 	// Manual realm
-	if (aSettings.iRealmPresent)  // no need to check as there may be empty realms with the present status is EFlase.
+	//if (aSettings.iRealmPresent)  // no need to check as there may be empty realms with the present status is EFlase.
 	{
 		// Check if length of realm is less than the max length.
-		if(aSettings.iRealm.Length() > KMaxRealmLengthInDB)
+		if(aSettings.iRealm.Length() > KMaxManualRealmLengthInDB)
 		{
 			// Realm too long. Can not be stored in DB.
 
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapAkaDbUtils::SetConfigurationL: Too long Realm. Length=%d \n"),
-				aSettings.iRealm.Length()));
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL: Too long Realm. Length=%d \n"),
+			aSettings.iRealm.Length()));
 			
 			User::Leave(KErrArgument);
 		}
 
 		// Length is ok. Set the value in DB. Value could be empty. It doesn't matter.
 		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), aSettings.iRealm);
+
+		// This is to set the automatic or manual status.
+		TUint useManualRealmStatus;
+		
+		if (aSettings.iRealmPresent)
+		{
+			useManualRealmStatus = EAKAUseManualRealmYes;
+		}
+		else
+		{
+			useManualRealmStatus = EAKAUseManualRealmNo;
+		}
+
+		// Set the value.
+		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), useManualRealmStatus);
 	}
 	
+	// UsePseudonym
 	if (aSettings.iUsePseudonymsPresent)
 	{
 		if (aSettings.iUsePseudonyms)
 		{
 			// Use pseudonym.
-			view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbTrue);
+			view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdYes);
 		}
 		else
 		{			
 			// Don't use pseudonym.
-			view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbFalse);			
+			view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdNo);			
 		}
 	}
 	else
 	{
 		// Value is not configured. Value is read from config file if needed.
-		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbNotValid);		
+		view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdNotValid);		
 	}
 	
 	// Session validity time
@@ -484,18 +525,14 @@
 		
 		view.SetColL(colSet->ColNo(KAKALastFullAuthTime), default_FullAuthTime);
 
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n")));
+		EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"),
+									aSettings.iEAPType ));
 	}
 
 	view.PutL();
-
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapAkaDbUtils::GetConfigurationL(
 	RDbNamedDatabase& aDatabase,
 	EAPSettings& aSettings, 
@@ -503,14 +540,15 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapAkaDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::GetConfigurationL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();	
@@ -518,17 +556,9 @@
 	RDbView view;
 
 	// Form the query
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(KSQLQuery,
-		&KAkaTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KAkaTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -545,100 +575,70 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-	aSettings.iEAPExpandedType = *EapExpandedTypeAka.GetType();
-
+	aSettings.iEAPType = EAPSettings::EEapAka;
+	
+	// Username
+	TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal));
+	aSettings.iUsername.Copy(username);
+	
+	// For manual or automatic status.
+	TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal));
+	if(useUsername == EAKAUseManualUsernameNo)
+	{
+		aSettings.iUsernamePresent = EFalse;		
+	}
+	else
 	{
-		// For manual or automatic username.
-		TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal));
-
-		aSettings.iUseAutomaticUsernamePresent = ETrue;
-
-		if(useUsername == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticUsername = EFalse;		
-		}
-		else
+		aSettings.iUsernamePresent = ETrue;		
+	}
+	
+	// Realm
+	TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal));
+	aSettings.iRealm.Copy(realm);
+	
+	// For manual or automatic status.
+	TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal));
+	if(useRealm == EAKAUseManualRealmNo)
+	{
+		aSettings.iRealmPresent = EFalse;
+	}
+	else
+	{
+		aSettings.iRealmPresent = ETrue;
+	}
+	
+	TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal));
+	
+	if (usePseudonym == EAKAUsePseudonymIdNotValid)
+	{
+		aSettings.iUsePseudonymsPresent = EFalse;
+	}
+	else
+	{
+		if (usePseudonym == EAKAUsePseudonymIdNo)
 		{
-			aSettings.iUseAutomaticUsername = ETrue;		
-		}
-	}
-
-	{
-		// For manual or automatic realm.
-		TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal));
-
-		aSettings.iUseAutomaticRealmPresent = ETrue;
-
-		if(useRealm == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticRealm = EFalse;
+			aSettings.iUsePseudonyms = EFalse;
 		}
 		else
 		{
-			aSettings.iUseAutomaticRealm = ETrue;
+			aSettings.iUsePseudonyms = ETrue;
 		}
-	}
-
-	{
-		// Username
-		TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal));
-
-		aSettings.iUsernamePresent = ETrue;
-
-		aSettings.iUsername.Copy(username);
-	}
-
-	{
-		// Realm
-		TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal));
-
-		aSettings.iRealmPresent = ETrue;
-
-		aSettings.iRealm.Copy(realm);
-	}
-
-	{
-		TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal));
 		
-		if (usePseudonym == EEapDbNotValid)
-		{
-			aSettings.iUsePseudonymsPresent = EFalse;
-		}
-		else
-		{
-			if (usePseudonym == EEapDbFalse)
-			{
-				aSettings.iUsePseudonyms = EFalse;
-			}
-			else
-			{
-				aSettings.iUsePseudonyms = ETrue;
-			}
-			
-			aSettings.iUsePseudonymsPresent = ETrue;		
-		}
-	}
-
-	{
-		// Session validity time	
-		TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_AKA_max_session_validity_time_literal));
-		
-		// Convert the time to minutes.	
-		TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
-		
-		aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
-		aSettings.iSessionValidityTimePresent = ETrue;
+		aSettings.iUsePseudonymsPresent = ETrue;		
 	}
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-
-	EAP_TRACE_SETTINGS(&aSettings);
+	// Session validity time	
+	TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_AKA_max_session_validity_time_literal));
+	
+	// Convert the time to minutes.	
+	TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
+	
+	aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
+	aSettings.iSessionValidityTimePresent = ETrue;
+	
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapAkaDbUtils::CopySettingsL(
 	RDbNamedDatabase& aDatabase, 		
 	const TIndexType aSrcIndexType,
@@ -648,37 +648,25 @@
 	const TInt aDestIndex,
 	const eap_type_value_e aDestTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapAkaDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"),
-		aSrcIndexType,
-		aSrcIndex,
-		aSrcTunnelingType.get_vendor_id(),
-		aSrcTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapAkaDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"),
-		aDestIndexType,
-		aDestIndex,
-		aDestTunnelingType.get_vendor_id(),
-		aDestTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type();
+	TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::CopySettingsL()\n"));
+#else
+
+	TUint aSrcTunnelingVendorType = static_cast<TUint>(aSrcTunnelingType);
+	TUint aDestTunnelingVendorType = static_cast<TUint>(aDestTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KAkaTableName, 
-		&KServiceType,
-		aSrcIndexType,
-		&KServiceIndex,
-		aSrcIndex,
-		&KTunnelingTypeVendorId,
-		aSrcTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aSrcTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KAkaTableName, 
+		&KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -709,107 +697,112 @@
 	CleanupStack::PushL(colSet);
 		
 	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestIndexType));
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), static_cast<TUint>(aDestTunnelingVendorType));
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapAkaDbUtils::DeleteConfigurationL(	
 	const TIndexType aIndexType,
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapAkaDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::DeleteConfigurationL()\n"));
+#else
 
-	RDbNamedDatabase aDatabase;
-	RFs aFileServerSession;
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	RDbs session;
+	RDbNamedDatabase database;
+	// Connect to the DBMS server.
+	User::LeaveIfError(session.Connect());
+	CleanupClosePushL(session);	
+		
+#ifdef SYMBIAN_SECURE_DBMS
 	
-	error = aFileServerSession.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapAkaDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = database.Create(session, KDatabaseName, KSecureUIDFormat);
+	
+	if(err == KErrNone)
 	{
 		// Database was created so it was empty. No need for further actions.
-		aDatabase.Destroy();
-		CleanupStack::PopAndDestroy(&aDatabase);
-		CleanupStack::PopAndDestroy(&aFileServerSession);
+		database.Destroy();
+		CleanupStack::PopAndDestroy();
 		return;
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} 
+	else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
+	// Database existed, open it.
+	User::LeaveIfError(database.Open(session, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(database);
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = database.Create(fsSession, KDatabaseName);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-AKA. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	if(err == KErrNone)
+	{
+		// Database was created so it was empty. No need for further actions.
+		database.Destroy();
+		CleanupStack::PopAndDestroy(2); // fsSession, database session
+		return;
+		
+	} 
+	else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(database.Open(session, KDatabaseName));
+	CleanupClosePushL(database);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
 	// Main settings table
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(KSQL,
-		&KAkaTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQL, &KAkaTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	// Evaluate view
 	RDbView view;
-	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 
 	// Delete rows
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.DeleteL();
 		} while (view.NextL() != EFalse);
 	}
 
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-	CleanupStack::PopAndDestroy(&aDatabase);
-	CleanupStack::PopAndDestroy(&aFileServerSession);
+	// Close database
+	CleanupStack::PopAndDestroy(4); // view, buf, database, session
 }
 
-// ----------------------------------------------------------
-
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,13 +16,13 @@
 */
 
 /*
-* %version: 10.1.3 %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 733 
+	#define EAP_FILE_NUMBER_ENUM 606 
 	#undef EAP_FILE_NUMBER_DATE 
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiAkaData.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 180 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <EapAkaUiAkaData.h>
+
+
+CEapAkaUiAkaData::CEapAkaUiAkaData()
+{
+}
+
+
+CEapAkaUiAkaData::~CEapAkaUiAkaData()
+{
+}
+
+
+TDes& CEapAkaUiAkaData::GetManualUsername()
+{
+    return iManualUsername;
+}
+
+
+TDes& CEapAkaUiAkaData::GetManualRealm()
+{
+    return iManualRealm;
+}
+
+
+TBool * CEapAkaUiAkaData::GetUseManualUsername()
+{
+    return &iUseManualUsername;
+}
+
+
+TBool * CEapAkaUiAkaData::GetUseManualRealm()
+{
+    return &iUseManualRealm;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 10.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 182 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include "EapAkaDbUtils.h"
+#include <EapAkaUiConnection.h>
+#include <EapAkaUiDataConnection.h>
+#include "eap_header.h"
+
+CEapAkaUiConnection::CEapAkaUiConnection(
+    const TIndexType aIndexType,
+    const TInt aIndex,
+    const TInt aTunnelingType)
+    : iIndexType(aIndexType)
+    , iIndex(aIndex)
+    , iTunnelingType(aTunnelingType)
+    , iIsConnected(EFalse)
+    , iDataConn(NULL)
+{
+}
+
+
+CEapAkaUiConnection::~CEapAkaUiConnection()
+{
+}
+
+
+TInt CEapAkaUiConnection::Connect()
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iTunnelingType));
+
+#else
+
+	eap_type_value_e tunnelingType = static_cast<eap_type_value_e>(iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	TRAPD(err, EapAkaDbUtils::OpenDatabaseL(
+		iDbNamedDatabase, 
+		iDbs, 
+		iIndexType, 
+		iIndex, 
+		tunnelingType));
+    if (err == KErrNone)
+    {
+        iIsConnected = ETrue;
+    }
+
+    return err;
+}
+
+
+TInt CEapAkaUiConnection::Close()
+{
+    if (iIsConnected)
+    {
+        iDbNamedDatabase.Close();
+        iDbs.Close();
+    }
+    iIsConnected = EFalse;
+
+    return KErrNone;
+}
+
+
+CEapAkaUiDataConnection * CEapAkaUiConnection::GetDataConnection()
+{
+    if (!iDataConn)
+    {
+        iDataConn = new CEapAkaUiDataConnection(this);
+    }
+
+    return iDataConn;
+}
+
+TInt CEapAkaUiConnection::GetDatabase(RDbNamedDatabase & aDatabase)
+{
+    if (iIsConnected == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+
+    aDatabase = iDbNamedDatabase;
+    return KErrNone;
+}
+
+
+TIndexType CEapAkaUiConnection::GetIndexType()
+{
+    return iIndexType;
+}
+
+
+TInt CEapAkaUiConnection::GetIndex()
+{
+    return iIndex;
+}
+
+
+TInt CEapAkaUiConnection::GetTunnelingType()
+{
+    return iTunnelingType;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiDataConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,276 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 15.1.3.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 184 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <e32base.h>
+#include "EapAkaDbUtils.h"
+#include "EapAkaDbParameterNames.h"
+#include "EapAkaDbDefaults.h"
+#include <EapAkaUiConnection.h>
+#include <EapAkaUiDataConnection.h>
+#include <EapAkaUiAkaData.h>
+#include "eap_am_trace_symbian.h"
+
+const TUint KMaxSqlQueryLength = 256;
+
+CEapAkaUiDataConnection::CEapAkaUiDataConnection(CEapAkaUiConnection * aUiConn)
+: iIsOpened(EFalse)
+, iUiConn(aUiConn)
+, iColSet(NULL)
+, iDataPtr(NULL)
+{
+}
+
+
+CEapAkaUiDataConnection::~CEapAkaUiDataConnection()
+{
+    if (iUiConn)
+    {
+        Close();
+        iUiConn = NULL;
+    }
+}
+
+
+TInt CEapAkaUiDataConnection::Open()
+{
+    if (iIsOpened)
+    {
+        return KErrAlreadyExists;
+    }
+
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    iIsOpened = ETrue;
+    return KErrNone;
+}
+
+
+TInt CEapAkaUiDataConnection::GetData(CEapAkaUiAkaData ** aDataPtr)
+{
+    if (aDataPtr == NULL)
+    {
+        return KErrArgument;
+    }
+    if (iIsOpened == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+    iDataPtr = new CEapAkaUiAkaData();
+    if (!iDataPtr)
+    {
+        return KErrNoMemory;
+    }
+
+    TRAPD(err, FetchDataL());
+    if (err != KErrNone)
+    {
+		delete iDataPtr;
+		iDataPtr = NULL;
+		
+		delete iColSet;
+		iColSet = NULL;
+
+        iView.Close();
+        
+        return err;
+    }
+
+    *aDataPtr = iDataPtr;
+
+    return KErrNone;
+}
+
+
+TInt CEapAkaUiDataConnection::Update()
+{
+    TRAPD(err, iView.UpdateL());
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+	// Check if length of username and realm are less than the max length possible in DB.
+	if(iDataPtr->GetManualUsername().Length() > KMaxManualUsernameLengthInDB
+		|| iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB)
+	{
+		// Username or realm too long. Can not be stored in DB.
+		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAkaUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"),
+			iDataPtr->GetManualUsername().Length(),
+			iDataPtr->GetManualRealm().Length()));
+		
+		return KErrArgument;
+	}
+    
+    TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_manual_username_literal), iDataPtr->GetManualUsername()));
+	if (err != KErrNone)
+	{
+		return err;
+	}
+
+    TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), iDataPtr->GetManualRealm()));
+	if (err != KErrNone)
+	{
+		return err;
+	}
+
+    if (*(iDataPtr->GetUseManualUsername()))
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), EAKAUseManualUsernameYes));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+    else
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), EAKAUseManualUsernameNo));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+
+    if (*(iDataPtr->GetUseManualRealm()))
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), EAKAUseManualRealmYes));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+    else
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), EAKAUseManualRealmNo));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+
+	// Last full authentication time should be made zero when EAP configurations are modified.
+	// This makes sure that the next authentication with this EAP would be full authentication
+	// instead of reauthentication even if the session is still valid.
+	
+	TRAP(err, iView.SetColL(iColSet->ColNo(KAKALastFullAuthTime), default_FullAuthTime));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: Resetting Full Auth Time since EAP-AKA settings are modified\n")));
+
+    TRAP(err, iView.PutL());
+        
+    return err;
+}
+
+
+TInt CEapAkaUiDataConnection::Close()
+{
+    if (iIsOpened == EFalse)
+    {
+        return KErrNone;
+    }
+
+	delete iDataPtr;
+	iDataPtr = NULL;
+	
+	delete iColSet;
+	iColSet = NULL;
+
+    iView.Close();
+
+    iUiConn = NULL;
+    
+    return KErrNone;
+}
+
+
+void CEapAkaUiDataConnection::FetchDataL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery,
+						&KAkaTableName,
+						&KServiceType,
+						iUiConn->GetIndexType(),
+						&KServiceIndex,
+						iUiConn->GetIndex(),
+						&KTunnelingType, 
+						iUiConn->GetTunnelingType());
+	// Evaluate view
+	User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	User::LeaveIfError(iView.EvaluateAll());	
+	// Get the first (and only) row
+	iView.FirstL();
+	iView.GetL();				
+	// Get column set so we get the correct column numbers
+	delete iColSet;
+	iColSet = NULL;
+	iColSet = iView.ColSetL();
+
+	// Start fetching the values
+
+	// use manual username
+	TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetUseManualUsername()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetUseManualUsername()) = ETrue;
+    }
+
+	// use manual realm
+	intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetUseManualRealm()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetUseManualRealm()) = ETrue;
+    }
+
+    // manual username
+    iDataPtr->GetManualUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_AKA_manual_username_literal)));
+
+	// manual realm
+	iDataPtr->GetManualRealm().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_AKA_manual_realm_literal)));
+
+    CleanupStack::PopAndDestroy(buf);
+}
--- a/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/inc/EapGeneric.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Class implements the generic EAP type interface.
-*
-*/
-
-/*
-* %version: 32 %
-*/
-
-#ifndef _EAP_GENERIC_H_
-#define _EAP_GENERIC_H_
-
-// INCLUDES
-#include <EapType.h>
-#include "eap_header.h"
-#include "eap_array.h"
-#include "abs_eap_plugin_message.h"
-#include "EapClientIf.h"
-
-// FORWARD DECLARATIONS
-class eap_am_network_id_c;
-class eap_method_settings_c;
-class abs_eap_am_tools_c;
-class eap_certificate_entry_c;
-class eap_plugin_message_base_c;
-
-
-enum eap_generic_wait_state_e
-{
-	eap_generic_wait_state_none,
-	eap_generic_wait_state_complete_get_configuration,
-	eap_generic_wait_state_complete_set_configuration,
-	eap_generic_wait_state_complete_delete_configuration,
-	eap_generic_wait_state_complete_copy_configuration,
-	eap_generic_wait_state_complete_get_type_info,
-	eap_generic_wait_state_complete_invoke_ui,
-	eap_generic_wait_state_complete_set_index,
-};
-
-const TUint KMaxStringLength = 64;
-
-// CLASS DECLARATION
-/**
-* Class implements the generic EAP type interface.
-*/
-class CEapGeneric
-: public CEapType
-, public abs_eap_plugin_message_c
-, public EapClientIf
-{
-public:		
-
-	/**
-	* Construction function. Called by ECom after the EAP generic plugin has been loaded.
-	* @param aIapInfo Pointer to the class that contains information about bearer type and unique index.
-	* @return Pointer to the instance.
-	*/
-	static CEapGeneric* NewL(SIapInfo* aIapInfo);	
-
-	/**
-	* Destructor does nothing.
-	*/
-	virtual ~CEapGeneric();
-	
-	/**
-	* Creates EAP protocol interface implementation. Instances an object that
-	* has been derived from eap_base_type_c that handles the communication 
-	* with EAP stack. 
-	* @param aTools Pointer to tools class.
-	* @param aPartner Used for callbacks to the stack.
-	* @param is_client_when_true Specifies whether the EAP type acts as a client or server.
-	* @param receive_network_id Network addresses
-	* @param eap_config_if Pointer used for call back to creater of stack (eapol_am_wlan_authentication_symbian_c class).
-	* @return Pointer to the implementation.
-	*/		
-	virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
-											   abs_eap_base_type_c* const aPartner,
-											   const bool is_client_when_true,
-											   const eap_am_network_id_c * const receive_network_id,
-											   abs_eap_configuration_if_c * const configuration_if);
-	
-
-
-	/**
-	* Gets information about EAP type. 
-	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
-	*/
-	CEapTypeInfo* GetInfoL();
-
-	/**
-	* Deletes EAP type configuration
-	*/	
-	void DeleteConfigurationL();
-
-	/**
-	* Returns the version of the interface that the EAP type implements.
-	* The client-side of the interface must always check the version with this function 
-	* and not call the functions that are not implemented. New functions must be
-	* added to the end of the interface so that the order of the old functions
-	* does not change.
-	* @return Integer indicating the version.
-	*/
-	TUint GetInterfaceVersion();
-
-	/**
-	* Sets the tunneling type. This is used to indicate that this type is run inside another 
-	* EAP type. 
-	* @param aTunnelingType Type number for the tunneling type
-	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
-
-	/**
-	* Changes the index of the saved parameters.
-	* @param aIndexType Indicates the bearer used for this connection.
-	* @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection.
-	* @return Pointer to the implementation.
-	*/
-	void SetIndexL(
-		const TIndexType aIndexType, 
-		const TInt aIndex );
-		
-	/**
-	* Sets the EAP types configuration
-	* @param aSettings Structure containing the settings
-	*/
-	void SetConfigurationL(const EAPSettings& aSettings);
-
-	/**
-	* Gets the EAP types configuration
-	* @param aSettings Structure containing the settings
-	*/
-	void GetConfigurationL(EAPSettings& aSettings);
-
-	/**
-	* Copies the EAP types configuration
-	* @param aDestinationIndex ID to where copy the settings.
-	*/
-	void CopySettingsL(const TIndexType aDestinationIndexType, const TInt aDestinationIndex);
-
-	eap_status_e complete_get_configuration(
-		const eap_method_settings_c * const internal_settings);
-
-	eap_status_e complete_set_configuration(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_delete_configuration(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_copy_configuration(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_set_index(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_get_type_info(
-		const eap_method_settings_c * const internal_settings);
-
-	eap_status_e complete_invoke_ui(
-		const eap_method_settings_c * const internal_settings);
-
-protected:
-
-	/**
-	* Constructor initialises member variables.
-	*/
-	CEapGeneric(
-		const TIndexType aIndexType,
-		const TInt aIndex,
-		const TEapExpandedType aEapType);
-
-	void ConstructL();
-
-private:
-
-	void Activate();
-
-	void Complete();
-
-	void WaitCompletion();
-
-	void SetCompletionStatusIfStillOk(const eap_status_e status);
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	eap_plugin_message_base_c * const m_server;
-
-	CActiveSchedulerWait iWait;
-
-	// Bearer type
-	TIndexType iIndexType;
-
-	// Unique index
-	TInt iIndex;
-
-	TEapExpandedType iEapType;
-
-	// Tunneling type
-	eap_type_value_e iTunnelingType;
-	bool iTunnelingTypePresent;
-
-	eap_generic_wait_state_e iWaitState;
-
-	eap_status_e iCompletionStatus;
-
-	TRequestStatus iAsyncronousStatus;
-
-
-
-	TBuf<KMaxStringLength> iReleaseDate;
-	TBuf<KMaxStringLength> iEapTypeVersion;
-	TBuf<KMaxStringLength> iManufacturer;
-
-	EAPSettings * ipEAPSettings;
-};
-
-#endif // _EAP_GENERIC_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1179 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 57 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 739 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-// INCLUDE FILES
-
-#include "EapGeneric.h"
-#include "EapConversion.h"
-#include "eap_base_type.h"
-#include "eap_method_settings.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
-
-// The version number of this interface.
-const TUint KInterfaceVersion = 1;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-CEapGeneric::CEapGeneric(
-	const TIndexType aIndexType,	
-	const TInt aIndex,
-	const TEapExpandedType aEapType)
-: m_am_tools(abs_eap_am_tools_c::new_abs_eap_am_tools_c())
-, m_server(eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(
-		m_am_tools,
-		this))
-, iIndexType(aIndexType)
-, iIndex(aIndex)
-, iEapType(aEapType)
-, iTunnelingType(eap_type_none)
-, iTunnelingTypePresent(false)
-, iWaitState(eap_generic_wait_state_none)
-, iCompletionStatus(eap_status_process_general_error)
-
-, ipEAPSettings(0)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::CEapGeneric(): this=0x%08x, aIndexType=%d, aIndex=%d.\n"),
-		this,
-		aIndexType,
-		aIndex));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::CEapGeneric()");
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::ConstructL()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::ConstructL(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::ConstructL()");
-
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_server == 0
-		|| m_server->get_is_valid() == false)
-	{
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
-		delete m_server;
-
-		User::Leave(KErrNoMemory);
-	}
-
-	eap_status_e status = m_server->configure();
-	if (status != eap_status_ok)
-	{
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
-		delete m_server;
-
-		User::Leave(KErrNoMemory);
-	}
-}
-
-// ----------------------------------------------------------
-
-CEapGeneric* CEapGeneric::NewL(SIapInfo *aIapInfo)
-{
-	CEapGeneric* self = new(ELeave) CEapGeneric(aIapInfo->indexType, aIapInfo->index, aIapInfo->aEapType);
-
-	CleanupStack::PushL(self);
-
-	self->ConstructL();
-
-	CleanupStack::Pop();
-
-	return self;
-}
-
-// ----------------------------------------------------------
-
-CEapGeneric::~CEapGeneric()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::~CEapGeneric(): this=0x%08x.\n"),
-		this));
-
-	// Do not use m_am_tools, because it will be destroyed before return.
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapGeneric::~CEapGeneric()"));
-
-	if (m_server != 0)
-	{
-		m_server->shutdown();
-	}
-	delete m_server;
-
-	abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
-}
-
-// ----------------------------------------------------------
-
-#ifdef USE_EAP_SIMPLE_CONFIG
-
-eap_base_type_c* CEapGeneric::GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
-											   abs_eap_base_type_c* const /* aPartner */,
-											   const bool /* is_client_when_true */,
-											   const eap_am_network_id_c * const /* receive_network_id */,
-											   abs_eap_configuration_if_c * const /*configuration_if*/)
-	
-#else
-	
-eap_base_type_c* CEapGeneric::GetStackInterfaceL(abs_eap_am_tools_c* const aTools, 
-											abs_eap_base_type_c* const /* aPartner */,
-											const bool /* is_client_when_true */,
-											const eap_am_network_id_c * const /* receive_network_id */)
-	
-#endif // #ifdef USE_EAP_SIMPLE_CONFIG
-{
-	EAP_UNREFERENCED_PARAMETER(aTools);
-	// This class does not have stack interface.
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ERROR: CEapGeneric::GetStackInterfaceL(): this=0x%08x\n"),
-		this));
-
-	EAP_ASSERT_ANYWAY_TOOLS(aTools);
-
-	return 0;
-}
-
-//----------------------------------------------------------------
-
-void CEapGeneric::Activate()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::Activate(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::Activate()");
-
-	iAsyncronousStatus = KRequestPending;
-}
-
-//----------------------------------------------------------------
-
-void CEapGeneric::Complete()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::Complete(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::Complete()");
-
-	iAsyncronousStatus = KErrNone;
-
-	// This is needed to continue the execution after Wait.Start(); 
-	iWait.AsyncStop();
-}
-
-//----------------------------------------------------------------
-
-void CEapGeneric::WaitCompletion()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::WaitCompletion(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::WaitCompletion()");
-
-	while (iAsyncronousStatus == KRequestPending)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapGeneric::WaitCompletion(): calls iWait.Start()\n")));
-
-		iWait.Start();
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapGeneric::WaitCompletion(): iWait.Start() continue, iAsyncronousStatus=%u\n"),
-			iAsyncronousStatus.Int()));
-	}
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::SetCompletionStatusIfStillOk(const eap_status_e status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::SetCompletionStatusIfStillOk(): iCompletionStatus=%u=%s, status=%d=%s\n"),
-		iCompletionStatus,
-		eap_status_string_c::get_status_string(iCompletionStatus),
-		status,
-		eap_status_string_c::get_status_string(status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetCompletionStatusIfStillOk()");
-
-	if (iCompletionStatus == eap_status_ok)
-	{
-		iCompletionStatus = status;
-	}
-}
-
-// ----------------------------------------------------------
-
-
-
-// ----------------------------------------------------------
-
-CEapTypeInfo* CEapGeneric::GetInfoL()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::GetInfoL(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::GetInfoL()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-	if (internal_settings == 0)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
-	}
-
-	iCompletionStatus = eap_status_process_general_error;
-
-	eap_status_e status = m_server->get_type_info(internal_settings);
-
-	delete internal_settings;
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_get_type_info;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-
-	CEapTypeInfo* info = new(ELeave) CEapTypeInfo(
-		iReleaseDate, 
-		iEapTypeVersion,
-		iManufacturer);
-
-	return info;
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::DeleteConfigurationL()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::DeleteConfigurationL(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::DeleteConfigurationL()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-	if (internal_settings == 0)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
-	}
-	
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
-		&iEapType,
-		&(internal_settings->m_EAPType));
-	if (error != KErrNone)
-	{
-		delete internal_settings;
-
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::Leave(error);
-	}
-	iCompletionStatus = eap_status_process_general_error;
-
-	eap_status_e status = m_server->delete_configuration(internal_settings);
-
-	delete internal_settings;
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_delete_configuration;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-}
-
-// ----------------------------------------------------------
-
-TUint CEapGeneric::GetInterfaceVersion()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::GetInterfaceVersion(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::GetInterfaceVersion()");
-
-	return KInterfaceVersion;
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::SetTunnelingType(const TEapExpandedType aTunnelingType)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::SetTunnelingType(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetTunnelingType()");
-
-    EAP_TRACE_DATA_DEBUG_SYMBIAN(
-        (EAPL("CEapGeneric::SetTunnelingType - tunneling type"),
-        aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
-
-    iTunnelingTypePresent = true;
-
-	eap_type_value_e aInternalType;
-
-	TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-	        &aTunnelingType,
-	        &aInternalType);
-	if (error != KErrNone)
-	{
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-	}
-
-	iTunnelingType = aInternalType;
-	
-}
-
-
-// ----------------------------------------------------------
-
-void CEapGeneric::SetIndexL(
-		const TIndexType aIndexType, 
-		const TInt aIndex )
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::SetIndexL(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetIndexL()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-	if (internal_settings == 0)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
-	}
-	
-	internal_settings->m_IndexType = aIndexType;
-	internal_settings->m_Index = aIndex;
-
-	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
-		&iEapType,
-		&(internal_settings->m_EAPType));
-	if (error != KErrNone)
-	{
-		delete internal_settings;
-
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::Leave(error);
-	}
-
-	iCompletionStatus = eap_status_process_general_error;
-
-	eap_status_e status = m_server->delete_configuration(internal_settings);
-
-	if (status != eap_status_ok)
-	{
-		delete internal_settings;
-
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_delete_configuration;
-	Activate();
-	WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		delete internal_settings;
-
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
-		&iEapType,
-		&(internal_settings->m_EAPType));
-	if (error != KErrNone)
-	{
-		delete internal_settings;
-
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::Leave(error);
-	}
-
-	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
-	internal_settings->m_TunnelingType = iTunnelingType;
-
-	internal_settings->m_DestinationIndexAndTypePresent = true;
-	internal_settings->m_DestinationIndexType = aIndexType;
-	internal_settings->m_DestinationIndex = aIndex;
-
-	iCompletionStatus = eap_status_process_general_error;
-
-	status = m_server->set_index(internal_settings);
-
-	delete internal_settings;
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_set_index;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::SetConfigurationL(const EAPSettings& aSettings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::SetConfigurationL(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetConfigurationL()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-	if (internal_settings == 0)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
-	}
-
-	eap_status_e status(eap_status_process_general_error);
-
-	TInt error(KErrNone);
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
-	internal_settings->m_TunnelingType = iTunnelingType;
-
-	error = CEapConversion::ConvertEAPSettingsToInternalType(
-		m_am_tools,
-		&aSettings,
-		internal_settings);
-	if(error == KErrNone)
-	{
-		TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
-			&iEapType,
-			&(internal_settings->m_EAPType));
-		if (error != KErrNone)
-		{
-			delete internal_settings;
-
-			(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-			User::Leave(error);
-		}
-
-		iCompletionStatus = eap_status_process_general_error;
-
-		status = m_server->set_configuration(internal_settings);
-	}
-	else
-	{
-		status = m_am_tools->convert_am_error_to_eapol_error(error);
-	}
-
-	delete internal_settings;
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_set_configuration;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::GetConfigurationL(EAPSettings& aSettings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::GetConfigurationL(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::GetConfigurationL()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-	if (internal_settings == 0)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
-		&iEapType,
-		&(internal_settings->m_EAPType));
-	if (error != KErrNone)
-	{
-		delete internal_settings;
-
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::Leave(error);
-	}
-
-	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
-	internal_settings->m_TunnelingType = iTunnelingType;
-
-	ipEAPSettings = &aSettings;
-
-	iCompletionStatus = eap_status_process_general_error;
-
-	eap_status_e status = m_server->get_configuration(internal_settings);
-
-	delete internal_settings;
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_get_configuration;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneric::CopySettingsL(
-	const TIndexType aDestinationIndexType,
-	const TInt aDestinationIndex)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::CopySettingsL(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::CopySettingsL()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-	if (internal_settings == 0)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
-	}
-
-	internal_settings->m_IndexType = aDestinationIndexType;
-	internal_settings->m_Index = aDestinationIndex;
-
-	iCompletionStatus = eap_status_process_general_error;
-
-	eap_status_e status = m_server->delete_configuration(internal_settings);
-
-	if (status != eap_status_ok)
-	{
-		delete internal_settings;
-
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_delete_configuration;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		delete internal_settings;
-
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
-		&iEapType,
-		&(internal_settings->m_EAPType));
-	if (error != KErrNone)
-	{
-		delete internal_settings;
-
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::Leave(error);
-	}
-
-	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
-	internal_settings->m_TunnelingType = iTunnelingType;
-
-	internal_settings->m_DestinationIndexAndTypePresent = true;
-	internal_settings->m_DestinationIndexType = aDestinationIndexType;
-	internal_settings->m_DestinationIndex = aDestinationIndex;
-
-	iCompletionStatus = eap_status_process_general_error;
-
-	status = m_server->copy_configuration(internal_settings);
-
-	delete internal_settings;
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status)));
-	}
-
-	iWaitState = eap_generic_wait_state_complete_copy_configuration;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
-	}
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_get_configuration(
-	const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_get_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		internal_settings->m_completion_status,
-		eap_status_string_c::get_status_string(internal_settings->m_completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_get_configuration()");
-
-	if (internal_settings == 0)
-	{
-		iCompletionStatus = eap_status_illegal_parameter;
-
-		Complete();
-
-		return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-	}
-
-	iCompletionStatus = internal_settings->m_completion_status;
-
-	if (iWaitState == eap_generic_wait_state_complete_get_configuration
-		&& iCompletionStatus == eap_status_ok)
-	{
-		if (ipEAPSettings != 0
-			&& internal_settings != 0)
-		{
-			TInt error(KErrNone);
-
-			error = CEapConversion::ConvertInternalTypeToEAPSettings(
-				m_am_tools,
-				internal_settings,
-				ipEAPSettings);
-			if(error != KErrNone)
-			{
-				SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)));
-			}
-		}
-		else
-		{
-			SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter));
-		}
-	}
-	else if (iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_set_configuration(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_set_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_set_configuration()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_generic_wait_state_complete_set_configuration
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_delete_configuration(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_delete_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_delete_configuration()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_generic_wait_state_complete_delete_configuration
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_copy_configuration(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_copy_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_copy_configuration()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_generic_wait_state_complete_copy_configuration
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_set_index(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_set_index(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_set_index()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_generic_wait_state_complete_set_index
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_get_type_info(
-	const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_get_type_info(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		internal_settings->m_completion_status,
-		eap_status_string_c::get_status_string(internal_settings->m_completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_get_type_info()");
-
-	if (internal_settings == 0)
-	{
-		iCompletionStatus = eap_status_illegal_parameter;
-
-		Complete();
-
-		return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-	}
-
-	iCompletionStatus = internal_settings->m_completion_status;
-
-	if (iWaitState == eap_generic_wait_state_complete_get_type_info
-		&& iCompletionStatus == eap_status_ok)
-	{
-		if (internal_settings != 0
-			&& internal_settings->m_MethodInfoPresent == true)
-		{
-			TInt error(KErrNone);
-
-			error = CEapConversion::ConvertFromInternalToBuf16(
-				m_am_tools,
-				&(internal_settings->m_KReleaseDate),
-				&iReleaseDate);
-
-			if(error == KErrNone)
-			{
-				error = CEapConversion::ConvertFromInternalToBuf16(
-					m_am_tools,
-					&(internal_settings->m_KEapTypeVersion),
-					&iEapTypeVersion);
-			}
-
-			if(error == KErrNone)
-			{
-				error = CEapConversion::ConvertFromInternalToBuf16(
-					m_am_tools,
-					&(internal_settings->m_KManufacturer),
-					&iManufacturer);
-			}
-
-			if(error != KErrNone)
-			{
-				SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)));
-			}
-		}
-		else
-		{
-			SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter));
-		}
-	}
-	else if (iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneric::complete_invoke_ui(
-	const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneric::complete_invoke_ui(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		internal_settings->m_completion_status,
-		eap_status_string_c::get_status_string(internal_settings->m_completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_invoke_ui()");
-
-	if (internal_settings == 0)
-	{
-		iCompletionStatus = eap_status_illegal_parameter;
-
-		Complete();
-
-		return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-	}
-
-	iCompletionStatus = internal_settings->m_completion_status;
-
-	if (iWaitState == eap_generic_wait_state_complete_invoke_ui
-		&& iCompletionStatus == eap_status_ok)
-	{
-		if (internal_settings != 0
-			&& internal_settings->m_ButtonIdPresent == true)
-		{
-
-		}
-		else
-		{
-			SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter));
-		}
-	}
-	else if (iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-}
-
-
-//--------------------------------------------------
-//--------------------------------------------------
-//--------------------------------------------------
-
-eap_am_message_if_c * eap_am_message_if_c::new_eap_am_message_if_c(
-	abs_eap_am_tools_c * const tools)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_message_if_c::new_eap_am_server_general_settings_c()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_message_if_c::new_eap_am_message_if_c()");
-
-    eap_am_message_if_c *client_if = new eap_am_message_if_symbian_c(tools, EEapPluginNew);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_client_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_general_settings_c(): client_if->shutdown()\n")));
-
-			client_if->shutdown();
-		}
-		return 0;
-	}
-
-	automatic_client_if.do_not_free_variable();
-
-	return client_if;
-
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_plugin_message_base_c * eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_plugin_message_c * const partner)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_plugin_message_base_c::new_eap_plugin_client_message_if_c()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: eap_plugin_message_base_c::new_eap_plugin_client_message_if_c()");
-
-	eap_am_message_if_c *client_if = eap_am_message_if_c::new_eap_am_message_if_c(
-		tools);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_client_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(): client_if->shutdown()\n")));
-
-			(void) client_if->shutdown();
-		}
-		return 0;
-	}
-
-	eap_plugin_client_message_if_c * new_session_core = new eap_plugin_client_message_if_c(tools, client_if, partner);
-
-	eap_automatic_variable_c<eap_plugin_client_message_if_c> automatic_new_session_core(
-		tools,
-		new_session_core);
-
-	if (new_session_core == 0
-		|| new_session_core->get_is_valid() == false)
-	{
-		// ERROR.
-		if (new_session_core != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(): new_session_core->shutdown()\n")));
-
-			new_session_core->shutdown();
-		}
-		return 0;
-	}
-
-	client_if->set_partner(new_session_core);
-
-	automatic_client_if.do_not_free_variable();
-	automatic_new_session_core.do_not_free_variable();
-
-	return new_session_core;
-}
-
-// ----------------------------------------------------------
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGenericProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 734 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-// INCLUDE FILES
-#include "EapGeneric.h"
-#include <e32base.h>
-#include <ecom/implementationproxy.h>
-#include "EapolUID.h"
-
-const TImplementationProxy ImplementationTable[] = 
-{
-	{{EAP_GENERIC_IMPLEMENTATION_UID}, reinterpret_cast<TProxyNewLPtr> (CEapGeneric::NewL)}
-};
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-	return ImplementationTable;
-}
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 16 %
+* %version: 15.1.5 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -85,15 +85,11 @@
 
 	if(IsActive())
 	{
-		Cancel();		
+		Cancel();
 	}
 	
-	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Closing RMobilePhone and MMETEL.\n")));
-	
-	iPhone.Close();
-	iServer.Close(); // Phone module is unloaded automatically when RTelServer session is closed
-	iCustomAPI.Close();	
-		
+	DisconnectMMETel();
+
 	delete iAuthenticationData;
 	iAuthenticationData = NULL;
 		
@@ -169,13 +165,18 @@
  
 void CEapSimIsaInterface::DoCancel()
 {
-	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel() - Cancelling MMETEL query.\n") ) );
+	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel(): iQueryId=%d\n"),
+		iQueryId) );
 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapSimIsaInterface::DoCancel()");
 
 	if (iQueryId == EQuerySRESandKC)
 	{
+		iQueryId = EQueryNone;
+
 		// Cancel the request.
 		iCustomAPI.CancelAsyncRequest( ECustomGetSimAuthenticationDataIPC );
+
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel(): CANCELLED CUSTOM API REQUEST\n") ) );
 	}
 }
 
@@ -208,7 +209,9 @@
 				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("IMSI"),
 						iSubscriberId.Ptr(),
 						iSubscriberId.Size()));
-				
+
+				iQueryId = EQueryNone;
+
 				// Convert the IMSI from unicode to UTF8 characters.
 
 				completion_status = imsiInUnicode.set_buffer(iSubscriberId.Ptr(), iSubscriberId.Size(), false, false);
@@ -228,7 +231,9 @@
 						EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ISA interface: Could not convert IMSI from UNICODE to UTF8. Not proceeding further here.\n")));
 					}
 				}
-							
+
+				DisconnectMMETel();
+
 				TRAP(error, iParent->complete_SIM_imsi_L(&imsi, completion_status));
 			
 			break;
@@ -244,6 +249,8 @@
 						iEAPSim.iKC.Ptr(),
 						iEAPSim.iKC.Size()));
 						
+				iQueryId = EQueryNone;
+
 				// Trim the length of SRES -  Remove once the correct length is set for SRES, may be by the API or some where else.
 				iEAPSim.iSRES.SetLength(SIM_SRES_LENGTH);
 				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SRES after Trimming"),
@@ -253,9 +260,8 @@
 				delete iAuthenticationData;
 				iAuthenticationData = NULL;
 							
-				// Close the custom API since we don't need it any more.
-				iCustomAPI.Close();
-			
+				DisconnectMMETel();
+
 				// Complete
 				TRAP(error, iParent->complete_SIM_kc_and_sres_L(iEAPSim.iKC, iEAPSim.iSRES, completion_status));			
 			
@@ -268,9 +274,9 @@
 		
 		if( EQuerySRESandKC == iQueryId )
 		{
-			// We have to close the custom API anyway. 
-			// Rest will be taken care in destructor.
-			iCustomAPI.Close();	
+			iQueryId = EQueryNone;
+
+			DisconnectMMETel();
 			
 			// Handle duplicate RAND values.
 			// If duplicate RAND values are being used, we get KErrArgument here.
@@ -291,13 +297,19 @@
 		{
 			completion_status = m_am_tools->convert_am_error_to_eapol_error(iStatus.Int());
 			
+			iQueryId = EQueryNone;
+
+			DisconnectMMETel();
+
 			TRAP(error, iParent->complete_SIM_imsi_L(&imsi, completion_status));
 		}
 	}	
-	
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
+//--------------------------------------------------
+
 TInt CEapSimIsaInterface::CreateMMETelConnectionL()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -362,4 +374,30 @@
     return errorCode;	
 }
 
+void CEapSimIsaInterface::DisconnectMMETel()
+{
+	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DisconnectMMETel()\n")));
+	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapSimIsaInterface::DisconnectMMETel()");
+
+	iQueryId = EQueryNone;
+
+	// Close the custom API since we don't need it any more.
+	iCustomAPI.Close();
+
+    if( iMMETELConnectionStatus )
+    {
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Closing RMobilePhone and MMETEL.\n")));
+		
+		iPhone.Close();
+		iServer.Close(); // Phone module is unloaded automatically when RTelServer session is closed
+		
+		iMMETELConnectionStatus = EFalse;
+    }
+    else
+    {
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("RMobilePhone and MMETEL already closed.\n")));    	
+    }	
+}
+
+
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 47.1.10 %
+* %version: 50 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -39,7 +39,7 @@
 #include "EapSimDbDefaults.h"
 #include "EapSimDbParameterNames.h"
 #include "EapSimDbUtils.h"
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 
 #include <d32dbms.h>	// For DBMS
 #include <s32strm.h> 	// For RReadStream
@@ -108,6 +108,16 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	m_tunneling_vendor_type = m_tunneling_type.get_vendor_type();
+
+#else
+
+	m_tunneling_vendor_type = static_cast<TUint>(m_tunneling_type);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	if (receive_network_id != 0
 		&& receive_network_id->get_is_valid_data() == true)
 	{
@@ -131,10 +141,6 @@
 
 void eap_am_type_gsmsim_symbian_c::ConstructL()
 {
-	TInt error = m_session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_gsmsim_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
 	// Open/create database
 	EapSimDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type);	
 	
@@ -284,22 +290,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KXKey,
-		&KK_aut,
-		&KK_encr,
-		&KReauthCounter,
-		&KSimTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -361,7 +354,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished(
+eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished(
 	const bool true_when_successful,
 	const eap_gsmsim_authentication_type_e authentication_type,
 	const eap_type_gsmsim_identity_type identity_type)
@@ -434,22 +427,9 @@
 	TPtr sqlStatement = buf->Des();
 
 	// Form the query
-	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KXKey,
-		&KK_aut,
-		&KK_encr,
-		&KReauthCounter,
-		&KSimTableName,
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	RDbView view;
 	// Evaluate view
@@ -553,19 +533,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KReauthCounter,
-		&KSimTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KReauthCounter, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -663,7 +633,7 @@
 	{
 		eap_variable_data_c simulator_sim_algorithm(m_am_tools);
 
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_GSMSIM_simulator_sim_algorithm.get_field(),
 			&simulator_sim_algorithm);
 		if (status == eap_status_ok
@@ -700,7 +670,7 @@
 	}
 	
 	{
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_GSMSIM_simulator_sim_ki.get_field(),
 			&m_simulator_sim_ki);
 		if (status == eap_status_ok
@@ -749,7 +719,7 @@
 		// Read Maximum Session Validity Time from the config file
 		eap_variable_data_c sessionTimeFromFile(m_am_tools);
 		
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_GSMSIM_max_session_validity_time.get_field(),
 			&sessionTimeFromFile);
 		
@@ -934,19 +904,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KPseudonymId,
-		&KSimTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KPseudonymId, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	// Evaluate view
 	RDbView view;
@@ -1041,19 +1001,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KReauthId,
-		&KSimTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KReauthId, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 	// Evaluate view
 	RDbView view;
@@ -1143,20 +1093,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLInsert,
-		&KPreviousIMSI,
-		&KSimTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
-
+	_LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, &KPreviousIMSI, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	// Evaluate view
 	RDbView view;
 	
@@ -1278,22 +1217,11 @@
 
 	// Query all the relevant parameters
 
-	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KReauthId,
-		&KReauthCounter,
-		&KPseudonymId,
-		&KPreviousIMSI,
-		&KSimTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KReauthId, &KReauthCounter, &KPseudonymId,
+						&KPreviousIMSI, &KSimTableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -1648,7 +1576,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query()
+eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 #if defined (USE_EAP_GSMSIM_INTERFACE) && !defined(__WINS__)
@@ -2012,7 +1940,7 @@
 //-------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query()
+eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 		
@@ -2146,19 +2074,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQueryRow,
-		&unicodeString,
-		&KSimTableName, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow, &unicodeString, &KSimTableName, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -2543,7 +2461,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query()
+eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -2710,20 +2628,11 @@
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&cf_str_EAP_GSMSIM_max_session_validity_time_literal,
-		&KGSMSIMLastFullAuthTime,
-		&KSimTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &cf_str_EAP_GSMSIM_max_session_validity_time_literal,
+						&KGSMSIMLastFullAuthTime, &KSimTableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -2841,19 +2750,10 @@
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KGSMSIMLastFullAuthTime,
-		&KSimTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KGSMSIMLastFullAuthTime, &KSimTableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,14 +16,14 @@
 */
 
 /*
-* %version: 19 %
+* %version: 10.1.2 %
 */
 
 #ifndef _EAPSIM_H_
 #define _EAPSIM_H_
 
 // INCLUDES
-#include <EapTypePlugin.h>
+#include <EapType.h>
 #include "eap_header.h"
 
 // FORWARD DECLARATIONS
@@ -33,7 +33,7 @@
 /**
 * Class that implements the generic EAP type interface. Implements EAP SIM protocol.
 */
-class CEapSim : public CEapTypePlugin
+class CEapSim : public CEapType
 {
 public:		
 
@@ -87,13 +87,16 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 	
-
+	/**
+	* Invokes the configuration UI.
+	**/
+	TInt InvokeUiL();
 	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	CEapTypeInfo* GetInfoL();
+	CEapTypeInfo* GetInfoLC();
 
 	/**
 	* Deletes EAP type configuration
@@ -115,7 +118,7 @@
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
+	void SetTunnelingType(const TInt aTunnelingType);
 
 	/**
 	* Changes the index of the saved parameters.
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,24 +16,49 @@
 */
 
 /*
-* %version: %
+* %version: 18 %
 */
 
 #if !defined(_EAPSIMDBDEFAULTS_H_)
 #define _EAPSIMDBDEFAULTS_H_
 
-#include "EapPluginDbDefaults.h"
+enum TGSMSIMUsePseudonymId 
+{
+	EGSMSIMUsePseudonymIdNo,		// False. Don't use pseudonym id.
+	EGSMSIMUsePseudonymIdYes,		// True. Use pseudonym id.
+	EGSMSIMUsePseudonymIdNotValid 	// This indicates that the value is not configured.
+};
+
+enum TGSMSIMUseManualRealm 
+{
+	EGSMSIMUseManualRealmNo,		// False. Don't use Manual Realm.
+	EGSMSIMUseManualRealmYes,		// True. Use Manual Realm.
+};
+
+enum TGSMSIMUseManualUsername 
+{
+	EGSMSIMUseManualUsernameNo,		// False. Don't use Manual Username.
+	EGSMSIMUseManualUsernameYes,		// True. Use Manual Username.
+};
 
 // LOCAL CONSTANTS
-const TInt default_EAP_GSMSIM_use_manual_realm = EEapDbFalse;
+const TInt default_EAP_GSMSIM_use_manual_realm = EGSMSIMUseManualRealmNo;
+_LIT(default_EAP_GSMSIM_manual_realm, "");
 
-const TInt default_EAP_GSMSIM_use_manual_username = EEapDbFalse;
+const TInt default_EAP_GSMSIM_use_manual_username = EGSMSIMUseManualUsernameNo;
+_LIT(default_EAP_GSMSIM_manual_username, "");
 
-const TInt default_EAP_GSMSIM_use_pseudonym_identity = EEapDbTrue; // Default is, use pseudonym identity.
+const TInt default_EAP_GSMSIM_use_pseudonym_identity = EGSMSIMUsePseudonymIdYes; // Default is, use pseudonym identity.
+
+const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file.
+const TInt64 default_FullAuthTime = 0;
 
 const TUint KMaxPseudonymIdLengthInDB = 1020; // This is the max possible length of an EAP packet.
 const TUint KMaxReauthIdLengthInDB = 1020; //  Hope pseudonym id or reauth id can't be more than that.
 
+const TUint KMaxManualUsernameLengthInDB = 255;
+const TUint KMaxManualRealmLengthInDB = 255;
+
 const TUint KMaxIMSILengthInDB = 15;
 
 const TUint KMaxXKeyLengthInDB = 20;
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 12.1.2 %
 */
 
 #if !defined(_EAPSIMDBPARAMETERNAMES_H_)
@@ -28,7 +28,6 @@
 
 _LIT(KServiceType, "ServiceType");
 _LIT(KServiceIndex, "ServiceIndex");
-_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId");
 _LIT(KTunnelingType, "TunnelingType");
 _LIT(KPseudonymId, "PseudonymId");
 _LIT(KXKey, "XKEY");
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.7 %
+* %version: 10 %
 */
 
 #ifndef _EAPSIMDBUTILS_H_
@@ -29,10 +29,21 @@
 
 // LOCAL CONSTANTS
 
-// For EAP-SIM private database. Database will be in the private folder of EAP-server (20026FCB).
-// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h.
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP SIM secure database.
+// Full path is not needed. The database eapsim.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eapsim.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KDatabaseName, "c:eapsim.dat");
 
-_LIT(KEapSimDatabaseName, "eapsim.dat");
+_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KDatabaseName, "c:\\system\\data\\eapsim.dat");
+
+#endif //#ifdef SYMBIAN_SECURE_DBMS
 
 _LIT(KSimTableName, "eapsim");
 
@@ -43,8 +54,8 @@
 public:
 	
 	static void OpenDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
@@ -88,6 +99,7 @@
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
+
 };
 
 #endif // _EAPSIMDBUTILS_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef _EAPSIMGLOBAL_H_
@@ -26,9 +26,9 @@
 
 // Release date must be of format YYYYMMDD:. Will be localised automatically. 
 // Note that days and months start from 0.
-_LIT(KReleaseDate, ""); 
+_LIT(KReleaseDate, "20040829:"); 
 _LIT(KEapTypeVersion, "1.0");
-_LIT(KManufacturer, "");
+_LIT(KManufacturer, "Nokia");
 _LIT(KNokiaSignature, ""); // Not used
 _LIT(KExtraInfo1, ""); // Not used
 _LIT(KExtraInfo2, ""); // Not used
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,6 +16,6 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,14 +16,14 @@
 */
 
 /*
-* %version: 7.1.2 %
+* %version: 9 %
 */
 
 #ifndef _EAPSIMPLUGIN_H_
 #define _EAPSIMPLUGIN_H_
 
 #include "EapPluginInterface.h"
-#include <ecom/implementationproxy.h>
+#include <ecom/ImplementationProxy.h>
 
 const TUint KVersion = 1;
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,10 +16,10 @@
 */
 
 /*
-* %version: 3.1.2 %
+* %version: 5 %
 */
 
-#include <ecom/registryinfo.rh>
+#include <ecom/RegistryInfo.rh>
 RESOURCE REGISTRY_INFO theInfo
 {
 dll_uid = 0x26666669;
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 9 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 6.1.3 %
+* %version: 9 %
 */
 
 //  INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 26 %
+* %version: 16.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -38,9 +38,10 @@
 #include <EapTypeInfo.h>
 #include "EapSimDbUtils.h"
 
-#include "EapConversion.h"
+#include <EapSimUiConnection.h>
+#include "EapSimUi.h"
+
 #include "eap_am_tools_symbian.h"
-#include "EapTraceSymbian.h"
 
 // LOCAL CONSTANTS
 
@@ -136,14 +137,35 @@
 }
 
 // ----------------------------------------------------------
+TInt CEapSim::InvokeUiL()
+{
+	TInt buttonId(0);
+	
+#ifdef USE_EAP_EXPANDED_TYPES
 
-CEapTypeInfo* CEapSim::GetInfoL()
+    CEapSimUiConnection uiConn(iIndexType, iIndex, iTunnelingType.get_vendor_type());
+	
+#else
+
+    CEapSimUiConnection uiConn(iIndexType, iIndex, iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	CEapSimUi* ui = CEapSimUi::NewL(&uiConn);
+	CleanupStack::PushL(ui);
+	buttonId = ui->InvokeUiL();
+	CleanupStack::PopAndDestroy(ui);
+	return buttonId;
+}
+// ----------------------------------------------------------
+CEapTypeInfo* CEapSim::GetInfoLC()
 {
 	CEapTypeInfo* info = new(ELeave) CEapTypeInfo(
 		(TDesC&)KReleaseDate, 
 		(TDesC&)KEapTypeVersion,
 		(TDesC&)KManufacturer);
 
+	CleanupStack::PushL(info);
 	return info;
 }
 
@@ -163,21 +185,18 @@
 
 // ----------------------------------------------------------
 
-void CEapSim::SetTunnelingType(const TEapExpandedType aTunnelingType)
+void CEapSim::SetTunnelingType(const TInt aTunnelingType)
 {
-
-EAP_TRACE_DATA_DEBUG_SYMBIAN(
-    (EAPL("CEapSim::SetTunnelingType - tunneling type"),
-    aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
+#ifdef USE_EAP_EXPANDED_TYPES
 
-eap_type_value_e aInternalType;
+	// Vendor id is eap_type_vendor_id_ietf always in this plugin.
+	iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType);
 
-TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-        &aTunnelingType,
-        &aInternalType);
+#else
 
-iTunnelingType = aInternalType;
+	iTunnelingType = static_cast<eap_type_value_e>(aTunnelingType);
 
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 }
 
 
@@ -203,16 +222,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::SetIndexL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapSimDbUtils::SetIndexL(
 		db, 
 		iIndexType, 
@@ -225,27 +241,20 @@
 	iIndexType = aIndexType;
 	iIndex = aIndex;
 	
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db
 }
 
 void CEapSim::SetConfigurationL(const EAPSettings& aSettings)
 {
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;	
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapSimDbUtils::SetConfigurationL(
 		db,
@@ -254,27 +263,20 @@
 		iIndex,
 		iTunnelingType);		
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 void CEapSim::GetConfigurationL(EAPSettings& aSettings)
 {
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapSimDbUtils::GetConfigurationL(
 		db,
@@ -283,11 +285,7 @@
 		iIndex,
 		iTunnelingType);
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 void CEapSim::CopySettingsL(
@@ -311,16 +309,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::CopySettingsL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapSimDbUtils::CopySettingsL(
 		db,
 		iIndexType,
@@ -330,11 +325,7 @@
 		aDestinationIndex, 
 		iTunnelingType);
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db
 	
 }
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 57 %
+* %version: 31.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -33,149 +33,161 @@
 #include "EapSimDbDefaults.h"
 #include "EapSimDbParameterNames.h"
 
-#include <EapTraceSymbian.h>
-#include "EapPluginTools.h"
+#include "eap_am_trace_symbian.h"
 
 const TInt KMaxSqlQueryLength = 2048;
 const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute.
 
 // ================= MEMBER FUNCTIONS =======================
 
-void EapSimDbUtils::OpenDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+void EapSimDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType,
+	const TInt aIndex, const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::OpenDatabaseL(): Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::OpenDatabaseL()\n"));
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"),
+	aIndexType,aIndex,aTunnelingVendorType) );
 
 	// 1. Open/create a database	
 	
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL - Created Secure DB for eapsim.dat. err=%d\n"), err));
 
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapSimDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL(): calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL(): Opened private DB for EAP-SIM. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// Non secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KDatabaseName);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL - Created Non-Secure DB for eapsim.dat. err=%d\n"), err));
+	
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	CleanupStack::PopAndDestroy( &fsSession ); // close fsSession
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName));
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eapsim table to database (ignore error if exists)
 	
-	// Table columns:
-	//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
-	//| ServiceType									| UNSIGNED INTEGER | KServiceType      |//
-	//| ServiceIndex								| UNSIGNED INTEGER | KServiceIndex     |//
-	//| TunnelingTypeVendorId                       | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType								| UNSIGNED INTEGER | KTunnelingType    |//
-	//| EAP_GSMSIM_use_manual_realm					| UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_realm_literal   |//
-	//| EAP_GSMSIM_manual_realm						| VARCHAR(255)	   | cf_str_EAP_GSMSIM_manual_realm_literal			   |//
-	//| EAP_GSMSIM_use_manual_username				| UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_username_literal|//
-	//| EAP_GSMSIM_manual_username					| VARCHAR(255)	   | cf_str_EAP_GSMSIM_manual_username_literal		   |//
-	//| PseudonymId									| LONG VARBINARY   | KPseudonymId      |//
-	//| XKEY										| BINARY(20)       | KXKey             |//
-	//| K_aut										| BINARY(16)       | KK_aut            |//
-	//| K_encr										| BINARY(16)       | KK_encr           |//
-	//| ReauthCounter								| UNSIGNED INTEGER | KReauthCounter    |//
-	//| ReauthId									| LONG VARBINARY   | KReauthId         |//
-	//| PreviousIMSI								| VARBINARY(15)	   | KPreviousIMSI	   |//
-	//| EAP_GSMSIM_use_pseudonym_identity 			| UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_pseudonym_identity_literal	   	|//
-	//| EAP_GSMSIM_max_session_validity_time		| BIGINT		   | cf_str_EAP_GSMSIM_max_session_validity_time_literal   |//
-	//| EAP_GSMSIM_last_full_authentication_time	| BIGINT		   | KGSMSIMLastFullAuthTime	|//
-	//////////////////////////////////////////////////////////////////////////////////////////////////
+// Table columns:
+//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
+//| ServiceType									| UNSIGNED INTEGER | KServiceType      |//
+//| ServiceIndex								| UNSIGNED INTEGER | KServiceIndex     |//
+//| TunnelingType								| UNSIGNED INTEGER | KTunnelingType    |//
+//| EAP_GSMSIM_use_manual_realm					| UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_realm_literal   |//
+//| EAP_GSMSIM_manual_realm						| VARCHAR(255)	   | cf_str_EAP_GSMSIM_manual_realm_literal			   |//
+//| EAP_GSMSIM_use_manual_username				| UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_username_literal|//
+//| EAP_GSMSIM_manual_username					| VARCHAR(255)	   | cf_str_EAP_GSMSIM_manual_username_literal		   |//
+//| PseudonymId									| LONG VARBINARY   | KPseudonymId      |//
+//| XKEY										| BINARY(20)       | KXKey             |//
+//| K_aut										| BINARY(16)       | KK_aut            |//
+//| K_encr										| BINARY(16)       | KK_encr           |//
+//| ReauthCounter								| UNSIGNED INTEGER | KReauthCounter    |//
+//| ReauthId									| LONG VARBINARY   | KReauthId         |//
+//| PreviousIMSI								| VARBINARY(15)	   | KPreviousIMSI	   |//
+//| EAP_GSMSIM_use_pseudonym_identity 			| UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_pseudonym_identity_literal	   	|//
+//| EAP_GSMSIM_max_session_validity_time		| BIGINT		   | cf_str_EAP_GSMSIM_max_session_validity_time_literal   |//
+//| EAP_GSMSIM_last_full_authentication_time	| BIGINT		   | KGSMSIMLastFullAuthTime	|//
+//////////////////////////////////////////////////////////////////////////////////////////////////
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLCreateTable, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S LONG VARBINARY, \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S UNSIGNED INTEGER, \
-		 %S LONG VARBINARY, \
-		 %S VARBINARY(%d), \
-		 %S UNSIGNED INTEGER, \
-		 %S BIGINT, \
-		 %S BIGINT)");
+	_LIT(KSQLCreateTable, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+												 %S UNSIGNED INTEGER, \
+												 %S UNSIGNED INTEGER, \
+												 %S UNSIGNED INTEGER, \
+												 %S VARCHAR(%d), \
+												 %S UNSIGNED INTEGER, \
+												 %S VARCHAR(%d), \
+												 %S LONG VARBINARY, \
+												 %S BINARY(%d), \
+												 %S BINARY(%d), \
+												 %S BINARY(%d), \
+												 %S UNSIGNED INTEGER, \
+												 %S LONG VARBINARY, \
+												 %S VARBINARY(%d), \
+												 %S UNSIGNED INTEGER, \
+												 %S BIGINT, \
+												 %S BIGINT)");
 												 
-	sqlStatement.Format(KSQLCreateTable,
-		&KSimTableName,
-		&KServiceType,
-		&KServiceIndex, 
-		&KTunnelingTypeVendorId,
-		&KTunnelingType,
-		&cf_str_EAP_GSMSIM_use_manual_realm_literal, 
-		&cf_str_EAP_GSMSIM_manual_realm_literal, KMaxRealmLengthInDB, 
-		&cf_str_EAP_GSMSIM_use_manual_username_literal, 
-		&cf_str_EAP_GSMSIM_manual_username_literal, KMaxUsernameLengthInDB, 
-		&KPseudonymId,
-		&KXKey, KMaxXKeyLengthInDB, 
-		&KK_aut, KMaxK_autLengthInDB, 
-		&KK_encr, KMaxK_encrLengthInDB, 
-		&KReauthCounter, 
-		&KReauthId, 
-		&KPreviousIMSI, KMaxIMSILengthInDB,
-		&cf_str_EAP_GSMSIM_use_pseudonym_identity_literal,														 
-		&cf_str_EAP_GSMSIM_max_session_validity_time_literal, 
-		&KGSMSIMLastFullAuthTime);
+	sqlStatement.Format(KSQLCreateTable, &KSimTableName, &KServiceType,
+														 &KServiceIndex, 
+														 &KTunnelingType,
+														 &cf_str_EAP_GSMSIM_use_manual_realm_literal, 
+														 &cf_str_EAP_GSMSIM_manual_realm_literal, KMaxManualRealmLengthInDB, 
+														 &cf_str_EAP_GSMSIM_use_manual_username_literal, 
+														 &cf_str_EAP_GSMSIM_manual_username_literal, KMaxManualUsernameLengthInDB, 
+														 &KPseudonymId,
+														 &KXKey, KMaxXKeyLengthInDB, 
+														 &KK_aut, KMaxK_autLengthInDB, 
+														 &KK_encr, KMaxK_encrLengthInDB, 
+														 &KReauthCounter, 
+														 &KReauthId, 
+														 &KPreviousIMSI, KMaxIMSILengthInDB,
+														 &cf_str_EAP_GSMSIM_use_pseudonym_identity_literal,														 
+														 &cf_str_EAP_GSMSIM_max_session_validity_time_literal, 
+														 &KGSMSIMLastFullAuthTime);
 																					
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 	
 	// 4. Check if database table contains a row for this service type and id  
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQueryRow,
-		&cf_str_EAP_GSMSIM_manual_realm_literal,
-		&KSimTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_GSMSIM_manual_realm_literal, &KSimTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
+		
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	// View must be closed when no longer needed
@@ -202,14 +214,13 @@
 		view.InsertL();
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), default_EAP_GSMSIM_use_manual_realm);	
-		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), default_EAP_realm);
+		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), default_EAP_GSMSIM_manual_realm);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), default_EAP_GSMSIM_use_manual_username);
-		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), default_EAP_username);
+		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), default_EAP_GSMSIM_manual_username);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), default_EAP_GSMSIM_use_pseudonym_identity);			
 		
@@ -219,20 +230,18 @@
 
 		view.PutL();
 		
-		CleanupStack::PopAndDestroy( colSet );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.
 		
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 	}
 	
+	CleanupStack::PopAndDestroy( buf ); // Delete buf	
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );	
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );	
-	CleanupStack::Pop( &aFileServerSession );
 }
 
-// ----------------------------------------------------------
-
 void EapSimDbUtils::SetIndexL(
 	RDbNamedDatabase& aDatabase, 		
 	const TIndexType aIndexType,
@@ -242,37 +251,25 @@
 	const TInt aNewIndex,
 	const eap_type_value_e aNewTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"),
-		aNewIndexType,
-		aNewIndex,
-		aNewTunnelingType.get_vendor_id(),
-		aNewTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::SetIndexL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aNewTunnelingVendorType = static_cast<TUint>(aNewTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KSimTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KSimTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -301,19 +298,16 @@
 	view.UpdateL();
 	
     view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aNewIndexType));
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapSimDbUtils::SetConfigurationL(
 	RDbNamedDatabase& aDatabase,
 	const EAPSettings& aSettings, 
@@ -321,23 +315,80 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d\n"),
+						aIndexType,aIndex, aTunnelingVendorType));
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the below values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Set these values for EAPType=%d"),aSettings.iEAPType) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, VerifyServerRealm=%d"),
+						aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) );
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::SetConfigurationL()\n"));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the below values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, RequireClientAuthentication=%d"),
+						aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, SessionValidityTime=%d minutes"),
+						aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) );
+												
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, CipherSuites Count=%d"),
+						aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) );
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"),
+						aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) );
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Certificates Count=%d"),
+						aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate details below: \n")) );
+	
+	for( TInt n=0; n < aSettings.iCertificates.Count(); n++ )
+	{
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) );
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SubjectName=%S"),
+						aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, IssuerName=%S"),
+						aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SerialNumber=%S"),
+						aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - SubjectKeyID present=%d"),
+						aSettings.iCertificates[n].iSubjectKeyIDPresent ) );						
+						
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), 
+													aSettings.iCertificates[n].iSubjectKeyID.Size() ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, Thumbprint=%S"),
+						aSettings.iCertificates[n].iThumbprintPresent, &(aSettings.iCertificates[n].iThumbprint) ) );
+	}						
 
-	EAP_TRACE_SETTINGS(&aSettings);
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, EncapsulatedEAPTypes Count=%d"),
+						aSettings.iEncapsulatedEAPTypesPresent, aSettings.iEncapsulatedEAPTypes.Count()) );
+	for( TInt m=0; m < aSettings.iEncapsulatedEAPTypes.Count(); m++ )
+	{	
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - EncapsulatedEAPTypes=%d"),
+						aSettings.iEncapsulatedEAPTypes[m]) );
+	}						
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the above values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the above values: ***************************\n")) );
 
 	// Check if the settings are for the correct type
-	if (aSettings.iEAPExpandedType != (*EapExpandedTypeSim.GetType()))
+	if (aSettings.iEAPType != EAPSettings::EEapSim)
 	{
 		User::Leave(KErrNotSupported);
 	}
@@ -347,18 +398,9 @@
 
 	RDbView view;
 
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQuery,
-		&KSimTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KSimTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -375,50 +417,11 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-
-	if (aSettings.iUseAutomaticUsernamePresent)
-	{
-		// This is to set the automatic or manual status.
-		TUint useManualUsernameStatus;
-		
-		if (aSettings.iUseAutomaticUsername)
-		{
-			useManualUsernameStatus = EEapDbFalse;
-		}
-		else
-		{
-			useManualUsernameStatus = EEapDbTrue;
-		}
-		
-		// Set the value.
-		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), useManualUsernameStatus);
-	}
-
-
-	if (aSettings.iUseAutomaticRealmPresent)
-	{
-		// This is to set the automatic or manual status.
-		TUint useManualRealmStatus;
-		
-		if (aSettings.iUseAutomaticRealm)
-		{
-			useManualRealmStatus = EEapDbFalse;
-		}
-		else
-		{
-			useManualRealmStatus = EEapDbTrue;
-		}
-
-		// Set the value.
-		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), useManualRealmStatus);
-	}
-
-
 	// Manual username
-	if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase.
+	//if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase.
 	{
 		// Check if length of username is less than the max length.
-		if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB)
+		if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB)
 		{
 			// Username too long. Can not be stored in DB.
 			
@@ -430,13 +433,28 @@
 		
 		// Length is ok. Set the value in DB. Value could be empty. It doesn't matter.
 		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), aSettings.iUsername);
+		
+		// This is to set the automatic or manual status.
+		TUint useManualUsernameStatus;
+		
+		if (aSettings.iUsernamePresent)
+		{
+			useManualUsernameStatus = EGSMSIMUseManualUsernameYes;
+		}
+		else
+		{
+			useManualUsernameStatus = EGSMSIMUseManualUsernameNo;
+		}
+		
+		// Set the value.
+		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), useManualUsernameStatus);
 	}
 		
 	// Manual realm
-	if (aSettings.iRealmPresent)  // no need to check as there may be empty realms with the present status is EFlase.
+	//if (aSettings.iRealmPresent)  // no need to check as there may be empty realms with the present status is EFlase.
 	{
 		// Check if length of realm is less than the max length.
-		if(aSettings.iRealm.Length() > KMaxRealmLengthInDB)
+		if(aSettings.iRealm.Length() > KMaxManualRealmLengthInDB)
 		{
 			// Realm too long. Can not be stored in DB.
 
@@ -448,6 +466,21 @@
 
 		// Length is ok. Set the value in DB. Value could be empty. It doesn't matter.
 		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), aSettings.iRealm);
+		
+		// This is to set the automatic or manual status.
+		TUint useManualRealmStatus;
+		
+		if (aSettings.iRealmPresent)
+		{
+			useManualRealmStatus = EGSMSIMUseManualRealmYes;
+		}
+		else
+		{
+			useManualRealmStatus = EGSMSIMUseManualRealmNo;
+		}
+		
+		// Set the value.
+		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), useManualRealmStatus);	
 	}
 	
 	// UsePseudonym
@@ -456,20 +489,20 @@
 		if (aSettings.iUsePseudonyms)
 		{
 			// Use pseudonym.
-			view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbTrue);
+			view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdYes);
 		}
 		else
 		{			
 			// Don't use pseudonym.
-			view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbFalse);			
+			view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdNo);			
 		}
 	}
 	else
 	{
 		// Value is not configured. Value is read from config file if needed.
-		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbNotValid);		
+		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdNotValid);		
 	}
-
+	
 	// Session validity time
 	if (aSettings.iSessionValidityTimePresent)
 	{
@@ -480,27 +513,23 @@
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_max_session_validity_time_literal), validityInMicro);
 	}
-
+	
 	if (aIndexType != EVpn) // This allows current VPN IF to use reauthentication. VPN does not zero last full authentication time.
 	{
 		// Last full authentication time should be made zero when EAP configurations are modified.
 		// This makes sure that the next authentication with this EAP would be full authentication
 		// instead of reauthentication even if the session is still valid.
-
+		
 		view.SetColL(colSet->ColNo(KGSMSIMLastFullAuthTime), default_FullAuthTime);
 
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n")));
+		EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"),
+									aSettings.iEAPType ));
 	}
-
+	
 	view.PutL();
-
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapSimDbUtils::GetConfigurationL(
 	RDbNamedDatabase& aDatabase,
 	EAPSettings& aSettings, 
@@ -508,14 +537,15 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::GetConfigurationL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();	
@@ -523,18 +553,9 @@
 	RDbView view;
 
 	// Form the query
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQuery,
-		&KSimTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KSimTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -551,100 +572,70 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-	aSettings.iEAPExpandedType = *EapExpandedTypeSim.GetType();
-
+	aSettings.iEAPType = EAPSettings::EEapSim;
+	
+	// Username
+	TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal));
+	aSettings.iUsername.Copy(username);
+	
+	// For manual or automatic status.
+	TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal));
+	if(useUsername == EGSMSIMUseManualUsernameNo)
+	{
+		aSettings.iUsernamePresent = EFalse;		
+	}
+	else
 	{
-		// For manual or automatic username.
-		TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal));
-
-		aSettings.iUseAutomaticUsernamePresent = ETrue;
-
-		if(useUsername == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticUsername = EFalse;		
-		}
-		else
+		aSettings.iUsernamePresent = ETrue;		
+	}
+	
+	// Realm
+	TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal));
+	aSettings.iRealm.Copy(realm);
+	
+	// For manual or automatic status.
+	TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal));
+	if(useRealm == EGSMSIMUseManualRealmNo)
+	{
+		aSettings.iRealmPresent = EFalse;
+	}
+	else
+	{
+		aSettings.iRealmPresent = ETrue;
+	}
+	
+	TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal));
+	
+	if (usePseudonym == EGSMSIMUsePseudonymIdNotValid)
+	{
+		aSettings.iUsePseudonymsPresent = EFalse;
+	}
+	else
+	{
+		if (usePseudonym == EGSMSIMUsePseudonymIdNo)
 		{
-			aSettings.iUseAutomaticUsername = ETrue;		
-		}
-	}
-
-	{
-		// For manual or automatic realm.
-		TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal));
-
-		aSettings.iUseAutomaticRealmPresent = ETrue;
-
-		if(useRealm == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticRealm = EFalse;
+			aSettings.iUsePseudonyms = EFalse;
 		}
 		else
 		{
-			aSettings.iUseAutomaticRealm = ETrue;
-		}
-	}
-
-	{
-		// Username
-		TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal));
-
-		aSettings.iUsernamePresent = ETrue;
-
-		aSettings.iUsername.Copy(username);
-	}
-
-	{
-		// Realm
-		TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal));
-
-		aSettings.iRealmPresent = ETrue;
-
-		aSettings.iRealm.Copy(realm);
-	}
-
-	{
-		TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal));
-		
-		if (usePseudonym == EEapDbNotValid)
-		{
-			aSettings.iUsePseudonymsPresent = EFalse;
+			aSettings.iUsePseudonyms = ETrue;
 		}
-		else
-		{
-			if (usePseudonym == EEapDbFalse)
-			{
-				aSettings.iUsePseudonyms = EFalse;
-			}
-			else
-			{
-				aSettings.iUsePseudonyms = ETrue;
-			}
-			
-			aSettings.iUsePseudonymsPresent = ETrue;		
-		}	
-	}
-
-	{
-		// Session validity time	
-		TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GSMSIM_max_session_validity_time_literal));
 		
-		// Convert the time to minutes.	
-		TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
-		
-		aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
-		aSettings.iSessionValidityTimePresent = ETrue;
-	}
-
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-
-	EAP_TRACE_SETTINGS(&aSettings);
+		aSettings.iUsePseudonymsPresent = ETrue;		
+	}	
+	
+	// Session validity time	
+	TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GSMSIM_max_session_validity_time_literal));
+	
+	// Convert the time to minutes.	
+	TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
+	
+	aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
+	aSettings.iSessionValidityTimePresent = ETrue;
+	
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapSimDbUtils::CopySettingsL(
 	RDbNamedDatabase& aDatabase, 		
 	const TIndexType aSrcIndexType,
@@ -654,37 +645,25 @@
 	const TInt aDestIndex,
 	const eap_type_value_e aDestTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"),
-		aSrcIndexType,
-		aSrcIndex,
-		aSrcTunnelingType.get_vendor_id(),
-		aSrcTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"),
-		aDestIndexType,
-		aDestIndex,
-		aDestTunnelingType.get_vendor_id(),
-		aDestTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type();
+	TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::CopySettingsL()\n"));
+#else
+
+	TUint aSrcTunnelingVendorType = static_cast<TUint>(aSrcTunnelingType);
+	TUint aDestTunnelingVendorType = static_cast<TUint>(aDestTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KSimTableName, 
-		&KServiceType,
-		aSrcIndexType,
-		&KServiceIndex,
-		aSrcIndex,
-		&KTunnelingTypeVendorId,
-		aSrcTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aSrcTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KSimTableName, 
+		&KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -715,122 +694,112 @@
 	CleanupStack::PushL(colSet);
 		
 	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestIndexType));
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapSimDbUtils::DeleteConfigurationL(	
 	const TIndexType aIndexType,
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSimDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::DeleteConfigurationL()\n"));
+#else
 
-	RDbNamedDatabase aDatabase;
-	RFs aFileServerSession;
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	RDbs session;
+	RDbNamedDatabase database;
+	// Connect to the DBMS server.
+	User::LeaveIfError(session.Connect());
+	CleanupClosePushL(session);	
+		
+#ifdef SYMBIAN_SECURE_DBMS
 	
-	error = aFileServerSession.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapSimDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = database.Create(session, KDatabaseName, KSecureUIDFormat);
+	
+	if(err == KErrNone)
 	{
 		// Database was created so it was empty. No need for further actions.
-		aDatabase.Destroy();
-		CleanupStack::PopAndDestroy(&aDatabase);
-		CleanupStack::PopAndDestroy(&aFileServerSession);
+		database.Destroy();
+		CleanupStack::PopAndDestroy();
 		return;
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} 
+	else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
+	// Database existed, open it.
+	User::LeaveIfError(database.Open(session, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(database);
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = database.Create(fsSession, KDatabaseName);
 
-	User::LeaveIfError(error);
+	if(err == KErrNone)
+	{
+		// Database was created so it was empty. No need for further actions.
+		database.Destroy();
+		CleanupStack::PopAndDestroy(2); // fsSession, database session
+		return;
+		
+	} 
+	else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(database.Open(session, KDatabaseName));
+	CleanupClosePushL(database);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
 	// Main settings table
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(
-		KSQL,
-		&KSimTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQL, &KSimTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	// Evaluate view
 	RDbView view;
-
-	error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited);
-
-	User::LeaveIfError(error);
-
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
-
-	error = view.EvaluateAll();
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(view.EvaluateAll());
 
 	// Delete rows
 	if (view.FirstL())
 	{		
-		do
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): calls view.DeleteL()\n")));
-
+		do {
 			view.DeleteL();
-		}
-		while (view.NextL() != EFalse);
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): All rows deleted.\n")));
-	}
-	else
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): No rows to delete.\n")));
+		} while (view.NextL() != EFalse);
 	}
 
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-	CleanupStack::PopAndDestroy(&aDatabase);
-	CleanupStack::PopAndDestroy(&aFileServerSession);
+	// Close database
+	CleanupStack::PopAndDestroy(4); // view, buf, database, session
 }
 
-// ----------------------------------------------------------
-
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 11.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 213 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include "EapSimDbUtils.h"
+#include <EapSimUiConnection.h>
+#include <EapSimUiDataConnection.h>
+
+CEapSimUiConnection::CEapSimUiConnection(
+    const TIndexType aIndexType,
+    const TInt aIndex,
+    const TInt aTunnelingType)
+    : iIndexType(aIndexType)
+    , iIndex(aIndex)
+    , iTunnelingType(aTunnelingType)
+    , iIsConnected(EFalse)
+    , iDataConn(NULL)
+{
+}
+
+
+CEapSimUiConnection::~CEapSimUiConnection()
+{
+}
+
+
+TInt CEapSimUiConnection::Connect()
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iTunnelingType));
+
+#else
+
+	eap_type_value_e tunnelingType = static_cast<eap_type_value_e>(iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	TRAPD(err, EapSimDbUtils::OpenDatabaseL(
+		iDbNamedDatabase, 
+		iDbs, 
+		iIndexType, 
+		iIndex, 
+		tunnelingType));
+    if (err == KErrNone)
+    {
+        iIsConnected = ETrue;
+    }
+
+    return err;
+}
+
+
+TInt CEapSimUiConnection::Close()
+{
+    if (iIsConnected)
+    {
+        iDbNamedDatabase.Close();
+        iDbs.Close();
+    }
+    iIsConnected = EFalse;
+
+    return KErrNone;
+}
+
+
+CEapSimUiDataConnection * CEapSimUiConnection::GetDataConnection()
+{
+    if (!iDataConn)
+    {
+        iDataConn = new CEapSimUiDataConnection(this);
+    }
+
+    return iDataConn;
+}
+
+TInt CEapSimUiConnection::GetDatabase(RDbNamedDatabase & aDatabase)
+{
+    if (iIsConnected == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+
+    aDatabase = iDbNamedDatabase;
+    return KErrNone;
+}
+
+
+TIndexType CEapSimUiConnection::GetIndexType()
+{
+    return iIndexType;
+}
+
+
+TInt CEapSimUiConnection::GetIndex()
+{
+    return iIndex;
+}
+
+
+TInt CEapSimUiConnection::GetTunnelingType()
+{
+    return iTunnelingType;
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiDataConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,277 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 14.1.3.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 215 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <e32base.h>
+#include "EapSimDbUtils.h"
+#include "EapSimDbParameterNames.h"
+#include "EapSimDbDefaults.h"
+#include <EapSimUiConnection.h>
+#include <EapSimUiDataConnection.h>
+#include <EapSimUiSimData.h>
+#include "eap_am_trace_symbian.h"
+
+const TUint KMaxSqlQueryLength = 256;
+
+CEapSimUiDataConnection::CEapSimUiDataConnection(CEapSimUiConnection * aUiConn)
+: iIsOpened(EFalse)
+, iUiConn(aUiConn)
+, iColSet(NULL)
+, iDataPtr(NULL)
+{
+}
+
+
+CEapSimUiDataConnection::~CEapSimUiDataConnection()
+{
+    if (iUiConn)
+    {
+        Close();
+        iUiConn = NULL;
+    }
+}
+
+
+TInt CEapSimUiDataConnection::Open()
+{
+    if (iIsOpened)
+    {
+        return KErrAlreadyExists;
+    }
+
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    iIsOpened = ETrue;
+    return KErrNone;
+}
+
+
+TInt CEapSimUiDataConnection::GetData(CEapSimUiSimData ** aDataPtr)
+{
+    if (aDataPtr == NULL)
+    {
+        return KErrArgument;
+    }
+    if (iIsOpened == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+    iDataPtr = new CEapSimUiSimData();
+    if (!iDataPtr)
+    {
+        return KErrNoMemory;
+    }
+
+    TRAPD(err, FetchDataL());
+    if (err != KErrNone)
+    {
+		delete iDataPtr;
+		iDataPtr = NULL;
+		
+		delete iColSet;
+		iColSet = NULL;
+
+        iView.Close();
+        
+        return err;
+    }
+
+    *aDataPtr = iDataPtr;
+
+    return KErrNone;
+}
+
+
+TInt CEapSimUiDataConnection::Update()
+{
+    TRAPD(err, iView.UpdateL());
+    if (err != KErrNone)
+    {
+        return err;
+    }
+    
+	// Check if length of username and realm are less than the max length possible in DB.
+	if(iDataPtr->GetManualUsername().Length() > KMaxManualUsernameLengthInDB
+		|| iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB)
+	{
+		// Username or realm too long. Can not be stored in DB.
+		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSimUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"),
+			iDataPtr->GetManualUsername().Length(),
+			iDataPtr->GetManualRealm().Length()));
+		
+		return KErrArgument;
+	}
+    
+    TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), iDataPtr->GetManualUsername()));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), iDataPtr->GetManualRealm()));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    if (*(iDataPtr->GetUseManualUsername()))
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), EGSMSIMUseManualUsernameYes));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+    else
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), EGSMSIMUseManualUsernameNo));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+
+    if (*(iDataPtr->GetUseManualRealm()))
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), EGSMSIMUseManualRealmYes));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+    else
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), EGSMSIMUseManualRealmNo));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+
+	// Last full authentication time should be made zero when EAP configurations are modified.
+	// This makes sure that the next authentication with this EAP would be full authentication
+	// instead of reauthentication even if the session is still valid.
+	
+	TRAP(err, iView.SetColL(iColSet->ColNo(KGSMSIMLastFullAuthTime), default_FullAuthTime));
+	if (err != KErrNone)
+	{
+		return err;
+	}
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: Resetting Full Auth Time since EAP-SIM settings are modified\n")));
+
+    TRAP(err, iView.PutL());
+        
+    return err;
+}
+
+
+TInt CEapSimUiDataConnection::Close()
+{
+    if (iIsOpened == EFalse)
+    {
+        return KErrNone;
+    }
+
+	delete iDataPtr;
+	iDataPtr = NULL;
+	
+	delete iColSet;
+	iColSet = NULL;
+
+    iView.Close();
+
+    iUiConn = NULL;
+    return KErrNone;
+}
+
+
+void CEapSimUiDataConnection::FetchDataL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery,
+						&KSimTableName,
+						&KServiceType,
+						iUiConn->GetIndexType(),
+						&KServiceIndex,
+						iUiConn->GetIndex(),
+						&KTunnelingType, 
+						iUiConn->GetTunnelingType());
+	// Evaluate view
+	User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	User::LeaveIfError(iView.EvaluateAll());	
+	// Get the first (and only) row
+	iView.FirstL();
+	iView.GetL();				
+	// Get column set so we get the correct column numbers
+	delete iColSet;
+	iColSet = NULL;
+	iColSet = iView.ColSetL();
+
+	// Start fetching the values
+
+	// use manual username
+	TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetUseManualUsername()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetUseManualUsername()) = ETrue;
+    }
+
+	// use manual realm
+	intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetUseManualRealm()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetUseManualRealm()) = ETrue;
+    }
+
+    // manual username
+    iDataPtr->GetManualUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal)));
+
+	// manual realm
+	iDataPtr->GetManualRealm().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal)));
+
+    CleanupStack::PopAndDestroy(buf);
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiSimData.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 217 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <EapSimUiSimData.h>
+
+
+CEapSimUiSimData::CEapSimUiSimData()
+{
+}
+
+
+CEapSimUiSimData::~CEapSimUiSimData()
+{
+}
+
+
+TDes& CEapSimUiSimData::GetManualUsername()
+{
+    return iManualUsername;
+}
+
+
+TDes& CEapSimUiSimData::GetManualRealm()
+{
+    return iManualRealm;
+}
+
+
+TBool * CEapSimUiSimData::GetUseManualUsername()
+{
+    return &iUseManualUsername;
+}
+
+
+TBool * CEapSimUiSimData::GetUseManualRealm()
+{
+    return &iUseManualRealm;
+}
+
+// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 34 %
+* %version: 33 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -42,7 +42,7 @@
 #include "EapMsChapV2NotifierUids.h"
 #include "eap_state_notification.h"
 
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 
 const TUint KMaxSqlQueryLength = 256;
 const TUint KMaxDBFieldNameLength = 255;
@@ -70,12 +70,6 @@
 	delete m_username_password_io_ptr;
 	delete m_username_password_io_pckg_ptr;
 
-	if (iEapAuthNotifier != 0)
-		{
-		delete iEapAuthNotifier;
-		iEapAuthNotifier = 0;
-		}
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
@@ -91,9 +85,36 @@
 		(EAPL("eap_am_type_mschapv2_symbian_c::shutdown(): this = 0x%08x\n"),
 		this));
 		
-
-
-
+	if( IsActive() )
+	{
+		Cancel(); // Cancel only if active.
+	}  
+	else
+	{
+		if( m_is_notifier_connected )
+		{
+		
+		EAP_TRACE_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eap_am_type_mschapv2_symbian_c::shutdown - calling m_notifier.CancelNotifier(..)\n")));
+			
+		TInt error = KErrNone;			
+		EAP_UNREFERENCED_PARAMETER(error);
+		error = m_notifier.CancelNotifier(KEapMsChapV2UsernamePasswordUid);
+	
+		EAP_TRACE_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eap_am_type_mschapv2_symbian_c::shutdown - calling m_notifier.Close(), prev error=%d\n"),
+			error));
+		
+		m_notifier.Close(); // Call close only if it is connected.	
+		
+		m_is_notifier_connected = false;
+		}
+	}
+	
 	m_shutdown_was_called = true;
 
 	EAP_TRACE_DEBUG(
@@ -135,14 +156,21 @@
 , m_is_client(aIsClient)
 , m_is_valid(false)
 , m_shutdown_was_called(false)
-
+, m_is_notifier_connected(false)
 , m_max_session_time(0)
-	, iEapAuthNotifier(0)	
-
-
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	m_tunneling_vendor_type = m_tunneling_type.get_vendor_type();
+
+#else
+
+	m_tunneling_vendor_type = static_cast<TUint>(m_tunneling_type);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES	
+
 	if (receive_network_id != 0
 		&& receive_network_id->get_is_valid_data() == true)
 	{
@@ -201,15 +229,11 @@
 {
 	// NOTE: Do not use m_partner here without null check
 
-	TInt error = m_session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_mschapv2_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
 	// Open/create the database
 	EapMsChapV2DbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type);
 
-	m_username_password_io_ptr = new(ELeave) CEapAuthNotifier::TEapDialogInfo;
-	m_username_password_io_pckg_ptr = new(ELeave) TPckg<CEapAuthNotifier::TEapDialogInfo> (*m_username_password_io_ptr);
+	m_username_password_io_ptr = new(ELeave) TEapMsChapV2UsernamePasswordInfo;
+	m_username_password_io_pckg_ptr = new(ELeave) TPckg<TEapMsChapV2UsernamePasswordInfo> (*m_username_password_io_ptr);
 
 	CActiveScheduler::Add(this);
 
@@ -265,227 +289,6 @@
 }
 
 //--------------------------------------------------
-EAP_FUNC_EXPORT void eap_am_type_mschapv2_symbian_c::DlgComplete( TInt aStatus )
-	{
-	if (aStatus == KErrCancel)
-		{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_am_type_mschapv2_symbian_c::RunL - User seems to have cancelled the prompt. Stop Immediately.\n")));
-		
-		// User cancelled the password prompt. Stop everything.
-		// Appropriate error notification is sent from finish_unsuccessful_authentication.
-		get_am_partner()->finish_unsuccessful_authentication(true);
-		
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return;
-		}
-
-	if (aStatus != KErrNone)
-		{
-		// Something is very wrong...
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EAP - MS-Chap-V2 notifier or dialog, aStatus=%d\n"), aStatus));
-
-		send_error_notification(eap_status_authentication_failure);
-
-		get_am_partner()->finish_unsuccessful_authentication(false);
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return;
-		}
-
-	eap_status_e status(eap_status_ok);
-
-	switch (m_state)
-		{
-		case EHandlingUsernamePasswordQuery:
-			{
-			if (m_username_password_io_ptr->iPasswordPromptEnabled)
-				{
-				*m_password_prompt_enabled = true;
-				}
-			else
-				{
-				*m_password_prompt_enabled = false;
-				}
-
-				{
-				eap_variable_data_c tmp_username_unicode(
-					m_am_tools);
-
-				status = tmp_username_unicode.set_buffer(
-					m_username_password_io_ptr->iUsername.Ptr(),
-					m_username_password_io_ptr->iUsername.Size(),
-					false,
-					false);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				eap_variable_data_c tmp_username_utf8(m_am_tools);
-				status = m_am_tools->convert_unicode_to_utf8(tmp_username_utf8, tmp_username_unicode);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				status = m_username_utf8->set_copy_of_buffer(&tmp_username_utf8);
-				if (status != eap_status_ok)
-					{
-					get_am_partner()->finish_unsuccessful_authentication(false);
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-				}
-
-				{
-				eap_variable_data_c tmp_password_unicode(
-					m_am_tools);
-
-				status = tmp_password_unicode.set_buffer(
-					m_username_password_io_ptr->iPassword.Ptr(),
-					m_username_password_io_ptr->iPassword.Size(),
-					false,
-					false);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				eap_variable_data_c tmp_password_utf8(m_am_tools);
-				status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8);
-				if (status != eap_status_ok)
-					{
-					get_am_partner()->finish_unsuccessful_authentication(false);
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-				}
-
-			// Store username and/or password if "Prompt for username" is enabled
-			status = update_username_password();
-			if (status != eap_status_ok)
-				{
-				get_am_partner()->finish_unsuccessful_authentication(false);
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				return;
-				}
-
-			if (m_is_identity_query)
-				{
-				status = get_am_partner()->complete_eap_identity_query();
-				}
-			else
-				{
-				status = get_am_partner()->complete_failure_retry_response();
-				}
-			}
-		break;
-
-	case EHandlingChangePasswordQuery:
-		{
-				{
-				eap_variable_data_c tmp_password_unicode(
-					m_am_tools);
-
-				status = tmp_password_unicode.set_buffer(
-					m_username_password_io_ptr->iPassword.Ptr(),
-					m_username_password_io_ptr->iPassword.Size(),
-					false,
-					false);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				eap_variable_data_c tmp_password_utf8(m_am_tools);
-				status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				eap_status_e status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8);
-				if (status != eap_status_ok)
-					{
-					get_am_partner()->finish_unsuccessful_authentication(false);
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-					return;
-					}
-				}
-
-				{
-				eap_variable_data_c tmp_old_password_unicode(
-					m_am_tools);
-
-				status = tmp_old_password_unicode.set_buffer(
-					m_username_password_io_ptr->iOldPassword.Ptr(),
-					m_username_password_io_ptr->iOldPassword.Size(),
-					false,
-					false);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				eap_variable_data_c tmp_old_password_utf8(m_am_tools);
-				status = m_am_tools->convert_unicode_to_utf8(tmp_old_password_utf8, tmp_old_password_unicode);
-				if (status != eap_status_ok)
-					{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					(void) EAP_STATUS_RETURN(m_am_tools, status);
-					return;
-					}
-
-				status = m_old_password_utf8->set_copy_of_buffer(&tmp_old_password_utf8);
-				if (status != eap_status_ok)
-					{
-					get_am_partner()->finish_unsuccessful_authentication(false);
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-					return;
-					}
-				}
-
-			status = get_am_partner()->complete_change_password_query();
-			}
-		break;
-
-	default:
-		EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP - MS-Chap-V2 illegal state in RunL.\n")));
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return;		
-
-		}
-	}
-
-//--------------------------------------------------
 
 void eap_am_type_mschapv2_symbian_c::RunL()
 {
@@ -498,6 +301,221 @@
 		 EAPL("m_state, iStatus.Int()=%d\n"),
 		 m_state, iStatus.Int()));
 
+	if (iStatus.Int() == KErrCancel)
+	{
+		EAP_TRACE_DEBUG(
+			m_am_tools, 
+			TRACE_FLAGS_DEFAULT, 
+			(EAPL("eap_am_type_mschapv2_symbian_c::RunL - User seems to have cancelled the prompt. Stop Immediately.\n")));
+		
+		// User cancelled the password prompt. Stop everything.
+		// Appropriate error notification is sent from finish_unsuccessful_authentication.
+		get_am_partner()->finish_unsuccessful_authentication(true);
+		
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return;
+	}
+
+	if (iStatus.Int() != KErrNone)
+	{
+		// Something is very wrong...
+		EAP_TRACE_ERROR(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("ERROR: EAP - MS-Chap-V2 notifier or dialog, iStatus.Int()=%d\n"), iStatus.Int()));
+
+		send_error_notification(eap_status_authentication_failure);
+
+		get_am_partner()->finish_unsuccessful_authentication(false);
+
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return;
+	}
+
+	eap_status_e status(eap_status_ok);
+
+	switch (m_state)
+	{
+	case EHandlingUsernamePasswordQuery:
+		{
+			if (m_username_password_io_ptr->iPasswordPromptEnabled)
+			{
+				*m_password_prompt_enabled = true;
+			}
+			else
+			{
+				*m_password_prompt_enabled = false;
+			}
+
+			{
+				eap_variable_data_c tmp_username_unicode(
+					m_am_tools);
+
+				status = tmp_username_unicode.set_buffer(
+					m_username_password_io_ptr->iUsername.Ptr(),
+					m_username_password_io_ptr->iUsername.Size(),
+					false,
+					false);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				eap_variable_data_c tmp_username_utf8(m_am_tools);
+				status = m_am_tools->convert_unicode_to_utf8(tmp_username_utf8, tmp_username_unicode);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				status = m_username_utf8->set_copy_of_buffer(&tmp_username_utf8);
+				if (status != eap_status_ok)
+				{
+					get_am_partner()->finish_unsuccessful_authentication(false);
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+			}
+
+			{
+				eap_variable_data_c tmp_password_unicode(
+					m_am_tools);
+
+				status = tmp_password_unicode.set_buffer(
+					m_username_password_io_ptr->iPassword.Ptr(),
+					m_username_password_io_ptr->iPassword.Size(),
+					false,
+					false);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				eap_variable_data_c tmp_password_utf8(m_am_tools);
+				status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8);
+				if (status != eap_status_ok)
+				{
+					get_am_partner()->finish_unsuccessful_authentication(false);
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+			}
+
+			// Store username and/or password if "Prompt for username" is enabled
+			status = update_username_password();
+			if (status != eap_status_ok)
+			{
+				get_am_partner()->finish_unsuccessful_authentication(false);
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				return;
+			}
+
+			if (m_is_identity_query)
+			{
+				status = get_am_partner()->complete_eap_identity_query();
+			}
+			else
+			{
+				status = get_am_partner()->complete_failure_retry_response();
+			}
+		}
+		break;
+
+	case EHandlingChangePasswordQuery:
+		{
+			{
+				eap_variable_data_c tmp_password_unicode(
+					m_am_tools);
+
+				status = tmp_password_unicode.set_buffer(
+					m_username_password_io_ptr->iPassword.Ptr(),
+					m_username_password_io_ptr->iPassword.Size(),
+					false,
+					false);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				eap_variable_data_c tmp_password_utf8(m_am_tools);
+				status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				eap_status_e status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8);
+				if (status != eap_status_ok)
+				{
+					get_am_partner()->finish_unsuccessful_authentication(false);
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+					return;
+				}
+			}
+
+			{
+				eap_variable_data_c tmp_old_password_unicode(
+					m_am_tools);
+
+				status = tmp_old_password_unicode.set_buffer(
+					m_username_password_io_ptr->iOldPassword.Ptr(),
+					m_username_password_io_ptr->iOldPassword.Size(),
+					false,
+					false);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				eap_variable_data_c tmp_old_password_utf8(m_am_tools);
+				status = m_am_tools->convert_unicode_to_utf8(tmp_old_password_utf8, tmp_old_password_unicode);
+				if (status != eap_status_ok)
+				{
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					(void) EAP_STATUS_RETURN(m_am_tools, status);
+					return;
+				}
+
+				status = m_old_password_utf8->set_copy_of_buffer(&tmp_old_password_utf8);
+				if (status != eap_status_ok)
+				{
+					get_am_partner()->finish_unsuccessful_authentication(false);
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+					return;
+				}
+			}
+
+			status = get_am_partner()->complete_change_password_query();
+		}
+		break;
+
+	default:
+		EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP - MS-Chap-V2 illegal state in RunL.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return;		
+	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 }
@@ -506,13 +524,28 @@
 
 void eap_am_type_mschapv2_symbian_c::DoCancel()
 {
-	if (iEapAuthNotifier != 0)
-		{
-		iEapAuthNotifier->Cancel();
-		}
+	if( m_is_notifier_connected )
+	{
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eap_am_type_mschapv2_symbian_c::DoCancel - calling m_notifier.CancelNotifier(..)\n")));
+			
+		TInt error = KErrNone;
+		EAP_UNREFERENCED_PARAMETER(error);
+		error = m_notifier.CancelNotifier(KEapMsChapV2UsernamePasswordUid);
 
-
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eap_am_type_mschapv2_symbian_c::DoCancel - calling m_notifier.Close(), prev error=%d\n"),
+		error));
+		
+		m_notifier.Close(); // Call close only if it is connected.	
+		
+		m_is_notifier_connected = false;
 	}
+}
 
 //--------------------------------------------------
 
@@ -571,19 +604,16 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQueryRow,
-		&unicodeString,
-		&KMsChapV2TableName,
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow,
+						&unicodeString,
+						&KMsChapV2TableName,
+						&KServiceType,
+						m_index_type,
+						&KServiceIndex,
+						m_index,
+						&KTunnelingType, 
+						m_tunneling_vendor_type);
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -681,7 +711,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password()
+eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	eap_status_e status(eap_status_ok);
@@ -720,21 +750,18 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLUpdate, "SELECT %S,%S,%S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLUpdate,
-		&cf_str_EAP_MSCHAPV2_username_literal,
-		&cf_str_EAP_MSCHAPV2_password_prompt_literal,
-		&cf_str_EAP_MSCHAPV2_password_literal,
-		&KMsChapV2TableName,
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLUpdate, "SELECT %S,%S,%S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLUpdate,
+						&cf_str_EAP_MSCHAPV2_username_literal,
+						&cf_str_EAP_MSCHAPV2_password_prompt_literal,
+						&cf_str_EAP_MSCHAPV2_password_literal,
+						&KMsChapV2TableName,
+						&KServiceType,
+						m_index_type,
+						&KServiceIndex,
+						m_index,
+						&KTunnelingType, 
+						m_tunneling_vendor_type);
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), RDbView::EUpdatable));
@@ -794,7 +821,7 @@
 	if (*m_password_prompt_enabled)
 	{
 		// Username and password prompt flag is stored, password is cleared
-		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue);
+		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn);
 		view.SetColNullL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal));
 	}
 	else
@@ -826,7 +853,7 @@
 			User::Leave(KErrArgument);
 		}
 
-		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbFalse);
+		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff);
 
 		// Length is ok. Set the value in DB.			
 		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), password);
@@ -851,7 +878,7 @@
 		// Read Maximum Session Validity Time from the config file
 		eap_variable_data_c sessionTimeFromFile(m_am_tools);
 		
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_MSCHAPv2_max_session_validity_time.get_field(),
 			&sessionTimeFromFile);
 		
@@ -889,97 +916,99 @@
 		bool & password_prompt_enabled,
 		bool is_identity_query)    
 {
-	eap_status_e status = eap_status_ok;
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("eap_am_type_mschapv2_symbian_c::show_username_password_dialog - start, password_prompt_enabled=%d,is_identity_query=%d\n"),
 		password_prompt_enabled, is_identity_query));
-
+			
 	m_username_utf8 = &username_utf8;
 	m_password_utf8 = &password_utf8;
 	m_password_prompt_enabled = &password_prompt_enabled;
 	m_is_identity_query = is_identity_query;
 
-	if (*m_password_prompt_enabled == true)
+	if (!IsActive())
 	{
-		m_username_password_io_ptr->iPasswordPromptEnabled = ETrue; 
-	}
-	else
-	{
-		m_username_password_io_ptr->iPasswordPromptEnabled = EFalse; 
-	}
+		if (*m_password_prompt_enabled == true)
+		{
+			m_username_password_io_ptr->iPasswordPromptEnabled = ETrue; 
+		}
+		else
+		{
+			m_username_password_io_ptr->iPasswordPromptEnabled = EFalse; 
+		}
 
-	if (m_is_identity_query == true)
-	{
-		m_username_password_io_ptr->iIsIdentityQuery = ETrue; 
-	}
-	else
-	{
-		m_username_password_io_ptr->iIsIdentityQuery = EFalse; 
-	}
+		if (m_is_identity_query == true)
+		{
+			m_username_password_io_ptr->iIsIdentityQuery = ETrue; 
+		}
+		else
+		{
+			m_username_password_io_ptr->iIsIdentityQuery = EFalse; 
+		}
 
 
-	eap_variable_data_c tmp_username_unicode(m_am_tools);
-	status = m_am_tools->convert_utf8_to_unicode(tmp_username_unicode, *m_username_utf8);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
+		{
+			eap_variable_data_c tmp_username_unicode(m_am_tools);
+			eap_status_e status = m_am_tools->convert_utf8_to_unicode(tmp_username_unicode, *m_username_utf8);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
 
-	m_username_password_io_ptr->iUsername.Copy(
-		reinterpret_cast<TUint16 *> (
-		tmp_username_unicode.get_data(tmp_username_unicode.get_data_length())),
-		tmp_username_unicode.get_data_length() / 2); // 8bit -> 16bit
+			m_username_password_io_ptr->iUsername.Copy(
+				reinterpret_cast<TUint16 *> (
+					tmp_username_unicode.get_data(tmp_username_unicode.get_data_length())),
+					tmp_username_unicode.get_data_length() / 2); // 8bit -> 16bit
+		}
 
 
-	m_state = EHandlingUsernamePasswordQuery;
+		m_state = EHandlingUsernamePasswordQuery;
+		
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL(" eap_am_type_mschapv2_symbian_c::show_username_password_dialog - before m_notifier.Connect(), m_is_notifier_connected=%d\n"),
+		m_is_notifier_connected));
+		
+		if( !m_is_notifier_connected )
+		{
+			TInt error = m_notifier.Connect();
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL(" eap_am_type_mschapv2_symbian_c::show_username_password_dialog - m_notifier.Connect() returned error=%d\n"),
+		error));
+			
+			if( error != KErrNone)
+			{
+				// Can not connect to notifier.
+				return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));		
+			}
+			
+			m_is_notifier_connected = true; // Got connectted to notifier.
+		}
 
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL(" eap_am_type_mschapv2_symbian_c::show_username_password_dialog - before m_notifier.StartNotifierAndGetResponse()\n")));		
 
-	TInt err1 = KErrNone;
-
-	TRAPD(err, err1 = IsDlgReadyToCompleteL());
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::show_username_password_dialog(): err=%d, result= %d\n"),
-		err,
-		err1));
+		m_notifier.StartNotifierAndGetResponse(
+			iStatus, 
+			KEapMsChapV2UsernamePasswordUid, 
+			*m_username_password_io_pckg_ptr, 
+			*m_username_password_io_pckg_ptr);
 
-	if (*m_password_prompt_enabled == true || err || err1 == KErrCancel)
-	{
-		TEapExpandedType aEapType(*EapExpandedTypeMsChapv2.GetType());
-		m_username_password_io_ptr->iPassword.Zero();
-		if (iEapAuthNotifier == 0)
-		{
-			TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-			if (err)
-			{
-				return eap_status_authentication_failure;
-			}
-		}
-		else
-		{
-			iEapAuthNotifier->Cancel();
-		}
-
-		TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeMsChapV2UsernamePasswordDialog, m_username_password_io_ptr, aEapType));
-		if (err1)
-		{
-			return eap_status_authentication_failure;
-		}
-	}
+		SetActive();
+	} 
 	else
 	{
-		DlgComplete( status );
-		return status;	
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_mschapv2_symbian_c: Already active when tried to show username/password dialog.\n")));
+		return eap_status_process_general_error;
 	}
 
 	return eap_status_pending_request;
@@ -987,129 +1016,6 @@
 
 //--------------------------------------------------
 
-TInt eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL()
-	{
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"),
-		m_index_type,
-		m_index,
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type()));
-
-	TInt status = KErrNone;
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-	
-	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(
-		KSQLQuery,
-		&cf_str_EAP_MSCHAPV2_password_prompt_literal,
-		&cf_str_EAP_MSCHAPV2_username_literal,
-		&cf_str_EAP_MSCHAPV2_password_literal,
-		&KMsChapV2TableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
-	
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): Opens view\n")));
-
-	RDbView view;
-	// Evaluate view
-	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
-	CleanupClosePushL(view);
-	
-	User::LeaveIfError(view.EvaluateAll());
-	
-	// Get the first (and only) row
-	view.FirstL();
-	view.GetL();
-	
-	// Get column set so we get the correct column numbers
-	CDbColSet* colSet = view.ColSetL();
-	CleanupStack::PushL(colSet);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_leap_symbian_c::IsDlgReadyToCompleteL(): Reads database\n")));
-
-	TPtrC username = view.ColDes(colSet->ColNo( cf_str_EAP_MSCHAPV2_username_literal ) );
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): username"),
-		username.Ptr(),
-		username.Size()));
-
-	TPtrC password = view.ColDes(colSet->ColNo( cf_str_EAP_MSCHAPV2_password_literal ) );
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): password"),
-		password.Ptr(),
-		password.Size()));
-
-	TUint prompt = view.ColUint(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal));
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): prompt=%d\n"),
-		prompt));
-
-
-	if ((EEapDbFalse != prompt)
-		 || (username.Size() == 0) 
-		 || (password.Size() == 0))
-		{
-
-		if (username.Size() == 0)
-			{
-			m_username_password_io_ptr->iUsername.Zero();
-			}
-		else
-			{
-			m_username_password_io_ptr->iUsername.Copy(username);
-			}
-
-		status = KErrCancel;
-		}
-	else
-		{
-		status = KErrNone;	
-		m_username_password_io_ptr->iUsername.Copy(username);
-		m_username_password_io_ptr->iPassword.Copy(password);
-		}
-		
-	CleanupStack::PopAndDestroy(colSet); // Delete colSet.
-	CleanupStack::PopAndDestroy(&view); // Close view.
-	CleanupStack::PopAndDestroy(buf); // Delete buf.
-		
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): status=%d\n"),
-		status));
-
-	return status;
-	}
-	
 eap_status_e eap_am_type_mschapv2_symbian_c::show_change_password_dialog(
 		eap_variable_data_c & /* username */,
 		eap_variable_data_c & /* old_password */,
@@ -1138,8 +1044,68 @@
 	m_old_password_utf8 = &old_password;
 	m_password_prompt_enabled = &password_prompt_enabled;
 
+	if (!IsActive())
+	{
+		{
+			eap_variable_data_c tmp_username_unicode(m_am_tools);
+			eap_status_e status = m_am_tools->convert_utf8_to_unicode(tmp_username_unicode, *m_username_utf8);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
 
+			m_username_password_io_ptr->iUsername.Copy(
+				reinterpret_cast<TUint16 *> (
+					tmp_username_unicode.get_data(tmp_username_unicode.get_data_length())),
+					tmp_username_unicode.get_data_length() / 2); // 8bit -> 16bit
+		}
 
+		m_state = EHandlingChangePasswordQuery;
+		
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL(" eap_am_type_mschapv2_symbian_c::show_change_password_dialog - before m_notifier.Connect(), m_is_notifier_connected=%d\n"),
+		m_is_notifier_connected));
+		
+		if( !m_is_notifier_connected )
+		{
+			TInt error = m_notifier.Connect();
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL(" eap_am_type_mschapv2_symbian_c::show_change_password_dialog - m_notifier.Connect() returned error=%d\n"),
+		error));
+			
+			if( error != KErrNone)
+			{
+				// Can not connect to notifier.
+				return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));		
+			}
+			
+			m_is_notifier_connected = true; // Got connectted to notifier.
+		}
+
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL(" eap_am_type_mschapv2_symbian_c::show_change_password_dialog - before m_notifier.StartNotifierAndGetResponse()\n")));	
+
+		m_notifier.StartNotifierAndGetResponse(
+			iStatus, 
+			KEapMsChapV2ChangePasswordUid, 
+			*m_username_password_io_pckg_ptr, 
+			*m_username_password_io_pckg_ptr);
+
+		SetActive();
+	} 
+	else
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_mschapv2_symbian_c: Already active when tried to show change password dialog.\n")));
+		return eap_status_process_general_error;
+	}
 
 	return eap_status_pending_request;
 	
@@ -1213,29 +1179,13 @@
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 
+	status = memory_store_key->add_data(
+		&m_tunneling_vendor_type,
+		sizeof(m_tunneling_vendor_type));
+	if (status != eap_status_ok)
 	{
-		u32_t vendor_id = m_tunneling_type.get_vendor_id();
-
-		status = memory_store_key->add_data(
-			&vendor_id,
-			sizeof(vendor_id));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	{
-		u32_t vendor_type = m_tunneling_type.get_vendor_type();
-		status = memory_store_key->add_data(
-			&vendor_type,
-			sizeof(vendor_type));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1278,20 +1228,11 @@
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&cf_str_EAP_MSCHAPv2_max_session_validity_time_literal,
-		&KMSCHAPv2LastFullAuthTime,
-		&KMsChapV2TableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &cf_str_EAP_MSCHAPv2_max_session_validity_time_literal,
+						&KMSCHAPv2LastFullAuthTime, &KMsChapV2TableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -1428,19 +1369,10 @@
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	sqlStatement.Format(
-		KSQLQuery,
-		&KMSCHAPv2LastFullAuthTime,
-		&KMsChapV2TableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KMSCHAPv2LastFullAuthTime, &KMsChapV2TableName,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,14 +16,14 @@
 */
 
 /*
-* %version: 19 %
+* %version: 11.1.2 %
 */
 
 #ifndef _EAPMSCHAPV2_H_
 #define _EAPMSCHAPV2_H_
 
 // INCLUDES
-#include <EapTypePlugin.h>
+#include <EapType.h>
 #include "eap_header.h"
 
 // LOCAL CONSTANTS
@@ -33,7 +33,7 @@
 * Class that implements the generic EAP type interface. Implements EAP MSCHAPv2 and 
 * plain MSCHAPv2 protocol.
 */
-class CEapMsChapV2 : public CEapTypePlugin
+class CEapMsChapV2 : public CEapType
 {
 public:		
 	/**
@@ -93,13 +93,16 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 
-
+	/**
+	* Invokes the configuration UI.
+	**/
+	TInt InvokeUiL();
 	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	CEapTypeInfo* GetInfoL();
+	CEapTypeInfo* GetInfoLC();
 	
 	/**
 	* Deletes EAP type configuration
@@ -121,7 +124,7 @@
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
+	void SetTunnelingType(const TInt aTunnelingType);
 	
 	/**
 	* Changes the index of the saved parameters.
@@ -156,7 +159,7 @@
 	* Constructor initialises member variables.
 	*/
 	CEapMsChapV2(const TIndexType aIndexType, const TInt aIndex,
-				 const eap_type_value_e aEapType );
+				 const eap_type_value_e aEapType = eap_type_mschapv2 );
 
 private:
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,12 +16,29 @@
 */
 
 /*
-* %version: %
+* %version: 12 %
 */
 
 #ifndef _EAPMSCHAPV2DBDEFAULTS_H_
 #define _EAPMSCHAPV2DBDEFAULTS_H_
 
-#include "EapPluginDbDefaults.h"
+enum TMSCHAPV2PasswordPrompt
+{
+	EMSCHAPV2PasswordPromptOff,		// False. Don't show password prompt.
+	EMSCHAPV2PasswordPromptOn,		// True. Show password prompt.
+};
+
+// LOCAL CONSTANTS
+
+const TUint default_EAP_MSCHAPV2_password_prompt = EMSCHAPV2PasswordPromptOff;
+
+_LIT(default_EAP_MSCHAPV2_username, "");
+_LIT(default_EAP_MSCHAPV2_password, "");
+
+const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file.
+const TInt64 default_FullAuthTime = 0;
+
+const TUint KMaxUsernameLengthInDB = 255;
+const TUint KMaxPasswordLengthInDB = 255;
 
 #endif // _EAPMSCHAPV2DBDEFAULTS_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 #ifndef EAPMSCHAPV2DBPARAMETERNAMES_H
@@ -28,7 +28,6 @@
 
 _LIT(KServiceType, "ServiceType");
 _LIT(KServiceIndex, "ServiceIndex");
-_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId");
 _LIT(KTunnelingType, "TunnelingType");
 
 _LIT(KMSCHAPv2LastFullAuthTime, "EAP_MSCHAPv2_last_full_authentication_time");
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.8 %
+* %version: 10 %
 */
 
 #ifndef _EAPMSCHAPV2DBUTILS_H_
@@ -30,10 +30,21 @@
 
 // LOCAL CONSTANTS
 
-// For EAP-MsChapV2 private database. Database will be in the private folder of EAP-server (20026FCB).
-// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h.
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP MSCHAPV2 secure database.
+// Full path is not needed. The database eapmsmhapv2.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eapmsmhapv2.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KDatabaseName, "c:eapmschapv2.dat");
 
-_LIT(KEapMsChapV2DatabaseName, "eapmschapv2.dat");
+_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KDatabaseName, "c:\\system\\data\\eapmschapv2.dat");
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 _LIT(KMsChapV2TableName, "eapmschapv2");
 
@@ -43,8 +54,8 @@
 public:
 	
 	static void OpenDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
@@ -88,6 +99,7 @@
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
+
 };
 
 #endif // _EAPMSCHAPV2DBUTILS_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef _EAPMSCHAPV2GLOBAL_H_
@@ -24,9 +24,9 @@
 
 // LOCAL CONSTANTS
 
-_LIT(KReleaseDate, ""); // Must be in format YYYYMMDD: (dates and months start from 0)
+_LIT(KReleaseDate, "20040829:"); // Must be in format YYYYMMDD: (dates and months start from 0)
 _LIT(KEapTypeVersion, "1.0");
-_LIT(KManufacturer, "");
+_LIT(KManufacturer, "Nokia");
 _LIT(KNokiaSignature, "");
 _LIT(KExtraInfo1, "");
 _LIT(KExtraInfo2, "");
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 11.1.3 %
+* %version: 14 %
 */
 
 //  INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 31 %
+* %version: 17.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -37,8 +37,8 @@
 #include <EapTypeInfo.h>
 #include "EapMsChapV2DbUtils.h"
 
-#include "EapConversion.h"
-#include "EapTraceSymbian.h"
+#include <EapMsChapV2UiConnection.h>
+#include "EapMschapv2Ui.h"
 
 // LOCAL CONSTANTS
 
@@ -49,41 +49,34 @@
 // ================= MEMBER FUNCTIONS =======================
 
 
-CEapMsChapV2::CEapMsChapV2(
-	const TIndexType aIndexType,	
-	const TInt aIndex,
-	const eap_type_value_e aEapType)
+CEapMsChapV2::CEapMsChapV2(const TIndexType aIndexType,	
+				 const TInt aIndex, const eap_type_value_e aEapType /* =eap_type_mschapv2 */)
 : iIndexType(aIndexType)
 , iIndex(aIndex)
 , iTunnelingType(eap_type_none)
 , iEapType(aEapType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::CEapMsChapV2()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::CEapMsChapV2()\n"));
-
 }
 
 // ----------------------------------------------------------
 
 CEapMsChapV2* CEapMsChapV2::NewL(SIapInfo *aIapInfo)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::NewL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::NewL()\n"));
-
-	return new (ELeave) CEapMsChapV2(aIapInfo->indexType, aIapInfo->index, eap_type_mschapv2);
+	return new (ELeave) CEapMsChapV2(aIapInfo->indexType, aIapInfo->index);
 }
 
 // ----------------------------------------------------------
 
 CEapMsChapV2* CEapMsChapV2::NewPlainMSCHAPv2L(SIapInfo *aIapInfo)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::NewPlainMSCHAPv2L()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::NewPlainMSCHAPv2L()\n"));
-
 	return new (ELeave) CEapMsChapV2(
 		aIapInfo->indexType,
 		aIapInfo->index,
+#if defined(USE_EAP_EXPANDED_TYPES)
 		eap_expanded_type_ttls_plain_mschapv2.get_type()
+#else
+		eap_type_plain_mschapv2
+#endif //#if defined(USE_EAP_EXPANDED_TYPES)
 		);
 }
 
@@ -92,9 +85,6 @@
 
 CEapMsChapV2::~CEapMsChapV2()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::~CEapMsChapV2()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::~CEapMsChapV2()\n"));
-
 }
 
 // ----------------------------------------------------------
@@ -116,9 +106,6 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetStackInterfaceL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetStackInterfaceL()\n"));
-
 	// Create AM
 	eap_am_type_mschapv2_symbian_c* amEapType = eap_am_type_mschapv2_symbian_c::NewL(
 		aTools,
@@ -166,24 +153,43 @@
 
 TUint CEapMsChapV2::GetInterfaceVersion() 
 { 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetInterfaceVersion()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetInterfaceVersion()\n"));
-
 	return KInterfaceVersion; 
 }
 
+
 // ----------------------------------------------------------
-
-CEapTypeInfo* CEapMsChapV2::GetInfoL()
+TInt CEapMsChapV2::InvokeUiL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetInfoL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetInfoL()\n"));
+	TInt buttonId(0);
+   	
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	CEapMsChapV2UiConnection uiConn(iIndexType, iIndex, 
+									iTunnelingType.get_vendor_type(), iEapType.get_vendor_type());
+	
+#else
+
+   	CEapMsChapV2UiConnection uiConn(iIndexType, iIndex, iTunnelingType, (TInt)iEapType);
 
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	CEapMsChapV2Ui* ui = CEapMsChapV2Ui::NewL(&uiConn);
+	CleanupStack::PushL(ui);
+	buttonId = ui->InvokeUiL();
+	CleanupStack::PopAndDestroy(ui);
+	return buttonId;
+}
+
+
+// ----------------------------------------------------------
+CEapTypeInfo* CEapMsChapV2::GetInfoLC()
+{
 	CEapTypeInfo* info = new(ELeave) CEapTypeInfo(
 		(TDesC&)KReleaseDate, 
 		(TDesC&)KEapTypeVersion,
 		(TDesC&)KManufacturer);
 
+	CleanupStack::PushL(info);
 	return info;
 }
 
@@ -191,42 +197,30 @@
 
 void CEapMsChapV2::DeleteConfigurationL()
 {		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::DeleteConfigurationL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::DeleteConfigurationL()\n"));
-
 	EapMsChapV2DbUtils::DeleteConfigurationL(iIndexType, iIndex, iTunnelingType);
 }
 
 // ----------------------------------------------------------
 
-void CEapMsChapV2::SetTunnelingType(const TEapExpandedType aTunnelingType)
-    {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetTunnelingType()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetTunnelingType()\n"));
+void CEapMsChapV2::SetTunnelingType(const TInt aTunnelingType)
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Vendor id is eap_type_vendor_id_ietf always in this plugin.
+	iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType);
 
-    EAP_TRACE_DATA_DEBUG_SYMBIAN(
-        (EAPL("CEapMsChapV2::SetTunnelingType - tunneling type"),
-        aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
-    
-    eap_type_value_e aInternalType;
-    
-    TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-            &aTunnelingType,
-            &aInternalType);
-    
-    iTunnelingType = aInternalType;
-    
-    }
+#else
+
+	iTunnelingType = static_cast<eap_type_value_e>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+}
 
 // ----------------------------------------------------------
-
 void CEapMsChapV2::SetIndexL(
 		const TIndexType aIndexType, 
 		const TInt aIndex)
 {		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetIndexL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetIndexL()\n"));
-
 	// First delete the target configuration
 	TIndexType tmpIndexType = iIndexType;
 	TInt tmpIndex = iIndex;
@@ -244,16 +238,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetIndexL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapMsChapV2DbUtils::SetIndexL(
 		db, 
 		iIndexType, 
@@ -266,30 +257,20 @@
 	iIndexType = aIndexType;
 	iIndex = aIndex;
 
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db
 }
 
 void CEapMsChapV2::SetConfigurationL(const EAPSettings& aSettings)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetConfigurationL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetConfigurationL()\n"));
-
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;	
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapMsChapV2DbUtils::SetConfigurationL(
 		db,
@@ -298,30 +279,20 @@
 		iIndex,
 		iTunnelingType);		
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 void CEapMsChapV2::GetConfigurationL(EAPSettings& aSettings)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetConfigurationL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetConfigurationL()\n"));
-
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapMsChapV2DbUtils::GetConfigurationL(
 		db,
@@ -329,31 +300,14 @@
 		iIndexType,
 		iIndex,
 		iTunnelingType);
-
-	// Plain-MsChapv2 and EAP-MsChapv2 uses the same database.
-	// Here we set the correct authentication method to read settings.
-	error = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-		&iEapType,
-		&aSettings.iEAPExpandedType);
-	if (error != KErrNone)
-	{
-		User::Leave(error);
-	}
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 void CEapMsChapV2::CopySettingsL(
 	const TIndexType aDestinationIndexType,
 	const TInt aDestinationIndex)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::CopySettingsL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::CopySettingsL()\n"));
-
 	// First delete the target configuration
 	TIndexType tmpIndexType = iIndexType;
 	TInt tmpIndex = iIndex;
@@ -371,16 +325,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::CopySettingsL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapMsChapV2DbUtils::CopySettingsL(
 		db,
 		iIndexType,
@@ -390,11 +341,7 @@
 		aDestinationIndex, 
 		iTunnelingType);
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db
 	
 }
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 56 %
+* %version: 21.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -34,96 +34,116 @@
 #include "EapMsChapV2DbDefaults.h"
 #include "EapMsChapV2DbParameterNames.h"
 
-#include <EapTraceSymbian.h>
-#include "EapPluginTools.h"
+#include "eap_am_trace_symbian.h"
 
 const TUint KMaxSqlQueryLength = 512;
 const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute.
 
 // ================= MEMBER FUNCTIONS =======================
 
-void EapMsChapV2DbUtils::OpenDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+void EapMsChapV2DbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType,
+	const TInt aIndex, const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::OpenDatabaseL()\n"));
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"),
+	aIndexType,aIndex,aTunnelingVendorType) );
 
 	// 1. Open/create a database	
 	
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL - Created Secure DB for eapmsmhapv2.dat. err=%d\n"), err));
 
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapMsChapV2DatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): - Opened private DB for EAP-MsChapV2. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KDatabaseName);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL - Created Non-Secure DB for eapmsmhapv2.dat. err=%d\n"), err));
 
-	// 2. Create the MSCHAPv2 table to database (ignore error if database exists)
-	// Table columns:
-	//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
-	//| ServiceType                                         | UNSIGNED INTEGER  | KServiceType      |//
-	//| ServiceIndex                                        | UNSIGNED INTEGER  | KServiceIndex     |//
-	//| TunnelingTypeVendorId                               | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType                                       | UNSIGNED INTEGER  | KTunnelingType    |//
-	//| EAP_MSCHAPV2_password_prompt                        | UNSIGNED INTEGER  | cf_str_EAP_MSCHAPV2_password_prompt_literal   |//
-	//| EAP_MSCHAPV2_username                               | VARCHAR(255)      | cf_str_EAP_MSCHAPV2_username_literal         |//
-	//| EAP_MSCHAPV2_password                               | VARCHAR(255)      | cf_str_EAP_MSCHAPV2_password_literal         |//
-	//| EAP_MSCHAPv2_max_session_validity_time				      | BIGINT		   	    | cf_str_EAP_MSCHAPv2_max_session_validity_time_literal   |//
-	//| EAP_MSCHAPv2_last_full_authentication_time			    | BIGINT		   	    | KMSCHAPv2LastFullAuthTime	|//
-	//////////////////////////////////////////////////////////////////////////////////////////////////
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName));
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls HBufC::NewLC()\n")));
+// 2. Create the MSCHAPv2 table to database (ignore error if database exists)
+// Table columns:
+//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
+//| ServiceType                                         | UNSIGNED INTEGER  | KServiceType      |//
+//| ServiceIndex                                        | UNSIGNED INTEGER  | KServiceIndex     |//
+//| TunnelingType                                       | UNSIGNED INTEGER  | KTunnelingType    |//
+//| EAP_MSCHAPV2_password_prompt                        | UNSIGNED INTEGER  | cf_str_EAP_MSCHAPV2_password_prompt_literal   |//
+//| EAP_MSCHAPV2_username                               | VARCHAR(255)      | cf_str_EAP_MSCHAPV2_username_literal         |//
+//| EAP_MSCHAPV2_password                               | VARCHAR(255)      | cf_str_EAP_MSCHAPV2_password_literal         |//
+//| EAP_MSCHAPv2_max_session_validity_time				| BIGINT		   	| cf_str_EAP_MSCHAPv2_max_session_validity_time_literal   |//
+//| EAP_MSCHAPv2_last_full_authentication_time			| BIGINT		   	| KMSCHAPv2LastFullAuthTime	|//
+//////////////////////////////////////////////////////////////////////////////////////////////////
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(255), \
-		 %S VARCHAR(255), \
-		 %S BIGINT, \
-		 %S BIGINT)");
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n")));
+	_LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(255), \
+											 %S VARCHAR(255), \
+											 %S BIGINT, \
+											 %S BIGINT)");
 
 	sqlStatement.Format(KSQLCreateTable1,
 						&KMsChapV2TableName,
 						&KServiceType,
 						&KServiceIndex,
-						&KTunnelingTypeVendorId,
 						&KTunnelingType,
 						&cf_str_EAP_MSCHAPV2_password_prompt_literal,
 						&cf_str_EAP_MSCHAPV2_username_literal,
@@ -131,100 +151,57 @@
 						&cf_str_EAP_MSCHAPv2_max_session_validity_time_literal, 
 						&KMSCHAPv2LastFullAuthTime);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls aDatabase.Execute()\n")));
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"),
-			error));
-
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// 4. Check if database table contains a row for this service type and id  
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n")));
-
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	sqlStatement.Format(KSQLQueryRow,
-		&cf_str_EAP_MSCHAPV2_username_literal,
-		&KMsChapV2TableName,
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+						&cf_str_EAP_MSCHAPV2_username_literal,
+						&KMsChapV2TableName,
+						&KServiceType,
+						aIndexType,
+						&KServiceIndex,
+						aIndex,
+						&KTunnelingType, 
+						aTunnelingVendorType);
+							
 	RDbView view;
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.Prepare()\n")));
-
-	error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"),
-		error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	// View must be closed when no longer needed
 	CleanupClosePushL(view);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.EvaluateAll()\n")));
-
-	error = view.EvaluateAll();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.EvaluateAll() error=%d\n"),
-		error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(view.EvaluateAll());
 	
 	// 5. If row is not found then add it
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.CountL()\n")));
-
 	TInt rows = view.CountL();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"),
-		rows));
-
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(); // view
 	if (rows == 0)
 	{
 		_LIT(KSQLInsert, "SELECT * FROM %S");
 		sqlStatement.Format(KSQLInsert, &KMsChapV2TableName);		
+										
+		view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly);
+		CleanupClosePushL(view);
 		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.Prepare()\n")));
-
-		error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly);
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"),
-			error));
-
-		User::LeaveIfError(error);
-		CleanupClosePushL(view);
-
 		// Get column set so we get the correct column numbers
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.ColSetL()\n")));
-
 		CDbColSet* colSet = view.ColSetL();		
 		CleanupStack::PushL(colSet);
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.InsertL()\n")));
-
+		
 		view.InsertL();
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt> (aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
+		
+		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), default_EAP_MSCHAPV2_password_prompt);
 		
-		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), default_EAP_password_prompt);
+		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), default_EAP_MSCHAPV2_username);
 		
-		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), default_EAP_username);
-		
-		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), default_EAP_password);
+		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), default_EAP_MSCHAPV2_password);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPv2_max_session_validity_time_literal), default_MaxSessionTime);
 		
@@ -232,15 +209,16 @@
 		
 		view.PutL();
 				
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.
+		
+		CleanupStack::PopAndDestroy( &view ); // Close view.		
 	} 
-
+	
+	CleanupStack::PopAndDestroy( buf ); // Delete buf	
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );	
+		
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );	
-	CleanupStack::Pop( &aFileServerSession );
 }
 
 
@@ -253,37 +231,25 @@
 	const TInt aNewIndex,
 	const eap_type_value_e aNewTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"),
-		aNewIndexType,
-		aNewIndex,
-		aNewTunnelingType.get_vendor_id(),
-		aNewTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::SetIndexL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aNewTunnelingVendorType = static_cast<TUint>(aNewTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KMsChapV2TableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KMsChapV2TableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -313,15 +279,14 @@
 	view.UpdateL();
 	
     view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aNewIndexType));
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
 void EapMsChapV2DbUtils::SetConfigurationL(
@@ -331,20 +296,19 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::SetConfigurationL()\n"));
+#else
 
-	EAP_TRACE_SETTINGS(&aSettings);
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	// Check if the settings are for the correct type
-	if (aSettings.iEAPExpandedType != (*EapExpandedTypeMsChapv2.GetType())
-		&& aSettings.iEAPExpandedType != (*EapExpandedPlainMsChapv2.GetType()))
+	if (aSettings.iEAPType != EAPSettings::EEapMschapv2 &&
+		aSettings.iEAPType != EAPSettings::EPlainMschapv2)
 	{
 		User::Leave(KErrNotSupported);
 	}
@@ -354,18 +318,9 @@
 
 	RDbView view;
 
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQuery,
-		&KMsChapV2TableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KMsChapV2TableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -390,7 +345,7 @@
 		{
 			// Username too long. Can not be stored in DB.
 			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::SetConfigurationL(): Too long Username. Length=%d \n"),
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL: Too long Username. Length=%d \n"),
 			aSettings.iUsername.Length()));
 			
 			User::Leave(KErrArgument);
@@ -400,15 +355,6 @@
 		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), aSettings.iUsername);		
 	}
 		
-	// Password existence.
-	if (aSettings.iPasswordExistPresent
-		&& !aSettings.iPasswordExist)
-	{
-		// Clear password from database.
-		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), KNullPasswordData);
-		view.SetColNullL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal));
-	}
-
 	// Password
 	if (aSettings.iPasswordPresent)
 	{
@@ -417,7 +363,7 @@
 		{
 			// Password too long. Can not be stored in DB.
 			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::SetConfigurationL(): Too long Password. Length=%d \n"),
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL: Too long Password. Length=%d \n"),
 			aSettings.iPassword.Length()));
 			
 			User::Leave(KErrArgument);
@@ -426,21 +372,10 @@
 		// Length is ok. Set the value in DB.	
 		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), aSettings.iPassword);
 		
+		// If password was supplied set password prompting off
+		view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff);		
 	}
 			
-	if (aSettings.iShowPassWordPromptPresent)
-		{	
-		// If password was supplied set password prompting off
-		if (aSettings.iShowPassWordPrompt == EFalse)
-			{
-				view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbFalse );
-			}
-		else
-			{
-				view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue );
-			}		
-		}
-
 	// Session validity time
 	if (aSettings.iSessionValidityTimePresent)
 	{
@@ -457,23 +392,22 @@
 		
 		if( validityInMicro != 0)
 		{
-			view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue);
+			view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn);
 		}		
 	}
 	
 	// Last full authentication time should be made zero when EAP configurations are modified.
 	// This makes sure that the next authentication with this EAP would be full authentication
 	// instead of reauthentication even if the session is still valid.
-
+	
 	view.SetColL(colSet->ColNo(KMSCHAPv2LastFullAuthTime), default_FullAuthTime);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n")));
-
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"),
+								aSettings.iEAPType ));
+	
 	view.PutL();
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
 }
 
 void EapMsChapV2DbUtils::GetConfigurationL(
@@ -483,14 +417,15 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::GetConfigurationL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();	
@@ -498,18 +433,9 @@
 	RDbView view;
 
 	// Form the query
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQuery,
-		&KMsChapV2TableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KMsChapV2TableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -526,38 +452,18 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-	aSettings.iEAPExpandedType = *EapExpandedTypeMsChapv2.GetType(); 
+	aSettings.iEAPType = EAPSettings::EEapMschapv2; 
 	
 	// Username
 	TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal));
 	aSettings.iUsername.Copy(username);
 	aSettings.iUsernamePresent = ETrue;
 	
-	// Password existence.
-	aSettings.iPasswordExistPresent = ETrue;
-	aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal));
-
-#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
 	// Password
 	TPtrC password = view.ColDes(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal));
 	aSettings.iPassword.Copy(password);
 	aSettings.iPasswordPresent = ETrue;
-#else
-	EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapMsChapV2DbUtils::GetConfigurationL(): Password read is disabled\n")));
-#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
 
-	aSettings.iShowPassWordPromptPresent = ETrue;
-
-	TUint aShow = view.ColUint(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal));
-	if(aShow == EEapDbFalse)
-	{
-		aSettings.iShowPassWordPrompt = EFalse;
-	}
-	else
-	{
-		aSettings.iShowPassWordPrompt = ETrue;
-	}
-	
 	// Session validity time	
 	TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_MSCHAPv2_max_session_validity_time_literal));
 	
@@ -567,11 +473,7 @@
 	aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
 	aSettings.iSessionValidityTimePresent = ETrue;
 		
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-
-	EAP_TRACE_SETTINGS(&aSettings);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
 void EapMsChapV2DbUtils::CopySettingsL(
@@ -583,37 +485,25 @@
 	const TInt aDestIndex,
 	const eap_type_value_e aDestTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"),
-		aSrcIndexType,
-		aSrcIndex,
-		aSrcTunnelingType.get_vendor_id(),
-		aSrcTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"),
-		aDestIndexType,
-		aDestIndex,
-		aDestTunnelingType.get_vendor_id(),
-		aDestTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type();
+	TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::CopySettingsL()\n"));
+#else
+
+	TUint aSrcTunnelingVendorType = static_cast<TUint>(aSrcTunnelingType);
+	TUint aDestTunnelingVendorType = static_cast<TUint>(aDestTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KMsChapV2TableName, 
-		&KServiceType,
-		aSrcIndexType,
-		&KServiceIndex,
-		aSrcIndex,
-		&KTunnelingTypeVendorId,
-		aSrcTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aSrcTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KMsChapV2TableName, 
+		&KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -644,15 +534,14 @@
 	CleanupStack::PushL(colSet);
 		
 	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestIndexType));
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
 void EapMsChapV2DbUtils::DeleteConfigurationL(	
@@ -660,88 +549,97 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapMsChapV2DbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::DeleteConfigurationL()\n"));
+#else
 
-	RDbNamedDatabase aDatabase;
-	RFs aFileServerSession;
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	RDbs session;
+	RDbNamedDatabase database;
+	// Connect to the DBMS server.
+	User::LeaveIfError(session.Connect());
+	CleanupClosePushL(session);	
+		
+#ifdef SYMBIAN_SECURE_DBMS
 	
-	error = aFileServerSession.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapMsChapV2DatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = database.Create(session, KDatabaseName, KSecureUIDFormat);
+	
+	if(err == KErrNone)
 	{
 		// Database was created so it was empty. No need for further actions.
-		aDatabase.Destroy();
-		CleanupStack::PopAndDestroy(&aDatabase);
-		CleanupStack::PopAndDestroy(&aFileServerSession);
+		database.Destroy();
+		CleanupStack::PopAndDestroy();
 		return;
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} 
+	else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
+	// Database existed, open it.
+	User::LeaveIfError(database.Open(session, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(database);
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = database.Create(fsSession, KDatabaseName);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - Opened private DB for EAP-MsChapV2. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	if(err == KErrNone)
+	{
+		// Database was created so it was empty. No need for further actions.
+		database.Destroy();
+		CleanupStack::PopAndDestroy(2); // fsSession, database session
+		return;
+		
+	} 
+	else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(database.Open(session, KDatabaseName));
+	CleanupClosePushL(database);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
 	// Main settings table
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQL,
-		&KMsChapV2TableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQL, &KMsChapV2TableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	// Evaluate view
 	RDbView view;
-	User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 
 	// Delete rows
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.DeleteL();
 		} while (view.NextL() != EFalse);
 	}
 
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-	CleanupStack::PopAndDestroy(&aDatabase);
-	CleanupStack::PopAndDestroy(&aFileServerSession);
+	// Close database
+	CleanupStack::PopAndDestroy(4); // view, buf, database, session
 }
 
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 13.1.5 %
+* %version: 16 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -32,7 +32,6 @@
 #include "EapMsChapV2.h"
 #include <e32base.h>
 #include <ecom/implementationproxy.h>
-#include "EapTraceSymbian.h"
 
 #include "EapolUID.h"
 
@@ -46,9 +45,6 @@
 
 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("ImplementationGroupProxy(): CEapMsChapV2\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: ImplementationGroupProxy(): CEapMsChapV2\n"));
-
 	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
 
 	return ImplementationTable;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 10.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 298 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include "EapMsChapV2DbUtils.h"
+#include <EapMsChapV2UiConnection.h>
+#include <EapMsChapV2UiDataConnection.h>
+
+CEapMsChapV2UiConnection::CEapMsChapV2UiConnection(
+    const TIndexType aIndexType,
+    const TInt aIndex,
+    const TInt aTunnelingType,
+    const TInt aEAPType)
+    : iIndexType(aIndexType)
+    , iIndex(aIndex)
+    , iTunnelingType(aTunnelingType)
+    , iIsConnected(EFalse)
+    , iDataConn(NULL)
+    , iEAPType(aEAPType)
+{
+}
+
+
+CEapMsChapV2UiConnection::~CEapMsChapV2UiConnection()
+{
+}
+
+
+TInt CEapMsChapV2UiConnection::Connect()
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iTunnelingType));
+
+#else
+
+	eap_type_value_e tunnelingType = static_cast<eap_type_value_e>(iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	TRAPD(err, EapMsChapV2DbUtils::OpenDatabaseL(
+		iDbNamedDatabase, 
+		iDbs, 
+		iIndexType, 
+		iIndex, 
+		tunnelingType));
+    if (err == KErrNone)
+    {
+        iIsConnected = ETrue;
+    }
+
+    return err;
+}
+
+
+TInt CEapMsChapV2UiConnection::Close()
+{
+    if (iIsConnected)
+    {
+        iDbNamedDatabase.Close();
+        iDbs.Close();
+    }
+    iIsConnected = EFalse;
+
+    return KErrNone;
+}
+
+
+CEapMsChapV2UiDataConnection * CEapMsChapV2UiConnection::GetDataConnection()
+{
+    if (!iDataConn)
+    {
+        iDataConn = new CEapMsChapV2UiDataConnection(this);
+    }
+
+    return iDataConn;
+}
+
+TInt CEapMsChapV2UiConnection::GetDatabase(RDbNamedDatabase & aDatabase)
+{
+    if (iIsConnected == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+
+    aDatabase = iDbNamedDatabase;
+    return KErrNone;
+}
+
+
+TIndexType CEapMsChapV2UiConnection::GetIndexType()
+{
+    return iIndexType;
+}
+
+
+TInt CEapMsChapV2UiConnection::GetIndex()
+{
+    return iIndex;
+}
+
+
+TInt CEapMsChapV2UiConnection::GetTunnelingType()
+{
+    return iTunnelingType;
+}
+
+TInt CEapMsChapV2UiConnection::GetBearerEAPType()
+{
+	return iEAPType;
+}
+
+// End of file
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiDataConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,253 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 12.1.2.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 300 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <e32base.h>
+#include "EapMsChapV2DbUtils.h"
+#include "EapMsChapV2DbParameterNames.h"
+#include "EapMsChapV2DbDefaults.h"
+#include <EapMsChapV2UiConnection.h>
+#include <EapMsChapV2UiDataConnection.h>
+#include <EapMsChapV2UiMsChapV2Data.h>
+#include "eap_am_trace_symbian.h"
+
+const TUint KMaxSqlQueryLength = 256;
+
+
+CEapMsChapV2UiDataConnection::CEapMsChapV2UiDataConnection(CEapMsChapV2UiConnection * aUiConn)
+: iIsOpened(EFalse)
+, iUiConn(aUiConn)
+, iColSet(NULL)
+, iDataPtr(NULL)
+{
+}
+
+
+CEapMsChapV2UiDataConnection::~CEapMsChapV2UiDataConnection()
+{
+    if (iUiConn)
+    {
+        Close();
+        iUiConn = NULL;
+    }
+}
+
+
+TInt CEapMsChapV2UiDataConnection::Open()
+{
+    if (iIsOpened)
+    {
+        return KErrAlreadyExists;
+    }
+
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    iIsOpened = ETrue;
+    return KErrNone;
+}
+
+
+TInt CEapMsChapV2UiDataConnection::GetData(CEapMsChapV2UiMsChapV2Data ** aDataPtr)
+{
+    if (aDataPtr == NULL)
+    {
+        return KErrArgument;
+    }
+    if (iIsOpened == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+    iDataPtr = new CEapMsChapV2UiMsChapV2Data();
+    if (!iDataPtr)
+    {
+        return KErrNoMemory;
+    }
+
+    TRAPD(err, FetchDataL());
+    if (err != KErrNone)
+    {
+        delete iDataPtr;
+        iDataPtr = NULL;
+        
+        delete iColSet;
+        iColSet = NULL;
+        
+        iView.Close();
+        
+        return err;
+    }
+
+    *aDataPtr = iDataPtr;
+
+    return KErrNone;
+}
+
+
+TInt CEapMsChapV2UiDataConnection::Update()
+{
+    TRAPD(err, iView.UpdateL());
+    if (err != KErrNone)
+    {
+        return err;
+    }
+    
+	// Validate the length of username and password.
+	if(iDataPtr->GetUsername().Length() > KMaxUsernameLengthInDB
+		|| iDataPtr->GetPassword().Length() > KMaxPasswordLengthInDB)
+	{
+		// Username or password too long. Can not be stored in DB.
+		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2UiDataConnection::Update: Too long username or password. Length: UN=%d, PW=%d\n"),
+			iDataPtr->GetUsername().Length(),
+			iDataPtr->GetPassword().Length()));
+		
+		return KErrArgument;
+	}
+    
+    TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), iDataPtr->GetUsername()));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), iDataPtr->GetPassword()));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+    
+    if (*(iDataPtr->GetPasswordPrompt()))
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+    else
+    {
+        TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff));
+		if (err != KErrNone)
+		{
+			return err;
+		}
+    }
+    
+	// Last full authentication time should be made zero when EAP configurations are modified.
+	// This makes sure that the next authentication with this EAP would be full authentication
+	// instead of reauthentication even if the session is still valid.
+	
+	TRAP(err, iView.SetColL(iColSet->ColNo(KMSCHAPv2LastFullAuthTime), default_FullAuthTime));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=MSCHAPv2 (or plain), Resetting Full Auth Time since settings are modified\n")));
+
+    TRAP(err, iView.PutL());
+
+    return err;
+}
+
+
+TInt CEapMsChapV2UiDataConnection::Close()
+{
+    if (iIsOpened == EFalse)
+    {
+        return KErrNone;
+    }
+
+	delete iDataPtr;
+	iDataPtr = NULL;
+	
+	delete iColSet;
+	iColSet = NULL;
+
+    iView.Close();
+
+    iUiConn = NULL;
+    
+    return KErrNone;
+}
+
+
+void CEapMsChapV2UiDataConnection::FetchDataL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery,
+						&KMsChapV2TableName,
+						&KServiceType,
+						iUiConn->GetIndexType(),
+						&KServiceIndex,
+						iUiConn->GetIndex(),
+						&KTunnelingType, 
+						iUiConn->GetTunnelingType());
+	// Evaluate view
+	User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	User::LeaveIfError(iView.EvaluateAll());
+		
+	// Get the first (and only) row
+	iView.FirstL();
+	iView.GetL();
+					
+	// Get column set so we get the correct column numbers
+	delete iColSet;
+	iColSet = NULL;
+	iColSet = iView.ColSetL();
+
+	// Start fetching the values
+
+	// Prompt password
+	TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetPasswordPrompt()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetPasswordPrompt()) = ETrue;
+    }
+
+	// username
+    iDataPtr->GetUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal)));
+
+	// password
+	iDataPtr->GetPassword().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal)));
+
+    CleanupStack::PopAndDestroy(buf);
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiMsChapV2Data.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 7.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 302 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <EapMsChapV2UiMsChapV2Data.h>
+
+
+CEapMsChapV2UiMsChapV2Data::CEapMsChapV2UiMsChapV2Data()
+{
+}
+
+
+CEapMsChapV2UiMsChapV2Data::~CEapMsChapV2UiMsChapV2Data()
+{
+}
+
+
+TDes& CEapMsChapV2UiMsChapV2Data::GetUsername()
+{
+    return iUsername;
+}
+
+
+TDes& CEapMsChapV2UiMsChapV2Data::GetPassword()
+{
+    return iPassword;
+}
+
+
+TBool * CEapMsChapV2UiMsChapV2Data::GetPasswordPrompt()
+{
+    return &iPasswordPrompt;
+}
+
+// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 6.1.2 %
+* %version: 8 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -36,7 +36,7 @@
 
 // ================= MEMBER FUNCTIONS =======================
 
-CEapProtectedSetupInterface::CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, CEapAmProtectedSetupSymbian* const aParent)
+CEapProtectedSetupInterface::CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, eap_am_type_protected_setup_symbian_c* const aParent)
 : CActive(CActive::EPriorityStandard)
 , iParent(aParent)
 , m_am_tools(aTools)
@@ -50,7 +50,7 @@
 //--------------------------------------------------
 
 CEapProtectedSetupInterface* CEapProtectedSetupInterface::NewL(abs_eap_am_tools_c* const aTools, 
-											   CEapAmProtectedSetupSymbian* const aParent)
+											   eap_am_type_protected_setup_symbian_c* const aParent)
 {
 	CEapProtectedSetupInterface* self = new(ELeave) CEapProtectedSetupInterface(aTools, aParent);
 	CleanupStack::PushL(self);
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18.1.4.1.12 %
+* %version: 18.1.8 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -34,6 +34,7 @@
 #include "eap_am_tools.h"
 #include "eap_state_notification.h"
 #include "eap_config.h"
+#include <wdbifwlansettings.h>
 
 #include "eap_type_simple_config_types.h"
 #include "eap_tlv_message_data.h"
@@ -41,7 +42,7 @@
 #include "simple_config_credential.h"
 #include "abs_eap_configuration_if.h"
 
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 #include <mmtsy_names.h>
 
 static const char EAP_AM_TYPE_SIMPLE_CONFIG_MEMORY_STORE_KEY[] = "eap_am_type_simple_config_simulator_c credential_store";
@@ -50,12 +51,12 @@
 
 
 // 
-EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian::CEapAmProtectedSetupSymbian(
+EAP_FUNC_EXPORT eap_am_type_protected_setup_symbian_c::eap_am_type_protected_setup_symbian_c(
 	abs_eap_am_tools_c * const tools,
 	abs_eap_base_type_c * const partner,
-	const TIndexType /* aIndexType */,
+	const TIndexType aIndexType,
 	const TInt aIndex,
-	const eap_type_value_e /* aTunnelingType */,
+	const eap_type_value_e aTunnelingType,	
 	const eap_type_value_e eap_type,
 	const bool is_client_when_true,
 	const eap_am_network_id_c * const receive_network_id,
@@ -91,7 +92,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian(): this = 0x%08x\n"),
+		(EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c(): this = 0x%08x\n"),
 		(m_is_client == true ? "client": "server"),
 		this));
 
@@ -118,7 +119,7 @@
 
 //--------------------------------------------------
 
-void CEapAmProtectedSetupSymbian::ConstructL()
+void eap_am_type_protected_setup_symbian_c::ConstructL()
 {
 	if (m_is_client == true)
 	{
@@ -138,7 +139,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian* CEapAmProtectedSetupSymbian::NewL(
+eap_am_type_protected_setup_symbian_c* eap_am_type_protected_setup_symbian_c::NewL(
 	abs_eap_am_tools_c * const tools,
 	abs_eap_base_type_c * const partner,
 	const TIndexType aIndexType,
@@ -149,7 +150,7 @@
 	const eap_am_network_id_c * const receive_network_id,
 	abs_eap_configuration_if_c * const configuration_if)
 {
-	CEapAmProtectedSetupSymbian* self = new (ELeave) CEapAmProtectedSetupSymbian(
+	eap_am_type_protected_setup_symbian_c* self = new (ELeave) eap_am_type_protected_setup_symbian_c(
 		tools,
 		partner,
 		aIndexType, 
@@ -176,7 +177,7 @@
 //--------------------------------------------------
 
 // 
-EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian::~CEapAmProtectedSetupSymbian()
+EAP_FUNC_EXPORT eap_am_type_protected_setup_symbian_c::~eap_am_type_protected_setup_symbian_c()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -184,7 +185,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("SIMPLE_CONFIG: %s: function: ~CEapAmProtectedSetupSymbian(): this = 0x%08x\n"),
+		(EAPL("SIMPLE_CONFIG: %s: function: ~eap_am_type_protected_setup_symbian_c(): this = 0x%08x\n"),
 		(m_is_client == true ? "client": "server"),
 		this));
 
@@ -200,7 +201,7 @@
 
 //--------------------------------------------------
 
-abs_simple_config_am_services_c * CEapAmProtectedSetupSymbian::get_simple_config_am_partner()
+abs_simple_config_am_services_c * eap_am_type_protected_setup_symbian_c::get_simple_config_am_partner()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_ASSERT_ALWAYS(m_simple_config_am_partner != 0);
@@ -210,7 +211,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_simple_config_am_partner(abs_simple_config_am_services_c * const simple_config_am_partner)
+EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_simple_config_am_partner(abs_simple_config_am_services_c * const simple_config_am_partner)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	m_simple_config_am_partner = simple_config_am_partner;
@@ -219,7 +220,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_am_partner(abs_eap_am_type_simple_config_c * const partner)
+EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_am_partner(abs_eap_am_type_simple_config_c * const partner)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -228,13 +229,13 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::configure()
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::configure()
 {
 
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::configure()\n"),
+		(EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::configure()\n"),
 		 (m_is_client == true ? "client": "server")));
 
 	if (m_configured == true)
@@ -242,7 +243,7 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::configure(): Already configured.\n"),
+			(EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::configure(): Already configured.\n"),
 			 (m_is_client == true ? "client": "server")));
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
@@ -253,7 +254,7 @@
 	{
 		eap_variable_data_c use_manual_username(m_am_tools);
 
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_SIMPLE_CONFIG_use_manual_username.get_field(),
 			&use_manual_username);
 		if (status == eap_status_ok
@@ -273,7 +274,7 @@
 
 	if (m_use_manual_username == true)
 	{
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_SIMPLE_CONFIG_manual_username.get_field(),
 			&m_manual_username);
 		if (status == eap_status_ok
@@ -325,7 +326,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::reset()
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::reset()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	m_device_parameters_valid = false;
@@ -335,14 +336,14 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::shutdown()
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::shutdown()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::shutdown(): ")
+		(EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::shutdown(): ")
 		 EAPL("this = 0x%08x\n"),
 		(m_is_client == true ? "client": "server"),
 		this));
@@ -386,7 +387,7 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("EAP_type_SIMPLE_CONFIG: CEapAmProtectedSetupSymbian::shutdown():")
+			(EAPL("EAP_type_SIMPLE_CONFIG: eap_am_type_protected_setup_symbian_c::shutdown():")
 			 EAPL("credentials removed from eapol\n")));
 		
 		eap_tlv_message_data_c tlv_data(m_am_tools);
@@ -416,7 +417,7 @@
 
 //--------------------------------------------------
 
-void CEapAmProtectedSetupSymbian::send_error_notification(const eap_status_e error)
+void eap_am_type_protected_setup_symbian_c::send_error_notification(const eap_status_e error)
 {
 	{
 		eap_general_state_variable_e general_state_variable(eap_general_state_authentication_error);
@@ -447,7 +448,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::authentication_finished(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::authentication_finished(
 	const bool true_when_successfull,
 	const bool true_when_session_resumed)
 {
@@ -469,13 +470,13 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::query_eap_identity(
-	const eap_am_network_id_c * const /* receive_network_id */,
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::query_eap_identity(
+	const eap_am_network_id_c * const receive_network_id,
 	const u8_t eap_identifier,
-	bool * const /* use_manual_username */,
+	bool * const use_manual_username,
 	eap_variable_data_c * const manual_username,
-	bool *const /* use_manual_realm */,
-	eap_variable_data_c * const /* manual_realm */
+	bool *const use_manual_realm,
+	eap_variable_data_c * const manual_realm
 	)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -495,12 +496,6 @@
 	if (m_use_manual_username == true
 		&& m_manual_username.get_is_valid_data() == true)
 	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("SIMPLE_CONFIG: %s: function: query_eap_identity(): manual username\n"),
-			 (m_is_client == true ? "client": "server")));
-
 		status = manual_username->set_copy_of_buffer(&m_manual_username);
 	}
 
@@ -539,7 +534,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::cancel_identity_query()
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::cancel_identity_query()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -565,7 +560,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_is_valid()
+EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_is_valid()
 {
 	m_is_valid = true;
 }
@@ -573,7 +568,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT bool CEapAmProtectedSetupSymbian::get_is_valid()
+EAP_FUNC_EXPORT bool eap_am_type_protected_setup_symbian_c::get_is_valid()
 {
 	return m_is_valid;
 }
@@ -581,7 +576,7 @@
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::type_configure_read(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::type_configure_read(
 	const eap_configuration_field_c * const field,
 	eap_variable_data_c * const data)
 {
@@ -644,6 +639,7 @@
 		} // if (!wanted_field.compare(&type_field))
 
 
+	// NOTE: This is for simulation.
 	// Read is routed to partner object.
 	status = m_partner->read_configure(
 			field,
@@ -660,20 +656,18 @@
 //--------------------------------------------------
 
 //
-void CEapAmProtectedSetupSymbian::read_device_passwordL(
+void eap_am_type_protected_setup_symbian_c::read_device_passwordL(
 	eap_config_string /*field*/,
 	const u32_t /*field_length*/,
-	eap_variable_data_c * const /* data */)
+	eap_variable_data_c * const data)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
 	// Get the things from commsdat here.
-
-#if 0
-
+	
 	// We need PSK (PIN code for protected setup) from the CommsDat.
 	// CommDbIf is used to get the PSK.
-
+	
 	CWLanSettings* wlan_settings = new(ELeave) CWLanSettings;
 	CleanupStack::PushL(wlan_settings);
 	SWLANSettings wlanSettings;
@@ -688,7 +682,7 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT, (
-			EAPL("ERROR: CEapAmProtectedSetupSymbian::read_device_passwordL() Connecting to CommsDat failed!\n")));
+			EAPL("ERROR: eap_am_type_protected_setup_symbian_c::read_device_passwordL() Connecting to CommsDat failed!\n")));
 				
 		User::Leave(KErrCouldNotConnect);
 	}
@@ -696,7 +690,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT, (
-		EAPL("CEapAmProtectedSetupSymbian::read_device_passwordL() Connected to CommDbIf.\n")));
+		EAPL("eap_am_type_protected_setup_symbian_c::read_device_passwordL() Connected to CommDbIf.\n")));
 
 	error = wlan_settings->GetWlanSettingsForService(m_index, wlanSettings);
 	if ( error != KErrNone)
@@ -704,7 +698,7 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT, (
-			EAPL("ERROR: CEapAmProtectedSetupSymbian::read_device_passwordL() GetWlanSettingsForService failed, error=%d\n"),
+			EAPL("ERROR: eap_am_type_protected_setup_symbian_c::read_device_passwordL() GetWlanSettingsForService failed, error=%d\n"),
 			error));
 	
 		wlan_settings->Disconnect();
@@ -771,15 +765,13 @@
 	wlan_settings->Disconnect();
 	CleanupStack::PopAndDestroy(wlan_settings);
 
-#endif
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::type_configure_write(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::type_configure_write(
 	const eap_configuration_field_c * const field,
 	eap_variable_data_c * const data)
 {
@@ -795,7 +787,7 @@
 
 //--------------------------------------------------
 
-abs_eap_am_type_simple_config_c * CEapAmProtectedSetupSymbian::get_am_partner()
+abs_eap_am_type_simple_config_c * eap_am_type_protected_setup_symbian_c::get_am_partner()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -804,7 +796,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::query_network_and_device_parameters(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters(
 	const simple_config_state_e state)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -816,7 +808,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("SIMPLE_CONFIG: %s: CEapAmProtectedSetupSymbian::query_network_and_device_parameters()\n"),
+		(EAPL("SIMPLE_CONFIG: %s: eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters()\n"),
 		(m_is_client == true ? "client": "server")));
 
 	eap_status_e status = eap_status_process_general_error;
@@ -828,7 +820,7 @@
 	{
 		
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapAmProtectedSetupSymbian::query_network_and_device_parameters: Parameters exist, completing query immediately.")));
+			(_L("eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters: Parameters exist, completing query immediately.")));
 
 		// pass the parameters
 		status = get_simple_config_am_partner()->complete_query_network_and_device_parameters(
@@ -936,7 +928,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapAmProtectedSetupSymbian::query_network_and_device_parameters() m_Device_Password_ID=%d\n"),
+		(EAPL("eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters() m_Device_Password_ID=%d\n"),
 		m_Device_Password_ID));
 
 	{
@@ -1105,7 +1097,7 @@
 //--------------------------------------------------
 
 // This is always synchronous call.
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::save_simple_config_session(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::save_simple_config_session(
 	const simple_config_state_e state,
 	EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
 	const eap_variable_data_c * const new_password,
@@ -1208,7 +1200,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::received_registrar_information(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::received_registrar_information(
 	EAP_TEMPLATE_CONST eap_array_c<simple_config_payloads_c> * const M2D_payloads)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1289,7 +1281,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::cancel_query_network_and_device_parameters()
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::cancel_query_network_and_device_parameters()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
@@ -1314,7 +1306,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::load_module(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::load_module(
 		const eap_type_value_e eap_type,
 		const eap_type_value_e tunneling_type,
 		abs_eap_base_type_c * const partner,
@@ -1326,7 +1318,7 @@
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapAmProtectedSetupSymbian::load_module(0x%08x)\n"),
+		(EAPL("eap_am_type_protected_setup_symbian_c::load_module(0x%08x)\n"),
 		 convert_eap_type_to_u32_t(eap_type)));
 
 	eap_status_e status = m_partner->load_module(
@@ -1343,13 +1335,13 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::check_is_valid_eap_type(const eap_type_value_e eap_type)
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapAmProtectedSetupSymbian::check_is_valid_eap_type(0x%08x)\n"),
+		(EAPL("eap_am_type_protected_setup_symbian_c::check_is_valid_eap_type(0x%08x)\n"),
 		 convert_eap_type_to_u32_t(eap_type)));
 
 	eap_status_e status = m_partner->check_is_valid_eap_type(
@@ -1361,7 +1353,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::get_eap_type_list(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::get_eap_type_list(
 	eap_array_c<eap_type_value_e> * const eap_type_list)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1374,13 +1366,13 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::unload_module(const eap_type_value_e eap_type)
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::unload_module(const eap_type_value_e eap_type)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapAmProtectedSetupSymbian::unload_module(0x%08x)\n"),
+		(EAPL("eap_am_type_protected_setup_symbian_c::unload_module(0x%08x)\n"),
 		convert_eap_type_to_u32_t(eap_type)));
 
 	eap_status_e status = m_partner->unload_module(
@@ -1392,7 +1384,7 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL(
+EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::complete_protected_setup_device_paramsL(
 	const RMobilePhone::TMobilePhoneIdentityV1 &phone_identity,
 	const eap_status_e completion_status )
 {
@@ -1499,7 +1491,7 @@
 		// since there is nothing better for the purpose.
 		
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL: Uses model as device name.")));
+			(_L("eap_am_type_protected_setup_symbian_c::complete_protected_setup_device_paramsL: Uses model as device name.")));
 
 		status = m_network_and_device_parameters.copy_attribute_data(
 				simple_config_Attribute_Type_Device_Name,
@@ -1611,23 +1603,23 @@
 
 //--------------------------------------------------
 
-void CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii)
+void eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii)
 {
 		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-			("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL:From TEXT",
+			("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL:From TEXT",
 			aFromUnicode.Ptr(), 
 			aFromUnicode.Size()));	
 		
 		if(aFromUnicode.Length() <= 0)
 		{
 			EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT")));
+			(_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT")));
 			
 			return;
 		}	
 		
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"),
+			(_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"),
 			aFromUnicode.Length(), aFromUnicode.Size()));	
 		
 		// Convert from Unicode to ascii.
@@ -1635,7 +1627,7 @@
 		TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des();
 		
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"),
+			(_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"),
 			aFromUnicodePtr8.Length(), aFromUnicodePtr8.Size(), aFromUnicodePtr8.MaxLength(), aFromUnicodePtr8.MaxSize()));				
 		
 		aFromUnicodePtr8.Copy(aFromUnicode); // Unicode -> ascii.
@@ -1645,7 +1637,7 @@
 		CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8.	
 
 		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-			("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL:To ASCII",
+			("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL:To ASCII",
 			aToAscii.Ptr(), 
 			aToAscii.Size()));	
 }
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,21 +16,21 @@
 */
 
 /*
-* %version: 11 %
+* %version: 4.1.2 %
 */
 
 #ifndef _EAPPROTECTEDSETUP_H_
 #define _EAPPROTECTEDSETUP_H_
 
 // INCLUDES
-#include <EapTypePlugin.h>
+#include <EapType.h>
 #include "eap_header.h"
 
 // CLASS DECLARATION
 /**
 * Class that implements the generic EAP type interface for EAP protected setup (EAP-WSC).
 */
-class CEapProtectedSetup : public CEapTypePlugin
+class CEapProtectedSetup : public CEapType
 {
 public:		
 
@@ -63,13 +63,16 @@
 											   const eap_am_network_id_c * const receive_network_id,
 											   abs_eap_configuration_if_c * const configuration_if);
 	
-
+	/**
+	* Invokes the configuration UI. This doesn't do anything.
+	**/
+	TInt InvokeUiL();
 	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	CEapTypeInfo* GetInfoL();
+	CEapTypeInfo* GetInfoLC();
 	
 	/**
 	* Deletes EAP type configuration
@@ -91,7 +94,7 @@
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
+	void SetTunnelingType(const TInt aTunnelingType);
 
 	/**
 	* Changes the index of the saved parameters.
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 4 %
 */
 
 #ifndef _EAPPROTECTEDSETUPGLOBAL_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 4.1.2 %
+* %version: 7 %
 */
 
 //  INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 19 %
+* %version: 11.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -40,8 +40,9 @@
 #include <EapTypeInfo.h>
 #include "eap_am_type_protected_setup_symbian.h"
 #include "EapProtectedSetupGlobal.h"
-#include "EapTraceSymbian.h"
-#include "EapConversion.h"
+#include "eap_am_trace_symbian.h"
+
+//#include "EapAkaDbUtils.h"
 
 #include "eap_am_tools_symbian.h"
 
@@ -95,7 +96,7 @@
 		(_L("CEapProtectedSetup::GetStackInterfaceL - Start")));
 
 	// Create AM
-	CEapAmProtectedSetupSymbian* amEapType = CEapAmProtectedSetupSymbian::NewL(
+	eap_am_type_protected_setup_symbian_c* amEapType = eap_am_type_protected_setup_symbian_c::NewL(
 		aTools, 
 		aPartner, 
 		iIndexType,
@@ -110,7 +111,7 @@
 	{
 	
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: GetStackInterfaceL : CEapAmProtectedSetupSymbian(): failed.")));
+			(_L("ERROR: GetStackInterfaceL : eap_am_type_protected_setup_symbian_c(): failed.")));
 	
 		delete amEapType;
 		User::Leave(KErrNoMemory);
@@ -182,18 +183,27 @@
 }
 
 // ----------------------------------------------------------
+TInt CEapProtectedSetup::InvokeUiL()
+{
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("ERROR: CEapProtectedSetup::InvokeUiL - THIS IS NOT SUPPORTED")));
 
-
+	TInt buttonId(0);
+ 
+	// This is a dummy function.
+	
+	return buttonId;
+}
 
 // ----------------------------------------------------------
-
-CEapTypeInfo* CEapProtectedSetup::GetInfoL()
+CEapTypeInfo* CEapProtectedSetup::GetInfoLC()
 {
 	CEapTypeInfo* info = new(ELeave) CEapTypeInfo(
 		(TDesC&)KReleaseDate, 
 		(TDesC&)KEapTypeVersion,
 		(TDesC&)KManufacturer);
 
+	CleanupStack::PushL(info);
 	return info;
 }
 
@@ -213,20 +223,14 @@
 
 // ----------------------------------------------------------
 
-void CEapProtectedSetup::SetTunnelingType(const TEapExpandedType aTunnelingType)
+void CEapProtectedSetup::SetTunnelingType(const TInt aTunnelingType)
 {
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(
-		(EAPL("CEapProtectedSetup::SetTunnelingType - tunneling type"),
-		aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("CEapProtectedSetup::SetTunnelingType - tunneling type=%d"),
+		aTunnelingType));
 
-	eap_type_value_e aInternalType;
-
-	    TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-	            &aTunnelingType,
-	            &aInternalType);
-
-	    iTunnelingType = aInternalType;
-
+	// Vendor id is eap_type_vendor_id_ietf always in this plugin.
+	iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType);
 }
 
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 3.1.2 %
+* %version: 6 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 29.1.36 %
+* %version: 32 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -39,17 +39,14 @@
 #include "eap_am_type_securid_symbian.h"
 #include "EapSecurIDDbParameterNames.h"
 #include "EapSecurIDDbUtils.h"
-#include "EapPluginDbDefaults.h"
-#include "eap_auth_notifier.h"
-
-
+#include "EapSecurIDNotifierStructs.h"
 #include "EapGtcDbParameterNames.h"
 #include "EapGtcDbUtils.h"
 #include "EapSecurIDNotifierUids.h"
 #include "eap_configuration_field.h"
 #include "eap_state_notification.h"
 
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 
 const TUint KMaxSqlQueryLength = 256;
 const TUint KMaxDBFieldNameLength = 255;
@@ -78,9 +75,6 @@
 	delete m_dialog_data_pckg_ptr;
 	delete m_message_buf;
 
-	delete iEapAuthNotifier;
-	iEapAuthNotifier = 0;
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
@@ -96,11 +90,52 @@
 		(EAPL("eap_am_type_securid_symbian_c::shutdown(): this = 0x%08x\n"),
 		this));
 
+	if( IsActive() )
+	{
+		Cancel(); // Cancel only if active.
+	}  
+	else
+	{
+		if( m_is_notifier_connected )
+		{
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - calling m_notifier.CancelNotifier(..)\n")));
+	
+			TInt error = m_notifier.CancelNotifier(KEapSecurIDIdentityQueryUid);
+			
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapSecurIDIdentityQueryUid) error=%d\n"), error));
 
+
+			error = m_notifier.CancelNotifier(KEapSecurIDPasscodeQueryUid);
+			
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapSecurIDPasscodeQueryUid) error=%d\n"), error));
+
+
+			error = m_notifier.CancelNotifier(KEapSecurIDPincodeQueryUid);
+			
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapSecurIDPincodeQueryUid) error=%d\n"), error));
+
+
+			error = m_notifier.CancelNotifier(KEapGtcIdentityQueryUid);
+			
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapGtcIdentityQueryUid) error=%d\n"), error));
+
+
+			error = m_notifier.CancelNotifier(KEapGtcUserInputQueryUid);
+			
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapGtcUserInputQueryUid) error=%d\n"), error));
+
+
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - calling m_notifier.Close(), prev error=%d\n"), error));
+
+			m_notifier.Close(); // Call close only if it is connected.	
+			
+			m_is_notifier_connected = false;
+		}
+	}
+	
 	m_shutdown_was_called = true;
 
-	m_partner->cancel_timer(this, EHandlingTimerCall);
-	
 	EAP_TRACE_DEBUG(
 		m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
@@ -136,12 +171,22 @@
 		, m_shutdown_was_called(false)
 		, m_eap_type(aEapType)
 		, m_is_notifier_connected(false)
-		, m_max_session_time(0)
-		, iEapAuthNotifier(0)	
-
+		, m_max_session_time(0)	
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	m_tunneling_vendor_type = m_tunneling_type.get_vendor_type();
+	m_eap_vendor_type = m_eap_type.get_vendor_type();
+
+#else
+
+	m_tunneling_vendor_type = static_cast<TUint>(m_tunneling_type);
+	m_eap_vendor_type = static_cast<TUint>(m_eap_type);	
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	if (receive_network_id != 0
 		&& receive_network_id->get_is_valid_data() == true)
 	{
@@ -200,10 +245,6 @@
 
 void eap_am_type_securid_symbian_c::ConstructL()
 {
-	TInt error = m_session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_securid_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
 	// Open/create database
 	if (m_eap_type == eap_type_generic_token_card)
 	{
@@ -214,8 +255,8 @@
 		EapSecurIDDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type);
 	}
 
-	m_dialog_data_ptr = new(ELeave) CEapAuthNotifier::TEapDialogInfo;
-	m_dialog_data_pckg_ptr = new(ELeave) TPckg<CEapAuthNotifier::TEapDialogInfo> (*m_dialog_data_ptr);
+	m_dialog_data_ptr = new(ELeave) TEapSecurIDStruct;
+	m_dialog_data_pckg_ptr = new(ELeave) TPckg<TEapSecurIDStruct> (*m_dialog_data_ptr);
 
 	CActiveScheduler::Add(this);
 }
@@ -281,6 +322,199 @@
 		 EAPL("m_state, iStatus.Int()=%d\n"),
 		 m_state, iStatus.Int()));
 
+	if (iStatus.Int() == KErrCancel)
+	{
+		delete m_message_buf;
+		m_message_buf = NULL;
+		get_am_partner()->finish_unsuccessful_authentication(true);
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return;
+	}
+	
+	if (iStatus.Int() != KErrNone)
+	{
+		delete m_message_buf;
+		m_message_buf = NULL;
+		// Something is very wrong...
+
+		EAP_TRACE_ERROR(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("ERROR: EAP - SecurID notifier or dialog\n")));
+
+		send_error_notification(eap_status_authentication_failure);
+
+		get_am_partner()->finish_unsuccessful_authentication(false);
+
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return;
+	}
+
+	switch (m_state)
+	{
+	case EHandlingIdentityQuery:
+		{
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingIdentityQuery\n")));
+
+			eap_variable_data_c identity(m_am_tools);
+
+			eap_status_e status = identity.set_copy_of_buffer(
+				m_dialog_data_ptr->iIdentity.Ptr(),
+				m_dialog_data_ptr->iIdentity.Size());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			eap_variable_data_c identity_utf8(m_am_tools);
+			status = m_am_tools->convert_unicode_to_utf8(identity_utf8, identity);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			status = get_am_partner()->complete_eap_identity_query(&identity_utf8);
+		}
+		break;
+
+	case EHandlingPasscodeQuery:
+		{
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingPasscodeQuery\n")));
+
+			eap_variable_data_c passcode(m_am_tools);
+
+			eap_status_e status = passcode.set_copy_of_buffer(
+				m_dialog_data_ptr->iPasscode.Ptr(),
+				m_dialog_data_ptr->iPasscode.Size());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			eap_variable_data_c passcode_utf8(m_am_tools);
+			status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			status = get_am_partner()->client_securid_complete_passcode_query(&passcode_utf8);
+		}
+		break;
+
+	case EHandlingPincodeQuery:
+		{
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingPincodeQuery\n")));
+
+			eap_variable_data_c pincode(m_am_tools);
+
+			eap_status_e status = pincode.set_copy_of_buffer(
+				m_dialog_data_ptr->iPincode.Ptr(),
+				m_dialog_data_ptr->iPincode.Size());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			eap_variable_data_c passcode(m_am_tools);
+
+			status = passcode.set_copy_of_buffer(
+				m_dialog_data_ptr->iPasscode.Ptr(),
+				m_dialog_data_ptr->iPasscode.Size());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+
+			eap_variable_data_c pincode_utf8(m_am_tools);
+			status = m_am_tools->convert_unicode_to_utf8(pincode_utf8, pincode);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			eap_variable_data_c passcode_utf8(m_am_tools);
+			status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			status = get_am_partner()->client_securid_complete_pincode_query(&passcode_utf8, &passcode_utf8);
+		}
+		break;
+
+	case EHandlingGTCQuery:
+		{
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingGTCQuery\n")));
+
+			delete m_message_buf;
+			m_message_buf = NULL;
+
+			eap_variable_data_c passcode(m_am_tools);
+
+			eap_status_e status = passcode.set_copy_of_buffer(
+				m_dialog_data_ptr->iPasscode.Ptr(),
+				m_dialog_data_ptr->iPasscode.Size());
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+
+			eap_variable_data_c passcode_utf8(m_am_tools);
+			status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+				(void)EAP_STATUS_RETURN(m_am_tools, status);
+				return;
+			}
+			
+			// User must have entered some password and pressed OK.
+			// Treat this as a full authentication and update the Last Auth Time.
+			status = store_authentication_time();
+			if (status != eap_status_ok)
+			{
+				// Storing failed. Don't care.
+				EAP_TRACE_ERROR(m_am_tools, 
+					TRACE_FLAGS_DEFAULT, (
+					EAPL("eap_am_type_securid_symbian_c:Storing Last Full Authentication time failed, status=%d, but continuing\n"), 
+					status));
+
+				status = eap_status_ok;
+			}			
+
+			status = get_am_partner()->client_gtc_complete_user_input_query(&passcode_utf8);
+		}
+		break;
+
+	default:
+		EAP_TRACE_ERROR(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("ERROR: EAP - SecurID illegal state in RunL.\n")));
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
+		return;		
+	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 }
@@ -289,8 +523,34 @@
 
 void eap_am_type_securid_symbian_c::DoCancel()
 {
-	iEapAuthNotifier->Cancel();
+	if( m_is_notifier_connected )
+	{
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - calling m_notifier.CancelNotifier(..)\n")));
+		
+		TInt error = m_notifier.CancelNotifier(KEapSecurIDIdentityQueryUid);
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapSecurIDIdentityQueryUid) error=%d\n"), error));
+
+		error = m_notifier.CancelNotifier(KEapSecurIDPasscodeQueryUid);
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapSecurIDPasscodeQueryUid) error=%d\n"), error));
 
+		error = m_notifier.CancelNotifier(KEapSecurIDPincodeQueryUid);
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapSecurIDPincodeQueryUid) error=%d\n"), error));
+
+		error = m_notifier.CancelNotifier(KEapGtcIdentityQueryUid);
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapGtcIdentityQueryUid) error=%d\n"), error));
+
+		error = m_notifier.CancelNotifier(KEapGtcUserInputQueryUid);
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapGtcUserInputQueryUid) error=%d\n"), error));
+
+		m_notifier.Close(); // Call close only if it is connected.	
+		
+		m_is_notifier_connected = false;
+	}
 }
 
 //--------------------------------------------------
@@ -302,11 +562,9 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_ASSERT(data != 0);
-
 	// Trap must be set here because the OS independent portion of EAP SecurID
 	// that calls this function does not know anything about Symbian.	
 	eap_status_e status(eap_status_ok);
-
 	TRAPD(err, type_configure_readL(
 		field->get_field(),
 		field->get_field_length(),
@@ -336,15 +594,6 @@
 	eap_variable_data_c * const data)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::type_configure_readL(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"),
-		m_index_type,
-		m_index,
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type()));
-
 	EAP_UNREFERENCED_PARAMETER(field_length);
 
 	// Create a buffer for the ascii strings - initialised with the argument
@@ -360,38 +609,17 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	if (m_eap_type == eap_type_securid)
 	{
-		sqlStatement.Format(
-			KSQLQueryRow,
-			&unicodeString,
-			&KSecurIDTableName, 
-			&KServiceType,
-			m_index_type,
-			&KServiceIndex,
-			m_index,
-			&KTunnelingTypeVendorId,
-			m_tunneling_type.get_vendor_id(),
-			&KTunnelingType, 
-			m_tunneling_type.get_vendor_type());
+		sqlStatement.Format(KSQLQueryRow, &unicodeString, &KSecurIDTableName, 
+			&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	}
 	else
 	{
-		sqlStatement.Format(
-			KSQLQueryRow,
-			&unicodeString,
-			&KGtcTableName, 
-			&KServiceType,
-			m_index_type,
-			&KServiceIndex,
-			m_index,
-			&KTunnelingTypeVendorId,
-			m_tunneling_type.get_vendor_id(),
-			&KTunnelingType, 
-			m_tunneling_type.get_vendor_type());
-	}
-
+		sqlStatement.Format(KSQLQueryRow, &unicodeString, &KGtcTableName, 
+			&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
+	}	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
@@ -501,7 +729,7 @@
 		// Read Maximum Session Validity Time from the config file
 		eap_variable_data_c sessionTimeFromFile(m_am_tools);
 		
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_GTC_max_session_validity_time.get_field(),
 			&sessionTimeFromFile);
 		
@@ -563,70 +791,51 @@
 	eap_variable_data_c * const /*passcode*/,
 	bool is_first_query)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::show_passcode_query_dialog(): is_first_query=%d\n"),
-		is_first_query));
-
-	eap_status_e status = eap_status_pending_request;
-	
-	m_state = EHandlingPasscodeQuery;
-
-	TInt err1 = KErrNone;
-	
-	TRAPD(err, err1 = IsDlgReadyToCompleteL());
-	
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::show_passcode_query_dialog(): err=%d result=%d\n"),
-		err, err1));
-
-	if ((err1 == KErrCancel) || err)
-		{
-		TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType());
+	if (!IsActive())
+	{
+		m_state = EHandlingPasscodeQuery;
 		
-		if (iEapAuthNotifier == 0)
-		    {
-		    TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-		  	if (err)
-		  		{
-		  			return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-		  		}
-		    }
-
-		if (is_first_query != true)
-			{
-			TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGtcChallengeDialog, m_dialog_data_ptr, aEapType));
-			if (err1)
-				{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-				}
-			}
+		if (is_first_query == true)
+		{
+			m_dialog_data_ptr->iIsFirstQuery = ETrue;
+		}
 		else
-			{
-			TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGTCQueryDialog, m_dialog_data_ptr, aEapType));
-			if (err2)
-				{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-				}
-			}
-
-		}
-	else
 		{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_securid_symbian_c::show_passcode_query_dialog(): EHandlingTimerCall\n")));
-
-		if(m_partner->set_timer(this,EHandlingTimerCall,0 /*data*/,2 /*time ms*/) != eap_status_ok)
-			status = eap_status_process_general_error;	
+			m_dialog_data_ptr->iIsFirstQuery = EFalse;
 		}
 
+		if( !m_is_notifier_connected )
+		{
+			TInt error = m_notifier.Connect();
+			
+			EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_passcode_query_dialog - m_notifier.Connect() returned error=%d\n"), error));
+			
+			if( error != KErrNone)
+			{
+				// Can not connect to notifier.
+				return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));		
+			}
+			
+			m_is_notifier_connected = true; // Got connectted to notifier.
+		}
 
-	return EAP_STATUS_RETURN(m_am_tools, status);
+		EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_passcode_query_dialog - StartNotifierAndGetResponse - KEapSecurIDPasscodeQueryUid \n")));
+
+		m_notifier.StartNotifierAndGetResponse(
+			iStatus, 
+			KEapSecurIDPasscodeQueryUid, 
+			*m_dialog_data_pckg_ptr, 
+			*m_dialog_data_pckg_ptr);
+
+		SetActive();
+	} 
+	else
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c: Already active when tried to show passcode query dialog.\n")));
+		return eap_status_process_general_error;
+	}
+
+	return eap_status_pending_request;
 }
 
 //--------------------------------------------------
@@ -644,83 +853,80 @@
 		message,
 		message_length));
 
-	eap_status_e status = eap_status_pending_request;
-	
-	m_state = EHandlingGTCQuery;
-	
-	TInt err1 = KErrNone;
-	
-	TRAPD(err, err1 = IsDlgReadyToCompleteL());
-	
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog(): err=%d, result=%d, is_first_query=%d\n"),
-		err,
-		err1,
-		is_first_query));
+	if (!IsActive())
+	{
+		m_state = EHandlingGTCQuery;
 
-	if ((err1 == KErrCancel) || err)
-		{
 		eap_variable_data_c message_utf8(m_am_tools);
 		eap_status_e status = message_utf8.set_buffer(message, message_length, false, false);
 		if (status != eap_status_ok)
-			{
+		{
 			return EAP_STATUS_RETURN(m_am_tools, status);
-			}
+		}
 
 		eap_variable_data_c message_unicode(m_am_tools);
 		status = m_am_tools->convert_utf8_to_unicode(message_unicode, message_utf8);
 		if (status != eap_status_ok)
-			{
+		{
 			return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-		m_dialog_data_ptr->iUidata.Copy((TText *)message_unicode.get_data(), message_unicode.get_data_length());
-
-		m_dialog_data_ptr->iPassword.Zero();
-
-		TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType());
-		
-		if (iEapAuthNotifier == 0)
-		    {
-		    TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-		  	if (err)
-		  		{
-		  			return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-		  		}
-		    }
-
-		if (is_first_query != true)
-			{
-			TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGtcChallengeDialog, m_dialog_data_ptr, aEapType));
-			if (err1)
-				{
-					return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-				}
-			}
-		else
-			{
-			TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGTCUsernamePasswordDialog, m_dialog_data_ptr, aEapType));
-			if (err2)
-				{
-					return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-				}
-			}
-		
-		}
-	else
-		{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog(): EHandlingTimerCall\n")));
-
-		if(m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok)
-			status = eap_status_process_general_error;	
 		}
 
-	return EAP_STATUS_RETURN(m_am_tools, status);
+		TRAPD(err, m_message_buf = HBufC8::NewL(message_unicode.get_data_length()));
+		if (err != KErrNone)
+		{
+			return eap_status_allocation_error;
+		}
+		TPtr8 messageBufPtr = m_message_buf->Des();
+		messageBufPtr.Copy(message_unicode.get_data(), message_unicode.get_data_length());
+
+		if (is_first_query == true)
+		{
+			m_dialog_data_ptr->iIsFirstQuery = ETrue;
+		}
+		else
+		{
+			m_dialog_data_ptr->iIsFirstQuery = EFalse;
+		}
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_gtc_query_dialog - before m_notifier.Connect(), m_is_notifier_connected=%d\n"), m_is_notifier_connected));
+
+		if( !m_is_notifier_connected )
+		{
+			TInt error = m_notifier.Connect();
+			
+			EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_gtc_query_dialog - m_notifier.Connect() returned error=%d\n"), error));
+			
+			if( error != KErrNone)
+			{
+				// Can not connect to notifier.
+				return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));		
+			}
+			
+			m_is_notifier_connected = true; // Got connectted to notifier.
+		}
+
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog: m_message_buf"),
+			m_message_buf->Ptr(),
+			m_message_buf->Size()));
+
+		m_notifier.StartNotifierAndGetResponse(
+			iStatus, 
+			KEapGtcUserInputQueryUid, 
+			*m_message_buf, 
+			*m_dialog_data_pckg_ptr);
+
+		SetActive();
+	} 
+	else
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c: Already active when tried to show GTC query dialog.\n")));
+		return eap_status_process_general_error;
+	}
+
+	return eap_status_pending_request;
 }
 
 //--------------------------------------------------
@@ -732,426 +938,51 @@
 {
 	EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::_pincode_query_dialog - start - is_first_query=%d\n"), is_first_query));
 	
-	eap_status_e status = eap_status_pending_request;
-	
-	TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType());
-	
-	m_state = EHandlingPincodeQuery;
-
-	TInt err1 = KErrNone;
-	
-	TRAPD(err, err1 = IsDlgReadyToCompleteL());
-	
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::show_pincode_query_dialog(): err=%d, result= %d is_first_query=%d\n"),
-		err,
-		err1,
-		is_first_query));
-
-	if ((err1 == KErrCancel) || err)
-		{
+	if (!IsActive())
+	{
+		m_state = EHandlingPincodeQuery;
 
-	    if (iEapAuthNotifier == 0)
-	    	{
-		    TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-		  	if (err)
-		  		{
-	  			return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-	  			}
-	    	}
-
-		if (is_first_query != true)
-			{
-			TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGtcChallengeDialog, m_dialog_data_ptr, aEapType));
-			if (err1)
-		  		{
-		  		return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-		  		}
-			}
+		if (is_first_query == true)
+		{
+			m_dialog_data_ptr->iIsFirstQuery = ETrue;
+		}
 		else
-			{
-			TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGTCQueryDialog, m_dialog_data_ptr, aEapType));
-			if (err2)
-		  		{
-		  		return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure);
-		  		}
-			}
-
-		}
-	else
 		{
-		if(m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok)
-			status = eap_status_process_general_error;	
+			m_dialog_data_ptr->iIsFirstQuery = EFalse;
 		}
 
-
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-TInt eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL()
-	{
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"),
-		m_index_type,
-		m_index,
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type()));
-
-	TInt status = KErrNone;
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-	
-	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(
-		KSQLQuery,
-		&cf_str_EAP_GTC_passcode_prompt_literal,
-		&cf_str_EAP_GTC_identity_literal,
-		&cf_str_EAP_GTC_passcode_literal,
-		&KGtcTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
-	
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): Reads database\n")));
-
-	RDbView view;
-	// Evaluate view
-	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
-	CleanupClosePushL(view);
-	
-	User::LeaveIfError(view.EvaluateAll());
-	
-	// Get the first (and only) row
-	view.FirstL();
-	view.GetL();
-	
-	// Get column set so we get the correct column numbers
-	CDbColSet* colSet = view.ColSetL();
-	CleanupStack::PushL(colSet);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): Reads database\n")));
-
-	TPtrC username = view.ColDes(colSet->ColNo( cf_str_EAP_GTC_identity_literal ) );
+		if( !m_is_notifier_connected )
+		{
+			TInt error = m_notifier.Connect();
+			
+			EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_pincode_query_dialog - m_notifier.Connect() returned error=%d\n"), error));
+			
+			if( error != KErrNone)
+			{
+				// Can not connect to notifier.
+				return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));		
+			}
+			
+			m_is_notifier_connected = true; // Got connectted to notifier.
+		}
 
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): username"),
-		username.Ptr(),
-		username.Size()));
-
-	TPtrC password = view.ColDes(colSet->ColNo( cf_str_EAP_GTC_passcode_literal ) );
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): password"),
-		password.Ptr(),
-		password.Size()));
-
-	TUint prompt = view.ColUint(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal));
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): prompt=%d\n"),
-		prompt));
-
-
-	if ((EEapDbFalse != prompt)
-		 || (username.Size() == 0) 
-		 || (password.Size() == 0))
-		{
+		EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_pincode_query_dialog - StartNotifierAndGetResponse - KEapSecurIDPincodeQueryUid \n")));
 
-		if (username.Size() == 0)
-			{
-			m_dialog_data_ptr->iUsername.Zero();
-			}
-		else
-			{
-			m_dialog_data_ptr->iUsername.Copy(username);
-			}
+		m_notifier.StartNotifierAndGetResponse(
+			iStatus, 
+			KEapSecurIDPincodeQueryUid, 
+			*m_dialog_data_pckg_ptr, 
+			*m_dialog_data_pckg_ptr);
 
-		status = KErrCancel;
-		}
+		SetActive();
+	} 
 	else
-		{
-		status = KErrNone;	
-		m_dialog_data_ptr->iUsername.Copy(username);
-		m_dialog_data_ptr->iPassword.Copy(password);
-		}
-		
-	CleanupStack::PopAndDestroy(colSet); // Delete colSet.
-	CleanupStack::PopAndDestroy(&view); // Close view.
-	CleanupStack::PopAndDestroy(buf); // Delete buf.
-		
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): status=%d\n"),
-		status));
-
-	return status;
-	}
-	
-EAP_FUNC_EXPORT eap_status_e eap_am_type_securid_symbian_c::timer_expired(
-		const u32_t id , void * data)
 	{
-	EAP_UNREFERENCED_PARAMETER(id); // in release
-	EAP_UNREFERENCED_PARAMETER(data); // in release
-	
-	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eap_am_type_securid_symbian_c::timer_expired(id 0x%02x, data 0x%08x).\n"),
-		this, id, data));
-	
-	DlgComplete(KErrNone);
-	return eap_status_ok;	
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c: Already active when tried to show identity query dialog.\n")));
+		return eap_status_process_general_error;
 	}
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_securid_symbian_c::timer_delete_data(
-		const u32_t id, void *data)
-	{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-	EAP_UNREFERENCED_PARAMETER(id); // in release
-	EAP_UNREFERENCED_PARAMETER(data); // in release
-
-	eap_status_e status = eap_status_ok;
-
-	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eap_am_type_securid_symbian_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"),
-		this, id, data));
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-			
-	}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT void eap_am_type_securid_symbian_c::DlgComplete( TInt aStatus )  
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::DlgComplete(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"),
-		m_index_type,
-		m_index,
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type()));
-
-	if (aStatus == KErrCancel)
-	{
-		delete m_message_buf;
-		m_message_buf = NULL;
-		get_am_partner()->finish_unsuccessful_authentication(true);
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return;
-	}
-	
-	if (aStatus != KErrNone)
-	{
-		delete m_message_buf;
-		m_message_buf = NULL;
-		// Something is very wrong...
-
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EAP - SecurID notifier or dialog\n")));
-
-		send_error_notification(eap_status_authentication_failure);
-
-		get_am_partner()->finish_unsuccessful_authentication(false);
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return;
-	}
-
-	switch (m_state)
-	{
-	case EHandlingIdentityQuery:
-		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingIdentityQuery\n")));
-
-			eap_variable_data_c identity(m_am_tools);
-
-			eap_status_e status = identity.set_copy_of_buffer(
-				m_dialog_data_ptr->iUsername.Ptr(),
-				m_dialog_data_ptr->iUsername.Size());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			eap_variable_data_c identity_utf8(m_am_tools);
-			status = m_am_tools->convert_unicode_to_utf8(identity_utf8, identity);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			status = get_am_partner()->complete_eap_identity_query(&identity_utf8);
-		}
-		break;
-
-	case EHandlingPasscodeQuery:
-		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPasscodeQuery\n")));
-
-			eap_variable_data_c passcode(m_am_tools);
-
-			eap_status_e status = passcode.set_copy_of_buffer(
-				m_dialog_data_ptr->iPassword.Ptr(),
-				m_dialog_data_ptr->iPassword.Size());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			eap_variable_data_c passcode_utf8(m_am_tools);
-			status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			status = get_am_partner()->client_securid_complete_passcode_query(&passcode_utf8);
-		}
-		break;
-
-	case EHandlingPincodeQuery:
-		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPincodeQuery\n")));
-
-			eap_variable_data_c pincode(m_am_tools);
-
-			eap_status_e status = pincode.set_copy_of_buffer(
-				m_dialog_data_ptr->iUsername.Ptr(),
-				m_dialog_data_ptr->iUsername.Size());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			eap_variable_data_c passcode(m_am_tools);
-
-			status = passcode.set_copy_of_buffer(
-				m_dialog_data_ptr->iPassword.Ptr(),
-				m_dialog_data_ptr->iPassword.Size());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-
-			eap_variable_data_c pincode_utf8(m_am_tools);
-			status = m_am_tools->convert_unicode_to_utf8(pincode_utf8, pincode);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			eap_variable_data_c passcode_utf8(m_am_tools);
-			status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			status = get_am_partner()->client_securid_complete_pincode_query(&passcode_utf8, &passcode_utf8);
-		}
-		break;
-
-	case EHandlingGTCQuery:
-		{
-			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingGTCQuery\n")));
-
-			delete m_message_buf;
-			m_message_buf = NULL;
-
-			eap_variable_data_c passcode(m_am_tools);
-
-			eap_status_e status = passcode.set_copy_of_buffer(
-				m_dialog_data_ptr->iPassword.Ptr(),
-				m_dialog_data_ptr->iPassword.Size());
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-
-			eap_variable_data_c passcode_utf8(m_am_tools);
-			status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-				(void)EAP_STATUS_RETURN(m_am_tools, status);
-				return;
-			}
-			
-			// User must have entered some password and pressed OK.
-			// Treat this as a full authentication and update the Last Auth Time.
-			status = store_authentication_time();
-			if (status != eap_status_ok)
-			{
-				// Storing failed. Don't care.
-				EAP_TRACE_ERROR(m_am_tools, 
-					TRACE_FLAGS_DEFAULT, (
-					EAPL("eap_am_type_securid_symbian_c:Storing Last Full Authentication time failed, status=%d, but continuing\n"), 
-					status));
-
-				status = eap_status_ok;
-			}			
-
-			status = get_am_partner()->client_gtc_complete_user_input_query(&passcode_utf8);
-		}
-		break;
-
-	default:
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EAP - SecurID illegal state in DlgComplete().\n")));
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
-		return;		
-	}
+	return eap_status_pending_request;
 }
 
 //--------------------------------------------------
@@ -1224,29 +1055,13 @@
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 
+	status = memory_store_key->add_data(
+		&m_tunneling_vendor_type,
+		sizeof(m_tunneling_vendor_type));
+	if (status != eap_status_ok)
 	{
-		u32_t vendor_id = m_tunneling_type.get_vendor_id();
-
-		status = memory_store_key->add_data(
-			&vendor_id,
-			sizeof(vendor_id));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	}
-
-	{
-		u32_t vendor_type = m_tunneling_type.get_vendor_type();
-		status = memory_store_key->add_data(
-			&vendor_type,
-			sizeof(vendor_type));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
 	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -1265,8 +1080,8 @@
 	if (err != KErrNone) 
 	{
 		EAP_TRACE_ERROR(m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_securid_symbian_c::is_session_valid(): LEAVE - error=%d, Assuming session is invalid \n"),
+			TRACE_FLAGS_DEFAULT, (
+			EAPL("eap_am_type_securid_symbian_c::is_session_valid - LEAVE - error=%d, Assuming session is invalid \n"),
 			err));
 			
 		sessionValidity = false;
@@ -1283,34 +1098,23 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_securid_symbian_c::is_session_valid(): EAP-tunneling type=0xfe%06x%08x\n"),
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type()));
+	EAP_TRACE_DEBUG(m_am_tools, 
+		TRACE_FLAGS_DEFAULT, (
+		EAPL("eap_am_type_securid_symbian_c::is_session_valid: EAP vendor type=%d\n"),
+		m_eap_vendor_type));
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	
 	if (m_eap_type == eap_type_generic_token_card)
 	{
-		sqlStatement.Format(
-			KSQLQuery,
-			&cf_str_EAP_GTC_max_session_validity_time_literal,
-			&KGTCLastFullAuthTime,
-			&KGtcTableName,
-			&KServiceType,
-			m_index_type, 
-			&KServiceIndex,
-			m_index,
-			&KTunnelingTypeVendorId,
-			m_tunneling_type.get_vendor_id(),
-			&KTunnelingType, 
-			m_tunneling_type.get_vendor_type());
+		sqlStatement.Format(KSQLQuery, &cf_str_EAP_GTC_max_session_validity_time_literal,
+							&KGTCLastFullAuthTime, &KGtcTableName,
+							&KServiceType, m_index_type, 
+							&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	}
 	else
 	{
@@ -1324,7 +1128,7 @@
 
 	RDbView view;
 	// Evaluate view
-	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement)));
 	CleanupClosePushL(view);
 	
 	User::LeaveIfError(view.EvaluateAll());
@@ -1454,30 +1258,20 @@
 	
 	EAP_TRACE_DEBUG(m_am_tools, 
 		TRACE_FLAGS_DEFAULT, (
-		EAPL("eap_am_type_securid_symbian_c::store_authentication_timeL: EAP-tunneling type=0xfe%06x%08x\n"),
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type()));	
+		EAPL("eap_am_type_securid_symbian_c::store_authentication_timeL: EAP Vendor Type=%d\n"),
+		m_eap_vendor_type));	
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	
 	if (m_eap_type == eap_type_generic_token_card)
 	{
-		sqlStatement.Format(
-			KSQLQuery,
-			&KGTCLastFullAuthTime,
-			&KGtcTableName,
-			&KServiceType,
-			m_index_type, 
-			&KServiceIndex,
-			m_index,
-			&KTunnelingTypeVendorId,
-			m_tunneling_type.get_vendor_id(),
-			&KTunnelingType, 
-			m_tunneling_type.get_vendor_type());
+		sqlStatement.Format(KSQLQuery, &KGTCLastFullAuthTime, &KGtcTableName,
+							&KServiceType, m_index_type, 
+							&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	}
 	else
 	{
@@ -1487,7 +1281,7 @@
 		CleanupStack::PopAndDestroy(buf); // Delete buf.
 		User::Leave(KErrNotSupported);		
 	}
-
+		
 	RDbView view;
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,15 +16,20 @@
 */
 
 /*
-* %version: %
+* %version: 8.1.2 %
 */
 
 #ifndef EAPGTCDBDEFAULTS_H
 #define EAPGTCDBDEFAULTS_H
 
-#include "EapPluginDbDefaults.h"
 // LOCAL CONSTANTS
 
+_LIT(default_EAP_GTC_identity, "");
+
+const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file.
+const TInt64 default_FullAuthTime = 0;
+
+const TUint KMaxIdentityLengthInDB = 255;
 
 #endif // EAPGTCDBDEFAULTS_H
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 11 %
 */
 
 #ifndef EAPGTCDBPARAMETERNAMES_H
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.6 %
+* %version: 10 %
 */
 
 #ifndef EAPGTCDBUTILS_H
@@ -29,10 +29,21 @@
 
 // LOCAL CONSTANTS
 
-// For EAP-GTC private database. Database will be in the private folder of EAP-server (20026FCB).
-// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h.
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP GTC secure database.
+// Full path is not needed. The database eapgtc.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eapgtc.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KGtcDatabaseName, "c:eapgtc.dat");
 
-_LIT(KEapGtcDatabaseName, "eapgtc.dat");
+_LIT(KGtcSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KGtcDatabaseName, "c:\\system\\data\\eapgtc.dat");
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 _LIT(KGtcTableName, "eapgtc");
 
@@ -49,8 +60,8 @@
 	* @param aIndex Index
 	*/
 	static void OpenDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
@@ -94,6 +105,7 @@
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
+
 };
 
 #endif // EAPGTCBUTILS_H
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,14 +16,14 @@
 */
 
 /*
-* %version: 16 %
+* %version: 9.1.2 %
 */
 
 #ifndef EAPSECURID_H
 #define EAPSECURID_H
 
 // INCLUDES
-#include <EapTypePlugin.h>
+#include <EapType.h>
 #include "eap_header.h"
 
 // LOCAL CONSTANTS
@@ -32,7 +32,7 @@
 /**
 * Class that implements the generic EAP type interface. Implements EAP SecurID protocol.
 */
-class CEapSecurID : public CEapTypePlugin
+class CEapSecurID : public CEapType
 {
 public:		
 	/**
@@ -92,13 +92,16 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 
-
+	/**
+	* Invokes the configuration UI.
+	**/
+	TInt InvokeUiL();
 	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	CEapTypeInfo* GetInfoL();
+	CEapTypeInfo* GetInfoLC();
 	
 	/**
 	* Deletes EAP type configuration
@@ -120,7 +123,7 @@
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
+	void SetTunnelingType(const TInt aTunnelingType);
 
 	/**
 	* Changes the index of the saved parameters.
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef EAPSECURIDDBDEFAULTS_H
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5.1.2 %
 */
 
 #ifndef EAPSECURIDDBPARAMETERNAMES_H
@@ -28,7 +28,6 @@
 
 _LIT(KServiceType, "ServiceType");
 _LIT(KServiceIndex, "ServiceIndex");
-_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId");
 _LIT(KTunnelingType, "TunnelingType");
 
 #endif // EAPSECURIDDBPARAMETERNAMES_H
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 6.1.7 %
+* %version: 8 %
 */
 
 #ifndef EAPSECURIDDBUTILS_H
@@ -29,10 +29,21 @@
 
 // LOCAL CONSTANTS
 
-// For EAP-GTC private database. Database will be in the private folder of EAP-server (20026FCB).
-// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h.
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP SecureID secure database.
+// Full path is not needed. The database eapsecurid.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eapsecurid.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KDatabaseName, "c:eapsecurid.dat");
 
-_LIT(KSecurIDDatabaseName, "eapsecurid.dat");
+_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KDatabaseName, "c:\\system\\data\\eapsecurid.dat");
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 _LIT(KSecurIDTableName, "eapsecurid");
 
@@ -49,8 +60,8 @@
 	* @param aIndex Index
 	*/
 	static void OpenDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 #ifndef EAPSECURIDGLOBAL_H
@@ -24,9 +24,9 @@
 
 // LOCAL CONSTANTS
 
-_LIT(KReleaseDate, ""); // Must be in format YYYYMMDD: (dates and months start from 0)
+_LIT(KReleaseDate, "20040829:"); // Must be in format YYYYMMDD: (dates and months start from 0)
 _LIT(KEapTypeVersion, "1.0");
-_LIT(KManufacturer, "");
+_LIT(KManufacturer, "Nokia");
 _LIT(KNokiaSignature, "");
 _LIT(KExtraInfo1, "");
 _LIT(KExtraInfo2, "");
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 7.1.2 %
+* %version: 10 %
 */
 
 //  INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 47 %
+* %version: 18.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -35,218 +35,177 @@
 #include "EapGtcDbParameterNames.h"
 #include "EapSecurIDDbParameterNames.h"
 
-#include <EapTraceSymbian.h>
-#include "EapPluginTools.h"
+#include "eap_am_trace_symbian.h"
 
 const TUint KMaxSqlQueryLength = 512;
 const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute.
 
 // ================= MEMBER FUNCTIONS =======================
 
-void EapGtcDbUtils::OpenDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+void EapGtcDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType,
+	const TInt aIndex, const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::OpenDatabaseL()\n"));
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"),
+	aIndexType,aIndex,aTunnelingVendorType) );
 
 	// 1. Open/create a database	
 	
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KGtcDatabaseName, KGtcSecureUIDFormat);
 
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapGtcDatabaseName,
-		aPrivateDatabasePathName);
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL - Created Secure DB for eapgtc.dat. err=%d\n"), err));
 
-	if(error == KErrNone)
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): - Opened private DB for EAP-GTC. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KGtcDatabaseName, KGtcSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KGtcDatabaseName);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL - Created Non-Secure DB for eapgtc.dat. err=%d\n"), err));
+	
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KGtcDatabaseName));
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eap-securid table to database (ignore error if exists)
 	
-	// Table columns:
-	//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
-	//| ServiceType								| UNSIGNED INTEGER 	| KServiceType      |//
-	//| ServiceIndex							| UNSIGNED INTEGER 	| KServiceIndex     |//
-	//| TunnelingTypeVendorId                   | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType							| UNSIGNED INTEGER 	| KTunnelingType    |//
-	//| EAP_GTC_identity				    	| VARCHAR(255)     	| cf_str_EAP_GTC_identity_literal	|//
-	//| EAP_GTC_max_session_validity_time	    | BIGINT		   	| cf_str_EAP_GTC_max_session_validity_time_literal   |//
-	//| EAP_GTC_last_full_authentication_time	| BIGINT		   	| KGTCLastFullAuthTime	|//
-	//| EAP_GTC_password_prompt                        | UNSIGNED INTEGER  | cf_str_EAP_GTC_passcode_prompt_literal   |//
-	//| EAP_GTC_password                               | VARCHAR(255)      | cf_str_EAP_GTC_passcode_literal         |//
+// Table columns:
+//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
+//| ServiceType								| UNSIGNED INTEGER 	| KServiceType      |//
+//| ServiceIndex							| UNSIGNED INTEGER 	| KServiceIndex     |//
+//| TunnelingType							| UNSIGNED INTEGER 	| KTunnelingType    |//
+//| EAP_GTC_identity				    	| VARCHAR(255)     	| cf_str_EAP_GTC_identity_literal	|//
+//| EAP_GTC_max_session_validity_time	    | BIGINT		   	| cf_str_EAP_GTC_max_session_validity_time_literal   |//
+//| EAP_GTC_last_full_authentication_time	| BIGINT		   	| KGTCLastFullAuthTime	|//
 	//////////////////////////////////////////////////////////////////////////////////////////////////
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls HBufC::NewLC()\n")));
-
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(255), \
-		 %S BIGINT, \
-		 %S BIGINT, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(255))");
+	_LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(255), \
+											 %S BIGINT, \
+											 %S BIGINT)");
 											 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n")));
-
 	sqlStatement.Format(KSQLCreateTable1, 
 						&KGtcTableName, 
 						&KServiceType, 
 						&KServiceIndex, 
-						&KTunnelingTypeVendorId,
 						&KTunnelingType, 
 						&cf_str_EAP_GTC_identity_literal,
 						&cf_str_EAP_GTC_max_session_validity_time_literal, 
-						&KGTCLastFullAuthTime,
-						&cf_str_EAP_GTC_passcode_prompt_literal,
-						&cf_str_EAP_GTC_passcode_literal);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Execute()\n")));
+						&KGTCLastFullAuthTime);
 
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"),
-			error));
-
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// 4. Check if database table contains a row for this service type and id  
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n")));
-
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQueryRow,
-		&cf_str_EAP_GTC_identity_literal,
-		&KGtcTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_GTC_identity_literal, &KGtcTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 			
 	RDbView view;
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.Prepare()\n")));
-
-	error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"),
-		error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	// View must be closed when no longer needed
 	CleanupClosePushL(view);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.EvaluateAll()\n")));
-
-	error = view.EvaluateAll();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.EvaluateAll() error=%d\n"),
-		error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(view.EvaluateAll());
 	
 	// 5. If row is not found then add it
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.CountL()\n")));
-
 	TInt rows = view.CountL();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"),
-		rows));
-
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(); // view
 	if (rows == 0)
 	{		
 		_LIT(KSQLInsert, "SELECT * FROM %S");
 		sqlStatement.Format(KSQLInsert, &KGtcTableName);		
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.Prepare()\n")));
-
-		error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly);
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"),
-			error));
-
+		
+		view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly);
 		CleanupClosePushL(view);
 		
 		// Get column set so we get the correct column numbers
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.ColSetL()\n")));
-
 		CDbColSet* colSet = view.ColSetL();		
 		CleanupStack::PushL(colSet);
 		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.InsertL()\n")));
-
 		view.InsertL();
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt> (aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
-		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), default_EAP_identity);
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
+		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), default_EAP_GTC_identity);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal), default_MaxSessionTime);
 		
 		view.SetColL(colSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime);		
-		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), default_EAP_password_prompt);
-		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), default_EAP_password);
 				
 		view.PutL();
 
-		CleanupStack::PopAndDestroy( colSet );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.
 		
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 		
 	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Compact()\n")));
-
+	
+	CleanupStack::PopAndDestroy( buf ); // Delete buf	
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );	
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );	
-	CleanupStack::Pop( &aFileServerSession );
 }
 
-// ----------------------------------------------------------
 
 void EapGtcDbUtils::SetIndexL(
 	RDbNamedDatabase& aDatabase, 		
@@ -257,37 +216,25 @@
 	const TInt aNewIndex,
 	const eap_type_value_e aNewTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"),
-		aNewIndexType,
-		aNewIndex,
-		aNewTunnelingType.get_vendor_id(),
-		aNewTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetIndexL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aNewTunnelingVendorType = static_cast<TUint>(aNewTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KGtcTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KGtcTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -317,20 +264,17 @@
 	
 	view.UpdateL();
 	
-	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aNewIndexType));
-	view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type());
+        view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aNewIndexType));
+    
+    view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex);
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapGtcDbUtils::SetConfigurationL(
 	RDbNamedDatabase& aDatabase,
 	const EAPSettings& aSettings, 
@@ -338,19 +282,18 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetConfigurationL()\n"));
+#else
 
-	EAP_TRACE_SETTINGS(&aSettings);
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	// Check if the settings are for the correct type
-	if (aSettings.iEAPExpandedType != (*EapExpandedTypeGtc.GetType()))
+	if (aSettings.iEAPType != EAPSettings::EEapGtc)
 	{
 		User::Leave(KErrNotSupported);
 	}
@@ -361,18 +304,9 @@
 
 	RDbView view;
 
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQuery,
-		&KGtcTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KGtcTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -397,7 +331,7 @@
 		{
 			// Username too long. Can not be stored in DB.
 			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Username. Length=%d \n"),
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::SetConfigurationL: Too long Username. Length=%d \n"),
 			aSettings.iUsername.Length()));
 			
 			User::Leave(KErrArgument);
@@ -417,61 +351,21 @@
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal), validityInMicro);
 	}
-
+	
 	// Last full authentication time should be made zero when EAP configurations are modified.
 	// This makes sure that the next authentication with this EAP would be full authentication
 	// instead of reauthentication even if the session is still valid.
-
+	
 	view.SetColL(colSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n")));
-
-	// Password existence.
-	if (aSettings.iPasswordExistPresent
-		&& !aSettings.iPasswordExist)
-	{
-		// Clear password from database.
-		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), KNullPasswordData);
-		view.SetColNullL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal));
-	}
-
-	// Password
-	if (aSettings.iPasswordPresent)
-	{
-		// Validate length.
-		if(aSettings.iPassword.Length() > KMaxPasswordLengthInDB)
-		{
-			// Password too long. Can not be stored in DB.
-			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Password. Length=%d \n"),
-				aSettings.iPassword.Length()));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"),
+								aSettings.iEAPType ));
 			
-			User::Leave(KErrArgument);
-		}
-					
-		// Length is ok. Set the value in DB.	
-		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), aSettings.iPassword);
-		
-	}
-			
-	if (aSettings.iShowPassWordPromptPresent)
-		{	
-		// If password was supplied set password prompting off
-		if (aSettings.iShowPassWordPrompt != EFalse)
-			view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), EEapDbTrue);		
-		else
-			view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), EEapDbFalse);		
-		}
-		
 	view.PutL();
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
 }
 
-// ----------------------------------------------------------
-
 void EapGtcDbUtils::GetConfigurationL(
 	RDbNamedDatabase& aDatabase,
 	EAPSettings& aSettings, 
@@ -479,14 +373,15 @@
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::GetConfigurationL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();	
@@ -494,18 +389,9 @@
 	RDbView view;
 
 	// Form the query
-	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQuery,
-		&KGtcTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &KGtcTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -522,38 +408,13 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-	aSettings.iEAPExpandedType = *EapExpandedTypeGtc.GetType();
+	aSettings.iEAPType = EAPSettings::EEapGtc;
 	
 	// Username
 	TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GTC_identity_literal));
 	aSettings.iUsername.Copy(username);
 	aSettings.iUsernamePresent = ETrue;
 	
-	// Password existence.
-	aSettings.iPasswordExistPresent = ETrue;
-	aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_GTC_passcode_literal));
-
-#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
-	// Password
-	TPtrC password = view.ColDes(colSet->ColNo(cf_str_EAP_GTC_passcode_literal));
-	aSettings.iPassword.Copy(password);
-	aSettings.iPasswordPresent = ETrue;
-#else
-	EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapGtcDbUtils::GetConfigurationL(): Password read is disabled\n")));
-#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
-
-	aSettings.iShowPassWordPromptPresent = ETrue;
-
-	TUint aShow = view.ColUint(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal));
-	if(aShow == EEapDbFalse)
-	{
-		aSettings.iShowPassWordPrompt = EFalse;
-	}
-	else
-	{
-		aSettings.iShowPassWordPrompt = ETrue;
-	}
-
 	// Session validity time	
 	TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal));
 	
@@ -563,15 +424,9 @@
 	aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
 	aSettings.iSessionValidityTimePresent = ETrue;
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-
-	EAP_TRACE_SETTINGS(&aSettings);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapGtcDbUtils::CopySettingsL(
 	RDbNamedDatabase& aDatabase, 		
 	const TIndexType aSrcIndexType,
@@ -581,37 +436,25 @@
 	const TInt aDestIndex,
 	const eap_type_value_e aDestTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"),
-		aSrcIndexType,
-		aSrcIndex,
-		aSrcTunnelingType.get_vendor_id(),
-		aSrcTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"),
-		aDestIndexType,
-		aDestIndex,
-		aDestTunnelingType.get_vendor_id(),
-		aDestTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type();
+	TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::CopySettingsL()\n"));
+#else
+
+	TUint aSrcTunnelingVendorType = static_cast<TUint>(aSrcTunnelingType);
+	TUint aDestTunnelingVendorType = static_cast<TUint>(aDestTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	sqlStatement.Format(KSQL,
-		&KGtcTableName, 
-		&KServiceType,
-		aSrcIndexType,
-		&KServiceIndex,
-		aSrcIndex,
-		&KTunnelingTypeVendorId,
-		aSrcTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aSrcTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &KGtcTableName, 
+		&KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -642,91 +485,99 @@
 	CleanupStack::PushL(colSet);
 		
 	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestIndexType));
+    
     view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex);
-	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id());
-	view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type());
+    
+    view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType);
 
     view.PutL();
     	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 }
 
-// ----------------------------------------------------------
-
 void EapGtcDbUtils::DeleteConfigurationL(	
 	const TIndexType aIndexType,
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapGtcDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::DeleteConfigurationL()\n"));
+#else
 
-	RDbNamedDatabase aDatabase;
-	RFs aFileServerSession;
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	RDbs session;
+	RDbNamedDatabase database;
+	// Connect to the DBMS server.
+	User::LeaveIfError(session.Connect());
+	CleanupClosePushL(session);	
+		
+#ifdef SYMBIAN_SECURE_DBMS
 	
-	error = aFileServerSession.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KEapGtcDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = database.Create(session, KGtcDatabaseName, KGtcSecureUIDFormat);
+	
+	if(err == KErrNone)
 	{
 		// Database was created so it was empty. No need for further actions.
-		aDatabase.Destroy();
-		CleanupStack::PopAndDestroy(&aDatabase);
-		CleanupStack::PopAndDestroy(&aFileServerSession);
+		database.Destroy();
+		CleanupStack::PopAndDestroy();
 		return;
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} 
+	else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
+	// Database existed, open it.
+	User::LeaveIfError(database.Open(session, KGtcDatabaseName, KGtcSecureUIDFormat));
+	CleanupClosePushL(database);
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = database.Create(fsSession, KGtcDatabaseName);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-GTC. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	if(err == KErrNone)
+	{
+		// Database was created so it was empty. No need for further actions.
+		database.Destroy();
+		CleanupStack::PopAndDestroy(2); // fsSession, database session
+		return;
+		
+	} 
+	else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(database.Open(session, KGtcDatabaseName));
+	CleanupClosePushL(database);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
 	// Main settings table
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQL,
-		&KGtcTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQL, &KGtcTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	// Evaluate view
 	RDbView view;
-	User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 
@@ -738,12 +589,8 @@
 		} while (view.NextL() != EFalse);
 	}
 
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-	CleanupStack::PopAndDestroy(&aDatabase);
-	CleanupStack::PopAndDestroy(&aFileServerSession);
+	// Close database
+	CleanupStack::PopAndDestroy(4); // view, buf, database, session
 }
 
-// ----------------------------------------------------------
-
 // End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 10.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 339 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include "EapGtcDbUtils.h"
+#include <EapGtcUiConnection.h>
+#include <EapGtcUiDataConnection.h>
+
+CEapGtcUiConnection::CEapGtcUiConnection(
+    const TIndexType aIndexType,
+    const TInt aIndex,
+    const TInt aTunnelingType)
+    : iIndexType(aIndexType)
+    , iIndex(aIndex)
+    , iTunnelingType(aTunnelingType)
+    , iIsConnected(EFalse)
+    , iDataConn(NULL)
+{
+}
+
+
+CEapGtcUiConnection::~CEapGtcUiConnection()
+{
+}
+
+
+TInt CEapGtcUiConnection::Connect()
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iTunnelingType));
+
+#else
+
+	eap_type_value_e tunnelingType = static_cast<eap_type_value_e>(iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	TRAPD(err, EapGtcDbUtils::OpenDatabaseL(
+		iDbNamedDatabase, 
+		iDbs, 
+		iIndexType, 
+		iIndex, 
+		tunnelingType));
+    if (err == KErrNone)
+    {
+        iIsConnected = ETrue;
+    }
+
+    return err;
+}
+
+
+TInt CEapGtcUiConnection::Close()
+{
+    if (iIsConnected)
+    {
+        iDbNamedDatabase.Close();
+        iDbs.Close();
+    }
+    iIsConnected = EFalse;
+
+    return KErrNone;
+}
+
+
+CEapGtcUiDataConnection * CEapGtcUiConnection::GetDataConnection()
+{
+    if (!iDataConn)
+    {
+        iDataConn = new CEapGtcUiDataConnection(this);
+    }
+
+    return iDataConn;
+}
+
+TInt CEapGtcUiConnection::GetDatabase(RDbNamedDatabase & aDatabase)
+{
+    if (iIsConnected == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+
+    aDatabase = iDbNamedDatabase;
+    return KErrNone;
+}
+
+
+TIndexType CEapGtcUiConnection::GetIndexType()
+{
+    return iIndexType;
+}
+
+
+TInt CEapGtcUiConnection::GetIndex()
+{
+    return iIndex;
+}
+
+
+TInt CEapGtcUiConnection::GetTunnelingType()
+{
+    return iTunnelingType;
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiDataConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,217 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 14.1.2.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 341 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <e32base.h>
+#include "EapGtcDbUtils.h"
+#include "EapSecurIDDbParameterNames.h"
+#include "EapGtcDbParameterNames.h"
+#include "EapGtcDbDefaults.h"
+#include <EapGtcUiConnection.h>
+#include <EapGtcUiDataConnection.h>
+#include <EapGtcUiGtcData.h>
+#include "eap_am_trace_symbian.h"
+
+const TUint KMaxSqlQueryLength = 256;
+
+
+CEapGtcUiDataConnection::CEapGtcUiDataConnection(CEapGtcUiConnection * aUiConn)
+: iIsOpened(EFalse)
+, iUiConn(aUiConn)
+, iColSet(NULL)
+, iDataPtr(NULL)
+{
+}
+
+
+CEapGtcUiDataConnection::~CEapGtcUiDataConnection()
+{
+    if (iUiConn)
+    {
+        Close();
+        iUiConn = NULL;
+    }
+}
+
+
+TInt CEapGtcUiDataConnection::Open()
+{
+    if (iIsOpened)
+    {
+        return KErrAlreadyExists;
+    }
+
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+    iIsOpened = ETrue;
+    return KErrNone;
+}
+
+
+TInt CEapGtcUiDataConnection::GetData(CEapGtcUiGtcData ** aDataPtr)
+{
+    if (aDataPtr == NULL)
+    {
+        return KErrArgument;
+    }
+    if (iIsOpened == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+    iDataPtr = new CEapGtcUiGtcData();
+    if (!iDataPtr)
+    {
+        return KErrNoMemory;
+    }
+
+    TRAPD(err, FetchDataL());
+    if (err != KErrNone)
+    {
+		delete iDataPtr;
+		iDataPtr = NULL;
+		
+		delete iColSet;
+		iColSet = NULL;
+		
+        iView.Close();
+        
+        return err;
+    }
+
+    *aDataPtr = iDataPtr;
+
+    return KErrNone;
+}
+
+
+TInt CEapGtcUiDataConnection::Update()
+{
+    TRAPD(err, iView.UpdateL());
+    if (err != KErrNone)
+    {
+        return err;
+    }
+    
+	// Validate the length of username/identity.
+	if(iDataPtr->GetIdentity().Length() > KMaxIdentityLengthInDB)
+	{
+		// Username or identity too long. Can not be stored in DB.
+		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapGtcUiDataConnection::Update: Too long username/identity. length =%d\n"),
+			iDataPtr->GetIdentity().Length()));
+		
+		return KErrArgument;
+	}
+    
+	TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GTC_identity_literal), iDataPtr->GetIdentity()));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+	// Last full authentication time should be made zero when EAP configurations are modified.
+	// This makes sure that the next authentication with this EAP would be full authentication
+	// instead of reauthentication even if the session is still valid.
+	
+	TRAP(err, iView.SetColL(iColSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime));
+    if (err != KErrNone)
+    {
+        return err;
+    }
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: Resetting Full Auth Time since EAP-GTC settings are modified\n")));
+
+    TRAP(err, iView.PutL());
+        
+    return err;
+}
+
+
+TInt CEapGtcUiDataConnection::Close()
+{
+    if (iIsOpened == EFalse)
+    {
+        return KErrNone;
+    }
+
+	delete iDataPtr;
+	iDataPtr = NULL;
+	
+	delete iColSet;
+	iColSet = NULL;
+
+    iView.Close();
+
+    iUiConn = NULL;
+    
+    return KErrNone;
+}
+
+
+void CEapGtcUiDataConnection::FetchDataL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery,
+						&KGtcTableName,
+						&KServiceType,
+						iUiConn->GetIndexType(),
+						&KServiceIndex,
+						iUiConn->GetIndex(),
+						&KTunnelingType, 
+						iUiConn->GetTunnelingType());
+						
+	// Evaluate view
+	User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	
+	User::LeaveIfError(iView.EvaluateAll());
+		
+	// Get the first (and only) row
+	iView.FirstL();
+	iView.GetL();	
+				
+	// Get column set so we get the correct column numbers
+	delete iColSet;
+	iColSet = NULL;
+	iColSet = iView.ColSetL();
+
+	// Start fetching the values
+
+	// identity
+    iDataPtr->GetIdentity().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_GTC_identity_literal)));
+
+    CleanupStack::PopAndDestroy(buf);
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiGtcData.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
+*
+*/
+
+/*
+* %version: 8.1.2 %
+*/
+
+// This is enumeration of EAPOL source code.
+#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+	#undef EAP_FILE_NUMBER_ENUM
+	#define EAP_FILE_NUMBER_ENUM 343 
+	#undef EAP_FILE_NUMBER_DATE 
+	#define EAP_FILE_NUMBER_DATE 1127594498 
+#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
+
+#include <EapGtcUiGtcData.h>
+
+
+CEapGtcUiGtcData::CEapGtcUiGtcData()
+{
+}
+
+
+CEapGtcUiGtcData::~CEapGtcUiGtcData()
+{
+}
+
+
+TDes& CEapGtcUiGtcData::GetIdentity()
+{
+    return iIdentity;
+}
+
+// End of File
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 25 %
+* %version: 15.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -37,9 +37,10 @@
 #include <EapTypeInfo.h>
 #include "EapGtcDbUtils.h"
 
+#include <EapGtcUiConnection.h>
+#include "EapGtcUi.h"
+
 #include "eap_am_tools_symbian.h"
-#include "EapConversion.h"
-#include "EapTraceSymbian.h"
 
 // LOCAL CONSTANTS
 
@@ -151,13 +152,36 @@
 
 // ----------------------------------------------------------
 
-CEapTypeInfo* CEapSecurID::GetInfoL()
+TInt CEapSecurID::InvokeUiL()
+{
+	TInt buttonId(0);
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+    CEapGtcUiConnection uiConn(iIndexType, iIndex, iTunnelingType.get_vendor_type());
+	
+#else
+
+    CEapGtcUiConnection uiConn(iIndexType, iIndex, iTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	CEapGtcUi* ui = CEapGtcUi::NewL(&uiConn);
+	CleanupStack::PushL(ui);
+	buttonId = ui->InvokeUiL();
+	CleanupStack::PopAndDestroy(ui);
+	return buttonId;
+}
+
+// ----------------------------------------------------------
+
+CEapTypeInfo* CEapSecurID::GetInfoLC()
 {
 	CEapTypeInfo* info = new(ELeave) CEapTypeInfo(
 		(TDesC&) KReleaseDate,
 		(TDesC&) KEapTypeVersion,
 		(TDesC&) KManufacturer);
-
+	CleanupStack::PushL(info);
 	return info;
 }
 
@@ -170,20 +194,19 @@
 
 // ----------------------------------------------------------
 
-void CEapSecurID::SetTunnelingType(const TEapExpandedType aTunnelingType)
-    {
-    EAP_TRACE_DATA_DEBUG_SYMBIAN(
-        (EAPL("CEapSecurID::SetTunnelingType - tunneling type"),
-        aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
-    
-    eap_type_value_e aInternalType;
-    
-    TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-            &aTunnelingType,
-            &aInternalType);
-    
-    iTunnelingType = aInternalType;
-    }
+void CEapSecurID::SetTunnelingType(const TInt aTunnelingType)
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Vendor id is eap_type_vendor_id_ietf always in this plugin.
+	iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType);
+
+#else
+
+	iTunnelingType = static_cast<eap_type_value_e>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+}
 
 // ----------------------------------------------------------
 void CEapSecurID::SetIndexL(
@@ -207,16 +230,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::SetIndexL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapGtcDbUtils::SetIndexL(
 		db, 
 		iIndexType, 
@@ -229,27 +249,22 @@
 	iIndexType = aIndexType;
 	iIndex = aIndex;
 
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db
+	
+		
 }
 
 void CEapSecurID::SetConfigurationL(const EAPSettings& aSettings)
 {
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;	
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapGtcDbUtils::SetConfigurationL(
 		db,
@@ -257,28 +272,21 @@
 		iIndexType,
 		iIndex,
 		iTunnelingType);		
-
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+		
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 void CEapSecurID::GetConfigurationL(EAPSettings& aSettings)
 {
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::GetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 
 	EapGtcDbUtils::GetConfigurationL(
 		db,
@@ -286,12 +294,8 @@
 		iIndexType,
 		iIndex,
 		iTunnelingType);
-
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+		
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
 void CEapSecurID::CopySettingsL(
@@ -315,16 +319,13 @@
 
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::CopySettingsL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType);
-
+		
 	EapGtcDbUtils::CopySettingsL(
 		db,
 		iIndexType,
@@ -333,12 +334,9 @@
 		aDestinationIndexType, 
 		aDestinationIndex, 
 		iTunnelingType);
-
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+		
+	CleanupStack::PopAndDestroy(2); // db
+	
 }
 
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 29 %
+* %version: 14.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -34,64 +34,88 @@
 #include "EapSecurIDDbDefaults.h"
 #include "EapSecurIDDbParameterNames.h"
 
-#include <EapTraceSymbian.h>
-#include "EapPluginTools.h"
+#include "eap_am_trace_symbian.h"
 
 const TUint KMaxSqlQueryLength = 512;
 
 // ================= MEMBER FUNCTIONS =======================
 
-void EapSecurIDDbUtils::OpenDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+void EapSecurIDDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType,
+	const TInt aIndex, const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapSecurIDDbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
 
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSecurIDDbUtils::OpenDatabaseL()\n"));
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	// 1. Open/create a database	
-
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
+	
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat);
 
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KSecurIDDatabaseName,
-		aPrivateDatabasePathName);
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL - Created Secure DB for eapsecurid.dat. err=%d\n"), err));
 
-	if(error == KErrNone)
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL(): - Opened private DB for EAP-SecurID. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KDatabaseName);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL - Created Non-Secure DB for eapsecurid.dat. err=%d\n"), err));
+	
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName));
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eap-securid table to database (ignore error if exists)
 	// Table columns:
 	//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
 	//| ServiceType											| UNSIGNED INTEGER | KServiceType      |//
 	//| ServiceIndex										| UNSIGNED INTEGER | KServiceIndex     |//
-	//| TunnelingTypeVendorId                               | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
 	//| TunnelingType										| UNSIGNED INTEGER | KTunnelingType    |//
 	//| EAP_SECURID_identity				        		| VARCHAR(255)     | cf_str_EAP_SECURID_identity_literal         |//
 	//////////////////////////////////////////////////////////////////////////////////////////////////
@@ -99,43 +123,22 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(255))");
-
-	sqlStatement.Format(KSQLCreateTable1,
-		&KSecurIDTableName,
-		&KServiceType,
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
-		&KTunnelingType,
-		&cf_str_EAP_SECURID_identity_literal);
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	_LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(255))");
+	sqlStatement.Format(KSQLCreateTable1, &KSecurIDTableName, &KServiceType, &KServiceIndex, &KTunnelingType, &cf_str_EAP_SECURID_identity_literal);
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// 4. Check if database table contains a row for this service type and id  
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQueryRow,
-		&cf_str_EAP_SECURID_identity_literal,
-		&KSecurIDTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_SECURID_identity_literal, &KSecurIDTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	// View must be closed when no longer needed
@@ -143,7 +146,7 @@
 	User::LeaveIfError(view.EvaluateAll());
 	// 5. If row is not found then add it
 	TInt rows = view.CountL();
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(); // view
 	if (rows == 0)
 	{
 		_LIT(KSQLInsert, "SELECT * FROM %S");
@@ -159,8 +162,7 @@
 		view.InsertL();
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt> (aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		view.SetColL(colSet->ColNo(cf_str_EAP_SECURID_identity_literal), default_EAP_SECURID_identity);
 		view.PutL();
 		
@@ -169,11 +171,9 @@
 		CleanupStack::PopAndDestroy( &view ); // Close view.
 	} 
 	
+	CleanupStack::PopAndDestroy(); // sqlStatement
+	CleanupStack::Pop(2); // database, session
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );	
-	CleanupStack::Pop( &aFileServerSession );
 }
 
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9.1.2 %
+* %version: 12 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 7 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/include/EapPluginDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-#if !defined(_EAPPLUGINDBDEFAULTS_H_)
-#define _EAPPLUGINDBDEFAULTS_H_
-
-enum TEapDbBoolean 
-{
-	EEapDbFalse,
-	EEapDbTrue,
-	EEapDbNotValid, // This indicates that the value is not configured.
-};
-
-// LOCAL CONSTANTS
-
-_LIT(KEapSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
-
-const TUint default_EAP_password_prompt = EEapDbTrue;
-
-_LIT(default_EAP_identity, "");
-_LIT(default_EAP_username, "");
-_LIT(default_EAP_realm, "");
-_LIT(default_EAP_password, "");
-
-_LIT(KNullPasswordData, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00");
-
-const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file.
-const TInt64 default_FullAuthTime = 0;
-
-const TUint KMaxIdentityLengthInDB = 255;
-const TUint KMaxUsernameLengthInDB = 255;
-const TUint KMaxRealmLengthInDB    = 255;
-const TUint KMaxPasswordLengthInDB = 255;
-
-#if !defined(USE_EAP_FILECONFIG)
-	const TInt default_EAP_TRACE_disable_traces = 0;
-	const TInt default_EAP_TRACE_enable_function_traces = 0;
-	const TInt default_EAP_TRACE_only_trace_messages = 0;
-	const TInt default_EAP_TRACE_only_test_vectors = 0;
-	const TInt default_EAP_CORE_session_timeout = 120000; // ms = 120 seconds = 2 minutes.
-	const TInt default_EAP_ERROR_TEST_enable_random_errors = 0;
-	const TInt default_EAP_ERROR_TEST_send_original_packet_first = 0;
-	const TInt default_EAP_ERROR_TEST_generate_multiple_error_packets = 2;
-	const TInt default_EAP_ERROR_TEST_manipulate_ethernet_header = 0;
-	const TInt default_EAP_ERROR_TEST_error_probability = 8000000;
-	const TInt default_EAP_test_default_type = 18; // EAP-SIM
-	const TInt default_EAP_CORE_retransmission_counter = 0;
-#endif //#if !defined(USE_EAP_FILECONFIG)
-
-#endif // _EAPPLUGINDBDEFAULTS_H_
-
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 38.1.26 %
+* %version: 43 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -34,13 +34,10 @@
 #include <x509keys.h>
 #include <x509cert.h>
 #include "eap_tlv_message_data.h"
-#include "EapTraceSymbian.h"
-#include "eap_automatic_variable.h"
+#include "eap_am_trace_symbian.h"
 
-#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-	const TText8 KKeyStoreHandlePrefix[] = "EapTlsPeapKeyStoreHandler";
-	const TText8 KKeyStoreHandleKey[] = "CEapTlsPeapCertInterface KeyStore handle";
-#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
+const TText8 KKeyStoreHandlePrefix[] = "EapTlsPeapKeyStoreHandler";
+const TText8 KKeyStoreHandleKey[] = "CEapTlsPeapCertInterface KeyStore handle";
 
 enum TAlgorithmAndSignedType
 {
@@ -64,14 +61,6 @@
 CEapTlsPeapCertInterface* CEapTlsPeapCertInterface::NewL(abs_eap_am_tools_c* const aTools, 
 											   eap_am_type_tls_peap_symbian_c* const aParent)
 {
-	EAP_TRACE_DEBUG(
-		aTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::NewL()\n")));
-
-	EAP_TRACE_RETURN_STRING(aTools, "returns: CEapTlsPeapCertInterface::NewL()");
-
-
 	CEapTlsPeapCertInterface* self = new(ELeave) CEapTlsPeapCertInterface(aTools, aParent);
 	CleanupStack::PushL(self);
 	self->ConstructL();
@@ -83,22 +72,14 @@
 
 CEapTlsPeapCertInterface::CEapTlsPeapCertInterface(abs_eap_am_tools_c* const aTools, eap_am_type_tls_peap_symbian_c* const aParent)
 : CActive(CActive::EPriorityStandard)
-, iParent(aParent)
-, m_am_tools(aTools)
-, iAllowedUserCerts(1)
-, iEncodedCertificate(0)
-, iCertPtr(0,0)
-, iMatchingUserCertInfos(1)
-, iCAIndex(0)
-, iUseAutomaticCaCertificate(EFalse)
+,iParent(aParent)
+,m_am_tools(aTools)
+,iAllowedUserCerts(1)
+,iEncodedCertificate(0)
+,iCertPtr(0,0)
+,iMatchingUserCertInfos(1)
+,iCAIndex(0)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::CEapTlsPeapCertInterface()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::CEapTlsPeapCertInterface()");
-
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
@@ -107,13 +88,8 @@
 
 void CEapTlsPeapCertInterface::ConstructL()
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::ConstructL()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ConstructL()");
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
 	User::LeaveIfError(iFs.Connect());
 	
 	CActiveScheduler::Add(this);		
@@ -130,80 +106,19 @@
 
 CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface()
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface()");
-
-	if(IsActive())
-	{
-		Cancel();		
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iMatchingUserCerts.ResetAndDestroy(): count=%d\n"),
-		iMatchingUserCerts.Count()));
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
 	iMatchingUserCerts.ResetAndDestroy();
 
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iMatchingUserCertInfos.ResetAndDestroy(): count=%d\n"),
-		iMatchingUserCertInfos.Count()));
-
-	iMatchingUserCertInfos.ResetAndDestroy();
+	iMatchingUserCertInfos.Reset();
 	
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iAllowedUserCerts.ResetAndDestroy(): count=%d\n"),
-		iAllowedUserCerts.Count()));
-
-	iAllowedUserCerts.ResetAndDestroy();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iAllowedCACerts.ResetAndDestroy(): count=%d\n"),
-		iAllowedCACerts.Count()));
-
-	iAllowedCACerts.ResetAndDestroy();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iRootCerts.ResetAndDestroy(): count=%d\n"),
-		iRootCerts.Count()));
+	iAllowedUserCerts.Reset();
 
 	iRootCerts.ResetAndDestroy();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iUserCertChain.ResetAndDestroy(): count=%d\n"),
-		iUserCertChain.Count()));
-
 	iUserCertChain.ResetAndDestroy();
 	
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iCertAuthorities.ResetAndDestroy(): count=%d\n"),
-		iCertAuthorities.Count()));
-
 	iCertAuthorities.ResetAndDestroy();
 	
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iCertInfos.Reset(): count=%d\n"),
-		iCertInfos.Count()));
-
 	TInt i(0);
 	for (i = 0; i < iCertInfos.Count(); i++)
 	{
@@ -211,23 +126,12 @@
 	}
 	iCertInfos.Reset();
 
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iKeyInfos.Reset(): count=%d\n"),
-		iKeyInfos.Count()));
-
 	for (i = 0; i < iKeyInfos.Count(); i++)
 	{
 		iKeyInfos[i]->Release();
 	}
 	iKeyInfos.Reset();
 
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): delete rest\n")));
-
 	delete iCertFilter;
 	delete iCertStore;
 	delete iCertChain;
@@ -242,15 +146,9 @@
 	delete iRSASignature;
 	delete iDSASignature;
 	delete iKeyFilter;
-
-#if !defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
-	delete iKeyStore;
-
-#endif //#if !defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
+		
+	iFs.Close();	
 	
-	iFs.Close();
-
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
@@ -262,7 +160,7 @@
 //--------------------------------------------------
 
 void CEapTlsPeapCertInterface::GetMatchingCertificatesL(
-	const RPointerArray<EapCertificateEntry>& aAllowedUserCerts,
+	const RArray<SCertEntry>& aAllowedUserCerts,
 	const TBool aUseCertAuthoritiesFilter,
 	EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const aCertAuthorities,
 	const TBool aUseCertTypesFilter,
@@ -270,61 +168,54 @@
 	const TBool aUseAllowedCipherSuitesFilter,
 	const RArray<TUint>& aAllowedCipherSuites)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): Total allowed user certs=%d, aAllowedUserCerts=0x%08x, iAllowedUserCerts=0x%08x, aCertAuthorities=0x%08x, aCertTypes=0x%08x, aAllowedCipherSuites=0x%08x\n"),
-		aAllowedUserCerts.Count(),
-		&aAllowedUserCerts,
-		&iAllowedUserCerts,
-		aCertAuthorities,
-		aCertTypes,
-		&aAllowedCipherSuites));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::GetMatchingCertificatesL()");
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	
 	iUseCertAuthoritiesFilter = aUseCertAuthoritiesFilter;
 	
 	iUseCertTypesFilter = aUseCertTypesFilter;
 	
 	iUseAllowedCipherSuitesFilter = aUseAllowedCipherSuitesFilter;
 
+	iAllowedUserCerts.Reset();
+	
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): iAllowedUserCerts.Count()=%d\n"),
-		iAllowedUserCerts.Count()));
-
-	iAllowedUserCerts.ResetAndDestroy();
+		(EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL: Total allowed user certs=%d\n"),
+		aAllowedUserCerts.Count()));		
 	
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): UseCertAuthoritiesFilter=%d, UseCertTypesFilter=%d, UseAllowedCipherSuitesFilter=%d\n"),
-		iUseCertAuthoritiesFilter,
-		iUseCertTypesFilter,
-		iUseAllowedCipherSuitesFilter));		
+		(EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL:UseCertAuthoritiesFilter=%d, UseCertTypesFilter=%d, UseAllowedCipherSuitesFilter=%d\n"),
+		iUseCertAuthoritiesFilter,iUseCertTypesFilter,iUseAllowedCipherSuitesFilter));		
 	
 	for (TInt j = 0; j < aAllowedUserCerts.Count(); j++)
 	{
-		EapCertificateEntry * const copy_cert = aAllowedUserCerts[j]->Copy();
-		if (copy_cert == 0)
-		{
-			User::Leave(KErrNoMemory);
-		}
+		iAllowedUserCerts.AppendL(aAllowedUserCerts[j]);
+		
+#if defined(_DEBUG) || defined(DEBUG)
 
-		iAllowedUserCerts.AppendL(copy_cert);
-
-		EAP_TRACE_SETTINGS(copy_cert);
+		// This is just for the debug prints.
+		TCertLabel tempLabel = iAllowedUserCerts[j].iLabel;
+		TKeyIdentifier tempSubjectKeyId = iAllowedUserCerts[j].iSubjectKeyId;
+		
+		EAP_TRACE_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL: details of allowed user certs,Label=%S\n"),
+		&tempLabel));		
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "GetMatchingCertificatesL : Subject Key Id:",
+		tempSubjectKeyId.Ptr(), tempSubjectKeyId.Size() ) );			
+#endif
 	}
 
 	if (iCertAuthorities.Count() > 0)
 	{
 		iCertAuthorities.ResetAndDestroy();
 	}
-
-	if (aUseCertAuthoritiesFilter
-		&& aCertAuthorities)
+	if (aUseCertAuthoritiesFilter)
 	{
 		for (TUint i = 0; i < aCertAuthorities->get_object_count(); i++)
 		{
@@ -335,8 +226,8 @@
 
 			// Try to form distiguished name
 			CX500DistinguishedName* tmp = 0;
-			TRAPD(error, tmp = CX500DistinguishedName::NewL(ptr));
-			if (error == KErrNone)
+			TRAPD(err, tmp = CX500DistinguishedName::NewL(ptr));
+			if (err == KErrNone)
 			{
 				CleanupStack::PushL(tmp);
 				// Distinguished name was found -> add it to array.
@@ -374,7 +265,7 @@
 	
 	if (iCertStore == 0)
 	{
-		iCertStore = CUnifiedCertStore::NewL(iFs, EFalse);
+		iCertStore = CUnifiedCertStore::NewL(iFs, false);
 		iCertStore->Initialize(iStatus);		
 	}
 	else
@@ -389,22 +280,16 @@
 
 //--------------------------------------------------
 
-void CEapTlsPeapCertInterface::ReadCertificateL(EapCertificateEntry& aCertInfo, const TBool aRetrieveChain)
+void CEapTlsPeapCertInterface::ReadCertificateL(SCertEntry& aCertInfo, const TBool aRetrieveChain)
 {	
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::ReadCertificateL()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ReadCertificateL()");
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	iCertInfo = aCertInfo;
 	iRetrieveChain = aRetrieveChain;
 	iState = EReadCertInitStore;
 	
 	if (iCertStore == 0)
 	{
-		iCertStore = CUnifiedCertStore::NewL(iFs, EFalse);
+		iCertStore = CUnifiedCertStore::NewL(iFs, false);
 		iCertStore->Initialize(iStatus);		
 	}
 	else
@@ -418,21 +303,17 @@
 
 //--------------------------------------------------
 
-void CEapTlsPeapCertInterface::ReadCACertificateL(EapCertificateEntry& aCertInfo)
+void CEapTlsPeapCertInterface::ReadCACertificateL(SCertEntry& aCertInfo)
 {	
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::ReadCACertificateL()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ReadCACertificateL()");
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapTlsPeapCertInterface::ReadCACertificateL.\n")));
+	
 	iCertInfo = aCertInfo;
 	iState = EReadCACertInitStore;
 	
 	if (iCertStore == 0)
 	{
-		iCertStore = CUnifiedCertStore::NewL(iFs, EFalse);
+		iCertStore = CUnifiedCertStore::NewL(iFs, false);
 		iCertStore->Initialize(iStatus);		
 	}
 	else
@@ -447,48 +328,19 @@
 
 //--------------------------------------------------
 
-void CEapTlsPeapCertInterface::ValidateChainL(
-	TDesC8& aCertChain,
-	RPointerArray<EapCertificateEntry>& aAllowedCACerts,
-	const TBool aUseAutomaticCaCertificate)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::ValidateChainL(): aUseAutomaticCaCertificate=%d\n"),
-		aUseAutomaticCaCertificate));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ValidateChainL()");
-
-	iUseAutomaticCaCertificate = aUseAutomaticCaCertificate;
+void CEapTlsPeapCertInterface::ValidateChainL(TDesC8& aCertChain, RArray<SCertEntry>& aAllowedCACerts)
+{	
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	iCAIndex = 0;
-	iAllowedCACerts.ResetAndDestroy();
-
-	if (!iUseAutomaticCaCertificate)
-	{
-		for (TInt j = 0; j < aAllowedCACerts.Count(); j++)
-		{
-			EapCertificateEntry * const copy_cert = aAllowedCACerts[j]->Copy();
-			if (copy_cert == 0)
-			{
-				User::Leave(KErrNoMemory);
-			}
-
-			iAllowedCACerts.AppendL(copy_cert);
-
-			EAP_TRACE_SETTINGS(copy_cert);
-		}
-	}
-
+	iAllowedCACerts = aAllowedCACerts;
 	delete iInputCertChain;
 
 	iInputCertChain = 0;
 	iInputCertChain = aCertChain.AllocL();
 	iState = EValidateChainInitStore;
-
 	if (iCertStore == 0)
 	{
-		iCertStore = CUnifiedCertStore::NewL(iFs, EFalse);
+		iCertStore = CUnifiedCertStore::NewL(iFs, false);
 		iCertStore->Initialize(iStatus);		
 	}
 	else
@@ -496,9 +348,7 @@
 		TRequestStatus* status = &iStatus;
 		User::RequestComplete(status, KErrNone);		
 	}
-
 	SetActive();
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
@@ -506,13 +356,13 @@
 
 void CEapTlsPeapCertInterface::DoCancel()
 {
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
+
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
 		(EAPL("CEapTlsPeapCertInterface::DoCancel()\n")));
 
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::DoCancel()");
-
 	if (iCertStore != 0 && iCertStore->IsActive())
 	{
 		EAP_TRACE_DEBUG(
@@ -610,23 +460,15 @@
 //--------------------------------------------------
 	
 void CEapTlsPeapCertInterface::SignL(
-	const TKeyIdentifier& aKeyId,
+	TKeyIdentifier& aKeyId,
 	const TDesC8& aHashIn,
 	const TUint aSignatureLength)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::SignL()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::SignL()");
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	iKeyIdentifier = aKeyId;
 	if (aHashIn.Size() > KMaxHashLength)
 	{
-		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Illegal hash size %d to SignL(), shoudbe <= %d.\n"),
-			aHashIn.Size(),
-			KMaxHashLength));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Illegal hash size to SignL.\n")));
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		User::Leave(KErrGeneral);		
 	}
@@ -654,9 +496,6 @@
 	
 	if (iKeyStore == 0)
 	{
-
-#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 		// Try to get the keystore class pointer from memory store
 		eap_variable_data_c key(m_am_tools);
 		eap_status_e status = key.set_copy_of_buffer(KKeyStoreHandlePrefix, sizeof(KKeyStoreHandlePrefix));
@@ -675,17 +514,12 @@
 		eap_tlv_message_data_c tlv_data(m_am_tools);
 		
 		status = m_am_tools->memory_store_get_data(&key, &tlv_data);
-
 		if (status != eap_status_ok)
 		{
-
-#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
-
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::SignL(): cannot get previous CUnifiedKeyStore handle.\n")));
+				(EAPL("EAP_type_TLSPEAP: cannot get previous keystore handle.\n")));
 
 
 			// At this point we can set the passphrase timeout because it the passphrase 
@@ -696,8 +530,6 @@
 			iKeyStore = CUnifiedKeyStore::NewL(iFs);
 			iKeyStore->Initialize(iStatus);		
 			
-#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 			status = tlv_data.add_message_data(
 				eap_type_tlspeap_stored_keystore_handle,
 				sizeof(iKeyStore),
@@ -772,24 +604,15 @@
 				User::Leave(KErrGeneral);
 			}			
 		}
-
-#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 	}
 	else
 	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::SignL(): uses previous CUnifiedKeyStore handle.\n")));
-
 		// Skip passphrase setting because it clears the passphrase cache
 		iState = ESetPassphraseTimeout;
 
 		TRequestStatus* status = &iStatus;
 		User::RequestComplete(status, KErrNone);
 	}		
-
 	SetActive();
 
 
@@ -800,16 +623,10 @@
 //--------------------------------------------------
 	
 void CEapTlsPeapCertInterface::DecryptL(
-	const TKeyIdentifier& aKeyId,
+	TKeyIdentifier& aKeyId,
 	const TDesC8& aDataIn)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::DecryptL()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::DecryptL()");
-
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	iKeyIdentifier = aKeyId;
 
 	delete iDataIn;
@@ -833,9 +650,6 @@
 	// Try to get the keystore handler class from memory store 
 	if (iKeyStore == 0)
 	{
-
-#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 		// Try to get the keystore class pointer from memory store
 		eap_variable_data_c key(m_am_tools);
 		eap_status_e status = key.set_copy_of_buffer(KKeyStoreHandlePrefix, sizeof(KKeyStoreHandlePrefix));
@@ -854,22 +668,16 @@
 		eap_tlv_message_data_c tlv_data(m_am_tools);
 		
 		status = m_am_tools->memory_store_get_data(&key, &tlv_data);
-
 		if (status != eap_status_ok)
 		{
-
-#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): cannot get previous CUnifiedKeyStore handle.\n")));
+				(EAPL("EAP_type_TLSPEAP: cannot get previous keystore handle.\n")));
 
 			iKeyStore = CUnifiedKeyStore::NewL(iFs);
 			iKeyStore->Initialize(iStatus);		
 			
-#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 			status = tlv_data.add_message_data(
 				eap_type_tlspeap_stored_keystore_handle,
 				sizeof(iKeyStore),
@@ -895,7 +703,7 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): Found previous keystore handle.\n")));
+				(EAPL("EAP_type_TLSPEAP: Found previous keystore handle.\n")));
 
 			// Parse read data.
 			eap_array_c<eap_tlv_header_c> tlv_blocks(m_am_tools);
@@ -938,23 +746,14 @@
 				User::Leave(KErrGeneral);
 			}
 		}
-
-#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE)
-
 	}
 	else
 	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): uses previous CUnifiedKeyStore handle.\n")));
-
 		TRequestStatus* status = &iStatus;
 		User::RequestComplete(status, KErrNone);
 	}		
 
-	SetActive();
-
+	SetActive();	
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
@@ -962,51 +761,49 @@
 
 void CEapTlsPeapCertInterface::RunL()
 {
+	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);		
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+	(_L("CEapTlsPeapCertInterface::RunL(): TEMP iStatus=%d, iState=%d"),
+	iStatus.Int(), iState));
+					
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::RunL(): TEMP iStatus=%d, iState=%d\n"),
-		iStatus.Int(),
-		iState));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::RunL()");
+		(EAPL("CEapTlsPeapCertInterface::RunL(): iStatus %d\n"),
+		iStatus.Int()));
 
 	if (!(iStatus.Int() == KErrNone))
 	{		
 		EAP_TRACE_ERROR(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: EAP-TLS certificate interface failed: error=%d.\n"),
+			(EAPL("ERROR: EAP-TLS certificate interface failed: %d.\n"),
 			iStatus.Int()));
 		iParent->SendErrorNotification(eap_status_user_cancel_authentication);
 		
 		if(iState == ESignOpenKeyStore)
 		{
 			// User probably cancelled the keystore password query.
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapTlsPeapCertInterface::RunL(): ESignOpenKeyStore Failed\n")));
-
+			
+			EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("CEapTlsPeapCertInterface::RunL(): ESignOpenKeyStore Failed")));
+			
 			if(iRSASigner != NULL)
 			{
 				iRSASigner->Release();
 				
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapTlsPeapCertInterface::RunL(): iRSASigner->Release() OK\n")));
+				EAP_TRACE_DEBUG_SYMBIAN(
+				(_L("CEapTlsPeapCertInterface::RunL(): iRSASigner->Release() OK")));
+				
 			}
 			
 			if(iDSASigner != NULL)
 			{
 				iDSASigner->Release(); 
 				
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapTlsPeapCertInterface::RunL(): iDSASigner->Release() OK\n")));
+				EAP_TRACE_DEBUG_SYMBIAN(
+				(_L("CEapTlsPeapCertInterface::RunL(): iDSASigner->Release() OK")));							
 			}		
 		}
 		
@@ -1033,12 +830,12 @@
 			}
 			iCertInfos.Reset();			
 			
-			TRAPD(error, iCertFilter = CCertAttributeFilter::NewL());
-			if (error != KErrNone)
+			TRAPD(err, iCertFilter = CCertAttributeFilter::NewL());
+			if (err != KErrNone)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-				RPointerArray<EapCertificateEntry> tmp(sizeof(EapCertificateEntry));
+				CArrayFixFlat<SCertEntry> tmp(sizeof(SCertEntry));
 
 				m_am_tools->enter_global_mutex();
 				
@@ -1069,7 +866,7 @@
 				(EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsInitialize, Total Certs: iCertInfos.Count()=%d\n"),
 				iCertInfos.Count()));
 
-			iMatchingUserCertInfos.ResetAndDestroy();
+			iMatchingUserCertInfos.Reset();
 
 			// Remove non-allowed
 			TInt i(0);
@@ -1078,10 +875,10 @@
 			{
 				for (j = 0; j < iAllowedUserCerts.Count(); j++)
 				{				
-					if ( (iCertInfos[i]->Label().Compare(*(iAllowedUserCerts[j]->GetLabel())) == 0
+					if ( (iCertInfos[i]->Label().Compare(iAllowedUserCerts[j].iLabel) == 0
 						 || iCertInfos[i]->Label().Length() == 0
-						 || iAllowedUserCerts[j]->GetLabel()->Length() == 0)
-						&& iCertInfos[i]->SubjectKeyId() == iAllowedUserCerts[j]->GetSubjectKeyId())
+						 || iAllowedUserCerts[j].iLabel.Length() == 0)
+						&& iCertInfos[i]->SubjectKeyId() == iAllowedUserCerts[j].iSubjectKeyId)
 					{
 
 						EAP_TRACE_DEBUG(
@@ -1089,19 +886,14 @@
 							TRACE_FLAGS_DEFAULT,
 							(EAPL("RunL(): EGetMatchingCertsInitialize, Found a Matching USER cert\n")));
 
-						EAP_TRACE_DATA_DEBUG(
+						EAP_TRACE_DEBUG(
 							m_am_tools,
 							TRACE_FLAGS_DEFAULT,
-							(EAPL("RunL(): EGetMatchingCertsInitialize, Label of matching cert"),
-							iCertInfos[i]->Label().Ptr(),
-							iCertInfos[i]->Label().Size()));
-
-						EAP_TRACE_DATA_DEBUG(
-							m_am_tools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("RunL(): EGetMatchingCertsInitialize, SubjectkeyID of matching cert"),
-							iCertInfos[i]->SubjectKeyId().Ptr(),
-							iCertInfos[i]->SubjectKeyId().Size()));
+							(EAPL("RunL(): EGetMatchingCertsInitialize,Label of matching cert=%S\n"),
+							&(iCertInfos[i]->Label())));		
+						
+						EAP_TRACE_DATA_DEBUG_SYMBIAN(("RunL(): EGetMatchingCertsInitialize,SubjectkeyID of matching cert",
+						iCertInfos[i]->SubjectKeyId().Ptr(), iCertInfos[i]->SubjectKeyId().Size()));			
 
 						break;
 					}
@@ -1112,8 +904,7 @@
 					iCertInfos.Remove(i);
 					i--;
 				}
-			}
-
+			}	
 			if (iCertInfos.Count() == 0)
 			{
 				EAP_TRACE_DEBUG(
@@ -1122,16 +913,23 @@
 					(EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsInitialize - No matching Certificates.\n")));
 			
 				// No matching certs
-			
-				// Timeout handles error situation
-				RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
-
+				
+				CArrayFixFlat<SCertEntry>* tmp = NULL;
+				
+				TRAPD(err, tmp = new (ELeave) CArrayFixFlat<SCertEntry>(1) );
+				if (tmp == 0 || err != KErrNone)
+				{
+					// Timeout handles error situation
+					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));					
+				}
+				
 				m_am_tools->enter_global_mutex();
-
-				iParent->complete_get_matching_certificates(empty, eap_status_illegal_certificate); //Failure
-
+				
+				iParent->complete_get_matching_certificates(*tmp, eap_status_illegal_certificate); //Failure
+				
 				m_am_tools->leave_global_mutex();
 
+				delete tmp;
 				break;
 			}
 
@@ -1144,32 +942,29 @@
 
 			iEncodedCertificate->Des().SetLength(0);
 			
-			HBufC8 * tmpCert = 0;
-			TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size()));
-			if (error != KErrNone)
+			TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size()));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-				RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
-
+				
+				CArrayFixFlat<SCertEntry> tmp(sizeof(SCertEntry));
+											
 				m_am_tools->enter_global_mutex();
-
-				iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure
-
+				
+				iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure
+				
 				m_am_tools->leave_global_mutex();
 
 				break;
 			}
-
-			iEncodedCertificate = tmpCert;
-
+			
 			iCertPtr.Set(iEncodedCertificate->Des());
 
 			iCertStore->Retrieve(
 				*(iCertInfos[iUserCertIndex]), 
 				iCertPtr,
 				iStatus);
-
+			
 			SetActive();						
 		}		
 		break;
@@ -1182,16 +977,16 @@
 				(EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsLoop\n")));
 
 			CX509Certificate* cert = 0;
-			TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
-			if (error != KErrNone || cert == 0)
+			TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
+			if (err != KErrNone || cert == 0)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-				RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
+				CArrayFixFlat<SCertEntry> tmp(sizeof(SCertEntry));
 											
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure
+				iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 
@@ -1203,57 +998,37 @@
 				delete cert;
 				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-				RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
+				CArrayFixFlat<SCertEntry> tmp(sizeof(SCertEntry));
 
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure
+				iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 							
 				break;
 			}
-
+			
 			// No need to validate iCertInfos here as the execution doesn't come to this case if iCertInfos
 			// is empty, check is done in the above case.
-
-			EapCertificateEntry * entry = new EapCertificateEntry;
-			if (entry == 0)
-			{
-				// Timeout handles error situation
-				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));					
-
-				RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
-
-				m_am_tools->enter_global_mutex();
-				
-				iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure
-				
-				m_am_tools->leave_global_mutex();
-
-				delete entry;
-
-				break;
-			}
-
-			entry->SetLabel(iCertInfos[iUserCertIndex]->Label());
-			entry->SetSubjectKeyId(iCertInfos[iUserCertIndex]->SubjectKeyId());
+						
+			SCertEntry entry;
+			entry.iLabel.Copy(iCertInfos[iUserCertIndex]->Label());
+			entry.iSubjectKeyId = iCertInfos[iUserCertIndex]->SubjectKeyId();
 			
-			TRAP(error, iMatchingUserCertInfos.AppendL(entry));
-			if (error != KErrNone)
+			TRAP(err, iMatchingUserCertInfos.AppendL(entry));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-				RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
-
+				CArrayFixFlat<SCertEntry> tmp(sizeof(SCertEntry));
+				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure
+				iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 							
-				delete entry;
-
 				break;
 			}
 
@@ -1280,15 +1055,13 @@
 								// Matches
 								break;
 							}
-						} // for()
-
+						}
 						if (j == iCertAuthorities.Count())
 						{						
 							// No match. Remove
 							delete iMatchingUserCerts[i];
 							iMatchingUserCerts.Remove(i);
-							delete iMatchingUserCertInfos[i];
-							iMatchingUserCertInfos.Remove(i);
+							iMatchingUserCertInfos.Delete(i);
 							i--;
 							
 							EAP_TRACE_DEBUG(
@@ -1299,8 +1072,7 @@
 					}
 				}
 				// Check Certificate types
-				if (iUseCertTypesFilter
-					&& iCertTypes != 0)
+				if (iUseCertTypesFilter)
 				{
 					for (i = 0; i < (TInt) iMatchingUserCerts.Count(); i++)
 					{
@@ -1312,33 +1084,27 @@
 						for (j = 0; j < iCertTypes->get_object_count(); j++)
 						{
 							u8_t* val = iCertTypes->get_object(j);
-
-							if (val != 0)
+							if (algorithm == ERSA 
+								&& (*val == ERSASign
+								|| *val == ERSASignWithFixedDH 
+								|| *val == ERSASignWithEphemeralDH))
 							{
-								if (algorithm == ERSA 
-									&& (*val == ERSASign
-									|| *val == ERSASignWithFixedDH 
-									|| *val == ERSASignWithEphemeralDH))
-								{
-									break;				
-								}
-								else if (algorithm == EDSA 
-									&& (*val == EDSASign
-									|| *val == EDSASignWithFixedDH 
-									|| *val == EDSASignWithEphemeralDH))
-								{
-									break;				
-								}
+								break;				
 							}
-						} // for()
-
+							if (algorithm == EDSA 
+								&& (*val == EDSASign
+								|| *val == EDSASignWithFixedDH 
+								|| *val == EDSASignWithEphemeralDH))
+							{
+								break;				
+							}
+						}
 						if (j == iCertTypes->get_object_count())
 						{
 							// No match. Remove
 							delete iMatchingUserCerts[i];
 							iMatchingUserCerts.Remove(i);
-							delete iMatchingUserCertInfos[i];
-							iMatchingUserCertInfos.Remove(i);
+							iMatchingUserCertInfos.Delete(i);
 							i--;
 							
 							EAP_TRACE_DEBUG(
@@ -1350,7 +1116,6 @@
 
 					}
 				}
-
 				// Check cipher suites
 				if (iUseAllowedCipherSuitesFilter)
 				{
@@ -1370,8 +1135,7 @@
 							// No match. Remove
 							delete iMatchingUserCerts[i];
 							iMatchingUserCerts.Remove(i);
-							delete iMatchingUserCertInfos[i];
-							iMatchingUserCertInfos.Remove(i);
+							iMatchingUserCertInfos.Delete(i);
 							i--;
 							
 							EAP_TRACE_DEBUG(
@@ -1396,24 +1160,21 @@
 
 				iEncodedCertificate->Des().SetLength(0);
 
-				HBufC8 * tmpCert = 0;
-				TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size()));
-				if (error != KErrNone)
+				TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size()));
+				if (err != KErrNone)
 				{
 					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-					RPointerArray<EapCertificateEntry> empty(sizeof(EapCertificateEntry));
+					CArrayFixFlat<SCertEntry> tmp(sizeof(SCertEntry));
 
 					m_am_tools->enter_global_mutex();
 					
-					iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure
+					iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure
 					
 					m_am_tools->leave_global_mutex();
 					
 					break;
 				}
-
-				iEncodedCertificate = tmpCert;
 				
 				iCertPtr.Set(iEncodedCertificate->Des());
 
@@ -1444,16 +1205,16 @@
 			}
 			iCertInfos.Reset();			
 			
-			TRAPD(error, iCertFilter = CCertAttributeFilter::NewL());
-			if (error != KErrNone || iCertFilter == 0)
+			TRAPD(err, iCertFilter = CCertAttributeFilter::NewL());
+			if (err != KErrNone || iCertFilter == 0)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
@@ -1462,13 +1223,10 @@
 			
 			iCertFilter->SetFormat(EX509Certificate);
 			iCertFilter->SetOwnerType(EUserCertificate);
-			iCertFilter->SetSubjectKeyId(iCertInfo.GetSubjectKeyId());
-
-			if (iCertInfo.GetLabel()->Size() > 0)
-			{
-				iCertFilter->SetLabel(*(iCertInfo.GetLabel())); // We can not use Label in the filter as certificates saved
+			iCertFilter->SetSubjectKeyId(iCertInfo.iSubjectKeyId);
+			if (iCertInfo.iLabel.Size()>0)
+				iCertFilter->SetLabel(iCertInfo.iLabel); // We can not use Label in the filter as certificates saved
 													   // by using SetConfigurationL (OMA DM etc uses it) will not have Label.
-			}
 
 			iState = EReadCertList;
 			iCertStore->List(
@@ -1492,11 +1250,11 @@
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EReadCertList iCertInfos.Count = 0.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_illegal_certificate); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_illegal_certificate); //Failure
 				
 				m_am_tools->leave_global_mutex();
 
@@ -1511,24 +1269,21 @@
 			
 			iEncodedCertificate->Des().SetLength(0);
 
-			HBufC8 * tmpCert = 0;
-			TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size()));
-			if (error != KErrNone)
+			TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size()));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
 				break;
 			}
-
-			iEncodedCertificate = tmpCert;
 				
 			iCertPtr.Set(iEncodedCertificate->Des());
 			
@@ -1548,16 +1303,16 @@
 				(EAPL("CEapTlsPeapCertInterface::RunL(): EReadCert\n")));
 
 			CX509Certificate* cert = 0;
-			TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
-			if (error != KErrNone)
+			TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
@@ -1570,11 +1325,11 @@
 				delete cert;
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
@@ -1592,7 +1347,7 @@
 				iState = ERetrieveChainInitStore;
 				if (iCertStore == 0)
 				{
-					iCertStore = CUnifiedCertStore::NewL(iFs, EFalse);
+					iCertStore = CUnifiedCertStore::NewL(iFs, false);
 					iCertStore->Initialize(iStatus);		
 				}
 				else
@@ -1626,16 +1381,16 @@
 			}
 			iCertInfos.Reset();			
 			
-			TRAPD(error, iCertFilter = CCertAttributeFilter::NewL());
-			if (error != KErrNone)
+			TRAPD(err, iCertFilter = CCertAttributeFilter::NewL());
+			if (err != KErrNone)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
@@ -1700,25 +1455,21 @@
 			iState = ECreateCertChain;
 			
 			iEncodedCertificate->Des().SetLength(0);
-
-			HBufC8 * tmpCert = 0;
-			TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size()));
-			if (error != KErrNone)
+			TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size()));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
 				break;
 			}
-
-			iEncodedCertificate = tmpCert;
 				
 			iCertPtr.Set(iEncodedCertificate->Des());
 			
@@ -1739,16 +1490,16 @@
 				(EAPL("CEapTlsPeapCertInterface::RunL(): ECreateCertChain\n")));
 
 			CX509Certificate* cert = 0;
-			TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
-			if (error != KErrNone || cert == 0)
+			TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
+			if (err != KErrNone || cert == 0)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
@@ -1757,33 +1508,24 @@
 			
 #if defined(_DEBUG) || defined(DEBUG)
 				
-			{
 				// No need to validate iCertInfos in here as it is done in case: EGetAllCerts
 				CCTCertInfo* tempInfo;
 				tempInfo = iCertInfos[iCAIndex];
 
 				// These are for the trace debug.
 				TCertLabel label = tempInfo->Label();				
-				TKeyIdentifier SubjectKeyId = tempInfo->SubjectKeyId();
+				TKeyIdentifier KeyIdentifier = tempInfo->SubjectKeyId();
 				TKeyIdentifier IssuerId = tempInfo->IssuerKeyId();
 				TCertificateFormat format = tempInfo->CertificateFormat();
 				TCertificateOwnerType ownerType = tempInfo->CertificateOwnerType();			
 				
-				EAP_TRACE_DEBUG_SYMBIAN((_L("\n CEapTlsPeapCertInterface::RunL() : About to retrieve Cert with details, Label = %S"),
-					&label));
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("Other detials- Format=%d, Owner type=%d, IsDeletable=%d, Type UID=%d\n"),
-					format,
-					ownerType,
-					tempInfo->IsDeletable(),
-					tempInfo->Type()));
+				EAP_TRACE_DEBUG_SYMBIAN((_L("\n CEapTlsPeapCertInterface::RunL() : About to retrieve Cert with details, Label = %S"), &label));
+				EAP_TRACE_DEBUG_SYMBIAN((_L("Other detials- Format=%d, Owner type=%d, IsDeletable=%d, Type UID=%d"),
+									format, ownerType, tempInfo->IsDeletable(), tempInfo->Type()));
 				
 				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Subject key Id is"),
-					SubjectKeyId.Ptr(),
-					SubjectKeyId.Size()));
+					KeyIdentifier.Ptr(),
+					KeyIdentifier.Size()));
 
 				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Issuer Id is"),
 					IssuerId.Ptr(),
@@ -1811,15 +1553,14 @@
 					}
 					else
 					{
-						EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: No extension for this certificate\n")));			
+						EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: No extension for this certificate\n")));			
 					}
 				}
 				else
 				{
 					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No Certs here!\n")));			
 				}
-			}
-
+					
 #endif
 			
 		
@@ -1829,11 +1570,11 @@
 				delete cert;
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 								
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				
@@ -1887,42 +1628,42 @@
 							const CSubjectPublicKeyInfo& key = iRootCerts[i]->PublicKey();
 							const TPtrC8 params = key.EncodedParams();	
 							
-							TRAPD(error, dsaParams = CX509DSAPublicKey::DSAParametersL(params));
-							if (error != KErrNone)
+							TRAPD(err, dsaParams = CX509DSAPublicKey::DSAParametersL(params));
+							if (err != KErrNone)
 							{				
 				
-								RPointerArray<CX509Certificate> empty;
+								RPointerArray<CX509Certificate> tmp;
 								m_am_tools->enter_global_mutex();
 								
-								iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+								iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 								
 								m_am_tools->leave_global_mutex();
 				
 								return;
 							}					
 									
-							TRAP(error, signParams = CSigningKeyParameters::NewL());
-							if (error != KErrNone)
+							TRAP(err, signParams = CSigningKeyParameters::NewL());
+							if (err != KErrNone)
 							{				
-								RPointerArray<CX509Certificate> empty;
+								RPointerArray<CX509Certificate> tmp;
 				
 								m_am_tools->enter_global_mutex();
 								
-								iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+								iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 								
 								m_am_tools->leave_global_mutex();				
 
 								delete dsaParams;
 								return;
 							}
-							TRAP(error, signParams->SetDSAParamsL(*dsaParams));
-							if (error != KErrNone)
+							TRAP(err, signParams->SetDSAParamsL(*dsaParams));
+							if (err != KErrNone)
 							{				
-								RPointerArray<CX509Certificate> empty;
+								RPointerArray<CX509Certificate> tmp;
 								
 								m_am_tools->enter_global_mutex();
 								
-								iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+								iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 								
 								m_am_tools->leave_global_mutex();
 				
@@ -1931,13 +1672,13 @@
 								return;
 							}
 
-							TRAP(error, iUserCertChain[iUserCertChain.Count()-1]->SetParametersL(*signParams));
-							if (error != KErrNone)
+							TRAP(err, iUserCertChain[iUserCertChain.Count()-1]->SetParametersL(*signParams));
+							if (err != KErrNone)
 							{
-								RPointerArray<CX509Certificate> empty;
+								RPointerArray<CX509Certificate> tmp;
 								m_am_tools->enter_global_mutex();
 								
-								iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+								iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 								
 								m_am_tools->leave_global_mutex();				
 							
@@ -1955,12 +1696,11 @@
 								delete dsaParams;
 								delete signParams;
 								EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-								RPointerArray<CX509Certificate> empty;
+								RPointerArray<CX509Certificate> tmp;
 								
 								m_am_tools->enter_global_mutex();
 								
-								iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure
+								iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure
 								
 								m_am_tools->leave_global_mutex();
 				
@@ -2001,26 +1741,24 @@
 					(EAPL("CEapTlsPeapCertInterface::RunL()- ECreateCertChain - Before Retrieve(): iCAIndex=%d, size=%d\n"),
 					iCAIndex, info->Size()));			
 
+				
+				
 				iEncodedCertificate->Des().SetLength(0);
-
-				HBufC8 * tmpCert = 0;
-				TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size()));
-				if (error != KErrNone)
+				TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size()));
+				if (err != KErrNone)
 				{
 					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
 				
-					RPointerArray<CX509Certificate> empty;
+					RPointerArray<CX509Certificate> tmp;
 					
 					m_am_tools->enter_global_mutex();
 					
-					iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure
+					iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure
 					
 					m_am_tools->leave_global_mutex();
 				
 					break;
 				}
-
-				iEncodedCertificate = tmpCert;
 				
 				iCertPtr.Set(iEncodedCertificate->Des());
 			
@@ -2051,16 +1789,15 @@
 			}
 			iCertInfos.Reset();			
 			
-			TRAPD(error, iCertFilter = CCertAttributeFilter::NewL());
-			if (error != KErrNone)
+			TRAPD(err, iCertFilter = CCertAttributeFilter::NewL());
+			if (err != KErrNone)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				break;
@@ -2068,13 +1805,10 @@
 			
 			iCertFilter->SetFormat(EX509Certificate);
 			iCertFilter->SetOwnerType(ECACertificate);
-			iCertFilter->SetSubjectKeyId(iCertInfo.GetSubjectKeyId());
-
-			if (iCertInfo.GetLabel()->Size() > 0)
-			{
-				iCertFilter->SetLabel(*(iCertInfo.GetLabel()));// We can not use Label in the filter as certificates saved
+			iCertFilter->SetSubjectKeyId(iCertInfo.iSubjectKeyId);
+			if (iCertInfo.iLabel.Size()>0)
+				iCertFilter->SetLabel(iCertInfo.iLabel);// We can not use Label in the filter as certificates saved
 													// by using SetConfigurationL (OMA DM etc uses it) will not have Label.
-			}
 
 			iState = EReadCACertList;
 			iCertStore->List(
@@ -2097,12 +1831,11 @@
 			if (iCertInfos.Count() == 0)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EReadCACertList iCertInfos.Count = 0.\n")));
-
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				break;
@@ -2116,23 +1849,19 @@
 			
 			iEncodedCertificate->Des().SetLength(0);
 
-			HBufC8 * tmpCert = 0;
-			TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size()));
-			if (error != KErrNone)
+			TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size()));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
-
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				break;
 			}
-
-			iEncodedCertificate = tmpCert;
 				
 			iCertPtr.Set(iEncodedCertificate->Des());
 			
@@ -2159,16 +1888,15 @@
 				iEncodedCertificate->Size()));		
 
 			CX509Certificate* cert = 0;
-			TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
-			if (error != KErrNone)
+			TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
-
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				break;
@@ -2180,12 +1908,11 @@
 			{
 				delete cert;
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
-
-				RPointerArray<CX509Certificate> empty;
+				RPointerArray<CX509Certificate> tmp;
 				
 				m_am_tools->enter_global_mutex();
 				
-				iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure
+				iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure
 				
 				m_am_tools->leave_global_mutex();
 				break;
@@ -2212,26 +1939,23 @@
 			}
 			iCertInfos.Reset();			
 			
-			TRAPD(error, iCertFilter = CCertAttributeFilter::NewL());
-			if (error != KErrNone)
+			TRAPD(err, iCertFilter = CCertAttributeFilter::NewL());
+			if (err != KErrNone)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-				const CPKIXValidationResult * const empty = 0;
+				CPKIXValidationResult* tmp = 0;
 				
 				m_am_tools->enter_global_mutex();
 
-				iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+				iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 				m_am_tools->leave_global_mutex();
 				break;
 			}
-
 			iCertFilter->SetOwnerType(ECACertificate);
 			iCertFilter->SetFormat(EX509Certificate);
 
 			iState = EValidateChainGetCACertList;
-
 			iCertStore->List(
 				iCertInfos,
 				*iCertFilter, 
@@ -2248,89 +1972,74 @@
 				(EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACertList\n")));
 
 			int index;			
-			TIdentityRelation<EapCertificateEntry> comparator(&EapTlsPeapUtils::CompareSCertEntries);
-
-			if (iUseAutomaticCaCertificate)
-			{
-				// All CA certificates are allowed.
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACertList: All CA certificates are allowed.\n")));
-			}
-			else
+			TIdentityRelation<SCertEntry> comparator(&EapTlsPeapUtils::CompareSCertEntries);
+			// Remove disallowed CA certs from the array
+			for (TInt i = 0; i < iCertInfos.Count(); i++)
 			{
-				// Remove disallowed CA certs from the array
-				for (TInt i = 0; i < iCertInfos.Count(); i++)
+				SCertEntry certEntry;
+				certEntry.iLabel.Copy(iCertInfos[i]->Label());
+				certEntry.iSubjectKeyId.Copy(iCertInfos[i]->SubjectKeyId());
+				index = iAllowedCACerts.Find(certEntry, comparator);
+				
+				if (index == KErrNotFound)
 				{
-					EapCertificateEntry certEntry;
-					certEntry.SetLabel(iCertInfos[i]->Label());
-					certEntry.SetSubjectKeyId(iCertInfos[i]->SubjectKeyId());
-					index = iAllowedCACerts.Find(&certEntry, comparator);
-					
-					if (index == KErrNotFound)
-					{
-						// Remove					
-						iCertInfos[i]->Release();
-						iCertInfos.Remove(i);
-						i--;
-					}
+					// Remove					
+					iCertInfos[i]->Release();
+					iCertInfos.Remove(i);
+					i--;
 				}
 			}
-
 			if (iCertInfos.Count() == 0)
 			{	
 				// Create new validation result for this failure case. 
 				// CPKIXValidationResult does include a Reset-member function
 				// but it is not in x500.lib as the documentation says.
-				const CPKIXValidationResult * const empty = 0;
-
-				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No cert infos\n")));
-
+				CPKIXValidationResult* validationResult = 0;
+				TRAPD(err, validationResult = CPKIXValidationResult::NewL());
+				if (err != KErrNone)
+				{
+					// Do nothing. Session timeout takes care of cleanup...
+					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
+				}
 				m_am_tools->enter_global_mutex();
 
-				iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+				iParent->complete_validate_chain(*validationResult, eap_status_ca_certificate_unknown); //Failure.
+
+				m_am_tools->leave_global_mutex();
+				delete validationResult;
+				break;
+			}
+			
+			CCTCertInfo* info;
+			info = iCertInfos[0];
+			iCAIndex = 0;
+
+			iState = EValidateChainGetCACert;
+			
+			iEncodedCertificate->Des().SetLength(0);
+			TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size()));
+			if (err != KErrNone)
+			{
+				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
+				
+				CPKIXValidationResult* tmp = 0;
+				
+				m_am_tools->enter_global_mutex();
+
+				iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 				m_am_tools->leave_global_mutex();
 				break;
 			}
-
-			{
-				CCTCertInfo* info;
-				info = iCertInfos[0];
-				iCAIndex = 0;
-
-				iState = EValidateChainGetCACert;
-
-				iEncodedCertificate->Des().SetLength(0);
+				
+			iCertPtr.Set(iEncodedCertificate->Des());			
 
-				HBufC8 * tmpCert = 0;
-				TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size()));
-				if (error != KErrNone)
-				{
-					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-					
-					const CPKIXValidationResult * const empty = 0;
-					
-					m_am_tools->enter_global_mutex();
-
-					iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
-
-					m_am_tools->leave_global_mutex();
-					break;
-				}
-
-				iEncodedCertificate = tmpCert;
-
-				iCertPtr.Set(iEncodedCertificate->Des());
-
-				iCertStore->Retrieve(
-					*info, 
-					iCertPtr,
-					iStatus);
-				
-				SetActive();
-			}
+			iCertStore->Retrieve(
+				*info, 
+				iCertPtr,
+				iStatus);
+			
+			SetActive();			
 		}
 		break;
 
@@ -2342,16 +2051,15 @@
 				(EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACert\n")));
 
 			CX509Certificate* cert = 0;
-			TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
-			if (error != KErrNone)
+			TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des()));
+			if (err != KErrNone)
 			{
-				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-				const CPKIXValidationResult * const empty = 0;
+				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
+				CPKIXValidationResult* tmp = 0;
 				
 				m_am_tools->enter_global_mutex();
 
-				iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+				iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 				m_am_tools->leave_global_mutex();
 				break;
@@ -2361,13 +2069,12 @@
 			if (iRootCerts.Append(cert) != KErrNone)
 			{
 				delete cert;
-				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-				const CPKIXValidationResult * const empty = 0;
+				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
+				CPKIXValidationResult* tmp = 0;
 				
 				m_am_tools->enter_global_mutex();
 
-				iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+				iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 				m_am_tools->leave_global_mutex();
 				break;
@@ -2379,46 +2086,35 @@
 				delete iCertChain;
 				iCertChain = 0;
 
-				TRAPD(error, iCertChain = CPKIXCertChain::NewL(iFs, *iInputCertChain, iRootCerts));
-				if (error != KErrNone)
+				TRAPD(err, iCertChain = CPKIXCertChain::NewL(iFs, *iInputCertChain, iRootCerts));
+				if (err != KErrNone)
 				{
-					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP-TLS error %d.\n"), error));
-
-					const CPKIXValidationResult * const empty = 0;
+					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP-TLS error %d.\n"), err));
+					CPKIXValidationResult* tmp = 0;
 					
 					m_am_tools->enter_global_mutex();
 
-					iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+					iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 					m_am_tools->leave_global_mutex();
 					break;
 				}
-
 				// Set the current time
 				iTime.UniversalTime();
 				iState = EValidateChainEnd;
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACert, calls iCertChain->ValidateL(), count of root CA certificates = %d\n"),
-					iRootCerts.Count()));
-
-				TRAP(error, iCertChain->ValidateL(*iValidationResult, iTime, iStatus));
-				if (error != KErrNone)
+				TRAP(err, iCertChain->ValidateL(*iValidationResult, iTime, iStatus));
+				if (err != KErrNone)
 				{
-					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Error in certificate validation in EAP-TLS, error = %d.\n"),
-						error));
-
-					const CPKIXValidationResult * const empty = 0;
+					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Error in certificate validation in EAP-TLS.\n")));			
+					CPKIXValidationResult* tmp = 0;
 					
 					m_am_tools->enter_global_mutex();
 
-					iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+					iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 					m_am_tools->leave_global_mutex();
 					break;
-				}
+				}				
 				SetActive();	// Validate.
 			}
 			else
@@ -2429,24 +2125,19 @@
 				iState = EValidateChainGetCACert;
 				
 				iEncodedCertificate->Des().SetLength(0);
-
-				HBufC8 * tmpCert = 0;
-				TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size()));
-				if (error != KErrNone)
+				TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size()));
+				if (err != KErrNone)
 				{
-					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
-
-					const CPKIXValidationResult * const empty = 0;
+					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));			
+					CPKIXValidationResult* tmp = 0;
 					
 					m_am_tools->enter_global_mutex();
 
-					iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure.
+					iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure.
 
 					m_am_tools->leave_global_mutex();
 					break;
 				}
-
-				iEncodedCertificate = tmpCert;
 				
 				iCertPtr.Set(iEncodedCertificate->Des());
 			
@@ -2465,12 +2156,11 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainEnd, iValidationResult->Error().iReason=%d\n"),
-			iValidationResult->Error().iReason));
+			(EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainEnd\n")));
 		
 		m_am_tools->enter_global_mutex();
-
-		iParent->complete_validate_chain(iValidationResult, eap_status_ok);
+		
+		iParent->complete_validate_chain(*iValidationResult, eap_status_ok);
 
 		m_am_tools->leave_global_mutex();
 		// Ignore error because there is nothing that can be done.
@@ -2500,8 +2190,8 @@
 			delete iKeyFilter;
 			iKeyFilter = 0;
 			
-			iKeyFilter = new (ELeave) TCTKeyAttributeFilter;
-			if (!iKeyFilter)
+			TRAPD(err, iKeyFilter = new (ELeave) TCTKeyAttributeFilter);
+			if (err != KErrNone)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				RInteger tmp;
@@ -2623,12 +2313,12 @@
 				CleanupStack::PushL(R);
 				
 				iParent->complete_sign(R, reinterpret_cast<const RInteger&>(iRSASignature->S()), eap_status_ok);
+				
+				CleanupStack::PopAndDestroy();
 
 				delete iRSASignature;
 				iRSASignature = 0;
 				
-				CleanupStack::PopAndDestroy();
-				
 				iRSASigner->Release(); // This seems to be needed.
 			}
 			else
@@ -2655,8 +2345,8 @@
 			delete iKeyFilter;
 			iKeyFilter = 0;
 			
-			iKeyFilter = new (ELeave) TCTKeyAttributeFilter;
-			if (!iKeyFilter)
+			TRAPD(err, iKeyFilter = new (ELeave) TCTKeyAttributeFilter);
+			if (err != KErrNone)
 			{ 
 				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n")));
 				TBuf8<1> tmp;
@@ -2744,17 +2434,13 @@
 	return;
 }
 
-//--------------------------------------------------
-
 void CEapTlsPeapCertInterface::CancelSignWithPrivateKey()
 {
 	EAP_TRACE_DEBUG(
 		m_am_tools,
 		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapTlsPeapCertInterface::CancelSignWithPrivateKey(): iState=%d (13=ESign)\n"),
-		iState));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::CancelSignWithPrivateKey()");
+		(EAPL("CEapTlsPeapCertInterface::CancelSignWithPrivateKey():Cancelling Signing - iState=%d (13=ESign)\n"),
+		iState));		
 
 	if(IsActive())
 	{
@@ -2782,6 +2468,4 @@
 	}	
 }
 
-
-//--------------------------------------------------
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/eap_am_type_tls_peap_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/eap_am_type_tls_peap_symbian.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 256 %
+* %version: 253 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -53,7 +53,7 @@
 #include <asn1enc.h>
 #include "EapTlsPeapTimerValues.h"
 #include "eap_state_notification.h"
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 #include "eap_automatic_variable.h"
 
 #if defined(USE_FAST_EAP_TYPE)
@@ -65,49 +65,36 @@
 #include "eap_tlv_header.h"
 #include "eap_tlv_message_data.h"
 #endif
-#include <utf.h>
-
+
+#include "eap_ttls_pap_active.h"
 
 #ifdef USE_PAC_STORE
-	#include "pac_store_db_symbian.h"
-	#include <f32file.h>
+#include "pac_store_db_symbian.h"
+#include <f32file.h>
 #endif
 
+#ifdef USE_EAP_EXPANDED_TYPES
 #include "eap_header_string.h"
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
-	#include "eap_config.h"
-	#include "eap_file_config.h"
-	#include "eap_am_file_input_symbian.h"
+#include "eap_config.h"
+#include "eap_file_config.h"
+#include "eap_am_file_input_symbian.h"
 #endif
 
-#include "EapConfigToolsSymbian.h"
-#include "EapConversion.h"
-#include "EapPluginTools.h"
-
-#include <mmtsy_names.h>
-
-
 const TUint KMaxSqlQueryLength = 512;
 const TUint KMaxDBFieldNameLength = 255;
 const TUint KDSASignatureLength = 40;
 const TInt 	KDefaultColumnInView_One = 1; // For DB view.
 const TInt 	KMicroSecsInASecond = 1000000; // 1000000 micro seconds is 1 second.
-
-#ifdef USE_FAST_EAP_TYPE
-
-const TUint KMaxDeviceSeedLength = RMobilePhone::KPhoneManufacturerIdSize+
-			RMobilePhone::KPhoneModelIdSize+
-			RMobilePhone::KPhoneSerialNumberSize;
-const TUint KMaxDeviceSeedSize = 2*KMaxDeviceSeedLength;
-#endif	
+		
 /**
  * Length of the MAC address
  */
 #ifdef USE_FAST_EAP_TYPE
-	const TUint8 KMacAddressLength = 6;
+ const TUint8 KMacAddressLength = 6;
 #endif
-
 //--------------------------------------------------
 
 eap_am_type_tls_peap_symbian_c::eap_am_type_tls_peap_symbian_c(
@@ -129,7 +116,8 @@
 #if defined(USE_FAST_EAP_TYPE)
 	  , m_tls_application(0)
 	  //, iWaitNoteCancelled( EFalse )
-
+      , iEapFastActiveWaitNote( NULL )
+      , iEapFastActiveNotes( NULL )
 #endif //#if defined(USE_FAST_EAP_TYPE)
 	  , m_is_valid(false)
 	  , m_is_client(aIsClient)
@@ -150,7 +138,7 @@
 	  , m_param_q(aTools)
 	  , m_param_g(aTools)
 	  , m_shutdown_was_called(false)
-
+	  , m_identity_info(0)
 	  , m_tunneled_type(eap_type_none)
 	  , m_verify_certificate_realm(true)
 	  , m_allow_subdomain_matching(false)
@@ -160,7 +148,6 @@
 	  , m_use_manual_realm(false)
 	  , m_manual_realm(aTools)
 	  , m_tls_peap_server_authenticates_client_policy_flag(true)
-	  , m_use_automatic_ca_certificate(false)
 	  , m_configured(false)
 	  , m_max_session_time(0)
 #if defined(USE_EAP_TLS_SESSION_TICKET)
@@ -189,98 +176,101 @@
 	, m_ready_references_and_data_blocks(aTools)
 	, m_serv_unauth_prov_mode(false)
 	, m_serv_auth_prov_mode(false)
-
+	, m_is_notifier_connected(false)
 	, m_notifier_data_to_user(NULL)
 	, m_notifier_data_pckg_to_user(NULL)
-
-	, iMMETELConnectionStatus(false)
+	, m_notifier_data_from_user(NULL)
+	, m_notifier_data_pckg_from_user(NULL)
 	, m_completed_with_zero(false)
 	, m_verificationStatus(false)
-	, m_pacStorePWBuf8(0)
-	, m_userAction(EEapFastNotifierUserActionOk)
-	, m_pacStoreDataRefType(eap_pac_store_data_type_none)
 	, m_data_reference(m_am_tools)
+	, m_notifier_complete(false)
 	, m_userResponse(m_am_tools)
-	, m_pending_operation(eap_fast_pac_store_pending_operation_none)
 	, m_both_completed(0)
 	, m_both_asked(0)
-	, m_ready_references_array_index(0)
-	, m_provisioning_mode(eap_fast_completion_operation_none)
-	, iCompletionOperation(eap_fast_completion_operation_none)
-	, iCompletion(eap_fast_initialize_pac_store_completion_none)
 #endif //#if defined(USE_FAST_EAP_TYPE)
 
-	, m_notifier_complete(false)
-
 #ifdef USE_PAC_STORE
 	,iPacStoreDb(NULL)
 #endif    
 	
 #ifdef USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS
-	, m_skip_user_interactions(false)
-	, m_fileconfig(0)
+, m_skip_user_interactions(false)
+, m_fileconfig(0)
 #endif
-
-  , iEapTtlsPapMaxSessionConfigTime( 0 )
-
-
-
-  , iPacStoreDeviceSeed(0)
-
-	, iEapAuthNotifier(0)	
-
+	
+	
+	
+    , iEapTtlsPapMaxSessionConfigTime( 0 )
+    , iEapTtlsPapActive( NULL )
+    
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	m_tunneling_vendor_type = m_tunneling_type.get_vendor_type();
+	m_current_eap_vendor_type = m_current_eap_type.get_vendor_type();
+
+#else
+
+	m_tunneling_vendor_type = static_cast<TUint>(m_tunneling_type);
+	m_current_eap_vendor_type = static_cast<TUint>(m_current_eap_type);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	// Set the database table name based on the type
-	if (m_current_eap_type == eap_type_tls)
-	{
-		m_db_table_name = KTlsDatabaseTableName;
-		m_db_user_cert_table_name = KTlsAllowedUserCertsDatabaseTableName;
-		m_db_ca_cert_table_name = KTlsAllowedCACertsDatabaseTableName;
-		m_db_cipher_suite_table_name = KTlsAllowedCipherSuitesDatabaseTableName;
-		m_db_name = KTlsDatabaseName;	
-	}
-	else if (m_current_eap_type == eap_type_peap)
-	{
-		m_db_table_name = KPeapDatabaseTableName;
-		m_db_user_cert_table_name = KPeapAllowedUserCertsDatabaseTableName;
-		m_db_ca_cert_table_name = KPeapAllowedCACertsDatabaseTableName;
-		m_db_cipher_suite_table_name = KPeapAllowedCipherSuitesDatabaseTableName;
-		m_db_name = KPeapDatabaseName;	
-	}
-	else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type()
-			|| m_current_eap_type == eap_type_ttls)
-	{
-		m_db_table_name = KTtlsDatabaseTableName;
-		m_db_user_cert_table_name = KTtlsAllowedUserCertsDatabaseTableName;
-		m_db_ca_cert_table_name = KTtlsAllowedCACertsDatabaseTableName;
-		m_db_cipher_suite_table_name = KTtlsAllowedCipherSuitesDatabaseTableName;
-		m_db_name = KTtlsDatabaseName;
-	}
+	switch (m_current_eap_vendor_type)
+	{
+		case eap_type_tls:
+			m_db_table_name = KTlsDatabaseTableName;
+			m_db_user_cert_table_name = KTlsAllowedUserCertsDatabaseTableName;
+			m_db_ca_cert_table_name = KTlsAllowedCACertsDatabaseTableName;
+			m_db_cipher_suite_table_name = KTlsAllowedCipherSuitesDatabaseTableName;
+			m_db_name = KTlsDatabaseName;	
+			break;
+		
+		case eap_type_peap:
+			m_db_table_name = KPeapDatabaseTableName;
+			m_db_user_cert_table_name = KPeapAllowedUserCertsDatabaseTableName;
+			m_db_ca_cert_table_name = KPeapAllowedCACertsDatabaseTableName;
+			m_db_cipher_suite_table_name = KPeapAllowedCipherSuitesDatabaseTableName;
+			m_db_name = KPeapDatabaseName;	
+			break;
+			
+		case eap_type_ttls_plain_pap:
+		    // use the same case as for eap_type_ttls;
+		    // break is not needed
+		
+		case eap_type_ttls:
+			m_db_table_name = KTtlsDatabaseTableName;
+			m_db_user_cert_table_name = KTtlsAllowedUserCertsDatabaseTableName;
+			m_db_ca_cert_table_name = KTtlsAllowedCACertsDatabaseTableName;
+			m_db_cipher_suite_table_name = KTtlsAllowedCipherSuitesDatabaseTableName;
+			m_db_name = KTtlsDatabaseName;
+			break;
 			
 #if defined (USE_FAST_EAP_TYPE)
-	else if (m_current_eap_type == eap_type_fast)
-	{
-		m_db_table_name = KFastGeneralSettingsDBTableName; // General settings
-		m_db_fast_special_table_name = KFastSpecialSettingsDBTableName; // Special settings  for only FAST
-		m_db_user_cert_table_name = KFastAllowedUserCertsDatabaseTableName;
-		m_db_ca_cert_table_name = KFastAllowedCACertsDatabaseTableName;
-		m_db_cipher_suite_table_name = KFastAllowedCipherSuitesDatabaseTableName;
-		m_db_name = KFastDatabaseName;
-	}
+			case eap_type_fast:
+			m_db_table_name = KFastGeneralSettingsDBTableName; // General settings
+			m_db_fast_special_table_name = KFastSpecialSettingsDBTableName; // Special settings  for only FAST
+			m_db_user_cert_table_name = KFastAllowedUserCertsDatabaseTableName;
+			m_db_ca_cert_table_name = KFastAllowedCACertsDatabaseTableName;
+			m_db_cipher_suite_table_name = KFastAllowedCipherSuitesDatabaseTableName;
+			m_db_name = KFastDatabaseName;
+			break;
 #endif // #if defined (USE_FAST_EAP_TYPE)			
-	else
-	{
-		// Unsupported type		
-		// Should never happen
-		EAP_TRACE_ERROR(m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"),
-			m_current_eap_type.get_vendor_id(),
-			m_current_eap_type.get_vendor_type()));
-
-		return;
+		default:
+			{
+				// Unsupported type		
+				// Should never happen
+				EAP_TRACE_ERROR(m_am_tools, 
+					TRACE_FLAGS_DEFAULT, (
+					EAPL("Unsupported EAP type, m_current_eap_vendor_type=%d \n"),
+					m_current_eap_vendor_type));
+		
+				return;
+			}
 	}
 
 	if (receive_network_id != 0
@@ -320,7 +310,7 @@
 		&& aEapType != eap_type_ttls
 #endif // #if defined(USE_TTLS_EAP_TYPE)
 
-	    && aEapType != eap_expanded_type_ttls_plain_pap.get_type()
+	    && aEapType != eap_type_ttls_plain_pap
 		
 #if defined (USE_FAST_EAP_TYPE)
 		&& aEapType != eap_type_fast
@@ -358,10 +348,6 @@
 //
 void eap_am_type_tls_peap_symbian_c::ConstructL()
 {
-	TInt error = m_session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_tls_peap_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
 	// Open/create database
 	EapTlsPeapUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type, m_current_eap_type);
 
@@ -386,13 +372,30 @@
 		EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::ConstructL Opened PAC store")));		
 	}
-	m_info_array.ResetAndDestroy();
+	m_info_array.Reset();
 	
 #endif	// End: #ifdef USE_FAST_EAP_TYPE
 #endif // End: 	#ifdef USE_PAC_STORE
 
-	m_notifier_data_to_user = new(ELeave) CEapAuthNotifier::TEapDialogInfo;
-	m_notifier_data_pckg_to_user = new(ELeave) TPckg<CEapAuthNotifier::TEapDialogInfo> (*m_notifier_data_to_user);
+#ifdef USE_FAST_EAP_TYPE
+	
+	if(m_current_eap_type == eap_type_fast)
+	{
+		m_notifier_data_to_user = new(ELeave) TEapFastNotifierStruct;
+		m_notifier_data_pckg_to_user = new(ELeave) TPckg<TEapFastNotifierStruct> (*m_notifier_data_to_user);
+		
+		EAP_TRACE_DATA_DEBUG(
+			m_am_tools,
+			TRACE_FLAGS_DEFAULT,
+			(EAPL("eap_am_type_tls_peap_symbian_c::ConstructL m_notifier_data_pckg_to_user"),
+			m_notifier_data_pckg_to_user->Ptr(),
+			m_notifier_data_pckg_to_user->Size()));	
+		
+		m_notifier_data_from_user = new(ELeave) TEapFastNotifierStruct;
+		m_notifier_data_pckg_from_user = new(ELeave) TPckg<TEapFastNotifierStruct> (*m_notifier_data_from_user);		
+	}	
+#endif	// End: #ifdef USE_FAST_EAP_TYPE	
+	
 
 }
 
@@ -421,27 +424,48 @@
 			m_cert_if->Cancel();
 		}		
 	}
-
-	if (iEapAuthNotifier != 0)
-		{
-		iEapAuthNotifier->Cancel();
-		}
-
-	
-
-	
-#if defined(USE_FAST_EAP_TYPE)
-
-
-
-#endif 
+	
+	if ( iEapTtlsPapActive )
+		{
+		if ( iEapTtlsPapActive->IsActive() )
+			{
+			EAP_TRACE_DEBUG_SYMBIAN(
+				( _L( " eap_am_type_tls_peap_symbian_c::shutdown() \
+				Cancelling iEapTtlsPapActive." ) ) );
+			iEapTtlsPapActive->Cancel();
+			}
+		EAP_TRACE_DEBUG_SYMBIAN(
+			( _L( " eap_am_type_tls_peap_symbian_c::shutdown() \
+			Deleting iEapTtlsPapActive." ) ) );
+		delete iEapTtlsPapActive;
+		iEapTtlsPapActive = NULL;
+		}
+	
+#if defined(USE_FAST_EAP_TYPE)		
+		if( m_is_notifier_connected )
+		{
+			EAP_TRACE_DEBUG_SYMBIAN(
+				(_L(" eap_am_type_tls_peap_symbian_c::shutdown - calling m_notifier.CancelNotifier")));
+			if(IsActive())
+				{
+				TInt error = m_notifier.CancelNotifier(KEapFastNotifierUid);
+				EAP_TRACE_DEBUG_SYMBIAN(
+					(_L("eap_am_type_tls_peap_symbian_c::shutdown - CancelNotifier=%d"), error));
+				}	
+			EAP_TRACE_DEBUG_SYMBIAN(
+				(_L(" eap_am_type_securid_symbian_c::shutdown - calling m_notifier.Close()")));
+			
+			m_notifier.Close(); // Call close only if it is connected.	
+			
+			m_is_notifier_connected = false;
+			
+		} // End: if( m_is_notifier_connected )	
 
 		if (m_partner != NULL)
 		    {
 		    EAP_TRACE_DEBUG_SYMBIAN(
 				(_L(" eap_am_type_tls_peap_symbian_c::shutdown - Cancel timers ...")));
 
-#if defined(USE_FAST_EAP_TYPE)
 		    m_partner->cancel_timer(
 				this, 
 				KRemoveIAPReferenceTimerID);
@@ -458,28 +482,36 @@
 				this, 
 				KHandleReadPacstoreTimerID);
 
-		    m_partner->cancel_timer(
-				this, 
-				KHandleCompletePacstoreNokTimerID);
-
-		    m_partner->cancel_timer(
-				this, 
-				KHandleCompletePacstoreOkTimerID);
-				
-#endif
 		    EAP_TRACE_DEBUG_SYMBIAN(
 				(_L(" eap_am_type_tls_peap_symbian_c::shutdown - Timers canceled")));
 		    }
 		
-#if defined(USE_FAST_EAP_TYPE)
-
+		if ( iEapFastActiveWaitNote )
+			{
+			if ( iEapFastActiveWaitNote->IsActive() )
+				{
+				iEapFastActiveWaitNote->Cancel();
+				}
+			delete iEapFastActiveWaitNote;
+			iEapFastActiveWaitNote = NULL;
+			}
+
+		if ( iEapFastActiveNotes )
+			{
+			if ( iEapFastActiveNotes->IsActive() )
+				{
+			    iEapFastActiveNotes->Cancel();
+				}
+			delete iEapFastActiveNotes;
+			iEapFastActiveNotes = NULL;
+			}
 #endif // #if defined(USE_FAST_EAP_TYPE)
 	
 
-	m_allowed_server_certs.ResetAndDestroy();
-	m_allowed_ca_certs.ResetAndDestroy();			
+	m_allowed_server_certs.Reset();
+	m_allowed_ca_certs.Close();			
 	m_allowed_cipher_suites.Close();			
-	m_allowed_user_certs.ResetAndDestroy();			
+	m_allowed_user_certs.Reset();			
 
 #ifdef USE_PAC_STORE
 #ifdef USE_FAST_EAP_TYPE
@@ -489,7 +521,13 @@
 		iPacStoreDb->Close();
 	}
 	
-	m_info_array.ResetAndDestroy();
+	TInt count=0;
+	while (count < m_info_array.Count())
+		{
+		delete m_info_array[count].iData;
+		delete m_info_array[count].iReference;
+		}
+	m_info_array.Reset();
 
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L(" eap_am_type_tls_peap_symbian_c::shutdown - Arrays cleared")));
@@ -513,6 +551,7 @@
 	return eap_status_ok;
 }
 
+
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c()
@@ -532,14 +571,26 @@
 	m_database.Close();
 	m_session.Close();
 
-	delete m_notifier_data_to_user;
-	delete m_notifier_data_pckg_to_user;
+#ifdef USE_FAST_EAP_TYPE
+	
+	if(m_current_eap_type == eap_type_fast)
+	{
+		delete m_notifier_data_to_user;
+		delete m_notifier_data_pckg_to_user;
+		
+		delete m_notifier_data_from_user;
+		delete m_notifier_data_pckg_from_user;		
+	}	
+#endif	// End: #ifdef USE_FAST_EAP_TYPE	
 		
 	delete m_cert_if;
 
 	delete m_ca_certificate;
 	delete m_own_certificate;
 	delete m_peer_certificate;
+	delete m_identity_info;
+
+#ifdef USE_EAP_EXPANDED_TYPES
 
 	m_enabled_tunneling_exp_eap_array.ResetAndDestroy();
 	m_disabled_tunneling_exp_eap_array.ResetAndDestroy();
@@ -549,306 +600,24 @@
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c() tunneling done.\n")));
 
+#else
+
+	m_iap_eap_array.ResetAndDestroy();
+
+#endif  // #ifdef USE_EAP_EXPANDED_TYPES
+
 #ifdef USE_PAC_STORE
 	
 	delete iPacStoreDb;
 	
-#endif // #ifdef USE_PAC_STORE	
-
-	delete iEapAuthNotifier;
-	iEapAuthNotifier = 0;
-
+#endif	// End: #ifdef USE_PAC_STORE	
+	
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT void eap_am_type_tls_peap_symbian_c::DlgComplete( TInt aStatus )
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): m_notifier_complete=%d, m_state=%d\n"),
-		m_notifier_complete,
-		m_state));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::DlgComplete()");
-
-#ifdef USE_FAST_EAP_TYPE
-	m_userAction = EEapFastNotifierUserActionOk;
-#endif
-
-	eap_status_e status = m_am_tools->convert_am_error_to_eapol_error(aStatus);
-
-	if(m_notifier_complete)
-	{
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL( "m_notifier_data_pckg_to_user" ),
-			m_notifier_data_pckg_to_user->Ptr(),
-			m_notifier_data_pckg_to_user->Size() ) );
-
-		if ( aStatus == KErrCancel )
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): User cancelled the dialog\n")));
-
-#ifdef USE_FAST_EAP_TYPE
-			m_userAction = EEapFastNotifierUserActionCancel;	
-#endif
-		}		
-		else if( aStatus != KErrNone )
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): dialog error=%d\n"),
-				aStatus));
-
-			TBuf8<KMaxNotifItemLength> userNameUtf8;
-			TBuf8<KMaxUiDataLength> challengeUtf8;
-			userNameUtf8.Zero();
-			challengeUtf8.Zero();
-
-			CompleteQueryTtlsPapUserNameAndPassword(
-				status, userNameUtf8, challengeUtf8 );
-
-			return; // m_am_tools->convert_am_error_to_eapol_error(aStatus);		
-		}
-
-		if ( m_notifier_data_to_user->iPassword.Size() > 0 )
-		{
-			HBufC8* notifier_data8 = NULL;
-			TRAPD(err, notifier_data8 = HBufC8::NewL(m_notifier_data_to_user->iPassword.Size()));
-			if (err)
-			{
-				return;	
-			}
-			TPtr8 notifier_dataPtr8 = notifier_data8->Des();
-
-			notifier_dataPtr8.Copy(m_notifier_data_to_user->iPassword); // Unicode -> ascii.
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL( "eap_am_type_tls_peap_symbian_c::DlgComplete PW from UI (8bits)" ),
-				notifier_dataPtr8.Ptr(), 
-				notifier_dataPtr8.Size() ) );
-
-#ifdef USE_FAST_EAP_TYPE
-			status = m_userResponse.set_copy_of_buffer(
-				notifier_dataPtr8.Ptr(),
-				notifier_dataPtr8.Size());
-#endif			
-			CleanupStack::PopAndDestroy( notifier_data8 );
-		}
-	}
-
-	m_notifier_complete = 0;
-
-	if ( m_state == EPapChallenge)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): EPapChallenge\n")));
-
-		m_state = EPapUserNameAndPassword;
-		TEapExpandedType aEapType(*EapExpandedTypeTtlsPap.GetType());
-
-		if (iEapAuthNotifier == 0)
-		{
-			TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-			if (err)
-			{
-			eap_variable_data_c userNameUtf8( m_am_tools );
-			eap_variable_data_c passwordUtf8( m_am_tools );
-		
-			(void) m_tls_am_partner->
-			    complete_query_ttls_pap_username_and_password(
-				    &userNameUtf8, &passwordUtf8, eap_status_process_general_error);	
-				return;
-			}
-		}
-
-
-		TTtlsPapDbInfo aInDbInfo;
-		TRAPD(err2, ReadTtlsPapDbL(aInDbInfo));
-		if (err2)
-		{
-			eap_variable_data_c userNameUtf8( m_am_tools );
-			eap_variable_data_c passwordUtf8( m_am_tools );
-		
-			(void) m_tls_am_partner->
-			    complete_query_ttls_pap_username_and_password(
-				    &userNameUtf8, &passwordUtf8, eap_status_process_general_error);	
-			return;
-		}
-
-		m_notifier_data_to_user->iPasswordPromptEnabled = aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled;
-
-		if (m_notifier_data_to_user->iPasswordPromptEnabled ||
-		(aInDbInfo.iUsrPwdInfo.iUserName.Size() == 0 &&
-		aInDbInfo.iUsrPwdInfo.iPassword.Size() == 0))
-		{
-			m_notifier_data_to_user->iUsername.Zero();
-			m_notifier_data_to_user->iPassword.Zero();
-
-			TRAPD(err3,SetTtlsPapColumnToNullL( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ));
-			if (err3)
-			{
-			eap_variable_data_c userNameUtf8( m_am_tools );
-			eap_variable_data_c passwordUtf8( m_am_tools );
-		
-			(void) m_tls_am_partner->
-			    complete_query_ttls_pap_username_and_password(
-				    &userNameUtf8, &passwordUtf8, eap_status_process_general_error);	
-			return;
-			}
-
-			if (iEapAuthNotifier == 0)
-			{
-				TRAPD(err4, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-				if (err4)
-				{
-				eap_variable_data_c userNameUtf8( m_am_tools );
-				eap_variable_data_c passwordUtf8( m_am_tools );
-			
-				(void) m_tls_am_partner->
-				    complete_query_ttls_pap_username_and_password(
-					    &userNameUtf8, &passwordUtf8, eap_status_process_general_error);	
-				return;
-				}
-			}
-			else
-			{
-				TRAPD(err5,iEapAuthNotifier->Cancel());
-				if (err5)
-				{
-				eap_variable_data_c userNameUtf8( m_am_tools );
-				eap_variable_data_c passwordUtf8( m_am_tools );
-			
-				(void) m_tls_am_partner->
-				    complete_query_ttls_pap_username_and_password(
-					    &userNameUtf8, &passwordUtf8, eap_status_process_general_error);	
-				return;
-				}
-			}
-
-			TRAPD(err6, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypePapAuthQueryDialog, m_notifier_data_to_user, aEapType));
-			if (err6)
-			{
-			eap_variable_data_c userNameUtf8( m_am_tools );
-			eap_variable_data_c passwordUtf8( m_am_tools );
-		
-			(void) m_tls_am_partner->
-			    complete_query_ttls_pap_username_and_password(
-				    &userNameUtf8, &passwordUtf8, eap_status_process_general_error);	
-			return;
-			}
-		}
-		else
-		{
-			m_notifier_data_to_user->iUsername = aInDbInfo.iUsrPwdInfo.iUserName;
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iUserName"),
-				m_notifier_data_to_user->iUsername.Ptr(),
-				m_notifier_data_to_user->iUsername.Size()));
-
-			m_notifier_data_to_user->iPassword = aInDbInfo.iUsrPwdInfo.iPassword;
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iPassword"),
-				m_notifier_data_to_user->iPassword.Ptr(),
-				m_notifier_data_to_user->iPassword.Size()));
-
-			DlgComplete(KErrNone);
-		}
-		 
-	}
-	else if ( m_state == EPapUserNameAndPassword )
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): EPapUserNameAndPassword\n")));
-
-		TBuf8<KMaxNotifItemLength> userNameUtf8;
-		TBuf8<KMaxNotifItemLength> passwordUtf8;
-		userNameUtf8.Zero();
-		passwordUtf8.Zero();
-
-		if (m_notifier_data_to_user->iUsername.Size()>0)
-		{
-			CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8, m_notifier_data_to_user->iUsername );
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL( "userNameUtf8" ),
-				userNameUtf8.Ptr(),
-				userNameUtf8.Size() ) );
-		}
-
-		if (m_notifier_data_to_user->iPassword.Size()>0)
-		{
-			CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8, m_notifier_data_to_user->iPassword );   	
-		}
-
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL( "passwordUtf8" ),
-			passwordUtf8.Ptr(),
-			passwordUtf8.Size() ) );
-
-		CompleteQueryTtlsPapUserNameAndPassword(
-			status, userNameUtf8, passwordUtf8 );  
-
-		TTtlsPapDbInfo aInDbInfo;
-		aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled = m_notifier_data_to_user->iPasswordPromptEnabled;
-		aInDbInfo.iUsrPwdInfo.iUserName.Copy(userNameUtf8);
-		aInDbInfo.iUsrPwdInfo.iPassword.Copy(passwordUtf8);
-
-		TRAPD(err1, WriteTtlsPapDbL( aInDbInfo));
-		if (err1)
-		{
-			// continue
-		}
-	}
-#ifdef USE_FAST_EAP_TYPE
-	else if ( m_state == EPasswordCancel
-		|| m_state == EMasterkeyQuery
-		|| m_state == EPasswordQuery
-		|| m_state == EWrongPassword
-		|| m_state == EFilePasswordQuery )
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): else\n")));
-
-		m_eap_fast_completion_status = m_partner->set_timer(
-			this,
-			KHandleReadPacstoreTimerID, 
-			&aStatus,
-			0);
-		return;
-	}
-#endif //#ifdef USE_FAST_EAP_TYPE
-
-}
-
-//--------------------------------------------------
-
 //
+
 void eap_am_type_tls_peap_symbian_c::RunL()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);		
@@ -858,17 +627,41 @@
 		iStatus.Int() , m_state));
 	
 #ifdef USE_FAST_EAP_TYPE
+	eap_status_e status(eap_status_ok);
+
+	if (m_notifier_complete)
+	{
+	
+		TRAPD(err, CompleteNotifierL());// Only for the notifiers.
+		if (err != KErrNone)
+			{
+			EAP_TRACE_ERROR(m_am_tools, 
+					TRACE_FLAGS_DEFAULT, (
+					EAPL("eap_am_type_tls_peap_symbian_c::RunL LEAVE from CompleteNotifierL, Error =%d \n"),
+					err));
+			}
+
+		m_notifier_complete = EFalse;
+	}
+
+	if ( m_state == EPasswordCancel ||
+		 m_state == EMasterkeyQuery ||
+		 m_state == EPasswordQuery ||
+		 m_state == EWrongPassword ||
+		 m_state == EFilePasswordQuery )
+		{
+		m_eap_fast_completion_status = m_partner->set_timer(
+				this,
+				KHandleReadPacstoreTimerID, 
+				&status,
+				0);
+		return;
+		}
 	if (m_state == ENone)
 		{
 		return;		
 		}
 
-		if ( m_state == EHandlingDeviceSeedQuery)
-			{
-		  CompleteCreateDeviceSeedL( iStatus.Int() );     
-
-		  return;
-			}
 #endif // #ifdef USE_FAST_EAP_TYPE
 
 	if (iStatus.Int() != KErrNone)
@@ -908,11 +701,10 @@
 				0, 
 				eap_status_process_general_error);			
 			return;
-			
 		default:
 			return;
 		}
-	} // (iStatus.Int() != KErrNone)
+	}
 
 	if (m_state == EHandlingIdentityQuery
 		|| m_state == EHandlingChainQuery)
@@ -931,7 +723,7 @@
 		
 		if(m_allowed_user_certs.Count() > 0)
 		{
-			m_own_certificate_info = *m_allowed_user_certs[index];			
+			m_own_certificate_info = m_allowed_user_certs[index];			
 		}
 		
 		TBool retrieve_chain;
@@ -950,7 +742,7 @@
 		
 		if(allowed_user_cert_count > 0)
 		{
-			TRAP(err, m_cert_if->ReadCertificateL(*m_allowed_user_certs[index], retrieve_chain));			
+			TRAP(err, m_cert_if->ReadCertificateL(m_allowed_user_certs[index], retrieve_chain));			
 		}
 		if (err != KErrNone || allowed_user_cert_count <= 0)
 		{
@@ -990,124 +782,102 @@
 			}
 		}
 	}
+	else if (m_state == EHandlingManualIdentityQuery)
+	{
+		// Convert to 8-bit text
+		TBuf8<KIdentityFieldLength> buf;
+		buf.Copy(m_identity_info->iUsername);
+		
+		eap_status_e status = m_manual_username.set_copy_of_buffer(
+			buf.Ptr(), 
+			buf.Size());
+
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("ERROR: EAP-TLS: EHandlingIdentityQuery: Cannot read manual username.\n")));
+
+			get_am_partner()->complete_eap_identity_query(
+				0, // 0 because identity query failed
+				&m_receive_network_id,
+				m_eap_identifier,
+				status,
+				false,
+				0,
+				false,
+				0);
+		}
+
+		buf.Copy(m_identity_info->iRealm);
+		status = m_manual_realm.set_copy_of_buffer(
+			buf.Ptr(), 
+			buf.Size());
+
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_DEBUG(
+				m_am_tools,
+				TRACE_FLAGS_DEFAULT,
+				(EAPL("ERROR: EAP-TLS: EHandlingIdentityQuery: Cannot read manual realm.\n")));
+
+			get_am_partner()->complete_eap_identity_query(
+				0, // 0 because identity query failed
+				&m_receive_network_id,
+				m_eap_identifier,
+				status,
+				false,
+				0,
+				false,
+				0);
+		}
+
+		// This must be true
+		m_use_manual_realm = true; 
+		
+		if (m_identity_info->iUseManualUsername)
+		{
+			m_use_manual_username = true;
+		}
+		else
+		{
+			m_use_manual_username = false;
+		}
+		
+		
+		get_am_partner()->complete_eap_identity_query(
+			0, // 0 because identity query failed
+			&m_receive_network_id,
+			m_eap_identifier,
+			eap_status_ok,
+			m_use_manual_username,
+			&m_manual_username,
+			m_use_manual_realm,
+			&m_manual_realm);
+		
+		TRAPD(err, SaveManualIdentityL( 
+				m_identity_info->iUseManualUsername,
+				m_identity_info->iUsername,
+				ETrue,
+				m_identity_info->iRealm));
+
+		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
+
+		// Ignore return value on purpose. It's not fatal if saving fails.							
+					
+		delete m_identity_info; 
+		m_identity_info = 0;
+
+	}
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 }
 
 //--------------------------------------------------
-#ifdef USE_FAST_EAP_TYPE
-//
-// ---------------------------------------------------------
-// eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsync()
-// ---------------------------------------------------------
+
 //
-eap_status_e eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsync()
-{   
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-        (_L("eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsync-Start ActiveStatus=%d"),
-        IsActive()));       
-    
-    if ( IsActive() )
-    {
-        EAP_TRACE_DEBUG_SYMBIAN(
-            (_L("CreateDeviceSeedAsync: Already active when tried to create device seed")));       
-        
-        return eap_status_device_busy;
-    }
-
-    eap_status_e status(eap_status_ok); 
-    
-    m_state = EHandlingDeviceSeedQuery;
-        
-    // Create MMETEL connection.
-    TRAPD(error, CreateMMETelConnectionL());
-    if(error !=KErrNone)
-    {
-        return m_am_tools->convert_am_error_to_eapol_error(error);
-    }
-    
-    iPhone.GetPhoneId( iStatus, iDeviceId ); 
-
-    SetActive();
-    return status;
-} // eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsynch()
-
-//--------------------------------------------------
-
-void eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL( TInt aStatus )
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-            (_L("eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL aStatus=%d"),
-            iStatus.Int()));
-    if ( aStatus != KErrNone )
-        {
-        EAP_TRACE_DEBUG_SYMBIAN(
-                (_L("eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL ERROR: aStatus=%d"),
-                iStatus.Int()));        
-        }
-    EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Manufacturer"),
-        iDeviceId.iManufacturer.Ptr(),
-        iDeviceId.iManufacturer.Size()));
-    EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Model"),
-        iDeviceId.iModel.Ptr(),
-        iDeviceId.iModel.Size()));
-    EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Revision"),
-        iDeviceId.iRevision.Ptr(),
-        iDeviceId.iRevision.Size()));
-    EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SerialNumber"),
-        iDeviceId.iSerialNumber.Ptr(),
-        iDeviceId.iSerialNumber.Size()));
-        
-    // Combine all the above four items.            
-    TBuf<KMaxDeviceSeedLength> deviceSeed16;    
-    deviceSeed16 += iDeviceId.iManufacturer;
-    deviceSeed16 += iDeviceId.iModel;
-    deviceSeed16 += iDeviceId.iSerialNumber;
-        
-    TBuf8<KMaxDeviceSeedSize> deviceSeed8;
-    deviceSeed8.Copy(deviceSeed16);     
-
-    if ( iPacStoreDeviceSeed == NULL )
-        {
-        iPacStoreDeviceSeed  = new  eap_variable_data_c(m_am_tools);
-        if ( iPacStoreDeviceSeed == NULL )
-            {
-            User::Leave( KErrNoMemory );
-            }
-        }
-
-#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
-    const char DUMMY_SEED[]="empty";
- 
-
-    if (m_skip_user_interactions == true)
-        {
-        iPacStoreDeviceSeed->set_copy_of_buffer(DUMMY_SEED, sizeof(DUMMY_SEED));
-        }
-    else
-#endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
-        {
-        
-        if ( iPacStoreDeviceSeed != NULL )
-            {
-            if( deviceSeed8.Size() > 0)
-                {
-                iPacStoreDeviceSeed->set_copy_of_buffer(
-                    deviceSeed8.Ptr(),
-                    deviceSeed8.Size());
-                }
-            }
-        }
-    DisconnectMMETel();
-    
-    ContinueInitializePacStore();
-
-} // eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL()
-
-#endif
-//--------------------------------------------------
+
 
 void eap_am_type_tls_peap_symbian_c::DoCancel()
 {
@@ -1119,12 +889,18 @@
 	{
 		m_cert_if->Cancel();		
 	}
-	if (iEapAuthNotifier != 0)
-		{
-		iEapAuthNotifier->Cancel();
-		}
-
-
+
+	if ( iEapTtlsPapActive )
+		{
+		if ( iEapTtlsPapActive->IsActive() )
+			{
+			EAP_TRACE_DEBUG_SYMBIAN(
+				( _L( " eap_am_type_tls_peap_symbian_c::DoCancel() \
+				Cancelling iEapTtlsPapActive." ) ) );
+			iEapTtlsPapActive->Cancel();
+			}
+		}
+	
 #if defined(USE_FAST_EAP_TYPE)
 
 	m_partner->cancel_timer(
@@ -1143,6 +919,23 @@
 			this, 
 			KHandleReadPacstoreTimerID);
 
+	if( m_is_notifier_connected )
+	{
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L(" eap_am_type_tls_peap_symbian_c::DoCancel - calling m_notifier.CancelNotifier")));
+		if(IsActive())
+			{
+			TInt error = m_notifier.CancelNotifier(KEapFastNotifierUid);
+			EAP_TRACE_DEBUG_SYMBIAN(
+				(_L("eap_am_type_tls_peap_symbian_c::DoCancel:CancelNotifier=%d"),
+				error));
+			}
+
+		m_notifier.Close(); // Call close only if it is connected.	
+			
+		m_is_notifier_connected = false;
+
+	} // End: if( m_is_notifier_connected )		
 
 #endif // #if defined(USE_FAST_EAP_TYPE)
 	
@@ -1152,6 +945,7 @@
 //--------------------------------------------------
 
 //
+
 eap_status_e eap_am_type_tls_peap_symbian_c::SaveManualIdentityL( 
 	const TBool use_manual_username,
 	TDesC& manual_username,
@@ -1161,11 +955,11 @@
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	
 	// Validate length.
-	if(manual_username.Length() > KMaxUsernameLengthInDB
-		|| manual_realm.Length() > KMaxRealmLengthInDB)
+	if(manual_username.Length() > KMaxManualUsernameLengthInDB
+		|| manual_realm.Length() > KMaxManualRealmLengthInDB)
 	{
 		// Username or realm too long. Can not be stored in DB.
-		EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_tls_peap_symbian_c::SaveManualIdentityL: Too long username or realm. Length: manual_username=%d, manual_realm=%d\n"),
+		EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_tls_peap_symbian_c::SaveManualIdentityL: Too long username or realm. Length: UN=%d, Realm=%d\n"),
 		manual_username.Length(), manual_realm.Length()));
 		
 		User::Leave(KErrArgument);
@@ -1176,19 +970,10 @@
 
 	RDbView view;
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(
-		KSQL,
-		&m_db_table_name, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	sqlStatement.Format(KSQL, &m_db_table_name, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));	
 	CleanupClosePushL(view);
@@ -1266,10 +1051,9 @@
 //
 void eap_am_type_tls_peap_symbian_c::SendErrorNotification(
 	const eap_status_e aError )
-{
+	{
 	send_error_notification( aError );
-}
-
+	}
 //--------------------------------------------------
 
 #if defined(USE_FAST_EAP_TYPE)
@@ -1284,15 +1068,19 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
+
+
+
 // ---------------------------------------------------------
 // eap_am_type_tls_peap_symbian_c::IsProvisioningMode()
 // ---------------------------------------------------------
 //
 TBool eap_am_type_tls_peap_symbian_c::IsProvisioningMode()
-{
+	{
 	return ( m_provisioning_mode ==
         eap_fast_completion_operation_server_authenticated_provisioning_mode ) ? ETrue : EFalse;
-}
+	}
+
 
 // ---------------------------------------------------------
 // eap_am_type_tls_peap_symbian_c::CompleteQueryUserPermissionForAid()
@@ -1301,7 +1089,7 @@
 eap_status_e
 eap_am_type_tls_peap_symbian_c::CompleteQueryUserPermissionForAid(
 	EEapFastNotifierUserAction aUserAction )
-{
+	{
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::CompleteQueryUserPermissionForAid")));
 	if ( aUserAction == EEapFastNotifierUserActionOk )
@@ -1325,14 +1113,15 @@
   		        m_pending_operation );
   		} 
 	return m_eap_fast_completion_status;
-}
+	}
+
 
 #endif //#if defined(USE_FAST_EAP_TYPE)
 
 //--------------------------------------------------
 
 //
-EAP_FUNC_EXPORT void eap_am_type_tls_peap_symbian_c::notify_configuration_error(
+void eap_am_type_tls_peap_symbian_c::notify_configuration_error(
 	const eap_status_e configuration_status)
 {
 	if (m_is_client == true)
@@ -1409,7 +1198,7 @@
 		{
 			EAP_TRACE_ERROR(m_am_tools, 
 				TRACE_FLAGS_DEFAULT, (
-				EAPL("eap_am_type_tls_peap_symbian_c::configure(): ReadCertRowsToArrayL, User cert, Error =%d \n"),
+				EAPL("eap_am_type_tls_peap_symbian_c::configure - ReadCertRowsToArrayL, User cert, Error =%d \n"),
 				err));
 		
 			// Convert the leave error code to EAPOL stack error code.
@@ -1435,7 +1224,7 @@
 		{
 			EAP_TRACE_ERROR(m_am_tools, 
 				TRACE_FLAGS_DEFAULT, (
-				EAPL("eap_am_type_tls_peap_symbian_c::configure(): ReadCertRowsToArrayL, CA cert, Error =%d \n"),
+				EAPL("eap_am_type_tls_peap_symbian_c::configure - ReadCertRowsToArrayL, CA cert, Error =%d \n"),
 				err));
 		
 			// Convert the leave error code to EAPOL stack error code.
@@ -1462,7 +1251,7 @@
 		{
 			EAP_TRACE_ERROR(m_am_tools, 
 				TRACE_FLAGS_DEFAULT, (
-				EAPL("eap_am_type_tls_peap_symbian_c::configure(): ReadUintRowsToArrayL, CipherSuit, Error =%d \n"),
+				EAPL("eap_am_type_tls_peap_symbian_c::configure - ReadUintRowsToArrayL, CipherSuit, Error =%d \n"),
 				err));
 
 			// Convert the leave error code to EAPOL stack error code.
@@ -1485,6 +1274,8 @@
 		
 		)
 	{
+#ifdef USE_EAP_EXPANDED_TYPES
+
 		TRAPD(err, EapTlsPeapUtils::GetTunnelingExpandedEapDataL(
 			m_database,
 			m_am_tools,
@@ -1494,12 +1285,24 @@
 			m_index,
 			m_tunneling_type,
 			m_current_eap_type));
+
+#else
+		TRAPD(err, EapTlsPeapUtils::GetEapDataL(
+			m_database,
+			m_am_tools,
+			m_iap_eap_array,
+			m_index_type,
+			m_index,
+			m_tunneling_type,
+			m_current_eap_type));
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 	
 		if (err != KErrNone)
 		{
 			EAP_TRACE_ERROR(m_am_tools, 
 				TRACE_FLAGS_DEFAULT, (
-				EAPL("eap_am_type_tls_peap_symbian_c::configure(): GetEapDataL or GetTunnelingExpandedEapDataL, Error =%d \n"),
+				EAPL("eap_am_type_tls_peap_symbian_c::configure - GetEapDataL or GetTunnelingExpandedEapDataL, Error =%d \n"),
 				err));
 
 			// Convert the leave error code to EAPOL stack error code.
@@ -1564,28 +1367,6 @@
 
 	//----------------------------------------------------------
 
-	if (m_is_client == true)
-	{
-		eap_variable_data_c use_automatic_ca_certificate(m_am_tools);
-
-		eap_status_e status = type_configure_read(
-			cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate.get_field(),
-			&use_automatic_ca_certificate);
-		if (status == eap_status_ok
-			&& use_automatic_ca_certificate.get_is_valid_data() == true)
-		{
-			u32_t *use_automatic_ca_certificate_flag = reinterpret_cast<u32_t *>(
-				use_automatic_ca_certificate.get_data(sizeof(u32_t)));
-			if (use_automatic_ca_certificate_flag != 0
-				&& *use_automatic_ca_certificate_flag != 0)
-			{
-				m_use_automatic_ca_certificate = true;
-			}
-		}
-	}
-
-	//----------------------------------------------------------
-
 	// This is only for server
 	{
 		eap_variable_data_c cipher_suite(m_am_tools);
@@ -1607,6 +1388,75 @@
 	
 	//----------------------------------------------------------
 
+#ifndef USE_EAP_EXPANDED_TYPES // This is not needed it seems. Still keeping it for normal EAP types.
+								  // Intention of this is to get tunneled EAP types, but m_tunneled_type is not used
+								  // anywhere other than this place.
+
+	if (m_current_eap_type == eap_type_peap
+#if defined(USE_TTLS_EAP_TYPE)
+		|| m_current_eap_type == eap_type_ttls
+#endif // #if defined(USE_TTLS_EAP_TYPE)
+
+#if defined(USE_FAST_EAP_TYPE)
+		|| m_current_eap_type == eap_type_fast
+#endif
+	
+		
+		)
+	{
+		eap_variable_data_c tunneled_type(m_am_tools);
+
+		eap_status_e status = type_configure_read(
+			cf_str_PEAP_tunneled_eap_type_hex_data.get_field(),
+			&tunneled_type);
+		if (status == eap_status_illegal_configure_type)
+		{
+			status = m_partner->read_configure(
+				cf_str_PEAP_tunneled_eap_type_u32_t.get_field(),
+				&tunneled_type);
+		}
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+		else if (tunneled_type.get_is_valid_data() == true
+			&& tunneled_type.get_data_length() == sizeof(u32_t)
+			&& tunneled_type.get_data(sizeof(u32_t)) != 0)
+		{
+			m_tunneled_type = static_cast<eap_type_value_e>(
+				*reinterpret_cast<u32_t *>(tunneled_type.get_data(sizeof(u32_t))));
+		}
+		else if (tunneled_type.get_data_length()
+				 == eap_expanded_type_c::get_eap_expanded_type_size()
+				 && tunneled_type.get_data(tunneled_type.get_data_length()) != 0)
+		{
+			eap_expanded_type_c eap_type(eap_type_none);
+
+			status = eap_type.set_expanded_type_data(
+				m_am_tools,
+				&tunneled_type);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+
+			status = eap_type.get_type_data(
+				m_am_tools,
+				&m_tunneled_type);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	}
+  
+#endif //#ifndef USE_EAP_EXPANDED_TYPES
+
+	//----------------------------------------------------------
+
 	{
 		eap_variable_data_c use_manual_username(m_am_tools);
 
@@ -1682,7 +1532,7 @@
 	{
 		eap_variable_data_c use_session_ticket(m_am_tools);
 
-		eap_status_e status = type_configure_read(
+		eap_status_e status = m_partner->read_configure(
 			cf_str_EAP_TLS_PEAP_use_session_ticket.get_field(),
 			&use_session_ticket);
 		if (status == eap_status_ok
@@ -1753,48 +1603,60 @@
 		
 		eap_status_e status(eap_status_ok);
 
-		if (m_current_eap_type == eap_type_tls)
-		{
-			status = type_configure_read(
-				cf_str_EAP_TLS_max_session_validity_time.get_field(),
-				&sessionTimeFromFile);
-		}
-		else if (m_current_eap_type == eap_type_peap)
-		{
-			status = type_configure_read(
-				cf_str_EAP_PEAP_max_session_validity_time.get_field(),
-				&sessionTimeFromFile);
-		}
-		else if (m_current_eap_type == eap_type_ttls)
-		{
-			status = type_configure_read(
-				cf_str_EAP_TTLS_max_session_validity_time.get_field(),
-				&sessionTimeFromFile);
-		}
-		else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type())
-		{
+		switch (m_current_eap_vendor_type)
+		{
+		case eap_type_tls:
+			{
+				status = m_partner->read_configure(
+					cf_str_EAP_TLS_max_session_validity_time.get_field(),
+					&sessionTimeFromFile);
+			}
+			break;
+
+		case eap_type_peap:
+			{
+				status = m_partner->read_configure(
+					cf_str_EAP_PEAP_max_session_validity_time.get_field(),
+					&sessionTimeFromFile);
+			}
+			break;
+
+		case eap_type_ttls:
+			{
+				status = m_partner->read_configure(
+					cf_str_EAP_TTLS_max_session_validity_time.get_field(),
+					&sessionTimeFromFile);
+			}
+			break;
+
+		case eap_type_ttls_plain_pap:
+			{
 			// read PAP session time
-			status = type_configure_read(
+			status = m_partner->read_configure(
 				cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time.get_field(),
 				&sessionTimeFromFile );
-		}
+			}
+			break;
+			
 #if defined(USE_FAST_EAP_TYPE)
-		else if (m_current_eap_type == eap_type_fast)
-		{
-			status = type_configure_read(
-				cf_str_EAP_FAST_max_session_validity_time.get_field(),
-				&sessionTimeFromFile);
-		}
+		case eap_type_fast:
+			{
+				status = m_partner->read_configure(
+					cf_str_EAP_FAST_max_session_validity_time.get_field(),
+					&sessionTimeFromFile);
+			}
+			break;
 #endif
-		else
-		{
-			// Should never happen
-			EAP_TRACE_ERROR(m_am_tools, 
-				TRACE_FLAGS_DEFAULT, (
-				EAPL("eap_am_type_tls_peap_symbian_c::configure(): Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"),
-				m_current_eap_type.get_vendor_id(),
-				m_current_eap_type.get_vendor_type()));
-		}
+			
+		default:
+			{
+				// Should never happen
+				EAP_TRACE_ERROR(m_am_tools, 
+					TRACE_FLAGS_DEFAULT, (
+					EAPL("eap_am_type_tls_peap_symbian_c::configure - Unsupported EAP type, m_current_eap_vendor_type=%d \n"),
+					m_current_eap_vendor_type));
+			}
+		}	
 
 		// set m_max_session_time
 		if (status == eap_status_ok
@@ -1895,130 +1757,88 @@
 	
 	status = eap_status_ok;
 
-	if (m_use_automatic_ca_certificate == false)
-	{
-		if (m_allowed_ca_certs.Count() == 0)
-		{
-			// needed because of nonworking wrong settings
+	if (m_allowed_ca_certs.Count() == 0)
+	{		
+	// needed because of nonworking wrong settings
 #if defined(USE_FAST_EAP_TYPE)
-			if(m_current_eap_type == eap_type_fast
-				&& m_serv_auth_prov_mode != true)
-			{
-				// In the case of EAP-FAST, CA cert is must if m_serv_auth_prov_mode is TRUE.
-				status = eap_status_ok;
-				
-				EAP_TRACE_DEBUG(
-					m_am_tools, 
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_type_tls_peap_symbian_c::configure(): No CA certificate but exception for EAP-FAST as m_serv_auth_prov_mode is FALSE and for all m_serv_unauth_prov_mode \n")));
-			}
-			else	
+		if(m_current_eap_type == eap_type_fast &&
+			m_serv_auth_prov_mode != true)
+		{
+			// In the case of EAP-FAST, CA cert is must if m_serv_auth_prov_mode is TRUE.
+			status = eap_status_ok;
+			
+			EAP_TRACE_DEBUG(m_am_tools, 
+				TRACE_FLAGS_DEFAULT, (
+				EAPL("eap_am_type_tls_peap_symbian_c::configure - No CA certificate but exception for EAP-FAST as m_serv_auth_prov_mode is FALSE and for all m_serv_unauth_prov_mode \n")));				
+		}
+		else	
 #endif // #if defined(USE_FAST_EAP_TYPE)
-			{
-				EAP_TRACE_ERROR(
-					m_am_tools, 
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_type_tls_peap_symbian_c::configure(): Error - No CA certificate\n")));
-			
-				// No root certificate selected. Cannot continue.
-				status = eap_status_ca_certificate_unknown;
-				send_error_notification(status);
-			}			
-		}
-		else
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools, 
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d CA certificates selected.\n"),
-				m_allowed_ca_certs.Count()));
-		}
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d CA certificate selected in automatic CA selection.\n"),
-			m_allowed_ca_certs.Count()));
-	}
-	
-
+		{
+			EAP_TRACE_ERROR(m_am_tools, 
+				TRACE_FLAGS_DEFAULT, (
+				EAPL("eap_am_type_tls_peap_symbian_c::configure - Error - No CA certificate\n")));
+		
+			// No root certificate selected. Cannot continue.
+			status = eap_status_ca_certificate_unknown;
+			send_error_notification(status);
+		}			
+	}
+	
 	if(m_allowed_user_certs.Count() == 0)
-	{
+		{
 #if defined(USE_FAST_EAP_TYPE)
 		if(m_current_eap_type == eap_type_fast)
-		{
+			{
 			m_use_manual_realm = true;
 
 			if (m_use_manual_username == false)
-			{
+				{
 				TRAPD(err, status=ConfigureL());
 				if (err != KErrNone)
-				{
+					{
 					EAP_TRACE_ERROR(m_am_tools, 
 							TRACE_FLAGS_DEFAULT, (
 							EAPL("eap_am_type_tls_peap_symbian_c::configure LEAVE from ConfigureL, Error =%d \n"),
 							err));
+					}
 				}
 			}
-		}
 #endif // #if defined(USE_FAST_EAP_TYPE)
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d user certificates selected.\n"),
-			m_allowed_user_certs.Count()));
-	}
-
-
+		}
 	if (m_tls_peap_server_authenticates_client_policy_flag == true
 		&& m_allowed_user_certs.Count() == 0)
 	{
 #if defined(USE_FAST_EAP_TYPE)
-		if (m_current_eap_type == eap_type_fast)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools, 
-				TRACE_FLAGS_DEFAULT, 
-				(EAPL("eap_am_type_tls_peap_symbian_c::configure(): No USER certificate, but in eap_fast it's not mandatory\n")));
-		}
-		else
+    if (m_current_eap_type == eap_type_fast)
+        {
+        EAP_TRACE_DEBUG(m_am_tools, 
+            TRACE_FLAGS_DEFAULT, 
+            (EAPL("eap_am_type_tls_peap_symbian_c::configure - No USER certificate, but in eap_fast it's not mandatory\n")));  
+    
+        }
+	else
 #endif // #if defined(USE_FAST_EAP_TYPE)
 	    {
-			EAP_TRACE_ERROR(
-				m_am_tools, 
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_type_tls_peap_symbian_c::configure(): Error - No USER certificate\n")));
-		
-			// No user certificate selected. Cannot continue.
-			status = eap_status_user_certificate_unknown;
-			send_error_notification(status);
+	    EAP_TRACE_ERROR(m_am_tools, 
+			TRACE_FLAGS_DEFAULT, (
+			EAPL("eap_am_type_tls_peap_symbian_c::configure - Error - No USER certificate\n")));
+	
+		// No user certificate selected. Cannot continue.
+		status = eap_status_user_certificate_unknown;
+		send_error_notification(status);
 	    }
 	}
 
 	if (m_allowed_cipher_suites.Count() == 0)
 	{
-		EAP_TRACE_ERROR(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_tls_peap_symbian_c::configure(): Error - No cipher suit\n")));
+		EAP_TRACE_ERROR(m_am_tools, 
+			TRACE_FLAGS_DEFAULT, (
+			EAPL("eap_am_type_tls_peap_symbian_c::configure - Error - No cipher suit\n")));
 
 		// No sipher suites selected. Cannot continue.
 		status = eap_status_illegal_cipher_suite;
 		send_error_notification(status);
 	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d cipher suites selected.\n"),
-			m_allowed_cipher_suites.Count()));
-	}
 
 	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
@@ -2029,21 +1849,19 @@
 	
 	m_configured = true;
 	
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
+	EAP_TRACE_DEBUG(m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::configure(): END \n")));
+		(EAPL("eap_am_type_tls_peap_symbian_c::configure - END \n")));	
 	
 
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
 //--------------------------------------------------
-
 #if defined(USE_FAST_EAP_TYPE)
 
 eap_status_e eap_am_type_tls_peap_symbian_c::ConfigureL()
-{
+	{
 	
 	eap_status_e status(eap_status_ok);
 	
@@ -2052,8 +1870,7 @@
 
 	TempUserName.Copy(KTempUserName);
 	
-  HBufC8* buf = HBufC8::NewLC(KMaxNotifItemLength);
-
+	HBufC8* buf = HBufC8::NewLC(KIdentityFieldLength);
 	TPtr8 bufPtr = buf->Des();
 
 	HBufC8* tempUserBuf8 = HBufC8::NewLC(KMacAddressLength);
@@ -2133,13 +1950,13 @@
 	m_use_manual_username = true;
 	
 	return status;
-}
+	}
 
 #endif // #if defined(USE_FAST_EAP_TYPE)
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::reset()
+eap_status_e eap_am_type_tls_peap_symbian_c::reset()
 {
 
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
@@ -2173,8 +1990,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::authentication_finishedL(
 	const bool true_when_successful,
 	const tls_session_type_e tls_session_type)
@@ -2280,7 +2095,6 @@
 	// Get the own certificate only if it has already been retrieved
 	if (m_own_certificate == 0)
 	{
-		// Get the matching certificates. This function call is completed asyncronously by complete_get_matching_certificates() function call.
 		TRAPD(err, m_cert_if->GetMatchingCertificatesL(
 			m_allowed_user_certs, 
 			EFalse, 
@@ -2317,7 +2131,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
-//--------------------------------------------------
 
 eap_status_e eap_am_type_tls_peap_symbian_c::complete_read_own_certificate(
 	const RPointerArray<CX509Certificate>& aCertChain, eap_status_e aStatus)
@@ -2580,8 +2393,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
-//--------------------------------------------------
-
 eap_status_e eap_am_type_tls_peap_symbian_c::complete_read_ca_certificate(
 		const RPointerArray<CX509Certificate>& aCertChain, eap_status_e aStatus)
 {
@@ -2771,8 +2582,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);	
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::get_identities_from_distinguished_namesL(
 	const CX509Certificate * const aCertificate, 
 	eap_variable_data_c * const aSubjectIdentity,
@@ -2876,8 +2685,6 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::get_identity_from_alternative_nameL(
 	const CX509Certificate * const aCertificate, 
 	eap_variable_data_c * const aIdentity)
@@ -3079,6 +2886,9 @@
 //--------------------------------------------------
 
 //
+//--------------------------------------------------
+
+//
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::timer_expired(
 	const u32_t id, void *data)
 {
@@ -3349,9 +3159,6 @@
 		TRACE_FLAGS_DEFAULT, 
 		(EAPL("eap_am_type_tls_peap_symbian_c::type_configure_read - Start\n")));
 	
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::type_configure_read()");
-
-
 	if (m_current_eap_type == eap_type_peap
 #if defined(USE_TTLS_EAP_TYPE)
 		|| m_current_eap_type == eap_type_ttls
@@ -3360,7 +3167,7 @@
 		|| m_current_eap_type == eap_type_fast
 #endif
 
-		|| m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type()
+		|| m_current_eap_type == eap_type_ttls_plain_pap
 	
 		)
 	{
@@ -3423,6 +3230,8 @@
 		{
 			// We are asked to return cf_str_PEAP_tunneled_eap_type_hex_data
 			
+#ifdef USE_EAP_EXPANDED_TYPES
+	
 			// We need to return here the next ENABLED tunneled EAP type we should try. 
 	
 			if (0 == m_enabled_tunneling_exp_eap_array.Count())
@@ -3440,35 +3249,108 @@
 			{
 				// Get the first enabled EAP type (tunneling).
 
+				TBuf8<KExpandedEAPTypeSize> tmpExpEAP(m_enabled_tunneling_exp_eap_array[0]->iExpandedEAPType); //first item.
+
 				EAP_TRACE_DATA_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_DEFAULT,
 					(EAPL("type_configure_read:Enabled expanded tunneling EAP type:"),
-					m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(),
-					m_enabled_tunneling_exp_eap_array[0]->GetValue().Length()));
-					
-				status = data->set_copy_of_buffer(
-					m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(),
-					m_enabled_tunneling_exp_eap_array[0]->GetValue().Length());
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
-				}
+					tmpExpEAP.Ptr(),
+					tmpExpEAP.Size()));
+					
+					status = data->set_copy_of_buffer(tmpExpEAP.Ptr(), KExpandedEAPTypeSize);
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
+					}
 					
 				EAP_TRACE_DATA_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_DEFAULT,
 					(EAPL("EAP-PEAP or EAP-TTLS: Trying encapsulated EAP type:"),
-					m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(),
-					m_enabled_tunneling_exp_eap_array[0]->GetValue().Length()));
-			}
-
+					tmpExpEAP.Ptr(),
+					tmpExpEAP.Size()));
+			}
+	
+#else // For normal EAP types.
+			
+			// We need to return here the next tunneled EAP type we should try. 
+			TInt i;
+
+			for (i = 0; i < m_iap_eap_array.Count(); i++)
+			{
+				// Find the first enabled EAP type (highest priority)
+				TEap *eapType = m_iap_eap_array[i];			
+				if (eapType->Enabled == 1)
+				{
+					// Convert the string to integer
+					TLex8 tmp(eapType->UID);
+					TInt val(0);
+					tmp.Val(val);
+					status = data->set_copy_of_buffer(reinterpret_cast<u8_t *>(&val), sizeof(TUint));
+					if (status != eap_status_ok)
+					{
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+						return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);			
+					}
+					EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-PEAP: Trying encapsulated EAP type: %d.\n"), val));
+					break;
+				}
+			}		
+			if (i == m_iap_eap_array.Count())
+			{
+				// Not found
+				if (m_is_client)
+				{
+					EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No configured encapsulated EAP types.\n")));
+				}
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field);
+			}
+			
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+					
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 			return EAP_STATUS_RETURN(m_am_tools, status);
 		
 		} // End of  if (!wanted_field.compare(&type_field))
 		
+#if !defined(USE_EAP_EXPANDED_TYPES)
+
+		// cf_str_PEAP_accepted_tunneled_client_types_hex_data is available only for expaned EAP types.
+		// cf_str_PEAP_accepted_tunneled_client_types_u32array should be used otherwise.
+		// So for cf_str_PEAP_accepted_tunneled_client_types_hex_data and eap_configure_type_hex_data
+		// we should return eap_status_illegal_configure_field.
+		// This is needed only if USE_EAP_EXPANDED_TYPES is not defined. Otherwise the field 
+		// cf_str_PEAP_accepted_tunneled_client_types_hex_data can be read from the database using
+		// type_configure_readL (let it fall through).
+
+		eap_variable_data_c tunneled_type_field(m_am_tools);
+
+		status = tunneled_type_field.set_buffer(
+			cf_str_PEAP_accepted_tunneled_client_types_hex_data.get_field()->get_field(),
+			cf_str_PEAP_accepted_tunneled_client_types_hex_data.get_field()->get_field_length(),
+			false,
+			false);
+		if (status != eap_status_ok)
+		{
+			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
+
+		if (!wanted_field.compare(&tunneled_type_field))
+		{
+			// Check if the type is eap_configure_type_hex_data.
+			
+			if( eap_configure_type_hex_data ==  field->get_type() )
+			{
+				// This field is used only for exapanded EAP types.
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_type);
+			}
+		}
+		
+#else // For expanded EAP type.
 
 		// cf_str_PEAP_accepted_tunneled_client_types_u32array is available only for normal EAP types.
 		// So for cf_str_PEAP_accepted_tunneled_client_types_u32array and eap_configure_type_u32array
@@ -3497,28 +3379,34 @@
 				return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_type);
 			}
 		}
+		
+#endif // End of #if !defined(USE_EAP_EXPANDED_TYPES)
+		
 	} // End of if (m_current_eap_type == eap_type_peap
-
+	
 	TRAPD(err, type_configure_readL(
 		field->get_field(),
 		field->get_field_length(),
 		data));
 	if (err != KErrNone) 
 	{	
-		status = m_partner->read_configure(field, data);
+		status = m_am_tools->convert_am_error_to_eapol_error(err);
 	}
 
 	m_am_tools->trace_configuration(
 		status,
 		field,
 		data);
+        
+	EAP_TRACE_DEBUG(m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eap_am_type_tls_peap_symbian_c::type_configure_read - End\n")));
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
 //--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::type_configure_readL(
 	eap_config_string field,
 	const u32_t field_length,
@@ -3549,7 +3437,7 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");	
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");	
 	
 #if defined(USE_FAST_EAP_TYPE)
 	
@@ -3559,62 +3447,44 @@
 	if(m_current_eap_type == eap_type_fast
 	   && ((unicodeString.Compare(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal) == 0)
 	   || (unicodeString.Compare(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal) == 0)
-	   || (unicodeString.Compare(KFASTWarnADHPNoPAC) == 0)
-	   || (unicodeString.Compare(KFASTWarnADHPNoMatchingPAC) == 0)
-	   || (unicodeString.Compare(KFASTWarnNotDefaultServer) == 0)
+	   || (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_PAC_literal) == 0)
+	   || (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_matching_PAC_literal) == 0)
+	   || (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_not_default_server_literal) == 0)
 	   || (unicodeString.Compare(KFASTPACGroupImportReferenceCollection) == 0)
 	   || (unicodeString.Compare(KFASTPACGroupDBReferenceCollection) == 0)))
-	{
+	    {
+	    if (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_matching_PAC_literal) == 0)
+	        {
+	        unicodeString.Copy(KFASTWarnADHPNoMatchingPAC);
+	        }
+        if (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_PAC_literal) == 0)
+            {
+            unicodeString.Copy(KFASTWarnADHPNoPAC);
+            }
+        if (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_not_default_server_literal) == 0)
+            {
+            unicodeString.Copy(KFASTWarnNotDefaultServer);
+            }
 		EAP_TRACE_DEBUG(m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
 			(EAPL("eap_am_type_tls_peap_symbian_c::type_configure_readL This field will be read from EAP-FAST's special table\n")));
 		
-		sqlStatement.Format(
-			KSQLQueryRow,
-			&unicodeString,
-			&m_db_fast_special_table_name, 
-			&KServiceType,
-			m_index_type,
-			&KServiceIndex,
-			m_index,
-			&KTunnelingTypeVendorId,
-			m_tunneling_type.get_vendor_id(),
-			&KTunnelingType, 
-			m_tunneling_type.get_vendor_type());
-	}
+		sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_fast_special_table_name, 
+			&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);		
+	    }
 	else
-	{
-		sqlStatement.Format(
-			KSQLQueryRow,
-			&unicodeString,
-			&m_db_table_name, 
-			&KServiceType,
-			m_index_type,
-			&KServiceIndex,
-			m_index,
-			&KTunnelingTypeVendorId,
-			m_tunneling_type.get_vendor_id(),
-			&KTunnelingType, 
-			m_tunneling_type.get_vendor_type());
-	}
+	    {
+		sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_table_name, 
+			&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);		
+	    }
 	
 #else
 
-	sqlStatement.Format(
-		KSQLQueryRow,
-		&unicodeString,
-		&m_db_table_name, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_table_name, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 		
 #endif // End: #if defined(USE_FAST_EAP_TYPE)
-
+	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
@@ -3690,10 +3560,10 @@
 
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
-
 //--------------------------------------------------
 
 //
+
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::type_configure_write(
 	const eap_configuration_field_c * const field,
 	eap_variable_data_c * const data)
@@ -3730,21 +3600,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(
-		KSQLInsert,
-		field_name.PtrZ(),
-		&m_db_table_name, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
-
+	_LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, field_name.PtrZ(), &m_db_table_name, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	// Evaluate view
 	RDbView view;
 	User::LeaveIfError(view.Prepare(m_database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -3772,8 +3630,6 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::WriteIntParamL(
 	eap_config_string field,
 	const u32_t field_length,
@@ -3792,20 +3648,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(
-		KSQLInsert,
-		field_name.PtrZ(),
-		&m_db_table_name, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, field_name.PtrZ(), &m_db_table_name, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	
 	// Evaluate view
 	RDbView view;
@@ -3833,8 +3678,6 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::WriteIntParamL(
 	eap_config_string field,
 	const u32_t field_length,
@@ -3853,20 +3696,9 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(
-		KSQLInsert,
-		field_name.PtrZ(),
-		&m_db_table_name, 
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLInsert, field_name.PtrZ(), &m_db_table_name, 
+		&KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 	
 	// Evaluate view
 	RDbView view;
@@ -3956,62 +3788,6 @@
 
 //--------------------------------------------------
 
-eap_status_e eap_am_type_tls_peap_symbian_c::select_cipher_suite(
-	const bool select_all_cipher_suites,
-	const tls_cipher_suites_e test_cipher_suite,
-	const TAlgorithmId testcertAlgorithm,
-	const TAlgorithmId certAlgorithm,
-	eap_array_c<u16_t> * cipher_suites)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_tls_peap_symbian_c::select_cipher_suite(), select_all_cipher_suites=%d, test_cipher_suite=%d, testcertAlgorithm=%d, certAlgorithm=%d\n"),
-		select_all_cipher_suites,
-		test_cipher_suite,
-		testcertAlgorithm,
-		certAlgorithm));
-
-	eap_status_e status(eap_status_ok);
-
-	// Cipher suite must be allowed AND the algorithm must match the certificates algorithm.
-	// Also select_all_cipher_suites can be used to add all cipher suites to the list.
-
-	TInt found = m_allowed_cipher_suites.Find(test_cipher_suite);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_tls_peap_symbian_c::select_cipher_suite(), found=%d, cipher suite=%d, KErrNotFound=%d\n"),
-		found,
-		test_cipher_suite,
-		KErrNotFound));
-
-	if (found != KErrNotFound
-		&& (select_all_cipher_suites == true
-			|| testcertAlgorithm == certAlgorithm))
-	{
-		u16_t *tmp_object = new u16_t;
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-		*tmp_object = eap_htons(test_cipher_suite);
-		
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_tls_peap_symbian_c::select_cipher_suite(), adds cipher suite=%d\n"),
-			test_cipher_suite));
-
-		status = cipher_suites->add_object(tmp_object, true);
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_cipher_suites_and_previous_session()
 {
@@ -4024,18 +3800,18 @@
 	EAP_ASSERT_ALWAYS(m_is_client == true);
 
 	eap_status_e status(eap_status_process_general_error);
-
+	
 	TAlgorithmId certAlgorithm(ERSA);
 
 	bool select_all_cipher_suites = false;
-
+	
 	eap_variable_data_c session_id(m_am_tools);
 	eap_variable_data_c master_secret(m_am_tools);
 	tls_cipher_suites_e used_cipher_suite(tls_cipher_suites_TLS_NULL_WITH_NULL_NULL);
 	tls_session_type_e tls_session_type(tls_session_type_full_authentication);	
 
 	eap_array_c<u16_t> cipher_suites(m_am_tools);
-
+		
 #if defined(USE_FAST_EAP_TYPE)
 		
 	if(m_current_eap_type == eap_type_fast &&
@@ -4081,8 +3857,7 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools, 
 				TRACE_FLAGS_DEFAULT, 
-				(EAPL("query_cipher_suites_and_previous_session(): No user or CA certificate. Read CA certificate. m_allowed_ca_certs.Count()=%d\n"),
-				m_allowed_ca_certs.Count()));
+				(EAPL("query_cipher_suites_and_previous_session(): No user or CA certificate. Read CA certificate.\n")));
 			
 			if (m_allowed_ca_certs.Count() != 0)
 			{		
@@ -4101,7 +3876,7 @@
 				{
 					m_state = EHandlingCipherSuiteQuery;
 					
-					TRAPD(err, m_cert_if->ReadCACertificateL(*m_allowed_ca_certs[0]));
+					TRAPD(err, m_cert_if->ReadCACertificateL(m_allowed_ca_certs[0]));
 					if (err != KErrNone)
 					{
 						// Error occurred. Just select all cipher suites.
@@ -4114,16 +3889,6 @@
 					}
 				}
 			} // End: if (m_allowed_ca_certs.Count() != 0)
-			else
-			{
-				EAP_TRACE_DEBUG(
-					m_am_tools, 
-					TRACE_FLAGS_DEFAULT, 
-					(EAPL("query_cipher_suites_and_previous_session(): No allowed CA certificates. Sends all cipher suites and hopes best.\n"),
-					m_allowed_ca_certs.Count()));
-
-				select_all_cipher_suites = true;
-			}
 		}
 		else if (m_own_certificate != 0)
 		{
@@ -4151,105 +3916,176 @@
 
 			certAlgorithm = public_key.AlgorithmId();				
 		}
-
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA,
-			certAlgorithm,
-			ERSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA,
-			certAlgorithm,
-			ERSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
-			certAlgorithm,
-			EDSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
-			certAlgorithm,
-			EDSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
-			certAlgorithm,
-			ERSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
-			certAlgorithm,
-			ERSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_RSA_WITH_RC4_128_MD5,
-			certAlgorithm,
-			ERSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-		status = select_cipher_suite(
-			select_all_cipher_suites,
-			tls_cipher_suites_TLS_RSA_WITH_RC4_128_SHA,
-			certAlgorithm,
-			ERSA,
-			&cipher_suites);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-
+		
+			// IF cipher suite is allowed
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == ERSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == ERSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == EDSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == EDSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == ERSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_RSA_WITH_AES_128_CBC_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == ERSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_RSA_WITH_AES_128_CBC_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_RC4_128_MD5) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == ERSA))
+			// THEN add it to list.
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_RC4_128_MD5);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+		if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_RC4_128_SHA) != KErrNotFound
+			// AND the algorithm matches the certificates algorithm
+			&& (select_all_cipher_suites == true
+				|| certAlgorithm == ERSA))
+			// THEN add it to list.)
+		{
+			u16_t *tmp_object = new u16_t;
+			if (tmp_object == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+			*tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_RC4_128_SHA);
+			
+			status = cipher_suites.add_object(tmp_object, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
 		
 		if (is_session_valid())
 		{
@@ -4347,7 +4183,6 @@
 
 	// Compression methods. TLS supports only null compression at the moment.
 	eap_array_c<u8_t> compression_methods(m_am_tools);
-
 	{
 		u8_t *tmp_object = new u8_t;
 		if (tmp_object == 0)
@@ -4356,7 +4191,6 @@
 			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
 		}
 		*tmp_object = tls_compression_method_null;
-
 		status = compression_methods.add_object(tmp_object, true);
 		if (status != eap_status_ok)
 		{
@@ -4365,7 +4199,6 @@
 		}
 	}
 
-
 	status = get_tls_am_partner()->complete_query_cipher_suites_and_previous_session(
 		tls_session_type,
 		&cipher_suites,
@@ -4611,11 +4444,9 @@
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
 	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("\n")));
-	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TLS: %s: message_function: verify_certificate_chain()\n"),
+	EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TLS: %s: message_function: verify_certificate_chain_and_query_public_key()\n"),
 		(m_is_client == true ? "client": "server")));
 
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::verify_certificate_chain()");
-
 	EAP_ASSERT_ALWAYS(certificate_chain->get_object_count() > 0);
 
 	eap_status_e status(eap_status_ok);
@@ -4637,20 +4468,15 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(
 	EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain,
 	const tls_cipher_suites_e required_cipher_suite)
 {
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): Number of certificates in chain=%d\n"),
+	EAP_TRACE_DEBUG(m_am_tools, 
+	TRACE_FLAGS_DEFAULT, 
+	(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL: Number of certificates in chain=%d\n"),
 		certificate_chain->get_object_count()));
 
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::verify_certificate_chainL()");
-
 	eap_status_e status(eap_status_process_general_error);
 	if (m_is_client)
 	{
@@ -4666,11 +4492,6 @@
 			|| (m_use_manual_realm == true
 				&& m_manual_realm.get_is_valid_data() == true)))
 	{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): Does server certificate realm verification\n")));
-
 		eap_variable_data_c client_subject_realm(m_am_tools);
 		eap_variable_data_c manual_client_subject_realm(m_am_tools);
 		eap_variable_data_c client_issuer_realm(m_am_tools);
@@ -4884,29 +4705,10 @@
 				}
 			}
 		}
-
 		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Server certificate realm verification OK.\n")));
 	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): No server certificate realm verification\n")));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	HBufC8* chain = HBufC8::NewL(1);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): Calls CleanupStack::PushL(chain)\n")));
-
-	CleanupStack::PushL(chain);
-	chain->Des().SetLength(0);
-
+
+	HBufC8* chain = HBufC8::NewL(0);
 	HBufC8* temp;
 	eap_variable_data_c* cert;
 	
@@ -4926,61 +4728,50 @@
 	
 #if defined(_DEBUG) || defined(DEBUG)
 
-		{
-			TPtr8 certPtr(
-				cert->get_data(cert->get_data_length()), 
-				cert->get_data_length(),
-				cert->get_data_length());
-
-			CX509Certificate* x509Cert = CX509Certificate::NewL(certPtr);
-
-			if( x509Cert != NULL )
-			{				
-				CleanupStack::PushL(x509Cert);
-
-				TKeyIdentifier KeyIdentifier = x509Cert->KeyIdentifierL();
-				
-				EAP_TRACE_DATA_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("Key identifier is"),
-					KeyIdentifier.Ptr(),
-					KeyIdentifier.Size()));
-									
-				// This is for subject key id.
-				const CX509CertExtension* certExt = x509Cert->Extension(KSubjectKeyId);
+		TPtr8 certPtr(
+			cert->get_data(cert->get_data_length()), 
+			cert->get_data_length(),
+			cert->get_data_length());
+		CX509Certificate* x509Cert = CX509Certificate::NewL(certPtr);
+
+		if( x509Cert != NULL )
+		{				
+			CleanupStack::PushL(x509Cert);
+
+			TKeyIdentifier KeyIdentifier = x509Cert->KeyIdentifierL();
+			
+			EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Key identifier is"),
+				KeyIdentifier.Ptr(),
+				KeyIdentifier.Size()));
+								
+			// This is for subject key id.
+			const CX509CertExtension* certExt = x509Cert->Extension(KSubjectKeyId);
+			
+			if (certExt)
+			{
+				const CX509SubjectKeyIdExt* subKeyExt = CX509SubjectKeyIdExt::NewLC(certExt->Data());
+				EAP_UNREFERENCED_PARAMETER(subKeyExt);
+
+				EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("The Subject key Id is:"),
+					subKeyExt->KeyId().Ptr(),
+					subKeyExt->KeyId().Size()));					
 				
-				if (certExt)
-				{
-					const CX509SubjectKeyIdExt* subKeyExt = CX509SubjectKeyIdExt::NewLC(certExt->Data());
-					EAP_UNREFERENCED_PARAMETER(subKeyExt);
-
-					EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("The Subject key Id is:"),
-						subKeyExt->KeyId().Ptr(),
-						subKeyExt->KeyId().Size()));					
-					
-					CleanupStack::PopAndDestroy();
-				}
-				else
-				{
-					EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: verify_certificate_chainL - No extension for this certificate\n")));			
-				}
-				
-				CleanupStack::PopAndDestroy();
-			}
-		}
+				CleanupStack::PopAndDestroy(); // subKeyExt					
+			}
+			else
+			{
+				EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: verify_certificate_chainL - No extension for this certificate\n")));			
+			}
+			
+			CleanupStack::PopAndDestroy(x509Cert);
+		}
+
 #endif
 
-		temp = chain->ReAllocL(chain->Length() + cert->get_data_length());
-
-		CleanupStack::Pop(chain);
-
-		chain = temp;
-
 		CleanupStack::PushL(chain);
-
+		temp = chain->ReAllocL(chain->Length() + cert->get_data_length());
+		chain = temp;
 		TPtr8 ptr = chain->Des();
-
 		ptr.Append(cert->get_data(cert->get_data_length()), cert->get_data_length());
 		if (i == 0)
 		{
@@ -4991,120 +4782,42 @@
 			}
 			m_peer_certificate = CX509Certificate::NewL(ptr);
 		}
-
-	} // for()
-
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): calls chain->Des()\n")));
-
+		CleanupStack::Pop();
+	}
+	CleanupStack::PushL(chain);
 	TPtr8 certChain = chain->Des();
-	TBool aUseAutomaticCaCertificate = (m_use_automatic_ca_certificate == true) ? ETrue : EFalse;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): calls m_cert_if->ValidateChainL()\n")));
-
-	m_cert_if->ValidateChainL(certChain, m_allowed_ca_certs, aUseAutomaticCaCertificate);
-	
-	CleanupStack::PopAndDestroy(chain);
-
+	m_cert_if->ValidateChainL(certChain, m_allowed_ca_certs);
+	
+	CleanupStack::PopAndDestroy();
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-
 	// This returns eap_status_pending_request
 	User::Leave(KErrCompletion);
 
 }
 
-//--------------------------------------------------
-
-#if defined(USE_EAP_DEBUG_TRACE)
-
-static eap_const_string get_certificate_error_string(const enum TValidationError certificate_error)
-{
-#if defined(USE_EAP_TRACE_STRINGS)
-	EAP_IF_RETURN_STRING(certificate_error, EValidatedOK)
-	else EAP_IF_RETURN_STRING(certificate_error, EChainHasNoRoot)
-	else EAP_IF_RETURN_STRING(certificate_error, ESignatureInvalid)
-	else EAP_IF_RETURN_STRING(certificate_error, EDateOutOfRange)
-	else EAP_IF_RETURN_STRING(certificate_error, ENameIsExcluded)
-	else EAP_IF_RETURN_STRING(certificate_error, ENameNotPermitted)
-	else EAP_IF_RETURN_STRING(certificate_error, ENotCACert)
-	else EAP_IF_RETURN_STRING(certificate_error, ECertificateRevoked)
-	else EAP_IF_RETURN_STRING(certificate_error, EUnrecognizedCriticalExtension)
-	else EAP_IF_RETURN_STRING(certificate_error, ENoBasicConstraintInCACert)
-	else EAP_IF_RETURN_STRING(certificate_error, ENoAcceptablePolicy)
-	else EAP_IF_RETURN_STRING(certificate_error, EPathTooLong)
-	else EAP_IF_RETURN_STRING(certificate_error, ENegativePathLengthSpecified)
-	else EAP_IF_RETURN_STRING(certificate_error, ENamesDontChain)
-	else EAP_IF_RETURN_STRING(certificate_error, ERequiredPolicyNotFound)
-	else EAP_IF_RETURN_STRING(certificate_error, EBadKeyUsage)
-	else EAP_IF_RETURN_STRING(certificate_error, ERootCertNotSelfSigned)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalExtendedKeyUsage)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalCertPoliciesWithQualifiers)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalPolicyMapping)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalDeviceId)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalSid)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalVid)
-	else EAP_IF_RETURN_STRING(certificate_error, ECriticalCapabilities)
-#endif // #if defined(USE_EAP_TRACE_STRINGS)
-	{
-		EAP_UNREFERENCED_PARAMETER(certificate_error);
-		return EAPL("Unknown TValidationError");
-	}
-}
-
-#endif //#if defined(USE_EAP_DEBUG_TRACE)
-
-//--------------------------------------------------
 
 void eap_am_type_tls_peap_symbian_c::complete_validate_chain(
-	const CPKIXValidationResult * const aValidationResult,
-	const eap_status_e aStatus)
+	CPKIXValidationResult& aValidationResult, eap_status_e aStatus)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	TValidationError validationError(EBadKeyUsage);
-
-	if (aValidationResult != 0)
-	{
-		validationError = aValidationResult->Error().iReason;
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_type_tls_peap_symbian_c::complete_validate_chain(): Certificate chain validation reason=%d=%s, status=%d=%s\n"),
-		validationError,
-		get_certificate_error_string(validationError),
-		aStatus,
-		eap_status_string_c::get_status_string(aStatus)));
-
+	
 	if(aStatus != eap_status_ok)
 	{
 		get_tls_am_partner()->complete_verify_certificate_chain(aStatus);
 		return;
 	}
-
-	eap_status_e result(eap_status_ok);
-
-	if (validationError == EValidatedOK)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("Certificate chain validation OK. Reason: %d=%s\n"),
-			validationError,
-			get_certificate_error_string(validationError)));
-
+	
+	eap_status_e result;	
+	if (aValidationResult.Error().iReason == EValidatedOK) 
+	{
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, 
+			(EAPL("Certificate chain validation OK. Reason: %d\n"), 
+			aValidationResult.Error().iReason));
 		result = eap_status_ok;
 	}
 	else
 	{
-		if (validationError == EDateOutOfRange)
+		if (aValidationResult.Error().iReason == EDateOutOfRange)
 		{
 			send_error_notification(eap_status_certificate_expired);
 			// Ignore error on purpose
@@ -5115,12 +4828,9 @@
 			// Ignore error on purpose			
 		}
 
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("ERROR: Certificate chain validation FAILED. Reason: %d=%s\n"), 
-			validationError,
-			get_certificate_error_string(validationError)));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, 
+			(EAPL("ERROR: Certificate chain validation FAILED. Reason: %d\n"), 
+			aValidationResult.Error().iReason));
 			
 		result = eap_status_illegal_certificate;
 	}
@@ -5141,63 +4851,203 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
-//--------------------------------------------------
-
 #if defined(USE_FAST_EAP_TYPE)
 #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
-
 eap_status_e eap_am_type_tls_peap_symbian_c::ReadFileConfig()
-{
-	eap_status_e status = eap_status_ok;
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian(
-	m_am_tools,
-	&m_fileconfig);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-	eap_variable_data_c skip_user_interactions(m_am_tools);
-
-	if (m_fileconfig != 0
-	&& m_fileconfig->get_is_valid() == true)
-	{
-		// Here we could try the final configuration option.
-		status = m_fileconfig->read_configure(
-			cf_str_EAP_skip_user_interactions_for_testing_purposes.get_field(),
-			&skip_user_interactions);
-	}
-
-	if (status == eap_status_ok
-	&& skip_user_interactions.get_is_valid_data() == true)
-	{
-		u32_t *skip_user_interactions_flag = reinterpret_cast<u32_t *>(
-			skip_user_interactions.get_data(sizeof(u32_t)));
-		if (skip_user_interactions_flag != 0)
-		{
-			if (*skip_user_interactions_flag != 0)
-			{
-				m_skip_user_interactions = true;
-			}
-			else
-			{
-				m_skip_user_interactions = false;
-			}
-		}
-	}
-
-	iPacStoreDb->SkipUserActions(m_skip_user_interactions);        
-
-	return status;
-}
-
+    {
+        eap_status_e status = eap_status_ok;
+        
+        eap_am_file_input_symbian_c * const fileio = new eap_am_file_input_symbian_c(m_am_tools);
+
+        eap_automatic_variable_c<eap_am_file_input_symbian_c> automatic_fileio(m_am_tools, fileio);
+
+        if (fileio != 0
+            && fileio->get_is_valid() == true)
+        {
+            EAP_TRACE_DEBUG(
+                m_am_tools,
+                TRACE_FLAGS_DEFAULT,
+                (EAPL("Initialize file configuration.\n")));
+
+            eap_variable_data_c file_name_c_data(m_am_tools);
+
+             {
+                #if defined(EAPOL_SYMBIAN_VERSION_7_0_s)
+                    eap_const_string const FILECONFIG_FILENAME_C
+                        = "c:\\system\\data\\eap.conf";
+                #else
+                    eap_const_string const FILECONFIG_FILENAME_C
+                        = "c:\\private\\101F8EC5\\eap.conf";
+                #endif
+
+                status = file_name_c_data.set_copy_of_buffer(
+                    FILECONFIG_FILENAME_C,
+                    m_am_tools->strlen(FILECONFIG_FILENAME_C));
+                if (status != eap_status_ok)
+                {
+                    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+                    return EAP_STATUS_RETURN(m_am_tools, status);
+                }
+
+                status = file_name_c_data.add_end_null();
+                if (status != eap_status_ok)
+                {
+                    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+                    return EAP_STATUS_RETURN(m_am_tools, status);
+                }
+            }
+
+            eap_variable_data_c file_name_z_data(m_am_tools);
+
+            {
+                #if defined(EAPOL_SYMBIAN_VERSION_7_0_s)
+                    eap_const_string const FILECONFIG_FILENAME_Z
+                        = "z:\\system\\data\\eap.conf";
+                #else
+                    eap_const_string const FILECONFIG_FILENAME_Z
+                        = "z:\\private\\101F8EC5\\eap.conf";
+                #endif
+
+                status = file_name_z_data.set_copy_of_buffer(
+                    FILECONFIG_FILENAME_Z,
+                    m_am_tools->strlen(FILECONFIG_FILENAME_Z));
+                if (status != eap_status_ok)
+                {
+                    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+                    return EAP_STATUS_RETURN(m_am_tools, status);
+                }
+
+                status = file_name_z_data.add_end_null();
+                if (status != eap_status_ok)
+                {
+                    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+                    return EAP_STATUS_RETURN(m_am_tools, status);
+                }
+            }
+
+
+
+            if (status == eap_status_ok)
+            {
+                // First try open from C: disk.
+                status = fileio->file_open(
+                    &file_name_c_data,
+                    eap_file_io_direction_read);
+                if (status == eap_status_ok)
+                {
+                    EAP_TRACE_DEBUG(
+                        m_am_tools,
+                        TRACE_FLAGS_DEFAULT,
+                        (EAPL("Opens configure file %s\n"),
+                        file_name_c_data.get_data(file_name_c_data.get_data_length())));
+                }
+                else if (status != eap_status_ok)
+                {
+                    // Second try open from Z: disk.
+                    status = fileio->file_open(
+                        &file_name_z_data,
+                        eap_file_io_direction_read);
+                    if (status == eap_status_ok)
+                    {
+                        EAP_TRACE_DEBUG(
+                            m_am_tools,
+                            TRACE_FLAGS_DEFAULT,
+                            (EAPL("Opens configure file %s\n"),
+                             file_name_z_data.get_data(file_name_z_data.get_data_length())));
+                    }
+                }
+
+                if (status == eap_status_ok)
+                {
+                    // Some of the files were opened.
+
+                    m_fileconfig = new eap_file_config_c(m_am_tools);
+                    if (m_fileconfig != 0
+                        && m_fileconfig->get_is_valid() == true)
+                    {
+                        status = m_fileconfig->configure(fileio);
+                        if (status != eap_status_ok)
+                        {
+                            EAP_TRACE_DEBUG(
+                                m_am_tools,
+                                TRACE_FLAGS_DEFAULT,
+                                (EAPL("ERROR: Configure read from %s failed.\n"),
+                                file_name_c_data.get_data(file_name_c_data.get_data_length())));
+                        }
+                        else
+                        {
+                            EAP_TRACE_DEBUG(
+                                m_am_tools,
+                                TRACE_FLAGS_DEFAULT,
+                                (EAPL("Configure read from %s\n"),
+                                file_name_c_data.get_data(file_name_c_data.get_data_length())));
+                        }
+                    }
+                    else
+                    {
+                        // No file configuration.
+                        delete m_fileconfig;
+                        m_fileconfig = 0;
+
+                        EAP_TRACE_DEBUG(
+                            m_am_tools,
+                            TRACE_FLAGS_DEFAULT,
+                            (EAPL("ERROR: Cannot create configure object for file %s\n"),
+                            file_name_c_data.get_data(file_name_c_data.get_data_length())));
+                    }
+                }
+                else
+                {
+                    EAP_TRACE_DEBUG(
+                        m_am_tools,
+                        TRACE_FLAGS_DEFAULT,
+                        (EAPL("ERROR: Cannot open configure file neither %s nor %s\n"),
+                        file_name_c_data.get_data(file_name_c_data.get_data_length()),
+                        file_name_z_data.get_data(file_name_z_data.get_data_length())));
+                }
+            }
+        }
+        else
+        {
+            EAP_TRACE_DEBUG(
+                m_am_tools,
+                TRACE_FLAGS_DEFAULT,
+                (EAPL("Skips file configuration.\n")));
+        }
+
+    eap_variable_data_c skip_user_interactions(m_am_tools);
+
+    if (m_fileconfig != 0
+            && m_fileconfig->get_is_valid() == true)
+        {
+            // Here we could try the final configuration option.
+            status = m_fileconfig->read_configure(
+                    cf_str_EAP_skip_user_interactions_for_testing_purposes.get_field(),
+                    &skip_user_interactions);
+        }
+
+    if (status == eap_status_ok
+        && skip_user_interactions.get_is_valid_data() == true)
+    {
+        u32_t *skip_user_interactions_flag = reinterpret_cast<u32_t *>(
+            skip_user_interactions.get_data(sizeof(u32_t)));
+        if (skip_user_interactions_flag != 0)
+        {
+            if (*skip_user_interactions_flag != 0)
+            {
+                m_skip_user_interactions = true;
+            }
+            else
+            {
+                m_skip_user_interactions = false;
+            }
+        }
+    }
+
+    iPacStoreDb->SkipUserActions (m_skip_user_interactions);        
+    
+     return status;
+    }
 #endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
 #endif
 
@@ -5222,8 +5072,7 @@
 
 	if (m_is_client)
 	{
-		// client
-		// Get the matching certificates. This function call is completed asyncronously by complete_get_matching_certificates() function call.
+		// Get the matching certificates
 		TRAPD(err, m_cert_if->GetMatchingCertificatesL(
 			m_allowed_user_certs, 
 			ETrue, 
@@ -5238,7 +5087,6 @@
 	else
 	{
 		// server
-		// Get the matching certificates. This function call is completed asyncronously by complete_get_matching_certificates() function call.
 		TRAPD(err, m_cert_if->GetMatchingCertificatesL(
 				m_allowed_user_certs, 
 				EFalse, 
@@ -5268,10 +5116,8 @@
 
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(
-	RPointerArray<EapCertificateEntry>& aMatchingCerts,
+	CArrayFixFlat<SCertEntry>& aMatchingCerts,
 	eap_status_e aStatus)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -5292,39 +5138,17 @@
 
 		// Add found certs to allowed certificate list.
 		// This list is updated here because there might be certificates that have been removed.
-		m_allowed_user_certs.ResetAndDestroy();
-
-		for (TInt i = 0; i < aMatchingCerts.Count() && aMatchingCerts[i] != 0; i++)
-		{
-			EapCertificateEntry * const entry = aMatchingCerts[i]->Copy();
-			if (entry == 0)
+		m_allowed_user_certs.Reset();
+		for (TInt i = 0; i < aMatchingCerts.Count(); i++)
+		{
+			TRAPD(err, m_allowed_user_certs.AppendL(aMatchingCerts[i]));
+			if (err != KErrNone)
 			{
 				EAP_TRACE_DEBUG(
 					m_am_tools,
 					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: EAP-TLS: No memory.\n")));
-
-				get_am_partner()->complete_eap_identity_query(
-					0, // 0 because identity query failed
-					&m_receive_network_id,
-					m_eap_identifier,
-					eap_status_allocation_error, 
-					false, 
-					0, 
-					false, 
-					0);
-				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-				return;	
-			}
-
-			TInt error = m_allowed_user_certs.Append(entry);
-			if (error != KErrNone)
-			{
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): -EHandlingIdentityQuery- Error=%d\n"),
-					error));
+					(EAPL("ERROR: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates -EHandlingIdentityQuery- Error=%d\n"),
+					err));
 			
 				get_am_partner()->complete_eap_identity_query(
 					0, // 0 because identity query failed
@@ -5335,8 +5159,6 @@
 					0, 
 					false, 
 					0);
-
-				delete entry;
 				
 				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 				return;		
@@ -5378,60 +5200,35 @@
 				EAP_TRACE_DEBUG(
 					m_am_tools, 
 					TRACE_FLAGS_DEFAULT, 
-					(EAPL("eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): no manual realm - no user cert. Get realm from CA certificate.\n")));
+					(EAPL("eap_am_type_tls_peap_symbian_c: no manual realm - no user cert. Get realm from CA certificate.\n")));
 				
 				TInt allowed_ca_cert_count = m_allowed_ca_certs.Count();
 				TInt err(KErrNone);
-
+				
 				if(allowed_ca_cert_count > 0)
 				{
-					TRAP(err, m_cert_if->ReadCACertificateL(*m_allowed_ca_certs[0]));
+					TRAP(err, m_cert_if->ReadCACertificateL(m_allowed_ca_certs[0]));
 				}
-
-				if (err != KErrNone
-					|| allowed_ca_cert_count <= 0)
+				if (err != KErrNone || allowed_ca_cert_count <= 0)
 				{
-					if (m_use_automatic_ca_certificate == false)
-					{
-						EAP_TRACE_DEBUG(
-							m_am_tools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: EAP-TLS: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): Cannot read user certificate and no CA cert configured, CA cert count=%d.\n"),
-							allowed_ca_cert_count));
-
-						get_am_partner()->complete_eap_identity_query(
-							0, // 0 because identity query failed
-							&m_receive_network_id,
-							m_eap_identifier,
-							eap_status_illegal_certificate, 
-							false, 
-							0, 
-							false, 
-							0);
-
-						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-						return;
-					}
-					else
-					{
-						EAP_TRACE_DEBUG(
-							m_am_tools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("WARNING: EAP-TLS: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): Cannot read user certificate and automatic CA cert configured, CA cert count=%d.\n"),
-							m_allowed_ca_certs.Count()));
-
-						get_am_partner()->complete_eap_identity_query(
-							0, // 0 because certificate query failed
-							&m_receive_network_id,
-							m_eap_identifier,
-							eap_status_ok, 
-							false, 
-							0, 
-							false, 
-							0);
-					}
+					EAP_TRACE_DEBUG(
+					m_am_tools,
+					TRACE_FLAGS_DEFAULT,
+					(EAPL("ERROR: EAP-TLS: Cannot read user certificate or No CA cert configured, CA cert count=%d.\n"),
+					allowed_ca_cert_count));
+
+					get_am_partner()->complete_eap_identity_query(
+						0, // 0 because identity query failed
+						&m_receive_network_id,
+						m_eap_identifier,
+						eap_status_illegal_certificate, 
+						false, 
+						0, 
+						false, 
+						0);
+					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+					return;	
 				}
-
 				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 				return;
 			}
@@ -5443,14 +5240,14 @@
 					(EAPL("EAP-TLS: Uses manual realm.\n")));
 
 				get_am_partner()->complete_eap_identity_query(
-					0, // 0 because certificate query failed
-					&m_receive_network_id,
-					m_eap_identifier,
-					eap_status_ok, 
-					m_use_manual_username, 
-					&m_manual_username, 
-					m_use_manual_realm, 
-					&m_manual_realm);
+						0, // 0 because certificate query failed
+						&m_receive_network_id,
+						m_eap_identifier,
+						eap_status_ok, 
+						m_use_manual_username, 
+						&m_manual_username, 
+						m_use_manual_realm, 
+						&m_manual_realm);
 
 			}
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
@@ -5468,31 +5265,20 @@
 		
 		if (aMatchingCerts.Count() > 0)
 		{
-			TInt error;
-
-			m_allowed_user_certs.ResetAndDestroy();
-		
-			for (TInt i = 0; i < aMatchingCerts.Count(); i++)
-			{
-				EapCertificateEntry * const entry = aMatchingCerts[i]->Copy();
-				if (entry != 0)
-				{
-					TRAP(error, m_allowed_user_certs.AppendL(entry));
-				}
-				else
+				m_allowed_user_certs.Reset();
+			
+				for (TInt i = 0; i < aMatchingCerts.Count(); i++)
 				{
-					error = KErrNoMemory;
-				}
-
-				if (error != KErrNone)
-				{
-					EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates -EHandlingChainQuery- Error=%d\n"),
-						error));
-								
-					get_tls_am_partner()->complete_query_certificate_chain(0, eap_status_allocation_error);
-					EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);		
-					return;					
-				} 
+					TRAPD(err, m_allowed_user_certs.AppendL(aMatchingCerts[i]));
+					if (err != KErrNone)
+					{
+						EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates -EHandlingChainQuery- Error=%d\n"),
+						err));
+									
+						get_tls_am_partner()->complete_query_certificate_chain(0, eap_status_allocation_error);
+						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);		
+						return;					
+					} 
 			}	
 		}
 
@@ -5501,18 +5287,10 @@
 			// No matching or allowed certs and no pre-loaded cert.
 			// Could not find matching certificate
 
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("EAP-TLS: Could not find proper user certificate.\n")));
+			EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-TLS: Could not find proper user certificate.\n")));
 
 			if (m_tls_peap_server_authenticates_client_policy_flag == true)
 			{
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: EAP-TLS: Could not find proper user certificate and anonymous cliet is not allowed.\n")));
-
 				send_error_notification(eap_status_user_certificate_unknown);
 			}
 
@@ -5535,12 +5313,10 @@
 	{
 		EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-TLS: Illegal state in complete_get_matching_certs.\n")));
 	}
-
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);	
 	return;
 }
 
-//--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_certificate_authorities_and_types()
 {
@@ -5555,7 +5331,7 @@
 	eap_array_c<eap_variable_data_c> certificate_authorities(m_am_tools);
 	eap_variable_data_c ca_dn(m_am_tools);
 	
-	// TEST CODE: Implementation do not support yet a proper CA DN.
+	// TEST CODE: This is not a proper CA DN.
 	_LIT8(KTestCA, "ca.eapsim.foo");
 	status = ca_dn.add_data(KTestCA().Ptr(), KTestCA().Size());
 	if (status != eap_status_ok)
@@ -5745,13 +5521,13 @@
 		subject_identity.get_data_length(),
 		subject_identity.get_data_length());		
 
-	status = subject_realm->set_copy_of_buffer((ptr.Mid(offset + KOffsetCorrection)).Ptr(), ptr.Length() - offset - KOffsetCorrection);
+	status = subject_realm->set_copy_of_buffer((ptr.Mid(offset + 1)).Ptr(), ptr.Length() - offset - 1);
 	if (status != eap_status_ok)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, status);
 	}	
-
+	
 	// ISSUER
 	// Check DN
 	TRAP(err, get_identities_from_distinguished_namesL(certificate, &subject_identity, &issuer_identity));	
@@ -5766,10 +5542,10 @@
 		issuer_identity.get_data(issuer_identity.get_data_length()), 
 		issuer_identity.get_data_length(),
 		issuer_identity.get_data_length());		
-
+		
 	offset = ptr2.Find(KAt);
 
-	status = issuer_realm->set_copy_of_buffer((ptr2.Mid(offset + KOffsetCorrection)).Ptr(), ptr2.Length() - offset - KOffsetCorrection);
+	status = issuer_realm->set_copy_of_buffer((ptr2.Mid(offset + 1)).Ptr(), ptr2.Length() - offset - 1);
 	if (status != eap_status_ok)
 	{
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -5782,6 +5558,7 @@
 
 //--------------------------------------------------
 
+
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::save_tls_session(
 	const eap_variable_data_c * const session_id,
 	const eap_variable_data_c * const master_secret,
@@ -5874,7 +5651,7 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
 }
-
+//--------------------------------------------------
 //--------------------------------------------------
 
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::rsa_encrypt_with_public_key(
@@ -5954,7 +5731,7 @@
 	ptr.Copy(encrypted_premaster_secret->get_data(encrypted_premaster_secret->get_data_length()), 
 		encrypted_premaster_secret->get_data_length());
 
-	TRAP(err, m_cert_if->DecryptL(m_own_certificate_info.GetSubjectKeyId(), *data));
+	TRAP(err, m_cert_if->DecryptL(m_own_certificate_info.iSubjectKeyId, *data));
 
 	if (err != KErrNone)
 	{
@@ -6016,7 +5793,6 @@
 }
 
 //--------------------------------------------------
-
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::sign_with_private_key(
 	const eap_variable_data_c * const message_hash)
 {
@@ -6075,7 +5851,7 @@
 		signature_length = public_key_data.Size();
 	}
 
-	TRAP(err, m_cert_if->SignL(m_own_certificate_info.GetSubjectKeyId(), hash, signature_length));
+	TRAP(err, m_cert_if->SignL(m_own_certificate_info.iSubjectKeyId, hash, signature_length));
 	if (err != KErrNone)
 	{
 		status = m_am_tools->convert_am_error_to_eapol_error(err);
@@ -6091,9 +5867,7 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 		
 }
-
 //--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::complete_sign(
 	const RInteger& aR, const RInteger& aS, eap_status_e aStatus)
 {
@@ -6114,8 +5888,6 @@
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::complete_signL(
 	const RInteger& aR, const RInteger& aS, eap_status_e aStatus)
 {
@@ -6277,7 +6049,7 @@
 	}
 	else
 	{
-		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Verify with private key failed.\n")));
+		EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Signing with private key failed.\n")));
 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 		return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 	}
@@ -6294,8 +6066,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::read_dsa_parametersL()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); 
@@ -6353,7 +6123,6 @@
 //--------------------------------------------------
 // MODULE HANDLING FUNCTIONS
 //--------------------------------------------------
-
 eap_status_e eap_am_type_tls_peap_symbian_c::load_module(
 		const eap_type_value_e /*type*/,
 		const eap_type_value_e /* tunneling_type */,
@@ -6375,32 +6144,31 @@
 	
 	eap_status_e status(eap_status_illegal_eap_type);
 	
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG(m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::check_is_valid_eap_type:Given EAP-type=0xfe%06x%08x\n"),
-		eap_type.get_vendor_id(),
-		eap_type.get_vendor_type()));	
+		(EAPL("eap_am_type_tls_peap_symbian_c::check_is_valid_eap_type:Given EAP vendor ID=%x, type=%x\n"),
+		eap_type.get_vendor_id(), eap_type.get_vendor_type()));	
 		
 	for (TInt i = 0; i < m_enabled_tunneling_exp_eap_array.Count(); i++)
 	{
 		eap_expanded_type_c expEAPTmp;
 		
-		TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-			m_enabled_tunneling_exp_eap_array[i],
-			&expEAPTmp);
-
-		if (error != KErrNone)
-		{
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		}
-
+		// This will read the expanded EAP from enabledEAPTypes[i]->iExpandedEAPType to expEAPTmp.
+		// This makes easy to get the vendor type.
+		eap_expanded_type_c::read_type( m_am_tools,
+										0,
+										m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Ptr(),
+										KExpandedEAPTypeSize,
+										&expEAPTmp);
+		
 		EAP_TRACE_DATA_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("check_is_valid_eap_type:Checking with EAP type:"),
-	 		m_enabled_tunneling_exp_eap_array[i]->GetValue().Ptr(),
-	 		m_enabled_tunneling_exp_eap_array[i]->GetValue().Size()));	 			
+	 		m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Ptr(),
+	 		m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Size()));	 			
 		
 		if (eap_type == expEAPTmp)
 		{
@@ -6410,7 +6178,35 @@
 		}
 	}
 
+#else // For normal EAP types.
+	
+	TEap *eapType = 0; 
+	
+	TInt i(0);
+		
+	for (i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Try next EAP type
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			// Convert the string to integer
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+			if (val == eap_type)
+			{
+				// Allowed
+				status = eap_status_ok;
+				break;
+			}	
+		}
+	}
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES	
+	
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+
 	return EAP_STATUS_RETURN(m_am_tools, status);
 }
 
@@ -6427,11 +6223,15 @@
 
 	eap_status_e status(eap_status_illegal_eap_type);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	// We need to return only the EAP types available as enabled types.
 	// It means only the ones available in m_enabled_tunneling_exp_eap_array.
 	
 	for (TInt i = 0; i < m_enabled_tunneling_exp_eap_array.Count(); i++)
 	{	
+		TBuf8<KExpandedEAPTypeSize> tmpExpEAP(m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType);
+
 		EAP_TRACE_DEBUG(
 			m_am_tools, 
 			TRACE_FLAGS_DEFAULT, 
@@ -6442,27 +6242,25 @@
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("Enabled expanded EAP type:"),
-			m_enabled_tunneling_exp_eap_array[i]->GetValue().Ptr(),
-			m_enabled_tunneling_exp_eap_array[i]->GetValue().Size()));
+			tmpExpEAP.Ptr(),
+			tmpExpEAP.Size()));
 
 		// This is for one expanded EAP type (for the above one).
 		eap_type_value_e * expandedEAPType = new eap_type_value_e();
-		
-		eap_automatic_variable_c<eap_type_value_e> automatic_expandedEAPType(
-			m_am_tools,
-			expandedEAPType);
-
-		TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-			m_enabled_tunneling_exp_eap_array[i],
-			expandedEAPType);
-
-		if (error != KErrNone)
-		{
+				
+		// Read the expanded EAP type details from an item in m_enabled_tunneling_exp_eap_array.
+		status = eap_type_value_e::read_type(m_am_tools,
+												0,
+												&tmpExpEAP,
+												tmpExpEAP.Length(),
+												expandedEAPType);
+		if (status != eap_status_ok)
+		{
+			delete expandedEAPType;
+			expandedEAPType = 0;
 			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		}
-
-		automatic_expandedEAPType.do_not_free_variable();
+			return EAP_STATUS_RETURN(m_am_tools, status);
+		}
 
 		// Add EAP-type to list.		
 		status = eap_type_list->add_object(expandedEAPType, true);
@@ -6478,19 +6276,56 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("get_eap_type_list():added EAP-type=0xfe%06x%08x=%s\n"),
-			expandedEAPType->get_vendor_id(),
+			(EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"),
 			expandedEAPType->get_vendor_type(),
-			eap_header_string_c::get_eap_type_string(*expandedEAPType)));			
+			eap_string.get_eap_type_string(*expandedEAPType)));			
 	
 	}// for()
 
+#else // for normal EAP types.
+
+	TEap *eapType = 0; 
+
+	status = eap_type_list->reset();
+	if (status != eap_status_ok)
+	{
+		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+		return EAP_STATUS_RETURN(m_am_tools, status);
+	}
+
+
+	for (TInt i = 0; i < m_iap_eap_array.Count(); i++)
+	{
+		// Check if type is enabled
+		eapType = m_iap_eap_array[i];
+		if (eapType->Enabled == 1)
+		{	
+			TLex8 tmp(eapType->UID);
+			TInt val(0);
+			tmp.Val(val);
+
+			eap_type_value_e * const eap_type = new eap_type_value_e(static_cast<eap_type_ietf_values_e>(val));
+			if (eap_type == 0)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
+			}
+
+			status = eap_type_list->add_object(eap_type, true);
+			if (status != eap_status_ok)
+			{
+				EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+				return EAP_STATUS_RETURN(m_am_tools, status);
+			}
+		}
+	} // for()
+
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 	return eap_status_ok;
 }
 
-//--------------------------------------------------
-
 eap_status_e eap_am_type_tls_peap_symbian_c::unload_module(const eap_type_value_e /*type*/)
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -6498,7 +6333,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
 }
 
-//--------------------------------------------------
 
 void eap_am_type_tls_peap_symbian_c::send_error_notification(const eap_status_e error)
 {
@@ -6537,10 +6371,19 @@
 	m_partner->state_notification(&notification);
 }
 
+eap_status_e eap_am_type_tls_peap_symbian_c::show_certificate_selection_dialog()
+{
+	return eap_status_ok;
+}
+
+eap_status_e eap_am_type_tls_peap_symbian_c::show_manual_identity_dialog()
+{
+	return eap_status_ok;
+}
+
 //--------------------------------------------------
 // CANCELLATION FUNCTIONS
 //--------------------------------------------------
-
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::cancel_identity_query()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -6556,8 +6399,6 @@
 	return eap_status_ok;
 }
 
-//--------------------------------------------------
-
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_cipher_suites_and_previous_session()
 {
 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
@@ -6787,74 +6628,73 @@
 
 	EAP_TRACE_DEBUG(m_am_tools, 
 		TRACE_FLAGS_DEFAULT, (
-		EAPL("eap_am_type_tls_peap_symbian_c::is_session_valid - m_current_eap_vendor_type=0xfe%06x%08x\n"),
-		m_current_eap_type.get_vendor_id(),
-		m_current_eap_type.get_vendor_type()));
+		EAPL("eap_am_type_tls_peap_symbian_c::is_session_valid - m_current_eap_vendor_type=%d \n"),
+		m_current_eap_vendor_type));
 
 	TPtrC maxSessionTimeString;
 	TPtrC lastFullAuthTimeString;
 
-	if (m_current_eap_type == eap_type_tls)
-	{
-		maxSessionTimeString.Set(cf_str_EAP_TLS_max_session_validity_time_literal);
-		lastFullAuthTimeString.Set(KTLSLastFullAuthTime);
-	}
-	else if (m_current_eap_type == eap_type_peap)
-	{
-		maxSessionTimeString.Set(cf_str_EAP_PEAP_max_session_validity_time_literal);
-		lastFullAuthTimeString.Set(KPEAPLastFullAuthTime);
-	}
-	else if (m_current_eap_type == eap_type_ttls)
-	{
-		maxSessionTimeString.Set(cf_str_EAP_TTLS_max_session_validity_time_literal);
-		lastFullAuthTimeString.Set(KTTLSLastFullAuthTime);
-	}
+	switch (m_current_eap_vendor_type)
+	{
+	case eap_type_tls:
+		{
+			maxSessionTimeString.Set(cf_str_EAP_TLS_max_session_validity_time_literal);
+			lastFullAuthTimeString.Set(KTLSLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			maxSessionTimeString.Set(cf_str_EAP_PEAP_max_session_validity_time_literal);
+			lastFullAuthTimeString.Set(KPEAPLastFullAuthTime);
+		}
+		break;
+	
+	case eap_type_ttls:
+		{
+			maxSessionTimeString.Set(cf_str_EAP_TTLS_max_session_validity_time_literal);
+			lastFullAuthTimeString.Set(KTTLSLastFullAuthTime);
+		}
+		break;
+
 #if defined(USE_FAST_EAP_TYPE)		
-	else if (m_current_eap_type == eap_type_fast)
-	{
-		maxSessionTimeString.Set(cf_str_EAP_FAST_max_session_validity_time_literal);
-		lastFullAuthTimeString.Set(KFASTLastFullAuthTime);
-	}
+	case eap_type_fast:
+		{
+			maxSessionTimeString.Set(cf_str_EAP_FAST_max_session_validity_time_literal);
+			lastFullAuthTimeString.Set(KFASTLastFullAuthTime);
+		}
+		break;
 #endif
-	else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-	    // we should not come here, ttls pap has its own
-	    // method for checking session validity
-	    EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (
-	        EAPL( "ERROR: wrong eap type.\n" ) ) );
-	    return false;
-	}
-	else
-	{
-		// Should never happen
-		EAP_TRACE_ERROR(m_am_tools, 
-			TRACE_FLAGS_DEFAULT, (
-			EAPL("Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"),
-			m_current_eap_type.get_vendor_id(),
-			m_current_eap_type.get_vendor_type()));
-			
-		return false; // Treat this as Session invalid.
-	}
+		
+	case eap_type_ttls_plain_pap:
+	    {
+	        // we should not come here, ttls pap has its own
+	        // method for checking session validity
+	        EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (
+	            EAPL( "ERROR: wrong eap type.\n" ) ) );
+	        return false;
+	    }
+	    
+	default:
+		{
+			// Should never happen
+			EAP_TRACE_ERROR(m_am_tools, 
+				TRACE_FLAGS_DEFAULT, (
+				EAPL("Unsupported EAP type, m_current_eap_vendor_type=%d \n"),
+				m_current_eap_vendor_type));
+				
+			return false; // Treat this as Session invalid.
+		}
+	}	
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(
-		KSQLQuery,
-		&maxSessionTimeString,
-		&lastFullAuthTimeString,
-		&m_db_table_name,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &maxSessionTimeString, &lastFullAuthTimeString, &m_db_table_name,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -6966,68 +6806,65 @@
 	
 	EAP_TRACE_DEBUG(m_am_tools, 
 		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_type_tls_peap_symbian_c::store_authentication_timeL, index type=%d, index=%d, tunneling type=0xfe%06x%08x, current eap type=0xfe%06x%08x\n"),
-		m_index_type,
-		m_index,
-		m_tunneling_type.get_vendor_id(),
-		m_tunneling_type.get_vendor_type(),
-		m_current_eap_type.get_vendor_id(),
-		m_current_eap_type.get_vendor_type()));
+		(EAPL("eap_am_type_tls_peap_symbian_c::store_authentication_timeL, index type=%d, index=%d, tunneling type=%d, current eap type=%d\n"),
+		m_index_type, m_index, m_tunneling_vendor_type, m_current_eap_vendor_type));	
 
 	TPtrC lastFullAuthTimeString;
 
-	if (m_current_eap_type == eap_type_tls)
-	{
-		lastFullAuthTimeString.Set(KTLSLastFullAuthTime);
-	}
-	else if (m_current_eap_type == eap_type_peap)
-	{
-		lastFullAuthTimeString.Set(KPEAPLastFullAuthTime);
-	}
-	else if (m_current_eap_type == eap_type_ttls)
-	{
-		lastFullAuthTimeString.Set(KTTLSLastFullAuthTime);
-	}
-	else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type())
-	{
+	switch (m_current_eap_vendor_type)
+	{
+	case eap_type_tls:
+		{
+			lastFullAuthTimeString.Set(KTLSLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			lastFullAuthTimeString.Set(KPEAPLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_ttls:
+		{
+			lastFullAuthTimeString.Set(KTTLSLastFullAuthTime);
+		}
+		break;
+		
+	case eap_type_ttls_plain_pap:
+		{
 		lastFullAuthTimeString.Set( KTTLSPAPLastFullAuthTime );
-	}
+		}
+		break;
+
 #if defined(USE_FAST_EAP_TYPE)
-	else if (m_current_eap_type == eap_type_fast)
-	{
-		lastFullAuthTimeString.Set(KFASTLastFullAuthTime);
-	}
+	case eap_type_fast:
+		{
+			lastFullAuthTimeString.Set(KFASTLastFullAuthTime);
+		}
+		break;
 #endif
-	else
-	{
-		// Should never happen
-		EAP_TRACE_ERROR(m_am_tools, 
-			TRACE_FLAGS_DEFAULT, (
-			EAPL("Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"),
-			m_current_eap_type.get_vendor_id(),
-			m_current_eap_type.get_vendor_type()));
-			
-		User::Leave(KErrNotSupported);
-	}
+		
+	default:
+		{
+			// Should never happen
+			EAP_TRACE_ERROR(m_am_tools, 
+				TRACE_FLAGS_DEFAULT, (
+				EAPL("Unsupported EAP type, m_current_eap_vendor_type=%d \n"),
+				m_current_eap_vendor_type));
+				
+			User::Leave(KErrNotSupported);
+		}
+	}	
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
-	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(
-		KSQLQuery,
-		&lastFullAuthTimeString,
-		&m_db_table_name,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
+	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	sqlStatement.Format(KSQLQuery, &lastFullAuthTimeString, &m_db_table_name,
+						&KServiceType, m_index_type, 
+						&KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type);
 
 	RDbView view;
 	// Evaluate view
@@ -7035,7 +6872,7 @@
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 	
-	// Get the first (and only) row for update.
+	// Get the first (and only) row for updation.
 	view.FirstL();
 	view.UpdateL();
 	
@@ -7152,9 +6989,9 @@
 }
 
 #endif //#if defined(USE_EAP_CORE_SERVER)
-
 //--------------------------------------------------
 
+
 // This is commented in eap_am_fast_pac_store_services_c::query_user_permission_for_A_ID().
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_user_permission_for_A_ID(
 	const eap_fast_pac_store_pending_operation_e in_pending_operation,
@@ -7209,7 +7046,7 @@
 eap_status_e eap_am_type_tls_peap_symbian_c::QueryUserPermissionForAIDL(
 		const eap_fast_variable_data_c * const in_pac_attribute_A_ID_info,
 		const eap_fast_variable_data_c * const in_pac_attribute_A_ID)
-{
+	{
 	eap_status_e status(eap_status_ok);
 	
 	HBufC8* A_ID_info8 = HBufC8::NewLC((in_pac_attribute_A_ID_info->get_data_length()));
@@ -7236,7 +7073,7 @@
 			(A_IDPtr.Ptr()),
 			(in_pac_attribute_A_ID->get_data_length())));
 
- 	if (A_ID_infoPtr.Size()>=KMaxNotifItemLength)
+ 	if (A_ID_infoPtr.Size()>KMaxEapFastNotifierBufLength)
 	{
   		CleanupStack::PopAndDestroy(3); // A_ID, A_ID_info
   		status = m_am_tools->convert_am_error_to_eapol_error(KErrArgument);
@@ -7244,42 +7081,41 @@
  		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  		return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
 	}
- 
-    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-    
-    m_notifier_data_to_user->iPassword.Copy(A_ID_infoPtr);
-    
-    if (iEapAuthNotifier == 0)
-    	{
-    	TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-	  	if (err)
-	  		{
-	  			return eap_status_process_general_error;
-	  		}
-    	}
-    else
-	   	{
-		 	TRAPD(err1, iEapAuthNotifier->Cancel());
-	  	if (err1)
-	  		{
-	  			return eap_status_process_general_error;
-	  		}
-     	}
-
-    TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastInstallPacQueryDialog, m_notifier_data_to_user, aEapType));
-  	if (err2)
-  		{
-  			return eap_status_process_general_error;
-  		}
- 
- 
+
+ 	TBool startedOk = ETrue;
+ 	
+ 	if (!iEapFastActiveNotes)
+         {
+         TRAPD( err, iEapFastActiveNotes = CEapFastActive::NewL( this ) );
+         
+         if ( err != KErrNone )
+             {
+             status = eap_status_allocation_error;
+             }   
+        }
+ 	if ( status == KErrNone )
+ 		{
+	    //update buffer
+ 		iEapFastActiveNotes->UpdateInputBuf( A_ID_infoPtr );
+        // start query install dialog
+ 		// asynch. call, return immediately
+ 		startedOk = iEapFastActiveNotes->Start(
+ 		    CEapFastActive::EEapFastActiveInstallPacQueryDialog );
+ 		if ( startedOk == EFalse )
+ 			{
+ 			status = eap_status_process_general_error;
+ 			}
+ 		}
+ 	else
+ 		{
+ 		status = eap_status_process_general_error;	
+ 		}
 
  	CleanupStack::PopAndDestroy(3); // A_ID, A_ID_info
  	
  	return status;
-}
-
-//--------------------------------------------------
+	}
+
 
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::read_PAC_store_data(
 	const eap_fast_pac_store_pending_operation_e in_pending_operation,
@@ -7767,88 +7603,84 @@
 					}		
 				}
 				
-				m_info_array.ResetAndDestroy();
+				TInt count = 0;
+				
+				m_info_array.Reset();
 					
 				iPacStoreDb->GetPacStoreDataL(dbTableName, m_info_array);
 				
 				EAP_TRACE_DEBUG_SYMBIAN(
-					(_L("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL:Number of entries in table %S=%d\n"),
-					&dbTableName, m_info_array.Count()));
+				(_L("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL:Number of entries in table %S=%d\n"),
+				&dbTableName, m_info_array.Count()));				
 				
-				TInt first_index = 0;
-
-				while (m_info_array.Count() > 0)
-					{
-					if (m_info_array[first_index] != 0
-						&& m_info_array[first_index]->GetIsValid() != EFalse)
-						{
-						// Note this will get always the first object of array. After the first object is processed it is destryed and removed from array.
-						TPtr8 infoDataPtr = m_info_array[first_index]->GetData()->Des();
-						TPtr8 infoRefPtr = m_info_array[first_index]->GetReference()->Des();
-						
-						EAP_TRACE_DATA_DEBUG_SYMBIAN(
-							("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (reference)",
-							infoRefPtr.Ptr(),
-							infoRefPtr.Size()));
-						
-						EAP_TRACE_DATA_DEBUG_SYMBIAN(
-							("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (value)",
-							infoDataPtr.Ptr(),
-							infoDataPtr.Size()));					
-						
-						eap_fast_pac_store_data_c * const new_data = new eap_fast_pac_store_data_c(m_am_tools);
-
-						eap_automatic_variable_c<eap_fast_pac_store_data_c> automatic_new_data(
-							m_am_tools, new_data);
-
-						if (new_data == 0)
-						{
-							m_eap_fast_completion_status = eap_status_allocation_error;
-							(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
-							break;
-						}
-
-						new_data->set_type(dataType);					
-
-						// Set the reference.
-						m_eap_fast_completion_status = new_data->get_writable_reference()->set_copy_of_buffer(infoRefPtr.Ptr(), infoRefPtr.Size());
-						if (m_eap_fast_completion_status != eap_status_ok)
-						{
-							(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
-							delete m_info_array[first_index];
-							m_info_array.Remove(first_index);
-							break;
-						}
-						
-						m_eap_fast_completion_status = new_data->get_writable_data()->set_copy_of_buffer(infoDataPtr.Ptr(), infoDataPtr.Size());
-						if (m_eap_fast_completion_status != eap_status_ok)
-						{
-							(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
-							delete m_info_array[first_index];
-							m_info_array.Remove(first_index);
-							break;
-						}
-
-						automatic_new_data.do_not_free_variable();
-
-						m_eap_fast_completion_status = m_references_and_data_blocks.add_object(new_data, true);
-						if (m_eap_fast_completion_status != eap_status_ok)
-						{
-							(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
-							delete m_info_array[first_index];
-							m_info_array.Remove(first_index);
-							break;
-						}
-						EAP_TRACE_DATA_DEBUG_SYMBIAN(
-							("For GROUP, AID, PAC INFOs - added data",
-							(new_data->get_data())->get_data((new_data->get_data())->get_data_length()), 
-							(new_data->get_data())->get_data_length()));					
-						}
+				while (count < m_info_array.Count())
+					{
+					TPtr8 infoDataPtr = m_info_array[count].iData->Des();
+					TPtr8 infoRefPtr = m_info_array[count].iReference->Des();
+					
+					EAP_TRACE_DATA_DEBUG_SYMBIAN(
+						("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (reference)",
+						infoRefPtr.Ptr(),
+						infoRefPtr.Size()));
+					
+					EAP_TRACE_DATA_DEBUG_SYMBIAN(
+						("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (value)",
+						infoDataPtr.Ptr(),
+						infoDataPtr.Size()));					
+					
+					eap_fast_pac_store_data_c * const new_data = new eap_fast_pac_store_data_c(m_am_tools);
+
+					eap_automatic_variable_c<eap_fast_pac_store_data_c> automatic_new_data(
+						m_am_tools, new_data);
+
+					if (new_data == 0)
+					{
+						m_eap_fast_completion_status = eap_status_allocation_error;
+						(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
+						break;
+					}
+
+					new_data->set_type(dataType);					
+
+					// Set the reference.
+					m_eap_fast_completion_status = new_data->get_writable_reference()->set_copy_of_buffer(infoRefPtr.Ptr(), infoRefPtr.Size());
+					if (m_eap_fast_completion_status != eap_status_ok)
+					{
+						(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
+						delete m_info_array[count].iData;
+						delete m_info_array[count].iReference;
+						break;
+					}
+					
+					m_eap_fast_completion_status = new_data->get_writable_data()->set_copy_of_buffer(infoDataPtr.Ptr(),infoDataPtr.Size() );
+					if (m_eap_fast_completion_status != eap_status_ok)
+					{
+						(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
+						delete m_info_array[count].iData;
+						delete m_info_array[count].iReference;
+						break;
+					}
+
+					automatic_new_data.do_not_free_variable();
+
+					m_eap_fast_completion_status = m_references_and_data_blocks.add_object(new_data, true);
+					if (m_eap_fast_completion_status != eap_status_ok)
+					{
+						(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
+						delete m_info_array[count].iData;
+						delete m_info_array[count].iReference;
+						break;
+					}					
 							
-					delete m_info_array[first_index];
-					m_info_array.Remove(first_index);
-					
-		
+					delete m_info_array[count].iData;
+					delete m_info_array[count].iReference;
+					
+					EAP_TRACE_DATA_DEBUG_SYMBIAN(
+						("For GROUP, AID, PAC INFOs - added data",
+						(new_data->get_data())->get_data((new_data->get_data())->get_data_length()), 
+						(new_data->get_data())->get_data_length()));					
+		
+					count++;
 					} // End: while
 					
 				
@@ -7899,41 +7731,14 @@
 
 						if(iPacStoreDb->IsMasterKeyPresentL())
 							{
-				    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-				    
-				    m_notifier_data_to_user->iPassword.Zero();
-				    
-				    if (iEapAuthNotifier == 0)
-				    	{
-				    	iEapAuthNotifier = CEapAuthNotifier::NewL( *this );
-				    	}
-				    else
-					   	{
-						 	iEapAuthNotifier->Cancel();
-				     	}
-				
-				    iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastPacStorePwQueryDialog, m_notifier_data_to_user, aEapType);
-
-
+							m_eap_fast_completion_status = ShowNotifierItemAndGetResponse(
+								EEapFastNotifierPacStorePwQuery, ETrue );
 							}
 						else
 							{
 							m_state =  EMasterkeyQuery; 
-					    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-					    
-					    m_notifier_data_to_user->iPassword.Zero();
-					    
-					    if (iEapAuthNotifier == 0)
-					    	{
-					    	iEapAuthNotifier = CEapAuthNotifier::NewL( *this );
-					    	}
-					    else
-						   	{
-							 	iEapAuthNotifier->Cancel();
-					     	}
-					
-					    iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastCreateMasterkeyQueryDialog, m_notifier_data_to_user, aEapType);
-
+				        	m_eap_fast_completion_status = ShowNotifierItemAndGetResponse(
+				        		EEapFastNotifierCreateMasterkeyQuery, ETrue );
 							}
 
 						break;
@@ -7997,7 +7802,7 @@
 				
 				    eap_variable_data_c m_PAC_store_device_seed(m_am_tools);
 				    m_eap_fast_completion_status = m_PAC_store_device_seed.set_copy_of_buffer(
-				    	iPacStoreDeviceSeed );
+				    	iPacStoreDb->GetSeed() );
 					if ( m_eap_fast_completion_status != eap_status_ok )
 					    {
 					    EAP_TRACE_DEBUG_SYMBIAN(
@@ -8243,21 +8048,9 @@
 
 					m_both_asked++;
 
-			    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-			    
-			    m_notifier_data_to_user->iPassword.Zero();
-			    
-			    if (iEapAuthNotifier == 0)
-			    	{
-			    	iEapAuthNotifier = CEapAuthNotifier::NewL( *this );
-			    	}
-			    else
-				   	{
-					 	iEapAuthNotifier->Cancel();
-			     	}
-			
-			    iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastPacFilePwQueryDialog, m_notifier_data_to_user, aEapType);
-
+					m_eap_fast_completion_status = ShowNotifierItemAndGetResponse(
+								EEapFastNotifierPacFilePwQuery, ETrue );
+					
 					if (m_eap_fast_completion_status != eap_status_ok)
 						{
 						(void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
@@ -8283,14 +8076,9 @@
 			} // End: switch(pacStoreDataRefType)			
 		}
 	} // for ()
-
 	if (m_both_asked)
-	{
 		m_eap_fast_completion_status = eap_status_pending_request;
-	}
-
-	m_info_array.ResetAndDestroy();
-
+	m_info_array.Reset();
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL-End, m_eap_fast_completion_status=%d"),
 		m_eap_fast_completion_status));			
@@ -8490,10 +8278,18 @@
 						break;		
 					}		
 					case eap_pac_store_data_type_PAC_store_password:
+					{
+						//This is not saved anywhere.
+						break;		
+					}		
 					case eap_pac_store_data_type_PAC_store_device_seed:
+					{
+						//This is not saved anywhere.
+						break;		
+					}		
 					case eap_pac_store_data_type_PAC_store_IAP_reference:
 					{
-						//These are not saved anywhere.
+						//This is not saved anywhere.
 						break;		
 					}		
 					case eap_pac_store_data_type_PAC_store_group_reference:
@@ -8683,12 +8479,10 @@
 	return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
 }
 	
-//--------------------------------------------------
-
 void eap_am_type_tls_peap_symbian_c::CompleteAddImportedPACFileL(
 		const eap_variable_data_c * const in_imported_PAC_filename,
 		const eap_variable_data_c * const out_used_group_reference)
-{
+	{
 	RFs aFs;
 	aFs.Connect( KFileServerDefaultMessageSlots );
 
@@ -8761,32 +8555,21 @@
 				(_L("eap_am_type_tls_peap_symbian_c::complete_add_imported_PAC_file: NO GROUP REFERENCE !!!!")));	
 
 		}
-
+	
 	HBufC* FilePath = HBufC::NewLC(KMaxFileName); // must be defined to correct maxs dir length
 	TPtr FilePathPtr = FilePath->Des();
 	HBufC8* FilePath8 = HBufC8::NewLC(KMaxFileName); // must be defined to correct maxs dir length
 	TPtr8 FilePathPtr8 = FilePath8->Des();
-
+	
+	_LIT8(KPacStoreSourceDir, "c:\\private\\101f8ec5\\PACGroup\\"); // in dir are dirs where from files are read
 	FilePathPtr8.Zero();
+	FilePathPtr8.Append(KPacStoreSourceDir);
 	FilePathPtr8.Append(refPtr);
 	FilePathPtr8.Append(KSeparator);
 	FilePathPtr8.Append(bufPtr);
 
-	// Copy is the only function that takes TPtr8 type of parameter.
 	FilePathPtr.Copy(FilePathPtr8);
 
-	{
-		TFileName aPrivateDatabasePathName;
-
-		EapPluginTools::GetPrivatePathL(
-			aPrivateDatabasePathName);
-
-		aPrivateDatabasePathName.Append(KPacStoreSourceDir);
-		aPrivateDatabasePathName.Append(FilePathPtr);
-
-		FilePathPtr.Copy(aPrivateDatabasePathName);
-	}
-
 	EAP_TRACE_DATA_DEBUG(
    		m_am_tools,
    		TRACE_FLAGS_DEFAULT,
@@ -8812,7 +8595,7 @@
 	CleanupStack::PopAndDestroy(ref); 
 	CleanupStack::PopAndDestroy(buf); 
 	
-}
+	}
 
 
 // ---------------------------------------------------------
@@ -8820,7 +8603,8 @@
 // ---------------------------------------------------------
 //
 void eap_am_type_tls_peap_symbian_c::ContinueInitializePacStore()
-{
+
+	{
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::ContinueInitializePacStore()")));
 
@@ -8854,7 +8638,7 @@
 			0,
 			1);
 
-}
+	}
 
 //--------------------------------------------------
 
@@ -8967,8 +8751,6 @@
 	return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
 }
 
-//--------------------------------------------------
-
 // This is commented in eap_am_fast_pac_store_services_c::cancel_PAC_store_operations().
 EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::cancel_PAC_store_operations()
 {
@@ -8994,7 +8776,9 @@
 
 //--------------------------------------------------
 
-EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::initialize_PAC_store(
+
+EAP_FUNC_EXPORT eap_status_e
+eap_am_type_tls_peap_symbian_c::initialize_PAC_store(
 	const eap_fast_completion_operation_e aCompletionOperation,
 	const eap_fast_initialize_pac_store_completion_e aCompletion )
 {
@@ -9035,7 +8819,7 @@
 		    	    }
         	    }
 		    // asynch. call, return immediately
-		    CreateDeviceSeedAsync();
+		    iPacStoreDb->CreateDeviceSeedAsynch();
 		    }
     	else
     		{
@@ -9061,121 +8845,125 @@
 // eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_starts
 // ---------------------------------------------------------------------------
 //  
-EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_starts(
+EAP_FUNC_EXPORT
+eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_starts(
 	const eap_fast_completion_operation_e provisioning_mode,
 	const eap_fast_pac_type_e pac_type )
-{
+	{
 	eap_status_e status( eap_status_ok );
 	m_provisioning_mode = provisioning_mode; // save provis. mode
-
-	TInt error(KErrNone);
-
-	TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-
-	m_notifier_data_to_user->iPassword.Zero();
-
-	if (iEapAuthNotifier == 0)
-	{
-		TRAP(error, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-		if (error)
-		{
-			return m_am_tools->convert_am_error_to_eapol_error(error);
-		}
-	}
-	else
-	{
-		TRAP(error, iEapAuthNotifier->Cancel());
-		if (error)
-		{
-			return m_am_tools->convert_am_error_to_eapol_error(error);
-		}
-	}
-
+	
+	TInt err = KErrNone;	
+	if ( !iEapFastActiveWaitNote )
+		{
+		TRAP( err, iEapFastActiveWaitNote = CEapFastActive::NewL( this ) );
+		}
+	if ( !iEapFastActiveNotes )
+		{
+		TRAP( err, iEapFastActiveNotes = CEapFastActive::NewL( this ) );
+		}
+	if ( err != KErrNone )
+		{
+		status = eap_status_allocation_error;
+		}	
+	/**
+	* The note is started in a separate active object.
+	* When user cancels waiting note,
+	* SendErrorNotification( eap_status_user_cancel_authentication )
+	* will be called in iEapFastActiveWaitNote->RunL().
+	* Otherwise note is stopped using iEapFastActiveWaitNote.Start() method.
+	*/
+	TBool startedOk = ETrue;
+	
 	if ( pac_type == eap_fast_pac_type_tunnel_pac
-		 && provisioning_mode == eap_fast_completion_operation_server_authenticated_provisioning_mode
-		 && status == eap_status_ok )
-	{
-		TRAP(error, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastStartAuthProvWaitNote, m_notifier_data_to_user, aEapType));
-		if (error)
-		{
-			return m_am_tools->convert_am_error_to_eapol_error(error);
-		}
-	}
+		 &&
+		 provisioning_mode ==
+		     eap_fast_completion_operation_server_authenticated_provisioning_mode
+		 &&
+		 status == eap_status_ok )
+		{
+		EAP_TRACE_DEBUG_SYMBIAN( ( _L("eap_am_type_tls_peap_symbian_c:: \
+				indicates_eap_fast_provisioning_starts Authenticated provisioning!")));			
+		startedOk = iEapFastActiveWaitNote->Start(
+			CEapFastActive::EEapFastActiveStartAuthProvWaitNote );
+		}
 	else if (
 		pac_type == eap_fast_pac_type_tunnel_pac
-		&& provisioning_mode == eap_fast_completion_operation_server_unauthenticated_provisioning_mode_ADHP
-	  && status == eap_status_ok )
-	{
-		TRAP(error, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastStartUnauthProvWaitNote, m_notifier_data_to_user, aEapType));
-		if (error)
-		{
-			return m_am_tools->convert_am_error_to_eapol_error(error);
-		}
-	}
-
-
-
+		&&
+		provisioning_mode ==
+	        eap_fast_completion_operation_server_unauthenticated_provisioning_mode_ADHP
+	    &&
+	    status == eap_status_ok )
+		{
+		EAP_TRACE_DEBUG_SYMBIAN(  (_L("eap_am_type_tls_peap_symbian_c:: \
+			indicates_eap_fast_provisioning_starts UnAuthenticated provisioning!")));			
+		startedOk = iEapFastActiveWaitNote->Start(
+        	CEapFastActive::EEapFastActiveStartUnauthProvWaitNote );        
+		}
+	if ( startedOk == EFalse )
+        {
+        status = eap_status_process_general_error;
+        }
+	if ( status != eap_status_ok )
+		{
+	    EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c:: \
+            indicates_eap_fast_provisioning_starts ERROR: status=%d."), status ) );
+		}
 	return status;
-}
+	}
 
 // ---------------------------------------------------------------------------
 // eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends
 // ---------------------------------------------------------------------------
 //  
-EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends(
+EAP_FUNC_EXPORT
+eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends(
     const bool provisioning_successfull,
     const eap_fast_completion_operation_e provisioning_mode,
     const eap_fast_pac_type_e pac_type )
-{	
-	EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends()")));
+	{	
+	EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c:: \
+	    indicates_eap_fast_provisioning_ends()")));
 
 	EAP_UNREFERENCED_PARAMETER(provisioning_mode);
 
-	TInt error(KErrNone);
-
 	eap_status_e status( eap_status_ok );
-
+	
 	if ( pac_type == eap_fast_pac_type_tunnel_pac )
-	{
-		// stop wait note;
-		TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-
-		m_notifier_data_to_user->iPassword.Zero();
-
-		if (iEapAuthNotifier == 0)
-		{
-			TRAP(error, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-			if (error)
-			{
-				return m_am_tools->convert_am_error_to_eapol_error(error);
-			}
-		}
-		else
-		{
-			TRAP(error, iEapAuthNotifier->Cancel());
-			if (error)
-			{
-				return m_am_tools->convert_am_error_to_eapol_error(error);
-			}
-		}
-
-		if( !provisioning_successfull )
-		{
-			TRAP(error, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastShowProvNotSuccessNote, m_notifier_data_to_user, aEapType));
-			if (error)
-			{
-				return m_am_tools->convert_am_error_to_eapol_error(error);
-			}
-		}
-	} // if ( pac_type == eap_fast_pac_type_tunnel_pac )
+		{
+	    // stop wait note;
+		if ( iEapFastActiveWaitNote )
+			{
+			if ( iEapFastActiveWaitNote->IsActive() )
+				{
+				iEapFastActiveWaitNote->Cancel();
+				}
+			delete iEapFastActiveWaitNote;
+			iEapFastActiveWaitNote = NULL;
+			}
+
+	    if ( iEapFastActiveNotes )
+		    {	    
+            if( provisioning_successfull )
+		        {
+		        // synch. call
+		        iEapFastActiveNotes->Start( CEapFastActive::
+		            EEapFastActiveShowProvSuccessNote, ETrue );
+		        }
+            else
+      	        {
+      	        // synch. call
+      	        iEapFastActiveNotes->Start( CEapFastActive::
+      	            EapFastActiveShowProvNotSuccessNote, ETrue );
+      	        }
+		    }
+		} // if ( pac_type == eap_fast_pac_type_tunnel_pac )
 
 	return status;
-}
+	}
 
 #endif //#if defined(USE_FAST_EAP_TYPE)
 
-//--------------------------------------------------
-
 #ifdef USE_PAC_STORE
 	
 void eap_am_type_tls_peap_symbian_c::GetPacStoreDbDataL(
@@ -9446,11 +9234,76 @@
 
 //--------------------------------------------------
 
-#ifdef USE_FAST_EAP_TYPE
+#if defined(USE_FAST_EAP_TYPE)
+
+eap_status_e eap_am_type_tls_peap_symbian_c::ShowNotifierItemAndGetResponse(
+	EEapFastNotifierUiItem aNotifierUiItem, TBool aSetActive )
+{
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem aNotifierUiItem=%d, ActiveStatus=%d "),
+		aNotifierUiItem, IsActive()));
+
+	if ( aSetActive && IsActive() )
+	{
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("ShowNotifierItemAndGetResponse: Already active when tried to show Notifier")));		
+		
+		return eap_status_device_busy;
+	}
+	
+	eap_status_e status( eap_status_ok );
+	
+	if( !m_is_notifier_connected )
+	{
+		TInt error = m_notifier.Connect();
+		
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem - m_notifier.Connect() returned error=%d\n"), error));
+		
+		if( error != KErrNone)
+		{
+			// Can not connect to notifier.
+			return m_am_tools->convert_am_error_to_eapol_error(error);		
+		}
+		
+		m_is_notifier_connected = ETrue; // Got connectted to notifier.
+	}
+	
+	// Update the values needed for notifier.
+	m_notifier_data_to_user->iEapFastNotifierUiItem = aNotifierUiItem;
+			
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("m_notifier_data_pckg_to_user"),
+		m_notifier_data_pckg_to_user->Ptr(),
+		m_notifier_data_pckg_to_user->Size()));
+			
+	m_notifier_data_from_user->iEapFastNotifierBuffer.Delete(0,KMaxEapFastNotifierBufLength);
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem - StartNotifierAndGetResponse")));
+
+	m_notifier.StartNotifierAndGetResponse(
+		iStatus, 
+		KEapFastNotifierUid, 
+		*m_notifier_data_pckg_to_user, 
+		*m_notifier_data_pckg_from_user);
+	
+	if ( aSetActive )
+		{
+		m_notifier_complete = ETrue;
+		SetActive();
+		}
+	    
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem - End")));
+
+	return status;
+}
+
 //--------------------------------------------------
 
 eap_status_e eap_am_type_tls_peap_symbian_c::RemoveIAPReference()
-{
+	{
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("eap_am_type_tls_peap_symbian_c::RemoveIAPReference - Start")));
 	m_eap_fast_completion_status = eap_status_ok;	
@@ -9514,12 +9367,10 @@
 		(_L("eap_am_type_tls_peap_symbian_c::RemoveIAPReference - End")));
 		
 	return m_eap_fast_completion_status;
-}
-
-//--------------------------------------------------
+	}
 
 eap_status_e eap_am_type_tls_peap_symbian_c::ImportFilesL()
-{
+	{
 
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::ImportFilesL - Start")));
@@ -9614,39 +9465,25 @@
 	TBool FileFound(EFalse);
 	
 	PathPtr8.Zero();
+	PathPtr8.Append(KPacStoreSourceDir);
 	PathPtr8.Append(group_referencePtr8);
 	PathPtr8.Append(KSeparator);
-
 	EAP_TRACE_DATA_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: Path8"),
 			PathPtr8.Ptr(),
 			PathPtr8.Size()));
-
 	PathPtr.Zero();
-	// Copy is the only function that takes TPtr8 type of parameter.
 	PathPtr.Copy(PathPtr8);
 	
-	{
-		TFileName aPrivateDatabasePathName;
-
-		EapPluginTools::GetPrivatePathL(
-			aPrivateDatabasePathName);
-
-		aPrivateDatabasePathName.Append(KPacStoreSourceDir);
-		aPrivateDatabasePathName.Append(PathPtr);
-
-		PathPtr.Copy(aPrivateDatabasePathName);
-	}
-
 	EAP_TRACE_DATA_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
 			(EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: Path"),
 			PathPtr.Ptr(),
 			PathPtr.Size()));
-
+			
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::ImportFilesL: Check directory availability")));					
 
@@ -9665,7 +9502,7 @@
 
 			directoryEmpty = false;
 
-			while( fileCounter < files->Count())
+			while( fileCounter < files->Count() || (!FileFound))
 				{
 				if (!((*files)[fileCounter].IsDir()))
 					{
@@ -9708,6 +9545,8 @@
 				                    KHandleCompletePacstoreOkTimerID, 
 				                    &m_eap_fast_completion_status,
 				                    1);
+					   	if (readData != NULL)
+					   		CleanupStack::PopAndDestroy(readData);
 					   	CleanupStack::PopAndDestroy(5); // Path, Path8, filename, buf2, group_reference8
 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
 						return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status);
@@ -9717,44 +9556,23 @@
 			else if(directoryEmpty == false &&  directoryExists == true && FileFound != EFalse)
 				{
 				PathPtr8.Zero();
+				PathPtr8.Append(KPacStoreSourceDir);
 				PathPtr8.Append(group_referencePtr8);
 				PathPtr8.Append(KSeparator);
 				PathPtr8.Append(filenamePtr8);
-
 				EAP_TRACE_DATA_DEBUG(
 						m_am_tools,
 						TRACE_FLAGS_DEFAULT,
 						(EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: Path8"),
 						PathPtr8.Ptr(),
 						PathPtr8.Size()));
-
 				PathPtr.Zero();
 				PathPtr.Copy(PathPtr8);
-
-				{
-					TFileName aPrivateDatabasePathName;
-
-					EapPluginTools::GetPrivatePathL(
-						aPrivateDatabasePathName);
-
-					aPrivateDatabasePathName.Append(KPacStoreSourceDir);
-					aPrivateDatabasePathName.Append(PathPtr);
-
-					PathPtr.Copy(aPrivateDatabasePathName);
-				}
 				
-				EAP_TRACE_DATA_DEBUG(
-						m_am_tools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: PathPtr"),
-						PathPtr.Ptr(),
-						PathPtr.Size()));
-
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::ImportFilesL: Read file")));	
 				
 				RFile file;
-
 				if(file.Open(aFs, PathPtr, EFileRead)==KErrNone)
 					{
 					readData= HBufC8::NewLC(filesize); 
@@ -9871,7 +9689,7 @@
 	                this,
 	                KHandleCompletePacstoreNokTimerID, 
 	                &m_eap_fast_completion_status,
-	                0);
+	                1);
 			}
 		else
 			{
@@ -9879,19 +9697,18 @@
 		                this,
 		                KHandleCompletePacstoreOkTimerID, 
 		                &m_eap_fast_completion_status,
-		                0);
+		                1);
 			}
 		}
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::ImportFilesL - End")));
 
 	return m_eap_fast_completion_status;
-}
+	}
 
 // ----------------------------------------------------------------------------
-
 eap_status_e eap_am_type_tls_peap_symbian_c::PasswordQueryL()
-{
+	{
 
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::PasswordQueryL")));
@@ -9942,10 +9759,8 @@
 	    	{
 	    	CleanupStack::PopAndDestroy(m_pacStorePWBuf8);
 	    	
-		    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-		    
-		    m_notifier_data_to_user->iPassword.Zero();
-	
+	    	m_eap_fast_completion_status = ShowNotifierItemAndGetResponse(
+	    		EEapFastNotifierWrongPacStorePwNote, ETrue );
 			return m_eap_fast_completion_status;
 			 	    
 	    	}
@@ -9974,33 +9789,8 @@
     					m_verificationStatus));
        	pacStorePWPtr8.Zero();
        	if (m_verificationStatus == EFalse)
-					{
-    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-    if (iEapAuthNotifier == 0)
-    	{
-    	TRAPD(err3, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-    	if (err3)
-    		{
-    			return eap_status_process_general_error;
-    		}
-    	}
-    else
-    	{
-    	TRAPD(err4, iEapAuthNotifier->Cancel());
-    	if (err4)
-    		{
-    			return eap_status_process_general_error;
-    		}
-    	}
-
-		TRAPD(err5, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastPacStorePwQueryDialog, m_notifier_data_to_user, aEapType));
-  	if (err5)
-  		{
-  			return eap_status_process_general_error;
-  		}
- 
-
-					}
+			m_eap_fast_completion_status = ShowNotifierItemAndGetResponse(
+				EEapFastNotifierPacStorePwQuery, ETrue );
 		else
 			m_eap_fast_completion_status = m_partner->set_timer(
 				this,
@@ -10022,44 +9812,19 @@
     		}
      	else // temporary before masterkey creation is done dynamically !!!
     		{
-    TEapExpandedType aEapType(*EapExpandedTypeFast.GetType());
-    if (iEapAuthNotifier == 0)
-    	{
-    	TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-	  	if (err)
-	  		{
-	  			return eap_status_process_general_error;
-	  		}
-    	}
-    else
-    	{
-    	TRAPD(err1, iEapAuthNotifier->Cancel());
-	  	if (err1)
-	  		{
-	  			return eap_status_process_general_error;
-	  		}
-    	}
-
-		TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastCreateMasterkeyQueryDialog, m_notifier_data_to_user, aEapType));
-  	if (err2)
-  		{
-  			return eap_status_process_general_error;
-  		}
-			
-
-
-				}
+        	m_eap_fast_completion_status = ShowNotifierItemAndGetResponse(
+        			EEapFastNotifierCreateMasterkeyQuery, ETrue );
+   		
+			}
     	}
 
     CleanupStack::PopAndDestroy(m_pacStorePWBuf8);
     
 	return m_eap_fast_completion_status;
-}
-
-//--------------------------------------------------
+	}
 
 eap_status_e eap_am_type_tls_peap_symbian_c::CompletePasswordQueryL()
-{
+	{
 
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::CompletePasswordQueryL")));
@@ -10132,12 +9897,10 @@
 	m_both_completed++;
 
 	return m_eap_fast_completion_status;
-}
-
-//--------------------------------------------------
+	}
 
 eap_status_e eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL(eap_status_e status)
-{
+	{
 	EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL")));
 	if (status == eap_status_ok && (m_new_references_and_data_blocks.get_object_count()>0))
@@ -10157,8 +9920,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10176,8 +9938,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10192,8 +9953,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10210,8 +9970,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10238,8 +9997,7 @@
 			EAP_TRACE_DEBUG_SYMBIAN(
 					(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 			m_ready_references_and_data_blocks.reset();
-			
-			status = m_tls_application->complete_read_PAC_store_data(
+			eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 				m_eap_fast_completion_status,
 				m_eap_fast_pac_store_pending_operation,
 				&m_references_and_data_blocks);
@@ -10257,8 +10015,7 @@
 			EAP_TRACE_DEBUG_SYMBIAN(
 					(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 			m_ready_references_and_data_blocks.reset();
-			
-			status = m_tls_application->complete_read_PAC_store_data(
+			eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 				m_eap_fast_completion_status,
 				m_eap_fast_pac_store_pending_operation,
 				&m_references_and_data_blocks);
@@ -10273,8 +10030,7 @@
 			EAP_TRACE_DEBUG_SYMBIAN(
 					(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 			m_ready_references_and_data_blocks.reset();
-			
-			status = m_tls_application->complete_read_PAC_store_data(
+			eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 				m_eap_fast_completion_status,
 				m_eap_fast_pac_store_pending_operation,
 				&m_references_and_data_blocks);
@@ -10291,8 +10047,7 @@
 			EAP_TRACE_DEBUG_SYMBIAN(
 					(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 			m_ready_references_and_data_blocks.reset();
-			
-			status = m_tls_application->complete_read_PAC_store_data(
+			eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 				m_eap_fast_completion_status,
 				m_eap_fast_pac_store_pending_operation,
 				&m_references_and_data_blocks);
@@ -10320,8 +10075,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10339,8 +10093,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10355,8 +10108,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10373,8 +10125,7 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok")));
 				m_ready_references_and_data_blocks.reset();
-				
-				status = m_tls_application->complete_read_PAC_store_data(
+				eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 					m_eap_fast_completion_status,
 					m_eap_fast_pac_store_pending_operation,
 					&m_references_and_data_blocks);
@@ -10409,7 +10160,7 @@
 		EAP_TRACE_DEBUG_SYMBIAN(
 				(_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL Reset Done")));
 		
-		status = m_tls_application->complete_read_PAC_store_data(
+		eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 			m_eap_fast_completion_status,
 			m_eap_fast_pac_store_pending_operation,
 			&m_ready_references_and_data_blocks);
@@ -10421,8 +10172,7 @@
 		m_eap_fast_completion_status = eap_status_user_cancel_authentication;
 		m_new_references_and_data_blocks.reset();
 		m_ready_references_and_data_blocks.reset();
-		
-		status = m_tls_application->complete_read_PAC_store_data(
+		eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 			m_eap_fast_completion_status,
 			m_eap_fast_pac_store_pending_operation,
 			&m_references_and_data_blocks);
@@ -10435,8 +10185,7 @@
 	m_eap_fast_completion_status = eap_status_user_cancel_authentication;
 	m_new_references_and_data_blocks.reset();
 	m_ready_references_and_data_blocks.reset();
-	
-	status = m_tls_application->complete_read_PAC_store_data(
+	eap_status_e status = m_tls_application->complete_read_PAC_store_data(
 		m_eap_fast_completion_status,
 		m_eap_fast_pac_store_pending_operation,
 		&m_references_and_data_blocks);
@@ -10458,7 +10207,7 @@
 //--------------------------------------------------
 
 eap_status_e eap_am_type_tls_peap_symbian_c::CompleteFilePasswordQueryL()
-{
+	{
 	eap_fast_pac_store_data_c * const new_data = new eap_fast_pac_store_data_c(m_am_tools);
 
 	eap_automatic_variable_c<eap_fast_pac_store_data_c> automatic_new_data(
@@ -10520,48 +10269,122 @@
 	m_both_completed++;
 	return m_eap_fast_completion_status;
 
-}
+	}
+
+// ---------------------------------------------------------
+// eap_am_type_tls_peap_symbian_c::CompleteNotifier
+// ---------------------------------------------------------
+//    
+eap_status_e eap_am_type_tls_peap_symbian_c::CompleteNotifierL()
+	{
+	eap_status_e status( eap_status_ok );
+	switch ( m_state )
+	    {
+	    case EPasswordCancel:
+	    case EPasswordQuery:
+	    case EWrongPassword:
+	    case EFilePasswordQuery:
+	    case EMasterkeyQuery:
+	    	{
+	    	EAP_TRACE_DEBUG_SYMBIAN(
+	    			(_L("m_notifier_data_pckg_from_user"),
+	    			m_notifier_data_pckg_from_user->Ptr(),
+	    			m_notifier_data_pckg_from_user->Size()));	    		
+	    	if ( iStatus.Int() == KErrCancel )
+	    		{
+	    		EAP_TRACE_DEBUG_SYMBIAN(
+	    				(_L("eap_am_type_tls_peap_symbian_c::CompleteNotifierL - User cancelled the notifier item")));
+	    		m_userAction = EEapFastNotifierUserActionCancel;	
+	    		}		
+	    	else if( iStatus.Int() != KErrNone )
+	    		{
+	    		EAP_TRACE_DEBUG_SYMBIAN(
+	    			(_L("eap_am_type_tls_peap_symbian_c::CompleteNotifierL - ERROR: Notifier error=%d"),
+	    			iStatus.Int()));	
+	    		return m_am_tools->convert_am_error_to_eapol_error(iStatus.Int());		
+	    		}
+    		EAP_TRACE_DEBUG_SYMBIAN(
+    			(_L("CompleteNotifierL - Notifier return UiItem=%d, UserAction=%d"),
+    			m_notifier_data_from_user->iEapFastNotifierUiItem,
+    			m_notifier_data_from_user->iEapFastNotifierUserAction));
+	    		
+    		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+    			("CompleteNotifierL:UserInput:",
+    			m_notifier_data_from_user->iEapFastNotifierBuffer.Ptr(), 
+    			m_notifier_data_from_user->iEapFastNotifierBuffer.Size()));
+	    			    		
+	    	if ( m_notifier_data_from_user->iEapFastNotifierBuffer.Size() > 0 )
+	    		{
+    			HBufC8* notifier_data8 = HBufC8::NewLC(m_notifier_data_from_user->iEapFastNotifierBuffer.Size());
+    			TPtr8 notifier_dataPtr8 = notifier_data8->Des();
+    			
+    			notifier_dataPtr8.Copy(m_notifier_data_from_user->iEapFastNotifierBuffer); // Unicode -> ascii.
+    			EAP_TRACE_DEBUG_SYMBIAN(
+   					(_L("eap_am_type_tls_peap_symbian_c::CompleteNotifierL ShowNotifierItem - Data copy done")));
+    		    
+    			EAP_TRACE_DATA_DEBUG_SYMBIAN(
+	    			("eap_am_type_tls_peap_symbian_c::CompleteNotifierL ShowNotifierItem:PW from UI (8bits)",
+   					notifier_dataPtr8.Ptr(), 
+   					notifier_dataPtr8.Size()));	    
+    		    
+    			status = m_userResponse.set_copy_of_buffer(
+   					notifier_dataPtr8.Ptr(),
+   					notifier_dataPtr8.Size());
+    			
+	    		CleanupStack::PopAndDestroy( notifier_data8 );
+	    		}
+	    	break;
+	    	}
+	    default:
+	    	{
+	    	EAP_TRACE_DEBUG_SYMBIAN(
+	    	    ( _L( "eap_am_type_tls_peap_symbian_c::CompleteNotifierL() m_state = %d not supported." ),
+	    	    m_state ) );
+	    	}
+	    }
+	return status;
+	}
 
 //--------------------------------------------------
 
 void eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii)
-{
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(
-		("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:From TEXT",
-		aFromUnicode.Ptr(), 
-		aFromUnicode.Size()));	
-	
-	if(aFromUnicode.Length() <= 0)
-	{
+	{
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+			("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:From TEXT",
+			aFromUnicode.Ptr(), 
+			aFromUnicode.Size()));	
+		
+		if(aFromUnicode.Length() <= 0)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT")));
+			
+			return;
+		}	
+		
 		EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT")));
-		
-		return;
-	}	
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"),
-		aFromUnicode.Length(), aFromUnicode.Size()));	
-	
-	// Convert from Unicode to ascii.
-	HBufC8* aFromUnicodeBuf8 = HBufC8::NewLC(aFromUnicode.Length()); // Half times size of source (or length) is enough here.
-	TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des();
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"),
-		aFromUnicodePtr8.Length(), aFromUnicodePtr8.Size(), aFromUnicodePtr8.MaxLength(), aFromUnicodePtr8.MaxSize()));				
-	
-	aFromUnicodePtr8.Copy(aFromUnicode); // Unicode -> ascii.
-	
-	aToAscii = aFromUnicodePtr8;	
-
-	CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8.	
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(
-		("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:To ASCII",
-		aToAscii.Ptr(), 
-		aToAscii.Size()));	
-}
+			(_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"),
+			aFromUnicode.Length(), aFromUnicode.Size()));	
+		
+		// Convert from Unicode to ascii.
+		HBufC8* aFromUnicodeBuf8 = HBufC8::NewLC(aFromUnicode.Length()); // Half times size of source (or length) is enough here.
+		TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des();
+		
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"),
+			aFromUnicodePtr8.Length(), aFromUnicodePtr8.Size(), aFromUnicodePtr8.MaxLength(), aFromUnicodePtr8.MaxSize()));				
+		
+		aFromUnicodePtr8.Copy(aFromUnicode); // Unicode -> ascii.
+		
+		aToAscii = aFromUnicodePtr8;	
+
+		CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8.	
+
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+			("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:To ASCII",
+			aToAscii.Ptr(), 
+			aToAscii.Size()));	
+	}
 
 
 // ---------------------------------------------------------
@@ -10569,7 +10392,7 @@
 // ---------------------------------------------------------
 //
 void eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL()
-{
+	{
 	/* Check validity of password against timelimit */
 	
 	EAP_TRACE_DEBUG(m_am_tools, 
@@ -10582,22 +10405,14 @@
     // get max session time
 	HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength );
 	TPtr sqlStatement = buf->Des();	
-
-	_LIT( KSqlQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" );
-
+	_LIT( KSqlQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d" );
 	sqlStatement.Format(
 		KSqlQuery,
 		&cf_str_EAP_FAST_max_session_validity_time_literal,
 		&KFastGeneralSettingsDBTableName,
-		&KServiceType,
-		m_index_type, 
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType, 
-		m_tunneling_type.get_vendor_type());
-
+		&KServiceType, m_index_type, 
+		&KServiceIndex, m_index,
+		&KTunnelingType, m_tunneling_vendor_type );	
 	TRAPD( err,  maxSessionTime =  ReadIntDbValueL(
 		m_database,
 		cf_str_EAP_FAST_max_session_validity_time_literal,
@@ -10771,7 +10586,7 @@
 			}
 		}
 	
-} // eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL()
+	} // eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL()
 
 
 // ---------------------------------------------------------
@@ -10784,7 +10599,7 @@
 	const TDesC& aTableName,
 	const TDesC& aColumnName,
 	const TDesC& aColumnDef )
-{
+	{
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL(
 		"eap_am_type_tls_peap_symbian_c::AlterTableL() IN\n" ) ) );
 	
@@ -10860,7 +10675,7 @@
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL(
 	    "eap_am_type_tls_peap_symbian_c::AlterTableL() OUT\n" ) ) );
 
-} // eap_am_type_tls_peap_symbian_c::AlterTableL()
+	} // eap_am_type_tls_peap_symbian_c::AlterTableL()
 
 
 // ---------------------------------------------------------
@@ -10868,7 +10683,7 @@
 // ---------------------------------------------------------
 //
 void eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL()
-{
+	{
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL(
 	    "eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() IN" ) ) );	
 	
@@ -10901,7 +10716,7 @@
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL(
 	    "eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() OUT" ) ) );
 	
-} // eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL()
+	} // eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL()
 
 
 // ---------------------------------------------------------
@@ -10909,7 +10724,7 @@
 // ---------------------------------------------------------
 //
 void eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL()
-{
+	{
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL(
 		"eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() IN\n" ) ) );
 	
@@ -10937,7 +10752,7 @@
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL(
 	    "eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() OUT\n" ) ) );
 
-} // eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL()
+	} // eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL()
 
 
 // ---------------------------------------------------------
@@ -10948,7 +10763,7 @@
 	RDbNamedDatabase& aDb,
 	const TDesC& aColumnName,
 	const TDesC& aSqlStatement )
-{
+    {
 	EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (
 			EAPL( "eap_am_type_tls_peap_symbian_c::ReadIntDbValueL()\n" ) ) );
     TPtrC columnName;    
@@ -10977,7 +10792,7 @@
 	CleanupStack::PopAndDestroy( &view ); // Close view.
 
 	return retVal;
-} // eap_am_type_tls_peap_symbian_c::ReadIntDbValueL
+    } // eap_am_type_tls_peap_symbian_c::ReadIntDbValueL
 
 
 // ---------------------------------------------------------
@@ -10985,7 +10800,7 @@
 // ---------------------------------------------------------
 //
 void eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL()
-{
+	{
 	/* update last password time */
 	TPtrC lastFullPasswordTimeString;
 	
@@ -11036,7 +10851,7 @@
 			EAPL("UpdatePasswordTimeL - evaluate view\n")));
 	User::LeaveIfError(view.EvaluateAll());
 	
-	// Get the first (and only) row.
+	// Get the first (and only) row for updation.
 	view.FirstL();
 	view.UpdateL();
 	
@@ -11071,12 +10886,11 @@
 	
 	/* update end */	
 	
-} // eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL()
-
-//--------------------------------------------------
+	} // eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL()
+
 
 eap_status_e eap_am_type_tls_peap_symbian_c::CreateMasterkeyL()
-{
+	{
 	HBufC8* password = HBufC8::NewLC(m_userResponse.get_data_length());
 	TPtr8 passwordPtr = password->Des();
 	m_PAC_store_password.set_copy_of_buffer(&m_userResponse);
@@ -11084,8 +10898,7 @@
 	m_eap_fast_completion_status = m_am_tools->convert_am_error_to_eapol_error(iPacStoreDb->CreateAndSaveMasterKeyL(passwordPtr));
 	CleanupStack::PopAndDestroy(password);
 	return m_eap_fast_completion_status;
-}
-
+	}
 #endif //#if defined(USE_FAST_EAP_TYPE)
 
 
@@ -11096,9 +10909,10 @@
 // eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()
 // ------------------------------------------------------------------------
 //
-EAP_FUNC_EXPORT bool eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()
-{
-    EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()" )));    
+EAP_FUNC_EXPORT
+bool eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()
+	{
+    DEBUG( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()" );    
 
     TBool isValid = EFalse;
     TInt err = KErrNone;
@@ -11107,7 +10921,8 @@
     TRAP( err, isValid = IsTtlsPapSessionValidL() );
     if ( err != KErrNone )
 	    {
-	    EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid(): Leave, err==%d."), err ));
+	    DEBUG1( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid() ERROR: \
+	        Leave, err==%d.", err );
 	    retVal = false;
 	    }
     else
@@ -11115,140 +10930,48 @@
     	retVal = ( isValid ) ? true : false;
     	}
     return retVal;
-}
+	}
 
 // ------------------------------------------------------------------------
 // eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password()
 // ------------------------------------------------------------------------
 //    
-EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(
+EAP_FUNC_EXPORT eap_status_e
+eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(
 	const eap_variable_data_c * const aInSrvChallengeUtf8 )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password()" )));    
-
-	eap_status_e status( eap_status_pending_request );
-	TEapExpandedType aEapType(*EapExpandedTypeTtlsPap.GetType());
-
-	m_notifier_data_to_user->iUsername.Zero();
-	m_notifier_data_to_user->iPassword.Zero();
-	m_notifier_data_to_user->iUidata.Zero();
-
-	if ((aInSrvChallengeUtf8 != NULL) && (aInSrvChallengeUtf8->get_data_length() != 0))
-	{
-		const TPtrC8 utf8(
-			aInSrvChallengeUtf8->get_data(),
-			aInSrvChallengeUtf8->get_data_length()*2); // Length in bytes
-
-		CnvUtfConverter::ConvertToUnicodeFromUtf8(m_notifier_data_to_user->iUidata, utf8);
-
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iUidata"),
-			m_notifier_data_to_user->iUidata.Ptr(),
-			m_notifier_data_to_user->iUidata.Size()));
-
-		m_state = EPapChallenge;
-		TEapExpandedType aEapType(*EapExpandedTypeTtlsPap.GetType());
-
-		if (iEapAuthNotifier == 0)
-		{
-			TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-			if (err)
-			{
-				return eap_status_process_general_error;
-			}
-		}
-
-		TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypePapChallengeDialog, m_notifier_data_to_user, aEapType));
-		if (err1)
-		{
-			return eap_status_process_general_error;
-		}
-	}
-	else
-	{
-		m_state = EPapUserNameAndPassword;
-
-		TTtlsPapDbInfo aInDbInfo;
-		TRAPD(err2, ReadTtlsPapDbL(aInDbInfo));
-		if (err2)
-		{
-			return eap_status_process_general_error;
-		}
-
-		m_notifier_data_to_user->iPasswordPromptEnabled = aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled;
-
-		if (m_notifier_data_to_user->iPasswordPromptEnabled
-			|| aInDbInfo.iUsrPwdInfo.iUserName.Size() == 0
-			|| aInDbInfo.iUsrPwdInfo.iPassword.Size() == 0)
-		{
-			if (aInDbInfo.iUsrPwdInfo.iUserName.Size() == 0)
-			{
-				m_notifier_data_to_user->iUsername.Zero();
-			}
-			else
-			{
-				m_notifier_data_to_user->iUsername = aInDbInfo.iUsrPwdInfo.iUserName;
-			}
-
-			m_notifier_data_to_user->iPassword.Zero();
-
-			TRAPD(err3,SetTtlsPapColumnToNullL( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ));
-			if (err3)
-			{
-				return eap_status_process_general_error;
-			}
-
-			if (iEapAuthNotifier == 0)
-			{
-				TRAPD(err4, iEapAuthNotifier = CEapAuthNotifier::NewL( *this ));
-				if (err4)
-				{
-					return eap_status_process_general_error;
-				}
-			}
-			else
-			{
-				TRAPD(err5,iEapAuthNotifier->Cancel());
-				if (err5)
-				{
-					return eap_status_process_general_error;
-				}
-			}
-
-			TRAPD(err6, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypePapUsernamePasswordDialog, m_notifier_data_to_user, aEapType));
-			if (err6)
-			{
-				return eap_status_process_general_error;
-			}
-		}
-		else
-		{
-			m_notifier_data_to_user->iUsername = aInDbInfo.iUsrPwdInfo.iUserName;
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iUserName"),
-				m_notifier_data_to_user->iUsername.Ptr(),
-				m_notifier_data_to_user->iUsername.Size()));
-
-			m_notifier_data_to_user->iPassword = aInDbInfo.iUsrPwdInfo.iPassword;
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iPassword"),
-				m_notifier_data_to_user->iPassword.Ptr(),
-				m_notifier_data_to_user->iPassword.Size()));
-
-			DlgComplete(KErrNone);
-		}
-	}
-
+    {
+    DEBUG( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password()" );    
+	
+    eap_status_e status( eap_status_pending_request );
+
+    if ( !iEapTtlsPapActive )
+    	{
+    	TRAPD( err, iEapTtlsPapActive = CEapTtlsPapActive::NewL(
+    		this, m_am_tools ) );
+    	if ( err != KErrNone )
+    		{
+            DEBUG1( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password() \
+            	ERROR: CEapTtlsPapActive::NewL(), err=%d.", err );    
+    	    return ConvertAmErrorToEapolError( err );
+    		}
+    	}
+    if ( aInSrvChallengeUtf8 != NULL )
+    	{
+        iEapTtlsPapActive->UpdateSrvChallenge( *aInSrvChallengeUtf8 );
+    	}
+    TBool startedOk = iEapTtlsPapActive->Start(
+    	CEapTtlsPapActive::EEapTtlsPapActiveQueryUserNameAndPassword );
+	if ( !startedOk )
+        {
+        status = eap_status_process_general_error;
+        }
+	if ( status != eap_status_pending_request )
+		{
+        DEBUG( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password() \
+        	ERROR: status != eap_status_pending_request" );    
+		}
 	return status;
-}
+    }
 
 // ================= TTLS-PAP public not exported =======================
 
@@ -11256,13 +10979,14 @@
 // eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()
 // ------------------------------------------------------------------------
 //    
-eap_status_e eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password(
+eap_status_e
+eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password(
 	const eap_variable_data_c * const /*aUserName*/,
 	const eap_variable_data_c * const /*aUserPassword*/ )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()" );
 	return eap_status_not_supported;
-}
+	}
 
 // ================= TTLS-PAP public new =======================
 
@@ -11270,12 +10994,13 @@
 // eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()
 // ------------------------------------------------------------------------
 //    
-eap_status_e eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(
+eap_status_e
+eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(
 	eap_status_e aStatus,
 	const TDesC8& aUserNameUtf8,
 	const TDesC8& aPasswordUtf8 )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()" );
 	
 	eap_status_e retStatus = aStatus;
 	eap_status_e tmpStatus = eap_status_ok;
@@ -11297,14 +11022,15 @@
 		}
 	if ( m_tls_am_partner == NULL )
 		{
-		EAP_TRACE_DEBUG_SYMBIAN((_L( "ERROR: eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(): m_tls_am_partner is NULL." )));
+		DEBUG( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword() \
+			ERROR: m_tls_am_partner is NULL." );
         return eap_status_process_general_error;
 		}
 	retStatus = m_tls_am_partner->
 	    complete_query_ttls_pap_username_and_password(
 		    &userNameUtf8, &passwordUtf8, retStatus );	
 	return retStatus;
-} // eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(
+	} // eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(
 
 
 // ------------------------------------------------------------------------
@@ -11313,14 +11039,14 @@
 //    
 eap_status_e
 eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError( TInt aErr )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError()" );
     if ( m_am_tools )
     	{
     	return m_am_tools->convert_am_error_to_eapol_error( aErr );
     	}
 	return eap_status_process_general_error;
-}
+	}
 
 
 // ------------------------------------------------------------------------
@@ -11334,8 +11060,8 @@
 //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time	| BIGINT		   	| KTTLSPAPLastFullAuthTime	                             |//
 void eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL(
 	TTtlsPapDbInfo& aOutDbInfo )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()" );
 	
 	HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength );
 	TPtr sqlStatement = buf->Des();
@@ -11372,35 +11098,12 @@
 			// columns reading	
 			aOutDbInfo.iUsrPwdInfo.iPasswordPromptEnabled = view.ColUint(
 				colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) );
-
-			{
-				TPtrC username = view.ColDes(
-					colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) );
-
-				aOutDbInfo.iUsrPwdInfo.iUserName.Copy(username); 
-
-				EAP_TRACE_DATA_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL(): iUserName"),
-					aOutDbInfo.iUsrPwdInfo.iUserName.Ptr(),
-					aOutDbInfo.iUsrPwdInfo.iUserName.Size()));
-			}
-			
-			{
-				TPtrC password = view.ColDes(
-					colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) );
-
-				 aOutDbInfo.iUsrPwdInfo.iPassword.Copy(password);
-
-
-				EAP_TRACE_DATA_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL(): iPassword"),
-					aOutDbInfo.iUsrPwdInfo.iPassword.Ptr(),
-					aOutDbInfo.iUsrPwdInfo.iPassword.Size()));
-			}
+			
+			aOutDbInfo.iUsrPwdInfo.iUserName = view.ColDes(
+				colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) );
+			
+			aOutDbInfo.iUsrPwdInfo.iPassword = view.ColDes(
+				colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) );
 			
 			aOutDbInfo.iMaxSessionTime = view.ColInt64(
 				colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal ) );
@@ -11413,7 +11116,7 @@
 	CleanupStack::PopAndDestroy( &view ); // Close view.
 	CleanupStack::PopAndDestroy( buf ); // Delete buf.
 	
-} // eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()
+	} // eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()
 
 
 // ------------------------------------------------------------------------
@@ -11427,8 +11130,8 @@
 //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time	| BIGINT		   	| KTTLSPAPLastFullAuthTime	                             |//
 void eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL(
 	const TTtlsPapDbInfo& aInDbInfo )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()" );
 	
 	
 	HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength );
@@ -11436,24 +11139,17 @@
 	
 	// Query all the relevant parameters
 	_LIT( KSQLQuery,
-		"SELECT %S, %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" );
-
-	sqlStatement.Format(
-		KSQLQuery,
+		"SELECT %S, %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d" );
+	sqlStatement.Format( KSQLQuery,
 		&cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal,           // select´
 		&cf_str_EAP_TLS_PEAP_ttls_pap_username_literal,                  // select
 		&cf_str_EAP_TLS_PEAP_ttls_pap_password_literal,                  // select
 		&cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal, // select
 		&KTTLSPAPLastFullAuthTime,                                       // select
 		&KTtlsDatabaseTableName,                                         // from
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType,
-		m_tunneling_type.get_vendor_type());
+		&KServiceType, m_index_type,                                     // where %S=%d
+		&KServiceIndex, m_index,                                         // where %S=%d
+		&KTunnelingType, m_tunneling_vendor_type );                      // where %S=%d
 	
 	RDbView view;
 	// Evaluate view
@@ -11475,24 +11171,10 @@
 			cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
 			aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled );
 
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL(): iUserName" ),
-			aInDbInfo.iUsrPwdInfo.iUserName.Ptr(),
-			aInDbInfo.iUsrPwdInfo.iUserName.Size() ) );
-
 		view.SetColL( colSet->ColNo(
 			cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ),
 			aInDbInfo.iUsrPwdInfo.iUserName );
 
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL(): iPassword" ),
-			aInDbInfo.iUsrPwdInfo.iPassword.Ptr(),
-			aInDbInfo.iUsrPwdInfo.iPassword.Size() ) );
-
 		view.SetColL( colSet->ColNo(
 			cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ),
 			aInDbInfo.iUsrPwdInfo.iPassword );
@@ -11513,7 +11195,7 @@
 	CleanupStack::PopAndDestroy( &view ); // Close view.
 	CleanupStack::PopAndDestroy( buf ); // Delete buf.
 	
-} // eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()
+	} // eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()
 
 
 // ------------------------------------------------------------------------
@@ -11521,28 +11203,21 @@
 // ------------------------------------------------------------------------
 //
 void eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL( const TDesC& aColName )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::SetColumnNullL()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::SetColumnNullL()" );
 
 	HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength );
 	TPtr sqlStatement = buf->Des();
 	
 	// Query all the relevant parameters
 	_LIT( KSQLQuery,
-		"SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" );
-
-	sqlStatement.Format(
-		KSQLQuery,
+		"SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d" );
+	sqlStatement.Format( KSQLQuery,
 		&aColName,                                  // select´
 		&KTtlsDatabaseTableName,                    // from
-		&KServiceType,
-		m_index_type,
-		&KServiceIndex,
-		m_index,
-		&KTunnelingTypeVendorId,
-		m_tunneling_type.get_vendor_id(),
-		&KTunnelingType,
-		m_tunneling_type.get_vendor_type());
+		&KServiceType, m_index_type,                // where %S=%d
+		&KServiceIndex, m_index,                    // where %S=%d
+		&KTunnelingType, m_tunneling_vendor_type ); // where %S=%d
 	
 	RDbView view;
 	// Evaluate view
@@ -11570,7 +11245,7 @@
 	CleanupStack::PopAndDestroy( &view ); // Close view.
 	CleanupStack::PopAndDestroy( buf ); // Delete buf.
 	
-} // eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL()
+	} // eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL()
 
 
 // ================= TTLS-PAP private =======================
@@ -11580,8 +11255,8 @@
 // ------------------------------------------------------------------------
 //
 TBool eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()" );
 
 	TTtlsPapDbInfo dbInfo;
 	TInt err = KErrNone;
@@ -11591,7 +11266,8 @@
 	
     if 	( err != KErrNone )
         {
-        EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL(): Leave happened, err=%d."), err ));
+        DEBUG1( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() ERROR: \
+        	Leave happened, err=%d.", err );
         retValue = EFalse;
         }
     else
@@ -11602,7 +11278,8 @@
 			// one read from configuration file.
 		    if( dbInfo.iMaxSessionTime == 0 )
 	            {
-	            EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() Using max TTLS PAP session validity time from config file." )));
+	            DEBUG( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() \
+	                	Using max TTLS PAP session validity time from config file." );
 			
 				// use value from config file
 				dbInfo.iMaxSessionTime = iEapTtlsPapMaxSessionConfigTime;
@@ -11613,7 +11290,7 @@
 		    }
     	}	
 	return retValue;
-}  // eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()
+	}  // eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()
 
 
 // ------------------------------------------------------------------------
@@ -11623,8 +11300,8 @@
 TBool eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity(
 	const TInt64& aInMaxSessionTime,
 	const TInt64& aInLastFullAuthTime )
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity()" )));
+	{
+	DEBUG( "eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity()" );
 	
 	// Get the current time.
 	TTime currentTime;
@@ -11694,93 +11371,7 @@
 		
 		return EFalse;	
 	    }
-} // eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity
-
-//--------------------------------------------------
-#if defined(USE_FAST_EAP_TYPE)
-
-TInt eap_am_type_tls_peap_symbian_c::CreateMMETelConnectionL()
-{
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-    EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Creating MMETel connection.\n")));
-
-    TInt errorCode = KErrNone;
-    
-    // MMETel need to be connected only once.    
-    if( !iMMETELConnectionStatus )
-    {
-        RTelServer::TPhoneInfo phoneInfo;
-        TInt phoneCount = 0;
-
-        // Connect to ETel server
-        User::LeaveIfError( iServer.Connect() );    
-        
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Connected to ETel server.\n")));    
-
-        // This function loads an ETel TSY module, mmtsy.
-        errorCode = iServer.LoadPhoneModule( KMmTsyModuleName );    
-        
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Loaded phone module.\n")));     
-        
-        if ( errorCode != KErrNone && errorCode != KErrAlreadyExists )
-        {
-            User::Leave( errorCode );
-        }
-
-        iServer.SetExtendedErrorGranularity( RTelServer::EErrorExtended );
-
-        // This function retrieves the total number of phones supported by all 
-        // the currently loaded ETel (TSY) modules.
-        User::LeaveIfError( iServer.EnumeratePhones( phoneCount ) );    
-        
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Number of phones supported by the loaded ETel = %d.\n"), phoneCount));
-        
-        // This function retrieves information associated with the specified phone
-        while ( ( phoneCount-- ) && ( phoneInfo.iName != KMmTsyPhoneName ) ) 
-        { 
-            User::LeaveIfError( iServer.GetPhoneInfo( phoneCount, phoneInfo ) );        
-            
-            EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got phone info.\n")));
-        } 
-
-        // This function opens a phone subsession by name. ("DefaultPhone").
-        User::LeaveIfError( iPhone.Open( iServer, phoneInfo.iName ) );  
-        
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Opened phone subsession.\n")));
-        
-        // MMETel connected and the phone module loaded fine.   
-        iMMETELConnectionStatus = ETrue;    
-    }
-    else
-    {
-        // MMETel already connected.
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("MMETel connected once already.\n")));
-    }
-        
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    
-    return errorCode;   
-}
-
-//--------------------------------------------------
-
-void eap_am_type_tls_peap_symbian_c::DisconnectMMETel()
-{
-    if( iMMETELConnectionStatus )
-    {
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Closing RMobilePhone and MMETEL.\n")));
-        
-        iPhone.Close();
-        iServer.Close(); // Phone module is unloaded automatically when RTelServer session is closed
-        
-        iMMETELConnectionStatus = EFalse;
-    }
-    else
-    {
-        EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("RMobilePhone and MMETEL already closed.\n")));      
-    }   
-}
-#endif
-//--------------------------------------------------
+	} // eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity
+
 
 // End of file.
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,23 +16,21 @@
 */
 
 /*
-* %version: 27 %
+* %version: 17.1.2 %
 */
 
 #ifndef _EAPTLSPEAP_H_
 #define _EAPTLSPEAP_H_
 
 // INCLUDES
-#include <EapTypePlugin.h>
+#include <EapType.h>
 #include "eap_header.h"
-#if defined(USE_FAST_EAP_TYPE)
-#include "tls_application_eap_fast.h"
-#endif
+
 // CLASS DECLARATION
 /**
 * Class that implements the generic EAP type interface. Implements EAP TLS protocol.
 */
-class CEapTlsPeap : public CEapTypePlugin
+class CEapTlsPeap : public CEapType
 {
 public:		
 
@@ -122,13 +120,16 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 	
-
+	/**
+	* Invokes the configuration UI.
+	**/
+	TInt InvokeUiL();
 	
 	/**
 	* Gets information about EAP type. 
 	* @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack.
 	*/
-	CEapTypeInfo* GetInfoL();
+	CEapTypeInfo* GetInfoLC();
 	
 	/**
 	* Deletes EAP type configuration
@@ -150,7 +151,7 @@
 	* EAP type. 
 	* @param aTunnelingType Type number for the tunneling type
 	*/	
-	void SetTunnelingType(const TEapExpandedType aTunnelingType);
+	void SetTunnelingType(const TInt aTunnelingType);
 
 	/**
 	* Changes the index of the saved parameters.
@@ -185,12 +186,7 @@
 	* Constructor initialises member variables.
 	*/
 	CEapTlsPeap(const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aEapType);
-
-#if defined(USE_FAST_EAP_TYPE)
-	tls_application_eap_fast_c* GetTlsInterfaceL(abs_eap_am_tools_c* const aTools, 
-											   const bool is_client_when_true,
-											   const eap_am_network_id_c * const receive_network_id);	
-#endif
+	
 private:
 
 #ifdef USE_PAC_STORE
@@ -217,16 +213,6 @@
 	
 	// EAP array for deleting and changing index
 	RImplInfoPtrArray iEapArray;
-	
-#if defined(USE_FAST_EAP_TYPE)
-	tls_application_eap_fast_c* iApplication;
-#endif	
-		/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-	
-	eap_base_type_c* iType;
-
-
 };
 
 #endif // _EAPTLSPEAP_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13.1.2 %
 */
 
 #ifndef _EAPTLSPEAPCERTFETCHER_H_
@@ -29,16 +29,14 @@
 #include "EapTlsPeapUtils.h"
 
 
-class CAbsEapCertificateFetcher;
+class CEapTlsPeapUiCertificates;
 
 // CLASS DECLARATION
 class CEapTlsPeapCertFetcher 
 : public CActive
 {
-
 public:
-
-	static CEapTlsPeapCertFetcher* NewL(CAbsEapCertificateFetcher* const aParent);
+	static CEapTlsPeapCertFetcher* NewL(CEapTlsPeapUiCertificates* const aParent);	
 	
 	virtual ~CEapTlsPeapCertFetcher();	
 	
@@ -46,11 +44,11 @@
 
 	// DON'T USE THESE. ONLY USED FOR EapTlsPeapUtils.
 	static CEapTlsPeapCertFetcher* NewL();	
-	void GetSymbianSubjectKeyIdL( TDes8& aSubjectKeyId, EapCertificateEntry aCertEntry );
+	void GetSymbianSubjectKeyIdL( TDes8& aSubjectKeyId, CertificateEntry aCertEntry );
 	
 protected:
 	
-	CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher* const aParent);
+	CEapTlsPeapCertFetcher(CEapTlsPeapUiCertificates* const aParent);
 	
 	void ConstructL();
 	
@@ -63,23 +61,19 @@
 	// DON'T USE THIS. ONLY USED FOR EapTlsPeapUtils.
 	CEapTlsPeapCertFetcher();	
 
-	void InitializeQuery();
-
 private:
 
 	enum TState
 	{
-		EGetCertificatesNone,
 		EGetCertificatesInitStore,
 		EGetCertificatesGetCertList,
-		EGetCertificatesGetUserCertList,
 		EGetCertificatesRetrieveCert,
 		EGetSymbianSubjectKeyId // DON'T USE THIS. ONLY USED FOR EapTlsPeapUtils.		
 	};
 	
 	TState iState;
 	
-	CAbsEapCertificateFetcher* const iParent;
+	CEapTlsPeapUiCertificates* const iParent;
 
 	RMPointerArray<CCTCertInfo> iCertInfos;
 	
@@ -89,15 +83,16 @@
 
 	CCertAttributeFilter* iCertFilter;
 
-	RPointerArray<EapCertificateEntry> iUserCerts;
+	RArray<SCertEntry> iUserCerts;
+	
+	RArray<SCertEntry> iCACerts;
 	
-	RPointerArray<EapCertificateEntry> iCACerts;
-	
+    // For wrapping asynchronous calls.
+    CActiveSchedulerWait iWait;
+    
 	HBufC8* iEncodedCertificate;
 	TPtr8 iCertPtr;
 
-	TCertificateOwnerType iOwnertype;
-	TInt iCertInfoIndex;
 	
 }; 
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,19 +16,82 @@
 */
 
 /*
-* %version: 36.1.8 %
+* %version: 39 %
 */
 
 #if !defined(_EAPTLSPEAPDBDEFAULTS_H_)
 #define _EAPTLSPEAPDBDEFAULTS_H_
 
-#include "EapPluginDbDefaults.h"
-#include "tls_peap_types.h"
+enum TTLSPEAPUseManualRealm 
+{
+	ETLSPEAPUseManualRealmNo,		// False. Don't use Manual Realm.
+	ETLSPEAPUseManualRealmYes,		// True. Use Manual Realm.
+};
+
+enum TTLSPEAPUseManualUsername 
+{
+	ETLSPEAPUseManualUsernameNo,		// False. Don't use Manual Username.
+	ETLSPEAPUseManualUsernameYes,		// True. Use Manual Username.
+};
+
+enum TTLSPEAPVerifyCertRealm 
+{
+	ETLSPEAPVerifyCertRealmNo,		// False. Don't Verify Certificate Realm.
+	ETLSPEAPVerifyCertRealmYes,		// True. Verify Certificate Realm.
+};
+
+enum TTLSPEAPServerAuthenticatesClientPolicy
+{
+	ETLSPEAPServerAuthenticatesClientPolicyNo,		// False.
+	ETLSPEAPServerAuthenticatesClientPolicyYes,		// True.
+};
+
+enum TTLSPEAPTLSPrivacy
+{
+	ETLSPEAPTLSPrivacyNo,		// False. TLS Privacy OFF.
+	ETLSPEAPTLSPrivacyYes,		// True. TLS Privacy ON.
+};
+
+#ifdef USE_FAST_EAP_TYPE		
+
+enum TFASTAuthProvModeAllowed
+{
+	EFASTAuthProvModeAllowedNo,			// False. Authenticated provisioning mode NOT allowed.
+	EFASTAuthProvModeAllowedYes,		// True. Authenticated provisioning mode allowed.
+};
+
+enum TFASTUnauthProvModeAllowed
+{
+	EFASTUnauthProvModeAllowedNo,		// False. Unauthenticated provisioning mode NOT allowed.
+	EFASTUnauthProvModeAllowedYes,		// True. Unauthenticated provisioning mode allowed.
+};
+
+enum TFASTWarnADHPNoPAC
+{
+	EFASTWarnADHPNoPACNo,		// False. Warnings or prompts NOT allowed.
+	EFASTWarnADHPNoPACYes,		// True. Warnings or prompts allowed.
+};
+
+enum TFASTWarnADHPNoMatchingPAC
+{
+	EFASTWarnADHPNoMatchingPACNo,		// False. Warnings or prompts NOT allowed.
+	EFASTWarnADHPNoMatchingPACYes,		// True. Warnings or prompts allowed.
+};
+
+enum TFASTWarnNotDefaultServer
+{
+	EFASTWarnNotDefaultServerNo,		// False. Warnings or prompts NOT allowed.
+	EFASTWarnNotDefaultServerYes,		// True. Warnings or prompts allowed.
+};
+
+#endif //#ifdef USE_FAST_EAP_TYPE
 
 // LOCAL CONSTANTS
-const TInt default_EAP_TLS_PEAP_use_manual_realm = EEapDbFalse;
+const TInt default_EAP_TLS_PEAP_use_manual_realm = ETLSPEAPUseManualRealmNo;
+_LIT(default_EAP_TLS_PEAP_manual_realm, "");
 
-const TInt default_EAP_TLS_PEAP_use_manual_username = EEapDbFalse;
+const TInt default_EAP_TLS_PEAP_use_manual_username = ETLSPEAPUseManualUsernameNo;
+_LIT(default_EAP_TLS_PEAP_manual_username, "");
 
 const TInt default_EAP_TLS_PEAP_cipher_suite = tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA;
 
@@ -40,22 +103,23 @@
 const TInt default_EAP_TLS_server_authenticates_client = 1;
 const TInt default_EAP_PEAP_TTLS_server_authenticates_client = 0;
 
-_LIT(default_CA_cert_label, "");
-_LIT(default_client_cert_label, "");
+_LIT(default_CA_cert_label, "rsaca.eapsim.foo");
+_LIT(default_client_cert_label, "rsaclient@eapsim.foo");
 
 const TInt default_EAP_TLS_PEAP_verify_certificate_realm = 0;
 
-const TUint default_EAP_TLS_PEAP_TTLS_Privacy = EEapDbFalse;
+const TUint default_EAP_TLS_PEAP_TLS_Privacy = ETLSPEAPTLSPrivacyNo;
 
-const TUint default_EAP_TLS_PEAP_use_automatic_ca_certificate = EEapDbTrue;
+const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file.
+const TInt64 default_FullAuthTime = 0;
 
 // Defaults for EAP-FAST specific items
 #ifdef USE_FAST_EAP_TYPE
-const TUint default_EAP_FAST_Auth_Prov_Mode_Allowed = EEapDbFalse; // Default is NO
-const TUint default_EAP_FAST_Unauth_Prov_Mode_Allowed = EEapDbFalse; // Default is NO
-const TUint default_EAP_FAST_Warn_ADHP_No_PAC = EEapDbTrue; // Default is YES
-const TUint default_EAP_FAST_Warn_ADHP_No_Matching_PAC = EEapDbTrue; // Default is YES
-const TUint default_EAP_FAST_Warn_Not_Default_Server = EEapDbTrue; // Default is YES
+const TUint default_EAP_FAST_Auth_Prov_Mode_Allowed = EFASTAuthProvModeAllowedNo; // Default is NO
+const TUint default_EAP_FAST_Unauth_Prov_Mode_Allowed = EFASTUnauthProvModeAllowedNo; // Default is NO
+const TUint default_EAP_FAST_Warn_ADHP_No_PAC = EFASTWarnADHPNoPACNo; // Default is NO
+const TUint default_EAP_FAST_Warn_ADHP_No_Matching_PAC = EFASTWarnADHPNoMatchingPACNo; // Default is NO
+const TUint default_EAP_FAST_Warn_Not_Default_Server = EFASTWarnNotDefaultServerNo; // Default is NO
 #endif //#ifdef USE_FAST_EAP_TYPE
 
 // Add here the cipher suites you want to be allowed by default. Note that the last
@@ -82,6 +146,8 @@
 	0
 };
 
+const TUint KMaxManualUsernameLengthInDB = 255;
+const TUint KMaxManualRealmLengthInDB = 255;
 const TUint KMaxCertLabelLengthInDB = 255;
 const TUint KMaxSubjectKeyIdLengthInDB = 255; // Not using KKeyIdentifierLength (EapSettings.h) as this is
 											 // Symbian's subjectkey id (hash of actual subjectkey id), though the lengths are same.
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 20.1.4 %
+* %version: 23 %
 */
 
 #if !defined(_EAPTLAPEAPDBPARAMETERNAMES_H_)
@@ -28,9 +28,8 @@
 
 _LIT(KServiceType, "ServiceType");
 _LIT(KServiceIndex, "ServiceIndex");
-_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId");
 _LIT(KTunnelingType, "TunnelingType");
-_LIT(KCACertLabel, "CA_cert_label");
+_LIT(KCACertLabelOld, "CA_cert_label");
 _LIT(KClientCertLabel, "client_cert_label");
 _LIT(KCertLabel, "label");
 _LIT(KCipherSuite, "cipher_suite");
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 8 %
 */
 
 #ifndef _EAPTLSPEAPGLOBAL_H_
@@ -27,9 +27,9 @@
 
 // LOCAL CONSTANTS
 
-_LIT(KReleaseDate, "");
+_LIT(KReleaseDate, "20040829:");
 _LIT(KEapTypeVersion, "1.0");
-_LIT(KManufacturer, "");
+_LIT(KManufacturer, "Nokia");
 _LIT(KNokiaSignature, "");
 _LIT(KExtraInfo1, "");
 _LIT(KExtraInfo2, "");
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 37 %
+* %version: 22.1.2 %
 */
 
 #ifndef _EAPTLSPEAPUTILS_H_
@@ -26,24 +26,58 @@
 #include <d32dbms.h>
 #include <EapType.h>
 #include "eap_am_tools_symbian.h"
-#include <EapSettings.h>
+#include <CertEntry.h>
 
 #include <unifiedcertstore.h>
 #include <mctwritablecertstore.h>
 
+#ifndef USE_EAP_EXPANDED_TYPES
+// This dependencay is needed only for non-expanded EAP types.
+#include <wdbifwlansettings.h>
+#endif //#ifndef USE_EAP_EXPANDED_TYPES
+
 #include "eap_type_tls_peap_types.h"
 #include "eap_header.h"
 
 // LOCAL CONSTANTS
 
-// For EAP-TLS, EAP-PEAP, EAP-TTLS, EAP-FAST private database. Database will be in the private folder of EAP-server (20026FCB).
-// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h.
+#ifdef USE_EAP_EXPANDED_TYPES
+
+// Size of Expanded EAP Type
+const TUint8 KExpandedEAPTypeSize = 8;
+
+struct SExpandedEAPType
+{
+	// Unique ID for an expanded EAp type.
+	// This includes, Type (1 byte), Vendor-Id (3bytes) and Vendor-Type (4bytes).
+	TBuf8<KExpandedEAPTypeSize>    iExpandedEAPType;
+};
+
+typedef RPointerArray<SExpandedEAPType> RExpandedEapTypePtrArray;
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
-_LIT(KTlsDatabaseName, "eaptls.dat");
-_LIT(KPeapDatabaseName, "eappeap.dat");
-_LIT(KTtlsDatabaseName, "eapttls.dat");
-_LIT(KFastDatabaseName, "eapfast.dat");
+#ifdef SYMBIAN_SECURE_DBMS
+// For EAP TLS, PEAP, TTLS, FAST secure databases.
+// Full path is not needed. The database eaptls.dat will be saved in the 
+// data cage path for DBMS. So it will be in "\private\100012a5\eaptls.dat" in C: drive.
+// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h.
+
+_LIT(KTlsDatabaseName, "c:eaptls.dat");
+_LIT(KPeapDatabaseName, "c:eappeap.dat");
+_LIT(KTtlsDatabaseName, "c:eapttls.dat");
+_LIT(KFastDatabaseName, "c:eapfast.dat");
 
+_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy.
+
+#else
+
+_LIT(KTlsDatabaseName, "c:\\system\\data\\eaptls.dat");
+_LIT(KPeapDatabaseName, "c:\\system\\data\\eappeap.dat");
+_LIT(KTtlsDatabaseName, "c:\\system\\data\\eapttls.dat");
+_LIT(KFastDatabaseName, "c:\\system\\data\\eapfast.dat");
+
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 // For TLS.
 _LIT(KTlsDatabaseTableName, "eaptls");
@@ -72,20 +106,18 @@
 
 enum TAlterTableCmd
 {
-	EAddColumn,
-	ERemoveColumn
+EAddColumn,
+ERemoveColumn
 };
 
 // CLASS DECLARATION
 class EapTlsPeapUtils 
 {
-
 public:	
-
 	static void OpenDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
-		const TIndexType aIndexType,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType,
 		eap_type_value_e aEapType);
@@ -142,7 +174,7 @@
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType,
-		RPointerArray<EapCertificateEntry>& aArray);
+		RArray<SCertEntry>& aArray);
 
 	static void ReadUintRowsToArrayL(
 		RDbNamedDatabase& aDatabase,
@@ -154,12 +186,14 @@
 		const eap_type_value_e aTunnelingType,
 		RArray<TUint>& aArray);
 
+#ifdef USE_EAP_EXPANDED_TYPES
+	
 	// Stores the tunneled EAP type (expanded) to the database.
 	static void SetTunnelingExpandedEapDataL(
 		RDbNamedDatabase& aDatabase,
 		eap_am_tools_symbian_c * const aTools,
-		RPointerArray<TEapExpandedType> &aEnabledEAPArrary,
-		RPointerArray<TEapExpandedType> &aDisabledEAPArrary,
+		RExpandedEapTypePtrArray &aEnabledEAPArrary,
+		RExpandedEapTypePtrArray &aDisabledEAPArrary,
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType,
@@ -169,18 +203,42 @@
 	static void GetTunnelingExpandedEapDataL(
 		RDbNamedDatabase& aDatabase,
 		eap_am_tools_symbian_c * const aTools,
-		RPointerArray<TEapExpandedType> &aEnabledEAPArrary,
-		RPointerArray<TEapExpandedType> &aDisabledEAPArrary,
+		RExpandedEapTypePtrArray &aEnabledEAPArrary,
+		RExpandedEapTypePtrArray &aDisabledEAPArrary,
 		const TIndexType aIndexType,
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType,
 		const eap_type_value_e aEapType);
 
+#else // For normal EAP types.
+
+	// This sets only the tunneling EAP types.
+	static void SetEapDataL(
+		RDbNamedDatabase& aDatabase,
+		eap_am_tools_symbian_c * const aTools,
+		TEapArray &aEaps,
+		const TIndexType aIndexType,
+		const TInt aIndex,
+		const eap_type_value_e aTunnelingType,
+		const eap_type_value_e aEapType);
+	
+	// This gets only the tunneling EAP types.	
+	static void GetEapDataL(
+		RDbNamedDatabase& aDatabase,
+		eap_am_tools_symbian_c * const aTools,
+		TEapArray &aEaps,
+		const TIndexType aIndexType,
+		const TInt aIndex,
+		const eap_type_value_e aTunnelingType,
+		const eap_type_value_e aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	static TBool CompareTCertLabels(
 		const TCertLabel& item1, 
 		const TCertLabel& item2);
 
-	static TBool CompareSCertEntries(const EapCertificateEntry& item1, const EapCertificateEntry& item2);
+	static TBool CompareSCertEntries(const SCertEntry& item1, const SCertEntry& item2);
 
 	static TBool CipherSuiteUseRSAKeys(tls_cipher_suites_e aCipherSuite);
 
@@ -207,38 +265,35 @@
 		const eap_variable_data_c * const aDbColumnValue);		
 
 private:
-
 	static void OpenTlsDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
-		const TIndexType aIndexType,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
 
 	static void OpenPeapDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
-		const TIndexType aIndexType,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
 
 #if defined(USE_TTLS_EAP_TYPE)
-
 	static void OpenTtlsDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
-		const TIndexType aIndexType,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
-
 #endif // #if defined(USE_TTLS_EAP_TYPE)
 
 #if defined(USE_FAST_EAP_TYPE)
 
 	static void OpenFastDatabaseL(
-		RDbNamedDatabase& aDatabase,
-		RFs& aFileServerSession,
-		const TIndexType aIndexType,
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
 		const TInt aIndex,
 		const eap_type_value_e aTunnelingType);
 
@@ -248,10 +303,6 @@
 		RDbNamedDatabase& aDatabase, 
 		TDesC& aTableName);	
 
-	static TInt FilterEapMethods(
-		RPointerArray<TEapExpandedType> * const aEAPTypes,
-		RPointerArray<TEapExpandedType> * const aPlugins);
-
 private:
 
 	static void AlterTableL(
@@ -260,6 +311,7 @@
 			const TDesC& aTableName,
 			const TDesC& aColumnName,
 			const TDesC& aColumnDef );
+
 };
 
 #endif // _EAPTLSPEAPUTILS_H_
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 19.1.2 %
+* %version: 22 %
 */
 
 //  INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 67 %
+* %version: 35.1.3 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -35,26 +35,31 @@
 #include "EapTlsPeapGlobal.h"
 #include <EapTypeInfo.h>
 
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsUi.h>
+#include <EapPeapUi.h>
+#if defined(USE_TTLS_EAP_TYPE)
+	#include <EapTtlsUi.h>
+#endif
+
 #if defined(USE_FAST_EAP_TYPE)
+#include <eapfastui.h>
 #include "tls_application_eap_fast.h"
 #endif 
 
 #include "eap_am_type_tls_peap_symbian.h"
 #include "eap_type_tls_peap.h"
 #include "tls_record.h"
-#include "dummy_eap_core.h"
 #include "eap_core.h"
 #include "tls_application_eap_core.h"
 #include "eap_am_tools_symbian.h"
-#include "EapTraceSymbian.h"
-#include "EapConversion.h"
-#include "EapExpandedType.h"
+#include "eap_am_trace_symbian.h"
 
 #ifdef USE_PAC_STORE
 #include "pac_store_db_symbian.h"
 #endif
 
-#include "eapol_key_types.h"
+#include <papui.h>
 
 // LOCAL CONSTANTS
 
@@ -62,10 +67,6 @@
 // common for all three plug-in interfaces.
 const TUint KInterfaceVersion = 1;
 
-#if defined(USE_FAST_EAP_TYPE)
-	const u8_t EAP_RAS_SOURCE[] = "ras_src";
-	const u8_t EAP_RAS_DESTINATION[] = "ras_des";
-#endif //#if defined(USE_FAST_EAP_TYPE)
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -77,77 +78,14 @@
 , iIndex(aIndex)
 , iEapType(aEapType)
 , iTunnelingType(eap_type_none)
-#if defined(USE_FAST_EAP_TYPE)
-, iApplication(NULL)
-#endif
-, m_am_tools(abs_eap_am_tools_c::new_abs_eap_am_tools_c())
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CEapTlsPeap()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::CEapTlsPeap()\n"));
-
-	if (m_am_tools == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return;
-	}
 
-#if defined(USE_FAST_EAP_TYPE)
-	if(iEapType == eap_type_fast)
-	{
-		eap_variable_data_c source(m_am_tools);
-
-		eap_status_e status = source.set_copy_of_buffer(
-			EAP_RAS_SOURCE,
-			sizeof(EAP_RAS_SOURCE));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::CEapTlsPeap(): status = %s\n"),
-				eap_status_string_c::get_status_string(status)));
-			return;
-		}
-
-		eap_variable_data_c destination(m_am_tools);
+#ifdef USE_EAP_EXPANDED_TYPES
 
-		status = destination.set_copy_of_buffer(
-			EAP_RAS_DESTINATION,
-			sizeof(EAP_RAS_DESTINATION));
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::CEapTlsPeap(): status = %s\n"),
-				eap_status_string_c::get_status_string(status)));
-			return;
-		}
+	ASSERT(iEapType.get_vendor_id() == eap_type_vendor_id_ietf);
+	ASSERT(iTunnelingType.get_vendor_id() == eap_type_vendor_id_ietf);
 
-		eap_am_network_id_c dummy_id(m_am_tools, &source, &destination, eapol_ethernet_type_pae);
-	
-		if (dummy_id.get_is_valid() == false)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::NewPeapL() dummy_id not valid\n")));
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return;
-		}
-	
-		if (dummy_id.get_is_valid_data() == false)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::NewPeapL() dummy_id data not valid\n")));
-			EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-			return;
-		}
-	
-		
-		TRAPD(err, iApplication = GetTlsInterfaceL(
-			m_am_tools, 
-			true,
-			&dummy_id));
-		if (err)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::NewPeapL() iApplication couldn't be created\n")));
-				
-		}
-	}
-#endif //#if defined(USE_FAST_EAP_TYPE)
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 }
 
@@ -155,9 +93,6 @@
 
 CEapTlsPeap* CEapTlsPeap::NewTlsL(SIapInfo *aIapInfo)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewTlsL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewTlsL()\n"));
-
 	return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_tls);
 }
 
@@ -165,9 +100,6 @@
 
 CEapTlsPeap* CEapTlsPeap::NewPeapL(SIapInfo *aIapInfo)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewPeapL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewPeapL()\n"));
-
 	return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_peap);
 }
 
@@ -177,9 +109,6 @@
 
 CEapTlsPeap* CEapTlsPeap::NewTtlsL(SIapInfo *aIapInfo)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewTtlsL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewTtlsL()\n"));
-
 	return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_ttls);
 }
 
@@ -195,11 +124,8 @@
 
 CEapTlsPeap* CEapTlsPeap::NewTtlsPapL( SIapInfo* aIapInfo )
     {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewTtlsPapL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewTtlsPapL()\n"));
-
 	return new (ELeave) CEapTlsPeap(
-		aIapInfo->indexType, aIapInfo->index, eap_expanded_type_ttls_plain_pap.get_type() );    
+		aIapInfo->indexType, aIapInfo->index, eap_type_ttls_plain_pap );    
     }
 
 
@@ -209,9 +135,6 @@
 
 CEapTlsPeap* CEapTlsPeap::NewFastL(SIapInfo *aIapInfo)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewFastL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewFastL()\n"));
-
 	return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_fast);
 }
 
@@ -221,187 +144,9 @@
 
 CEapTlsPeap::~CEapTlsPeap()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::~CEapTlsPeap()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::~CEapTlsPeap()\n"));
-
 	iEapArray.ResetAndDestroy();
-	
-	if (iType != NULL)
-		{
-		iType->shutdown();
-		// type deletes all
-		delete iType;
-		iType = NULL;
-		}
-		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::~CEapTlsPeap() iType deleted\n")));
-
-#if defined(USE_FAST_EAP_TYPE)
-	if (iApplication != NULL)
-		{
-//		iApplication->shutdown();
-//		delete iApplication;
-		iApplication = NULL;
-		}
-#endif //#if defined(USE_FAST_EAP_TYPE)
-		
-	abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
 }
 
-#if defined(USE_FAST_EAP_TYPE)
-// ----------------------------------------------------------
-tls_application_eap_fast_c* CEapTlsPeap::GetTlsInterfaceL(abs_eap_am_tools_c* const aTools, 
-											   const bool is_client_when_true,
-											   const eap_am_network_id_c * const receive_network_id)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetTlsInterfaceL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetTlsInterfaceL()\n"));
-
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("CEapTlsPeap::GetTlsInterfaceL -Start- iIndexType=%d, iIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
-		iIndexType,iIndex, iTunnelingType.get_vendor_type(), iEapType.get_vendor_type()));
-
-	// Create adaptation layer
-	eap_am_type_tls_peap_symbian_c* amEapType;
-	tls_record_c* record;
-
-	eap_core_c* const eap_core = reinterpret_cast<eap_core_c *> (new dummy_eap_core_c(
-		aTools,
-		0,
-		is_client_when_true,
-		receive_network_id,
-		true));
-	if (eap_core == 0)
-	{
-		// Out of memory
-		User::Leave(KErrNoMemory);
-	} 
-	else if (eap_core->get_is_valid() == false)
-	{
-		// Out of memory
-		eap_core->shutdown();
-		delete eap_core;
-		User::Leave(KErrGeneral);
-	}
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("CEapTlsPeap::GetTlsInterfaceL - created eap_core_c \n")));
-
-	amEapType = eap_am_type_tls_peap_symbian_c::NewL(
-		aTools,
-		eap_core,
-		iIndexType,
-		iIndex,
-		iTunnelingType,
-		iEapType,
-		is_client_when_true,
-		receive_network_id);
-	if (amEapType->get_is_valid() == false)
-	{
-		amEapType->shutdown();
-		delete amEapType;
-		User::Leave(KErrGeneral);
-	}
-	
-	amEapType->configure();
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("CEapTlsPeap::GetTlsInterfaceL - created eap_am_type_tls_peap_symbian_c \n")));
-
-	tls_application_eap_fast_c* application = 0;
-		
-	if(iEapType == eap_type_fast)
-	{
-		application = new tls_application_eap_fast_c(
-			aTools,
-			eap_core,
-			true,
-			is_client_when_true,
-			iEapType,
-			receive_network_id,
-			amEapType);
-		
-		if (application)
-			{
-			application->configure();
-		
-			EAP_TRACE_DEBUG_SYMBIAN(
-				(_L("CEapTlsPeap::GetTlsInterfaceL - created tls_application_eap_fast_c \n")));			
-			application->start_initialize_PAC_store();
-			}
-	}
-
-
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("CEapTlsPeap::GetTlsInterfaceL - Creating tls_record_c \n")));
-
-	record = new tls_record_c(
-		aTools,
-		amEapType,
-		false,
-		application,
-		true,
-		is_client_when_true,
-		iEapType,
-		receive_network_id);		
-	if (record == 0)
-	{
-		// Out of memory
-		// application takes care of eap_core_c deletion
-		application->shutdown();
-		delete application;
-		amEapType->shutdown();
-		delete amEapType;
-		User::Leave(KErrGeneral);		
-	}
-	else if (record->get_is_valid() == false)
-	{
-		// Out of memory
-		// record takes care of application deletion
-		record->shutdown();
-		delete record;
-		amEapType->shutdown();
-		delete amEapType;
-		User::Leave(KErrGeneral);					
-	}	
-
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("CEapTlsPeap::GetTlsInterfaceL - Creating the OS independent portion - eap_type_tls_peap_c \n")));
-	
-	// Create the OS independent portion
-	
-	iType = new eap_type_tls_peap_c(
-		aTools, 
-		eap_core, 
-		amEapType, 
-		true, 
-		record, 
-		true, 
-		is_client_when_true, 
-		iEapType, 
-		receive_network_id);	
-	if (iType == 0)
-	{
-		// Out of memory
-		// record takes care of application deletion
-		record->shutdown();
-		delete record;
-		amEapType->shutdown();
-		delete amEapType;
-		User::Leave(KErrNoMemory);							
-	}
-	else if(iType->get_is_valid() == false)
-	{
-		iType->shutdown();
-		// type deletes all
-		delete iType;
-		iType = NULL;
-		User::Leave(KErrGeneral);		
-	}
-	
-	return application;
-}
-#endif
 // ----------------------------------------------------------
 
 #ifdef USE_EAP_SIMPLE_CONFIG
@@ -421,12 +166,19 @@
 	
 #endif // #ifdef USE_EAP_SIMPLE_CONFIG
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetStackInterfaceL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetStackInterfaceL()\n"));
-
+#ifdef USE_EAP_EXPANDED_TYPES
+	
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("CEapTlsPeap::GetStackInterfaceL -Start- iIndexType=%d, iIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
 		iIndexType,iIndex, iTunnelingType.get_vendor_type(), iEapType.get_vendor_type()));
+	
+#else
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("CEapTlsPeap::GetStackInterfaceL -Start- iIndexType=%d, iIndex=%d, iTunnelingType=%d, iEapType=%d \n"),
+		iIndexType, iIndex, iTunnelingType, iEapType));
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	// Create adaptation layer
 	eap_am_type_tls_peap_symbian_c* amEapType;
@@ -633,15 +385,107 @@
 }
 
 // ----------------------------------------------------------
-
-CEapTypeInfo* CEapTlsPeap::GetInfoL()
+TInt CEapTlsPeap::InvokeUiL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetInfoL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetInfoL()\n"));
+	TInt buttonId(0);
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("CEapTlsPeap::InvokeUiL -Start- iIndexType=%d, iIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+		iIndexType,iIndex, iTunnelingType.get_vendor_type(), iEapType.get_vendor_type()));
+
+	CEapTlsPeapUiConnection uiConn(iIndexType, iIndex, 
+									iTunnelingType.get_vendor_type(), iEapType.get_vendor_type());
+	
+#else
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("CEapTlsPeap::InvokeUiL -Start- iIndexType=%d, iIndex=%d, iTunnelingType=%d, iEapType=%d \n"),
+		iIndexType, iIndex, iTunnelingType, iEapType));
+
+    CEapTlsPeapUiConnection uiConn(iIndexType, iIndex, iTunnelingType, iEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("CEapTlsPeap::InvokeUiL Created UI connection \n")));
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	switch (iEapType.get_vendor_type())
+	
+#else
+
+	switch (iEapType)
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	{
+	case eap_type_tls:
+		{
+			CEapTlsUi* tls_ui = CEapTlsUi::NewL(&uiConn);	
+			CleanupStack::PushL(tls_ui);
+			buttonId = tls_ui->InvokeUiL();
+			CleanupStack::PopAndDestroy(tls_ui);	
+		}
+		break;
 
+	case eap_type_peap:
+		{
+			CEapPeapUi* peap_ui = CEapPeapUi::NewL(&uiConn, iIndexType, iIndex);
+			CleanupStack::PushL(peap_ui);
+			buttonId = peap_ui->InvokeUiL();
+			CleanupStack::PopAndDestroy(peap_ui);
+		}
+		break;
+
+#if defined (USE_TTLS_EAP_TYPE)
+	case eap_type_ttls:
+		{
+			CEapTtlsUi* ttls_ui = CEapTtlsUi::NewL(&uiConn, iIndexType, iIndex);
+			CleanupStack::PushL(ttls_ui);
+			buttonId = ttls_ui->InvokeUiL();
+			CleanupStack::PopAndDestroy(ttls_ui);
+		}
+		break;
+#endif
+
+#if defined (USE_FAST_EAP_TYPE)
+	case eap_type_fast:
+		{
+			CEapFastUi* fast_ui = CEapFastUi::NewL(&uiConn, iIndexType, iIndex);
+			CleanupStack::PushL(fast_ui);
+			buttonId = fast_ui->InvokeUiL();
+			CleanupStack::PopAndDestroy(fast_ui);
+		}
+		break;
+#endif
+		
+	case eap_type_ttls_plain_pap:
+	    {
+	        CPapUi* papUi = CPapUi::NewL( &uiConn );
+	        CleanupStack::PushL( papUi );
+	        buttonId = papUi->InvokeUiL();
+	        CleanupStack::PopAndDestroy( papUi );
+	    }
+	    break;
+
+	default:
+		// Should never happen
+		User::Leave(KErrArgument);
+	}
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("CEapTlsPeap::InvokeUiL -End-\n")));
+	
+	return buttonId;
+}
+// ----------------------------------------------------------
+CEapTypeInfo* CEapTlsPeap::GetInfoLC()
+{
 	CEapTypeInfo* info = new(ELeave) CEapTypeInfo((TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion,
 												   (TDesC&)KManufacturer);
-
+	CleanupStack::PushL(info);
 	return info;
 }
 
@@ -649,11 +493,17 @@
 
 void CEapTlsPeap::DeleteConfigurationL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::DeleteConfigurationL()\n"));
-
+#ifdef USE_EAP_EXPANDED_TYPES
+	
 	TUint aTunnelingVendorType = iTunnelingType.get_vendor_type();
 	TUint aEapVendorType = iEapType.get_vendor_type();
+	
+#else
+	
+	TUint aTunnelingVendorType = static_cast<TUint>(iTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(iEapType);
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL:Start:iIndexType=%d,iIndex=%d,TunnelingType=%d,EapType=%d"),
 			iIndexType, iIndex, aTunnelingVendorType, aEapVendorType));
@@ -669,7 +519,7 @@
 		|| iEapType == eap_type_fast
 #endif		
 
-		|| iEapType == eap_expanded_type_ttls_plain_pap.get_type()
+		|| iEapType == eap_type_ttls_plain_pap
 
 
 	) 
@@ -679,14 +529,14 @@
 			
 		for (TInt i = 0; i < iEapArray.Count(); i++)
 		{
-			if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) 
-				|| (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i]))
+			if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) 
+				|| (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i]))
 				
 #ifdef USE_FAST_EAP_TYPE
-				|| (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i]))
+				|| (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i]))
 #endif						
 
-				|| (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i]))
+				|| (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i]))
 					
 
 			)
@@ -696,14 +546,16 @@
 				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL: Deleting encapsulated types for EAP type=%d"),
 						aEapVendorType));
 			
-				CEapTypePlugin* eapType;
+				CEapType* eapType;
 			
-				TEapExpandedType expandedCue = iEapArray[i]->DataType();
+#ifdef USE_EAP_EXPANDED_TYPES		
+			
+				TBuf8<KExpandedEAPTypeSize> expandedCue = iEapArray[i]->DataType();
 			
 				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::DeleteConfigurationL: Expanded cue:",
-					expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size()));
+				expandedCue.Ptr(), expandedCue.Size()));
 			
-				eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex);
+				eapType = CEapType::NewL(expandedCue, iIndexType, iIndex);
 				
 				if(eapType == NULL)
 				{
@@ -711,14 +563,7 @@
 					User::Leave(KErrNotFound);
 				}
 				
-//				eapType->SetTunnelingType(iEapType.get_vendor_type());						
-			    TEapExpandedType aExpandedType;
-			    
-                TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-			            &iEapType,
-			            &aExpandedType);
-
-			    eapType->SetTunnelingType(aExpandedType);
+				eapType->SetTunnelingType(iEapType.get_vendor_type());						
 
 #ifdef USE_FAST_EAP_TYPE
 				
@@ -749,7 +594,29 @@
 				}
 				
 #endif // #ifdef USE_FAST_EAP_TYPE
+#endif // USE_EAP_EXPANDED_TYPES		
 	
+
+#ifndef USE_EAP_EXPANDED_TYPES		
+//#else // For normal EAP types.
+			
+				TBuf8<3> cue = iEapArray[i]->DataType();
+
+				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::DeleteConfigurationL: cue:",
+						cue.Ptr(), cue.Size()));
+
+				eapType = CEapType::NewL(cue, iIndexType, iIndex);	
+
+				if(eapType == NULL)
+					{
+						EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL: Ecom Error - No specified EAP plugin")) );
+						User::Leave(KErrNotFound);
+					}
+				
+				eapType->SetTunnelingType(iEapType);					
+
+#endif //#ifndef USE_EAP_EXPANDED_TYPES
+								
 				EAP_TRACE_DEBUG_SYMBIAN(
 						(_L("CEapTlsPeap::DeleteConfigurationL: PushL(...)")));	
 				
@@ -772,43 +639,41 @@
 
 TUint CEapTlsPeap::GetInterfaceVersion()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetInterfaceVersion()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetInterfaceVersion()\n"));
-
 	return KInterfaceVersion;
 }
 
 // ----------------------------------------------------------
 
-void CEapTlsPeap::SetTunnelingType(const TEapExpandedType aTunnelingType)
-    {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetTunnelingType()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetTunnelingType()\n"));
+void CEapTlsPeap::SetTunnelingType(const TInt aTunnelingType)
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	// Vendor id is eap_type_vendor_id_ietf always in this plugin.
+	iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType);
 
-    EAP_TRACE_DATA_DEBUG_SYMBIAN(
-        (EAPL("CEapTlsPeap::SetTunnelingType - tunneling type"),
-        aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length()));
-    
-    eap_type_value_e aInternalType;
-    
-    TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType(
-            &aTunnelingType,
-            &aInternalType);
-    
-    iTunnelingType = aInternalType;
-    }
+#else
+
+	iTunnelingType = static_cast<eap_type_value_e>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+}
 
 // ----------------------------------------------------------
-
 void CEapTlsPeap::SetIndexL(
 		const TIndexType aIndexType, 
 		const TInt aIndex)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetIndexL()\n"));
-
+#ifdef USE_EAP_EXPANDED_TYPES
+	
 	TUint aTunnelingVendorType = iTunnelingType.get_vendor_type();
 	TUint aEapVendorType = iEapType.get_vendor_type();
+	
+#else
+	
+	TUint aTunnelingVendorType = static_cast<TUint>(iTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(iEapType);
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL:Start: Old: iIndexType=%d,iIndex=%d,TunnelingType=%d,EapType=%d"),
 			iIndexType, iIndex, aTunnelingVendorType, aEapVendorType));
@@ -833,16 +698,13 @@
 	
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
 
+    EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
+	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-    EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
-
+	
 	TPtrC settings;
 	TPtrC usercerts;
 	TPtrC cacerts;
@@ -852,49 +714,68 @@
 	TPtrC fastSpecialSettings;
 #endif
 	
-	if (iEapType == eap_type_tls)
-	{
-		settings.Set(KTlsDatabaseTableName);
-		usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
-	}
-	else if (iEapType == eap_type_peap)
-	{
-		settings.Set(KPeapDatabaseTableName);
-		usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
-	}
-#if defined (USE_TTLS_EAP_TYPE)
-	else if (iEapType == eap_type_ttls)
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	switch (iEapType.get_vendor_type())
+	
+#else
+
+	switch (iEapType)
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 	{
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-	}
+	case eap_type_tls:
+		{
+			settings.Set(KTlsDatabaseTableName);
+			usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			settings.Set(KPeapDatabaseTableName);
+			usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
+#if defined (USE_TTLS_EAP_TYPE)
+	case eap_type_ttls:
+		{
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
 #endif
+
 #ifdef USE_FAST_EAP_TYPE
-	else if (iEapType == eap_type_fast)
-	{
-		settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
-		fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
+	case eap_type_fast:
+		{
+			settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
+			fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
+			
+			usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KFastAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);			
+		}
+		break;
+#endif		
+
+	case eap_type_ttls_plain_pap:
+		{
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
 		
-		usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KFastAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);			
-	}
-#endif		
-	else if (iEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-	}
-	else
-	{
+	default:
 		// Should never happen
 		User::Leave(KErrArgument);
 	}	
@@ -980,10 +861,7 @@
 #endif // End: #ifdef USE_FAST_EAP_TYPE
 		
 	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session.
 	
 	//////// Encapsulated types
 
@@ -994,7 +872,7 @@
 		|| iEapType == eap_type_fast
 #endif				
 
-		|| iEapType == eap_expanded_type_ttls_plain_pap.get_type()
+		|| iEapType == eap_type_ttls_plain_pap
 			
 
 	)
@@ -1004,14 +882,14 @@
 				
 		for (TInt i = 0; i < iEapArray.Count(); i++)
 		{
-			if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) 
-				|| (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i]))
+			if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) 
+				|| (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i]))
 
 #ifdef USE_FAST_EAP_TYPE
-				|| (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i]))
+				|| (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i]))
 #endif										
 
-				|| (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i]))
+				|| (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i]))
 										
 
 			)
@@ -1022,14 +900,16 @@
 				EAP_TRACE_DEBUG_SYMBIAN(
 		    		(_L("EapTlsPeapUtils::SetIndexL - Setting the index to encapsulated EAP types\n")));	
 				
-				CEapTypePlugin* eapType;
+				CEapType* eapType;
 			
-				TEapExpandedType expandedCue = iEapArray[i]->DataType();
+#ifdef USE_EAP_EXPANDED_TYPES		
+			
+				TBuf8<KExpandedEAPTypeSize> expandedCue = iEapArray[i]->DataType();
 			
 				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::SetIndexL: Expanded cue:",
-					expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size()));
+				expandedCue.Ptr(), expandedCue.Size()));
 			
-				eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex);
+				eapType = CEapType::NewL(expandedCue, iIndexType, iIndex);
 
 				if(eapType == NULL)
 				{
@@ -1037,14 +917,17 @@
 					User::Leave(KErrNotFound);
 				}				
 				
-			    TEapExpandedType aExpandedType;
-			    
-			    eap_type_value_e value = iEapType;//.get_vendor_type();
-			    TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-			            &value,
-			            &aExpandedType);
+				eapType->SetTunnelingType(iEapType.get_vendor_type());						
 
-			    eapType->SetTunnelingType(aExpandedType);						
+#else // For normal EAP types.
+			
+				TBuf8<3> cue = iEapArray[i]->DataType();
+			
+				eapType = CEapType::NewL(cue, iIndexType, iIndex);	
+				
+				eapType->SetTunnelingType(iEapType);					
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 				CleanupStack::PushL(eapType);
 				
@@ -1064,25 +947,17 @@
 		(_L("EapTlsPeapUtils::SetIndexL - End\n")));		
 }
 
-// ----------------------------------------------------------
-
 void CEapTlsPeap::SetConfigurationL(const EAPSettings& aSettings)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetConfigurationL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetConfigurationL()\n"));
-
 	RDbNamedDatabase db;
 
-	RFs session;
-
+	RDbs session;	
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
+	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
 
 	EapTlsPeapUtils::SetConfigurationL(
 		db,
@@ -1092,32 +967,20 @@
 		iTunnelingType,
 		iEapType);		
 		
-	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
-// ----------------------------------------------------------
-
 void CEapTlsPeap::GetConfigurationL(EAPSettings& aSettings)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetConfigurationL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetConfigurationL()\n"));
-
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	// This also creates the IAP entry if it doesn't exist
+	EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetConfigurationL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	// This also creates the IAP entry if it doesn't exist
-	EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
 
 	EapTlsPeapUtils::GetConfigurationL(
 		db,
@@ -1128,23 +991,24 @@
 		iEapType);
 		
 	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 }
 
-// ----------------------------------------------------------
-
 void CEapTlsPeap::CopySettingsL(
 	const TIndexType aDestinationIndexType,
 	const TInt aDestinationIndex)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::CopySettingsL()\n"));
-
+#ifdef USE_EAP_EXPANDED_TYPES
+	
 	TUint aTunnelingVendorType = iTunnelingType.get_vendor_type();
 	TUint aEapVendorType = iEapType.get_vendor_type();
+	
+#else
+	
+	TUint aTunnelingVendorType = static_cast<TUint>(iTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(iEapType);
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL:Start:iIndexType=%d,iIndex=%d,TunnelingType=%d,EapType=%d"),
 			iIndexType, iIndex, aTunnelingVendorType, aEapVendorType));
@@ -1165,16 +1029,13 @@
 	
 	RDbNamedDatabase db;
 
-	RFs session;
+	RDbs session;
+	
+	EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
 	
 	CleanupClosePushL(session);
 	CleanupClosePushL(db);
-	TInt error = session.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL(): - session.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType);
-
+	
 	TPtrC settings;
 	TPtrC usercerts;
 	TPtrC cacerts;
@@ -1184,49 +1045,68 @@
 	TPtrC fastSpecialSettings;
 #endif
 	
-	if (iEapType == eap_type_tls)
-	{
-		settings.Set(KTlsDatabaseTableName);
-		usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
-	}
-	else if (iEapType == eap_type_peap)
-	{
-		settings.Set(KPeapDatabaseTableName);
-		usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
-	}
-#if defined (USE_TTLS_EAP_TYPE)
-	else if (iEapType == eap_type_ttls)
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	switch (iEapType.get_vendor_type())
+	
+#else
+
+	switch (iEapType)
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 	{
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-	}
+	case eap_type_tls:
+		{
+			settings.Set(KTlsDatabaseTableName);
+			usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			settings.Set(KPeapDatabaseTableName);
+			usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
+#if defined (USE_TTLS_EAP_TYPE)
+	case eap_type_ttls:
+		{
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
 #endif
-	else if (iEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-	}
+
+	case eap_type_ttls_plain_pap:
+		{
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+		
 #ifdef USE_FAST_EAP_TYPE
-	else if (iEapType == eap_type_fast)
-	{
-		settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
-		fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
-		
-		usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KFastAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);			
-	}
+	case eap_type_fast:
+		{
+			settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
+			fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
+			
+			usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KFastAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);			
+		}
+		break;
 #endif		
-	else
-	{
+
+	default:
 		// Should never happen
 		User::Leave(KErrArgument);
 	}	
@@ -1312,10 +1192,7 @@
 #endif // End: #ifdef USE_FAST_EAP_TYPE	
 	
 	db.Close();
-	session.Close();
-
-	CleanupStack::PopAndDestroy(&db);
-	CleanupStack::PopAndDestroy(&session);
+	CleanupStack::PopAndDestroy(2); // db, session
 	
 	//////// Copy Encapsulated types
 	
@@ -1327,7 +1204,7 @@
 		|| iEapType == eap_type_fast
 #endif						
 
-		|| iEapType == eap_expanded_type_ttls_plain_pap.get_type()
+		|| iEapType == eap_type_ttls_plain_pap
 						
 
 	)
@@ -1340,27 +1217,29 @@
 				
 		for (TInt i = 0; i < iEapArray.Count(); i++)
 		{
-			if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) 
-				|| (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i]))
+			if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) 
+				|| (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i]))
 
 #ifdef USE_FAST_EAP_TYPE
-				|| (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i]))
+				|| (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i]))
 #endif										
 
-				|| (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i]))
+				|| (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i]))
 									
 			)
 			{
 				// Copying the settings of encapsulated EAP type configurations possible inside PEAP and TTLS.
 			
-				CEapTypePlugin* eapType;
+				CEapType* eapType;
 			
-				TEapExpandedType expandedCue = iEapArray[i]->DataType();
+#ifdef USE_EAP_EXPANDED_TYPES		
+			
+				TBuf8<KExpandedEAPTypeSize> expandedCue = iEapArray[i]->DataType();
 			
 				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::CopySettingsL: Expanded cue:",
-					expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size()));
+				expandedCue.Ptr(), expandedCue.Size()));
 			
-				eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex);
+				eapType = CEapType::NewL(expandedCue, iIndexType, iIndex);
 				
 				if(eapType == NULL)
 				{
@@ -1368,16 +1247,18 @@
 					User::Leave(KErrNotFound);
 				}
 				
-                TEapExpandedType aExpandedType;
-                
-                TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-                        &iEapType,
-                        &aExpandedType);
+				eapType->SetTunnelingType(iEapType.get_vendor_type());						
 
-                eapType->SetTunnelingType(aExpandedType);
+#else // For normal EAP types.
+			
+				TBuf8<3> cue = iEapArray[i]->DataType();
+			
+				eapType = CEapType::NewL(cue, iIndexType, iIndex);	
+				
+				eapType->SetTunnelingType(iEapType);					
 
-                //eapType->SetTunnelingType(iEapType.get_vendor_type());						
-
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+				
 				CleanupStack::PushL(eapType);
 				
 				eapType->CopySettingsL(aDestinationIndexType, aDestinationIndex);
@@ -1395,17 +1276,12 @@
 
 }
 
-// ----------------------------------------------------------
-
 #ifdef USE_PAC_STORE
 
 void CEapTlsPeap::UpdatePacStoreCleanupTableL(const TIndexType aIndexType,
 	const TInt aIndex, 
 	const eap_type_value_e aTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::UpdatePacStoreCleanupTableL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::UpdatePacStoreCleanupTableL()\n"));
-
 	EAP_TRACE_DEBUG_SYMBIAN(
 	(_L("CEapTlsPeap::UpdatePacStoreCleanupTableL: Start")));
 	
@@ -1434,11 +1310,10 @@
 			
 	EAP_TRACE_DEBUG_SYMBIAN(
 	(_L("CEapTlsPeap::UpdatePacStoreCleanupTableL: End")));	
-
+	User::Leave(KErrNone);
 }
 
 #endif // #ifdef USE_PAC_STORE
 
-// ----------------------------------------------------------
 // End of file
 
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 31 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -32,8 +32,7 @@
 
 #include "EapTlsPeapCertFetcher.h"
 #include <EapTlsPeapUiCertificates.h>
-#include <EapTraceSymbian.h>
-#include <AbsEapCertificateFetcher.h>
+#include "eap_am_trace_symbian.h"
 
 #include <x509cert.h>
 #include <X509CertNameParser.h>
@@ -42,11 +41,8 @@
 
 // ================= MEMBER FUNCTIONS =======================
 
-CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher* const aParent)
+CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL(CEapTlsPeapUiCertificates* const aParent)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher)\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher)\n"));
-
 	CEapTlsPeapCertFetcher* self = new(ELeave) CEapTlsPeapCertFetcher(aParent);
 	CleanupStack::PushL(self);
 	self->ConstructL();
@@ -59,9 +55,6 @@
 // DON'T USE THIS FUNCTION. THIS IS ONLY FOR EapTlsPeapUtils. 	
 CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::NewL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::NewL()\n"));
-
 	CEapTlsPeapCertFetcher* self = new(ELeave) CEapTlsPeapCertFetcher();
 	CleanupStack::PushL(self);
 
@@ -90,18 +83,12 @@
 
 //--------------------------------------------------
 
-CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher* const aParent)
+CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CEapTlsPeapUiCertificates* const aParent)
 : CActive(CActive::EPriorityStandard)
-, iState(EGetCertificatesNone)
 , iParent(aParent)
 , iEncodedCertificate(0)
 , iCertPtr(0,0)
-, iOwnertype(EUserCertificate)
-, iCertInfoIndex(0)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher)\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher)\n"));
-
 }
 
 //--------------------------------------------------
@@ -109,25 +96,16 @@
 // DON'T USE THIS FUNCTION. THIS IS ONLY FOR EapTlsPeapUtils. 	
 CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher()
 : CActive(CActive::EPriorityStandard)
-, iState(EGetCertificatesNone)
 , iParent(NULL)
 , iEncodedCertificate(0)
 , iCertPtr(0,0)
-, iOwnertype(EUserCertificate)
-, iCertInfoIndex(0)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher()\n"));
-
 }
 
 //--------------------------------------------------
 
 void CEapTlsPeapCertFetcher::ConstructL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::ConstructL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::ConstructL()\n"));
-
 	User::LeaveIfError(iFs.Connect());
 
 	CActiveScheduler::Add(this);
@@ -141,9 +119,6 @@
 
 CEapTlsPeapCertFetcher::~CEapTlsPeapCertFetcher()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::~CEapTlsPeapCertFetcher()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::~CEapTlsPeapCertFetcher()\n"));
-
 	// Delete iCertInfos
 	for (TInt i = 0; i < iCertInfos.Count(); i++)
 	{
@@ -151,19 +126,16 @@
 	}
 	iCertInfos.Reset();
 
-	iCACerts.ResetAndDestroy();
-
-	iUserCerts.ResetAndDestroy();
-
-	delete iCertFilter;
-	iCertFilter = 0;
+	iCACerts.Reset();
 
+	iUserCerts.Reset();
+		
+	delete iCertFilter;
+	
 	delete iCertStore;
-	iCertStore = 0;
-
-	delete iEncodedCertificate;
-	iEncodedCertificate = 0;
-
+	
+	delete iEncodedCertificate;	
+	
 	iFs.Close();
 
 	if(IsActive())
@@ -176,13 +148,6 @@
 
 void CEapTlsPeapCertFetcher::GetCertificatesL()
 {	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::GetCertificatesL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::GetCertificatesL()\n"));
-
-	iCACerts.ResetAndDestroy();
-
-	iUserCerts.ResetAndDestroy();
-
 	iState = EGetCertificatesInitStore;
 	if (iCertStore == 0)
 	{
@@ -197,145 +162,149 @@
 	SetActive();
 }
 
-//--------------------------------------------------
 
 void CEapTlsPeapCertFetcher::DoCancel()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::DoCancel()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::DoCancel()\n"));
-
-}
-
-//--------------------------------------------------
-
-void CEapTlsPeapCertFetcher::InitializeQuery()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::InitializeQuery(): iOwnertype=%d\n"),
-		iOwnertype));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::InitializeQuery()\n"));
-
-	// Delete iCertInfos
-	for (TInt i = 0; i < iCertInfos.Count(); i++)
-	{
-		iCertInfos[i]->Release();
-	}
-	iCertInfos.Reset();
-
-	delete iCertFilter;
-	iCertFilter = 0;
-
-	TRAPD(error, iCertFilter = CCertAttributeFilter::NewL());
-	if (error != KErrNone)
-	{
-		// Complete with empty lists
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::InitializeQuery() -  Complete with empty lists Error:%d, iUserCerts.Count()=%d, iCACerts.Count()=%d\n"),
-			error,
-			iUserCerts.Count(),
-			iCACerts.Count()) );
-		TRAP(error, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts));
-		return;
-	}
-	iCertFilter->SetFormat(EX509Certificate);
-
-	iCertFilter->SetOwnerType(iOwnertype);
-
-	iCertInfoIndex = 0;
-
-	iState = EGetCertificatesGetCertList;
-
-	iCertStore->List(
-		iCertInfos,
-		*iCertFilter, 
-		iStatus);
-
-	SetActive();		
 }
 
 //--------------------------------------------------
 
 void CEapTlsPeapCertFetcher::RunL()
 {	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - iStatus.Int()=%d, iState=%d \n"),
-		iStatus.Int() , iState));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::RunL()\n"));
-
-	//int i;
-	TInt error(KErrNone);
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL - iStatus.Int()=%d, iState=%d \n"),
+	iStatus.Int() , iState));
+	if( iState == EGetSymbianSubjectKeyId )
+	{
+		// Only for GetSymbianSubjectKeyIdL.
+		iWait.AsyncStop(); // This is needed to continue the execution after Wait.Start()
+		return; // No need to proceed further.
+	}
+	
+	if( iState == EGetCertificatesRetrieveCert)
+	{
+		// This is executed when certificate details are being retrieved.
+		iWait.AsyncStop(); // This is needed to continue the execution after Wait.Start()
+		return; // No need to proceed further.
+	}
+	
+	int i;
+	TInt err(KErrNone);
 		
 	// This causes panic if leaves
 	if (iStatus.Int() != KErrNone)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() -- don't leave...")));
+RDebug::Print(_L("CEapTlsPeapCertFetcher::RunL() -- don't leave..."));
 	}
 	
 	switch (iState)
 	{
 	case EGetCertificatesInitStore:
 		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesInitStore\n")));
+			// Delete iCertInfos
+			for (TInt i = 0; i < iCertInfos.Count(); i++)
+			{
+				iCertInfos[i]->Release();
+			}
+			iCertInfos.Reset();
+		
+			delete iCertFilter;
+			iCertFilter = 0;
+		
+			TRAP(err, iCertFilter = CCertAttributeFilter::NewL());
+			if (err != KErrNone)
+			{
+				// Complete with empty lists
+				TInt err(KErrNone);
+				TRAP(err, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts));
+				break;
+			}
+			iCertFilter->SetFormat(EX509Certificate);
 
-			// First get the User certificates.
-			iOwnertype = EUserCertificate;
-			InitializeQuery();
+			iState = EGetCertificatesGetCertList;
+			iCertStore->List(
+				iCertInfos,
+				*iCertFilter, 
+				iStatus);
+			SetActive();		
 		}
 		break;
 
-	case EGetCertificatesRetrieveCert:
+	case EGetCertificatesGetCertList:
 		{			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesRetrieveCert - Symbian cert store found %d certs in device\n"),
-				iCertInfos.Count()));
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - iWait.Start() returned, iStatus.Int()=%d \n"),iStatus.Int() ) );
-
-			CCTCertInfo* CertInfo = iCertInfos[iCertInfoIndex];
-			CCertificate* cert = NULL;
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL - EGetCertificatesGetCertList - Symbian cert store found %d certs in device\n"),
+			iCertInfos.Count()));
+		
+			if(0 == iCertInfos.Count())
+			{
+				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR : CEapTlsPeapCertFetcher::RunL - SERIOUS PROBLEM - Symbian cert store couldn't find any certs in device\n")));				
+			}
+		
+			for (i = 0; i < iCertInfos.Count(); i++)
+			{				
+			    CCTCertInfo* CertInfo;
+				CertInfo = iCertInfos[i];
+				iEncodedCertificate->Des().SetLength(0);
+				
+				TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[i]->Size()));
+				if (err != KErrNone)
+				{
+					EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() -  EGetCertificatesGetCertList - leave from iEncodedCertificate->ReAllocL Error:%d\n"), err ) );
+				}		
+				iCertPtr.Set(iEncodedCertificate->Des());
 
-			if ( iStatus.Int() == KErrNone )
-			{
-				switch ( CertInfo->CertificateFormat() )
-				{
-				case EX509Certificate:
-					{
-						TRAPD(error, cert = CX509Certificate::NewL( iCertPtr ));
-						if (error != KErrNone)
-						{
-							EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from CX509Certificate::NewL Label:%S Error:%d\n"),
-							&(CertInfo->Label()),
-							error ) );
+				EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - Retreiving cert %d\n"), i ) );
+				
+			    iCertStore->Retrieve( *CertInfo, iCertPtr, iStatus);
+			    
+			    iState = EGetCertificatesRetrieveCert;
+
+			    SetActive();
+			    iWait.Start();
+			 	
+				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - iWait.Start() returned, iStatus.Int()=%d \n"),iStatus.Int() ) );
+
+			 	CCertificate* cert = NULL;
 
-							cert = NULL;
-						}
-					break;
-					}
-				default:
-					{
-		                // Only  X509 type of certificates are supported at the moment.
-		                // This won't be happening ever since we have used a filter while getting the certificate list.
-						EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - Unsupported Certificate - Not X509\n") ) );
-						
-						cert = NULL;
-					}
-				}
-			}
-			else
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - Error from Certificate retrieve, iStatus.Int()=%d\n"), iStatus.Int() ) );
-			}
+			    if ( iStatus.Int() == KErrNone )
+		        {
+			        switch ( CertInfo->CertificateFormat() )
+		            {
+		            case EX509Certificate:
+		                {
+		                TRAPD(err, cert = CX509Certificate::NewL( iCertPtr ));
+			            if (err != KErrNone)
+			               	EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from CX509Certificate::NewL Label:%S Error:%d\n"),&(CertInfo->Label()), err ) );
+			            break;
+		                }
+		            default:
+		                {
+		                	// Only  X509 type of certificates are supported at the moment.
+		                	// This won't be happening ever since we have used a filter while getting the certificate list.
+							EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - Unsupported Certificate - Not X509\n") ) );
+							
+			                break;
+		                }
+		            }
+		        }
+		        else
+		        {
+					EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - Error from Certificate retrieve, iStatus.Int()=%d\n"), iStatus.Int() ) );
+		        }
 
-			if( cert != NULL )
-			{
-				HBufC* pri = NULL;
-				HBufC* sec = NULL;
+				if( cert == NULL )
+				{
+					// Some problem above. Skip the below and go for the next certificate.
+					continue;
+				}							
 			
-				CleanupStack::PushL(cert);
+                HBufC* pri = NULL;
+                HBufC* sec = NULL;
+			
+				CleanupStack::PushL( cert );
 				
-				X509CertNameParser::PrimaryAndSecondaryNameL( *((CX509Certificate*)cert), pri, sec, CertInfo->Label());
+                X509CertNameParser::PrimaryAndSecondaryNameL( *((CX509Certificate*)cert), pri, sec, CertInfo->Label());
 	
-				CleanupStack::PopAndDestroy(cert);
-
-				CleanupStack::PushL(pri);
-				CleanupStack::PushL(sec);
-
+				CleanupStack::PopAndDestroy(); // cert		
 
 				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - Label=%S, Pri name=%S,Length=%d, Sec name=%S,Length=%d\n"),
 					 &(CertInfo->Label()), pri, pri->Length(), sec, sec->Length() ) );
@@ -343,120 +312,45 @@
 				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "CEapTlsPeapCertFetcher::RunL() - Sub Key Id:", (CertInfo->SubjectKeyId().Ptr()), 
 						(CertInfo->SubjectKeyId().Size()) ) );
 
-				EapCertificateEntry * const certEntry = new EapCertificateEntry;
-				if (certEntry == 0)
-				{
-					User::Leave(KErrNoMemory);
-				}
-				CleanupStack::PushL(certEntry);
-
-				certEntry->SetLabel(CertInfo->Label());
-				certEntry->SetSubjectKeyId(CertInfo->SubjectKeyId());
-
+				SCertEntry certEntry;
+							
+				certEntry.iLabel.Copy(iCertInfos[i]->Label());
+				certEntry.iSubjectKeyId.Copy(iCertInfos[i]->SubjectKeyId());
+				
 				// Copy the new fields. Primary and secondary name.				
-				certEntry->SetPrimaryName(pri->Des().Left(KMaxCertNameLength));
-				certEntry->SetSecondaryName(sec->Des().Left(KMaxCertNameLength));
-
-				if (CertInfo->CertificateOwnerType() == ECACertificate)
-				{
-					EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - CA certificate\n")));
-
-					certEntry->SetCertType(EapCertificateEntry::ECA);
-					error = iCACerts.Append(certEntry);	
-				}
-				else if (CertInfo->CertificateOwnerType() == EUserCertificate)
+				certEntry.iPrimaryName.Copy( pri->Des().Left(KMaxNameLength ) );
+				certEntry.iSecondaryName.Copy( sec->Des().Left(KMaxNameLength ) );
+				
+				delete pri;
+				delete sec;
+				
+				if (iCertInfos[i]->CertificateOwnerType() == ECACertificate)
 				{
-					EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - User certificate\n")));
-
-					certEntry->SetCertType(EapCertificateEntry::EUser);
-					error = iUserCerts.Append(certEntry);
-				}
-				else
-				{
-					EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - Unknown certificate\n")));
-				}
-
-				if (error == KErrNone)
-				{
-					CleanupStack::Pop(certEntry);
+					iCACerts.Append(certEntry);	
 				}
-				else
+				else if (iCertInfos[i]->CertificateOwnerType() == EUserCertificate)
 				{
-					CleanupStack::PopAndDestroy(certEntry);
-				}
-
-				CleanupStack::PopAndDestroy(sec);
-				CleanupStack::PopAndDestroy(pri);
-
+					iUserCerts.Append(certEntry);
+				}				
 			}
-
-			++iCertInfoIndex;
-		}
-
-		// Here MUST NOT be break. State EGetCertificatesGetCertList is run after the state EGetCertificatesRetrieveCert.
+			delete iCertFilter;
+			iCertFilter = 0;
 
-	case EGetCertificatesGetCertList:
-		{			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesGetCertList - Symbian cert store found %d certs in device, iCertInfoIndex=%d\n"),
-				iCertInfos.Count(),
-				iCertInfoIndex));
-		
-			if (iCertInfoIndex < iCertInfos.Count())
-			{				
-				CCTCertInfo* CertInfo = iCertInfos[iCertInfoIndex];
-
-				iEncodedCertificate->Des().SetLength(0);
-				
-				TRAPD(error, iEncodedCertificate = iEncodedCertificate->ReAllocL(CertInfo->Size()));
-				if (error != KErrNone)
-				{
-					EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() -  EGetCertificatesGetCertList - leave from iEncodedCertificate->ReAllocL Error:%d\n"), error ) );
-				}		
-				iCertPtr.Set(iEncodedCertificate->Des());
-
-				EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - Retreiving cert %d\n"), iCertInfoIndex ) );
-				
-				iState = EGetCertificatesRetrieveCert;
-
-				iCertStore->Retrieve( *CertInfo, iCertPtr, iStatus);
-
-				SetActive();
+			// Delete iCertInfos
+			for (TInt i = 0; i < iCertInfos.Count(); i++)
+			{
+				iCertInfos[i]->Release();
 			}
-			else if (iOwnertype == EUserCertificate)
-			{
-				// Next get the CA certificates.
-				iOwnertype = ECACertificate;
-				InitializeQuery();
-				return;
-			}
-			else
-			{
-				delete iCertFilter;
-				iCertFilter = 0;
-
-				// Delete iCertInfos
-				for (TInt i = 0; i < iCertInfos.Count(); i++)
-				{
-					iCertInfos[i]->Release();
-				}
-				iCertInfos.Reset();
-
-				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() -  EGetCertificatesGetCertList - Complete list, iUserCerts.Count()=%d, iCACerts.Count()=%d\n"),
-					iUserCerts.Count(),
-					iCACerts.Count()) );
-
-				TRAP(error, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts));
-				// Ignore error on purpose.			
-			}
+			iCertInfos.Reset();
+			TRAP(err, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts));
+			// Ignore error on purpose.			
 		}
 		break;
 	
 	default:
-		EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: CEapTlsPeapCertFetcher::RunL(): - default\n")));
 		break;
 	}
 	return;
 }
 
-//--------------------------------------------------
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 14.1.2 %
+* %version: 17 %
 */
 
 // This is enumeration of EAPOL source code.
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 52 %
+* %version: 18.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -28,24 +28,22 @@
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 
 #include <e32base.h>
-//#include "EapTlsPeapUtils.h"
+#include "EapTlsPeapUtils.h"
 #include "EapTlsPeapDbDefaults.h"
 #include "EapTlsPeapDbParameterNames.h"
 #include <EapTlsPeapUiConnection.h>
 #include <EapTlsPeapUiCertificates.h>
-#include <EapGeneralSettings.h>
+#include <EapTlsPeapUiCertificate.h>
+#include "EapTlsPeapCertFetcher.h"
 #include <AbsEapTlsPeapUiCertificates.h>
-#include <EapTraceSymbian.h>
-#include "EapConversion.h"
-#include <EapType.h>
+#include "eap_am_trace_symbian.h"
 
 #include <unifiedcertstore.h>
 #include <mctwritablecertstore.h>
 
+const TUint KMaxSqlQueryLength = 256;
 const TUint KCertArrayGranularity = 16;
 
-// ----------------------------------------------------------
-
 CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates(
 	CEapTlsPeapUiConnection * const aUiConn,
 	MEapTlsPeapUiCertificates * const aParent)
@@ -53,117 +51,83 @@
 , iUiConn(aUiConn)
 , iUserCerts(0)
 , iCACerts(0)
-, iEapGeneralSettings(0)
 , iParent(aParent)
-, iEapTypeConnection(0)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates()\n"));
-
 }
 
-// ----------------------------------------------------------
 
 CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()\n"));
-
-	Close();
+    if (iUiConn)
+    {
+        Close();
+        iUiConn = NULL;
+    }
 }
 
-// ----------------------------------------------------------
 
 TInt CEapTlsPeapUiCertificates::Open()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Open()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::Open()\n"));
-
     if (iIsOpened)
     {
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Open(): KErrAlreadyExists\n")));
         return KErrAlreadyExists;
     }
 
-	TEapExpandedType aEapType(iUiConn->GetEapType());
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
 
-	TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType));
-	if (error != KErrNone)
+	TRAP(err, iCertFetcher = CEapTlsPeapCertFetcher::NewL(this));
+	if (err != KErrNone)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Open(): CEapType::NewL() error=%d\n"),error));
-		return error;
+		return err;
 	}
-    
-    iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType());
-
-    TRAP(error, iEapGeneralSettings = CEapGeneralSettings::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex()));
-    if (error != KErrNone)
-        {
-        EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Open(): CEapGeneralSettings::NewL() error=%d\n"),error));
-        return error;
-        }
 
     iIsOpened = ETrue;
 
     return KErrNone;
 }
 
-// ----------------------------------------------------------
 
 TInt CEapTlsPeapUiCertificates::Close()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Close()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::Close()\n"));
-
-	if (iIsOpened == EFalse)
-	{
-		return KErrNone;
-	}
-
-	delete iUserCerts;
-	iUserCerts = 0;
+    if (iIsOpened == EFalse)
+    {
+        return KErrNone;
+    }
 
-	delete iCACerts;
-	iCACerts = 0;
-
-	delete iEapGeneralSettings;
-	iEapGeneralSettings = 0;
-
-	iUiConn = NULL;
-
-	iIsOpened = EFalse;
-
-	return KErrNone;
+    delete iUserCerts;
+    iUserCerts = 0;
+    
+    delete iCACerts;
+    iCACerts = 0;
+    
+    delete iCertFetcher;
+	iCertFetcher = 0;
+	    
+    iUiConn = NULL;
+    return KErrNone;
 }
 
-// ----------------------------------------------------------
-
-TInt CEapTlsPeapUiCertificates::GetCertificates(
-	RPointerArray<EapCertificateEntry> ** aUserCerts,
-	RPointerArray<EapCertificateEntry> ** aCACerts)
+TInt CEapTlsPeapUiCertificates::GetCertificates(CArrayFixFlat<TEapTlsPeapUiCertificate> ** aUserCerts,
+					CArrayFixFlat<TEapTlsPeapUiCertificate> ** aCACerts)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::GetCertificates()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::GetCertificates()\n"));
-
 	if (aUserCerts == NULL
 		|| aCACerts == NULL)
     {
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): KErrArgument\n")));
         return KErrArgument;
     }
-
     if (iIsOpened == EFalse)
     {
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): KErrSessionClosed\n")));
         return KErrSessionClosed;
     }
-
     if (iUserCerts == 0)
     {
-    	iUserCerts = new RPointerArray<EapCertificateEntry>(KCertArrayGranularity);
+    	iUserCerts = new CArrayFixFlat<TEapTlsPeapUiCertificate>(KCertArrayGranularity);
     	if (!iUserCerts)
     	{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): iUserCerts, KErrNoMemory\n")));
 	        return KErrNoMemory;
 	    }	
     }
@@ -172,236 +136,460 @@
     
     if (iCACerts == 0)
     {
-	    iCACerts = new RPointerArray<EapCertificateEntry>(KCertArrayGranularity);
+	    iCACerts = new CArrayFixFlat<TEapTlsPeapUiCertificate>(KCertArrayGranularity);
 	    if (!iUserCerts)
 	    {
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): iCACerts, KErrNoMemory\n")));
 	        return KErrNoMemory;
 	    }
     }
     *aCACerts = iCACerts;
     
-	TInt error(KErrNone);
-
-	error = iEapGeneralSettings->GetCertificateLists(
-		*iUserCerts,
-		*iCACerts);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): GetCertificateLists() error=%d\n"),
-			error));
-		iParent->CompleteReadCertificates(error);
-	    return error;
-	}
-
-	TRAP(error, SelectActiveCertificatesL());
+	TRAPD(err, iCertFetcher->GetCertificatesL());
 	
-	return error;
+	return err;
 }
-
-// ----------------------------------------------------------
+						 
 
-void CEapTlsPeapUiCertificates::SelectCertificatesL(
-	const EapCertificateEntry::TCertType aCertType,
-	const EAPSettings & aSettings,
-	RPointerArray<EapCertificateEntry>& aAvailableCerts)
+void CEapTlsPeapUiCertificates::CompleteReadCertificatesL(
+		const RArray<SCertEntry>& aAvailableUserCerts, 
+		const RArray<SCertEntry>& aAvailableCACerts)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): - Available cert count in device aAvailableCerts.Count()=%d, aSettings.iCertificates.Count()=%d\n"),
-		aAvailableCerts.Count(),
-		aSettings.iCertificates.Count()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SelectCertificatesL()\n"));
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL - Available cert count in device - USER=%d, CA=%d \n"),
+	aAvailableUserCerts.Count(), aAvailableCACerts.Count()));
 
-	// Loop through available certs
-	TInt avail_ind(0);
-
-	for (avail_ind = 0; avail_ind < aAvailableCerts.Count(); ++avail_ind)
+	// Now all available certificates have been read.
+	// Get the allowed certs from the database and set their iIsEnabled flag -> ETrue.
+    TInt err(KErrNone);
+	if (iUiConn->GetEapType() == eap_type_tls)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): loops aAvailableCerts avail_ind=%d, aAvailableCerts.Count()=%d, aSettings.iCertificates.Count()=%d\n"),
-			avail_ind,
-			aAvailableCerts.Count(),
-			aSettings.iCertificates.Count()) );
-
-		EapCertificateEntry * const avail_cert = aAvailableCerts[avail_ind];
-
-		EAP_TRACE_SETTINGS(avail_cert);
-
-		avail_cert->SetIsEnabled(EFalse);
-
-		if (aSettings.iCertificatesPresent)
+		TRAP(err, FetchDataL(KTlsAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts));
+		if (err != KErrNone)
 		{
-			TInt select_ind(0);
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TLS- USER cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+		TRAP(err, FetchDataL(KTlsAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TLS- CA cert - LEAVE from FetchDataL err=%d\n"),
+			err));
 
-			for (select_ind = 0; select_ind < aSettings.iCertificates.Count(); ++select_ind)
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): loops aSettings.iCertificates select_ind=%d\n"),
-					select_ind ) );
-
-				EapCertificateEntry * const conf_cert = aSettings.iCertificates[select_ind];
-
-				EAP_TRACE_SETTINGS(conf_cert);
-
-				if (aCertType == conf_cert->GetCertType()
-					&& avail_cert->GetSubjectKeyId() == conf_cert->GetSubjectKeyId())
-				{
-					avail_cert->SetIsEnabled(ETrue);
-
-					EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): - Reading certificate details from the DB - Label=%S \n"),
-						avail_cert->GetLabel() ) );
-
-					EAP_TRACE_DATA_DEBUG_SYMBIAN(("Subject Key Id:",
-						avail_cert->GetSubjectKeyId().Ptr(),
-						avail_cert->GetSubjectKeyId().Length()));
-				}
-			}
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+		
+	}
+	else if (iUiConn->GetEapType() == eap_type_peap)
+	{	
+	
+		TRAP(err, FetchDataL(KPeapAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -PEAP- USER cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+		TRAP(err, FetchDataL(KPeapAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -PEAP- CA cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
 		}
 	}
-}
-
-// ----------------------------------------------------------
-
-void CEapTlsPeapUiCertificates::SelectActiveCertificatesL()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): - Available cert count in device - USER=%d, CA=%d \n"),
-		iUserCerts->Count(), iCACerts->Count()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SelectActiveCertificatesL()\n"));
-
-	// Now all available certificates have been read.
-	// Get the allowed certs from the server and set their iIsEnabled flag -> ETrue.
-
-    EAPSettings aSettings;
-    
-	TRAPD(error, iEapTypeConnection->GetConfigurationL(aSettings));
-	if (error)
+	else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap)
+	{	
+	
+		TRAP(err, FetchDataL(KTtlsAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L(
+			"CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TTLS- USER cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+		TRAP(err, FetchDataL(KTtlsAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L(
+			"CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TTLS- CA cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+	}
+	
+#ifdef USE_FAST_EAP_TYPE
+	else if (iUiConn->GetEapType() == eap_type_fast)
+	{	
+	
+		TRAP(err, FetchDataL(KFastAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L(
+			"CEapTlsPeapUiCertificates::CompleteReadCertificatesL -FAST- USER cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+		TRAP(err, FetchDataL(KFastAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts));
+		if (err != KErrNone)
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L(
+			"CEapTlsPeapUiCertificates::CompleteReadCertificatesL -FAST- CA cert - LEAVE from FetchDataL err=%d\n"),
+			err));
+		
+			iParent->CompleteReadCertificates(err);
+			return;
+		}
+	}
+#endif //#ifdef USE_FAST_EAP_TYPE
+	
+	else 
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): GetConfigurationL(): failed %d\n"), error));
-		iParent->CompleteReadCertificates(error);
-		User::Leave(error);
+		iParent->CompleteReadCertificates(KErrNotSupported);
+		return;
 	}
-
-	TRAP(error, SelectCertificatesL(EapCertificateEntry::EUser, aSettings, *iUserCerts));
-	if (error)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): SelectCertificatesL(iUserCerts): failed %d\n"), error));
-		iParent->CompleteReadCertificates(error);
-		User::Leave(error);
-	}
-
-	TRAP(error, SelectCertificatesL(EapCertificateEntry::ECA, aSettings, *iCACerts));
-	if (error)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): SelectCertificatesL(iCACerts): failed %d\n"), error));
-		iParent->CompleteReadCertificates(error);
-		User::Leave(error);
-	}
-
+	
 	// Operation was successful
 	iParent->CompleteReadCertificates(KErrNone);
 }
 
-// ----------------------------------------------------------
+void CEapTlsPeapUiCertificates::FetchDataL(
+	const TDesC& aTableName,
+	const RArray<SCertEntry>& aAvailableCerts,
+	CArrayFixFlat<TEapTlsPeapUiCertificate>* const aArray)
+{
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Fetching & comparing cert details from table:%S\n"),
+	&aTableName));
+
+	aArray->Reset();
+	
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-void CEapTlsPeapUiCertificates::SaveCertificatesL(
-	const EapCertificateEntry::TCertType /* aCertType */,
-	const RPointerArray<EapCertificateEntry>* const aAvailableCerts,
-	EAPSettings & aSettings)
+	sqlStatement.Format(KSQLQuery,						
+						&aTableName,
+						&KServiceType,
+						iUiConn->GetIndexType(),
+						&KServiceIndex,
+						iUiConn->GetIndex(),
+						&KTunnelingType, 
+						iUiConn->GetTunnelingType());
+	
+	// Evaluate view
+	RDbView view;
+	User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+	
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);
+	
+	TEapTlsPeapUiCertificate tmp;
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Available certs=%d\n"),
+	aAvailableCerts.Count()));
+	
+	// Loop through available certs
+	TInt i(0);
+	for (i = 0; i < aAvailableCerts.Count(); i++)
+	{
+		SCertEntry cert = aAvailableCerts[i];
+		
+		tmp.iCertEntry = cert;
+		tmp.iIsEnabled = EFalse;
+		
+		// Try to find the cert from the database rows
+		if (view.FirstL())
+		{
+			do 
+			{
+				view.GetL();
+				if ((view.ColDes(colSet->ColNo(KCertLabel)) == cert.iLabel 
+					|| view.IsColNull(colSet->ColNo(KCertLabel)))
+					&& view.ColDes8(colSet->ColNo(KSubjectKeyIdentifier)) == cert.iSubjectKeyId)
+				{
+					tmp.iIsEnabled = ETrue;
+					
+					EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Reading certificate details from the DB - Label=%S \n"),
+					&(cert.iLabel) ) );
+					
+					EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", cert.iSubjectKeyId.Ptr(), 
+																cert.iSubjectKeyId.Size() ) );					
+					break;
+				}
+			} while (view.NextL() != EFalse);
+		}
+		
+		aArray->AppendL(tmp);
+	}
+	CleanupStack::PopAndDestroy(); // colset
+	CleanupStack::PopAndDestroy(); // view
+    CleanupStack::PopAndDestroy(buf);
+}
+
+TInt CEapTlsPeapUiCertificates::Update()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SaveCertificatesL(): - Available cert count %d \n"),
-		aAvailableCerts->Count()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SaveCertificatesL()\n"));
+	TRAPD(err, UpdateL());
+	
+	if(KErrNone != err)
+	{
+		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Update - UpdateL LEAVES with error =%d \n"),
+		err));		
+	}
 
-	TInt avail_ind(0);
-	for (avail_ind = 0; avail_ind < aAvailableCerts->Count(); avail_ind++)
+	return err;
+}
+
+
+void CEapTlsPeapUiCertificates::UpdateL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// USER CERTIFICATES
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	if (iUiConn->GetEapType() == eap_type_tls)
+	{
+		sqlStatement.Format(
+			KSQL, 
+			&KTlsAllowedUserCertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_peap)
+	{
+		sqlStatement.Format(
+			KSQL, 
+			&KPeapAllowedUserCertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}	
+	else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap)
 	{
-		if ((*aAvailableCerts)[avail_ind]->GetIsEnabled())
+		sqlStatement.Format(
+			KSQL, 
+			&KTtlsAllowedUserCertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}
+	
+#ifdef USE_FAST_EAP_TYPE	
+	else if (iUiConn->GetEapType() == eap_type_fast)
+	{
+		sqlStatement.Format(
+			KSQL, 
+			&KFastAllowedUserCertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}
+#endif //#ifdef USE_FAST_EAP_TYPE	
+
+	RDbView view;	
+	User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));	
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());
+
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet;
+	colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);
+
+	// Delete old rows
+	if (view.FirstL())
+	{		
+		do {
+			view.DeleteL();
+		} while (view.NextL() != EFalse);
+	}
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - About to update cert details in the DB - User cert count=%d \n"),
+	iUserCerts->Count()));
+	
+	TInt i(0);
+	for (i = 0; i < iUserCerts->Count(); i++)
+	{
+		if ((*iUserCerts)[i].iIsEnabled)
 		{
-			EAP_TRACE_SETTINGS((*aAvailableCerts)[avail_ind]);
-
 			// Validate data lengths.
-			if((*aAvailableCerts)[avail_ind]->GetLabel()->Length() > KMaxCertLabelLengthInDB 
-				|| (*aAvailableCerts)[avail_ind]->GetSubjectKeyId().Length() > KMaxSubjectKeyIdLengthInDB)
+			if((*iUserCerts)[i].iCertEntry.iLabel.Length() > KMaxCertLabelLengthInDB 
+				|| (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Length() > KMaxSubjectKeyIdLengthInDB)
 			{
 				// Too long data. Can not be stored in DB.
 
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::UpdateL(): User : Too long Label or SubjectKeyId. Length: Label=%d, SubjectKeyId=%d \n"),
-					(*aAvailableCerts)[avail_ind]->GetLabel()->Length(),
-					(*aAvailableCerts)[avail_ind]->GetSubjectKeyId().Length()));
+				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL: User : Too long Label or SubjectKeyId. Length: Label=%d, SubjectKeyId=%d \n"),
+				(*iUserCerts)[i].iCertEntry.iLabel.Length(), (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Length()));
 								
 				User::Leave(KErrArgument);
 			}
-
-#if 1
-
-			EapCertificateEntry * const aCertEntry = (*aAvailableCerts)[avail_ind]->Copy();
-			if (aCertEntry == 0)
-			{
-				User::Leave(KErrNoMemory);
-			}
-			CleanupStack::PushL(aCertEntry);
-
-#else
-
-			EapCertificateEntry * const aCertEntry = new EapCertificateEntry;
-			if (aCertEntry == 0)
-			{
-				User::Leave(KErrNoMemory);
-			}
-			CleanupStack::PushL(aCertEntry);
-
-			aCertEntry->SetCertType(aCertType);
-			aCertEntry->GetSubjectKeyIdWritable()->Copy(*((*aAvailableCerts)[avail_ind]->GetSubjectKeyId()));
-
-#endif
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL(): - Wrote User cert details to the DB - Label=%S \n"),
-				aCertEntry->GetLabel() ) );
+						
+			view.InsertL();
+			// Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default.
+			view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(iUiConn->GetIndexType()));
+			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(iUiConn->GetIndex()));
+			view.SetColL(colSet->ColNo(KTunnelingType), static_cast<TUint>(iUiConn->GetTunnelingType()));
+			view.SetColL(colSet->ColNo(KCertLabel), (*iUserCerts)[i].iCertEntry.iLabel);
+			view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), (*iUserCerts)[i].iCertEntry.iSubjectKeyId);
+			view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), (*iUserCerts)[i].iCertEntry.iSubjectKeyId);
+			view.PutL();
 			
-			EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:",
-				aCertEntry->GetSubjectKeyId().Ptr(),
-				aCertEntry->GetSubjectKeyId().Length() ) );
-
-			EAP_TRACE_SETTINGS(aCertEntry);
-
-			aSettings.iCertificates.AppendL(aCertEntry);
-
-			aSettings.iCertificatesPresent = ETrue;
-
-			CleanupStack::Pop(aCertEntry);
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - Wrote User cert details to the DB - Label=%S \n"),
+			&((*iUserCerts)[i].iCertEntry.iLabel) ) );
+			
+			EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Ptr(), 
+			(*iUserCerts)[i].iCertEntry.iSubjectKeyId.Size() ) );			
 		}
 	}
+	
+	CleanupStack::PopAndDestroy(colSet);
+	CleanupStack::PopAndDestroy(); // view	
+	
+	// CA CERTIFICATES
+	_LIT(KSQL2, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	if (iUiConn->GetEapType() == eap_type_tls)
+	{
+		sqlStatement.Format(
+			KSQL2, 
+			&KTlsAllowedCACertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_peap)
+	{
+		sqlStatement.Format(
+			KSQL2, 
+			&KPeapAllowedCACertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}	
+	else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap)
+	{
+		sqlStatement.Format(
+			KSQL2, 
+			&KTtlsAllowedCACertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}
+
+#ifdef USE_FAST_EAP_TYPE
+	else if (iUiConn->GetEapType() == eap_type_fast)
+	{
+		sqlStatement.Format(
+			KSQL2, 
+			&KFastAllowedCACertsDatabaseTableName, 
+			&KServiceType, 
+			iUiConn->GetIndexType(), 
+			&KServiceIndex,
+			iUiConn->GetIndex(), 
+			&KTunnelingType, 
+			iUiConn->GetTunnelingType());
+	}	
+#endif // #ifdef USE_FAST_EAP_TYPE	
+			
+	User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));	
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());
+
+	// Get column set so we get the correct column numbers
+	colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);
+
+	// Delete old rows
+	if (view.FirstL())
+	{		
+		do {
+			view.DeleteL();
+		} while (view.NextL() != EFalse);
+	}
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - About to update cert details in the DB - CA cert count=%d \n"),
+	iCACerts->Count()));
+	
+	for (i = 0; i < iCACerts->Count(); i++)
+	{
+		if ((*iCACerts)[i].iIsEnabled)
+		{
+			// Validate data lengths.
+			if((*iCACerts)[i].iCertEntry.iLabel.Length() > KMaxCertLabelLengthInDB 
+				|| (*iCACerts)[i].iCertEntry.iSubjectKeyId.Length() > KMaxSubjectKeyIdLengthInDB)
+			{
+				// Too long data. Can not be stored in DB.
+
+				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL: CA : Too long Label or SubjectKeyId. Length: Label=%d, SubjectKeyId=%d \n"),
+				(*iCACerts)[i].iCertEntry.iLabel.Length(), (*iCACerts)[i].iCertEntry.iSubjectKeyId.Length()));
+				
+				User::Leave(KErrArgument);
+			}
+		
+			view.InsertL();
+			// Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default.
+			view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(iUiConn->GetIndexType()));
+			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(iUiConn->GetIndex()));
+			view.SetColL(colSet->ColNo(KTunnelingType), static_cast<TUint>(iUiConn->GetTunnelingType()));
+			view.SetColL(colSet->ColNo(KCertLabel), (*iCACerts)[i].iCertEntry.iLabel);
+			view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), (*iCACerts)[i].iCertEntry.iSubjectKeyId);			
+			view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), (*iCACerts)[i].iCertEntry.iSubjectKeyId);
+			view.PutL();
+
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - Wrote CA cert details to the DB - Label=%S \n"),
+			&((*iCACerts)[i].iCertEntry.iLabel) ) );
+			
+			EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", (*iCACerts)[i].iCertEntry.iSubjectKeyId.Ptr(), 
+			(*iCACerts)[i].iCertEntry.iSubjectKeyId.Size() ) );
+		}
+	}
+	CleanupStack::PopAndDestroy(colSet);
+	CleanupStack::PopAndDestroy(); // view
+	
+	CleanupStack::PopAndDestroy(buf);
 }
 
-// ----------------------------------------------------------
-
-TInt CEapTlsPeapUiCertificates::Update()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Update()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::Update()\n"));
-
-    EAPSettings aSettings;
-    
-	TRAPD(error, SaveCertificatesL(EapCertificateEntry::EUser, iUserCerts, aSettings));
-	if (error)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Update() SaveCertificatesL(iUserCerts): failed %d\n"), error));
-		iParent->CompleteReadCertificates(error);
-		return error;
-	}
-
-	TRAP(error, SaveCertificatesL(EapCertificateEntry::ECA, iCACerts, aSettings));
-	if (error)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Update() SaveCertificatesL(iCACerts): failed %d\n"), error));
-		iParent->CompleteReadCertificates(error);
-		return error;
-	}
-
-	TRAP(error,iEapTypeConnection->SetConfigurationL(aSettings));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Update(): error = %d\n"),error));
-
-	return error;
-}
-
-// ----------------------------------------------------------
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 13.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -30,33 +30,26 @@
 
 // INCLUDE FILES
 #include <e32base.h>
-//#include "EapTlsPeapUtils.h"
+#include "EapTlsPeapUtils.h"
 #include "EapTlsPeapDbParameterNames.h"
 #include "EapTlsPeapDbDefaults.h"
 #include <EapTlsPeapUiConnection.h>
 #include <EapTlsPeapUiCipherSuites.h>
 #include <EapTlsPeapUiCipherSuite.h>
-#include <EapTraceSymbian.h>
-#include <EapType.h>
 
-//const TUint KMaxSqlQueryLength = 256;
+const TUint KMaxSqlQueryLength = 256;
 
 CEapTlsPeapUiCipherSuites::CEapTlsPeapUiCipherSuites(CEapTlsPeapUiConnection * const aUiConn)
 : iIsOpened(EFalse)
 , iUiConn(aUiConn)
 , iDataPtr(NULL)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::CEapTlsPeapUiCipherSuites()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::CEapTlsPeapUiCipherSuites()\n"));
 }
 
 
 CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()\n"));
-
-	if (iUiConn)
+    if (iUiConn)
     {
         Close();
         iUiConn = NULL;
@@ -66,24 +59,16 @@
 
 TInt CEapTlsPeapUiCipherSuites::Open()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Open()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Open()\n"));
-
     if (iIsOpened)
     {
         return KErrAlreadyExists;
     }
 
-	TEapExpandedType aEapType(iUiConn->GetEapType());
-
-    TRAPD(err, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType));
+    TInt err = iUiConn->GetDatabase(iDatabase);
     if (err != KErrNone)
-        {
-        EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCipherSuites::Open() CEapType::NewL err=%d\n"),err));
+    {
         return err;
-        }
-    
-    iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType());
+    }
 
     iIsOpened = ETrue;
 
@@ -91,11 +76,8 @@
 }
 
 
-TInt CEapTlsPeapUiCipherSuites::GetCipherSuites(RPointerArray<TEapTlsPeapUiCipherSuite> ** aDataPtr)
+TInt CEapTlsPeapUiCipherSuites::GetCipherSuites(CArrayFixFlat<TEapTlsPeapUiCipherSuite> ** aDataPtr)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::GetCipherSuites()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::GetCipherSuites()\n"));
-
     if (aDataPtr == NULL)
     {
         return KErrArgument;
@@ -109,25 +91,19 @@
     {
     	*aDataPtr = iDataPtr;
     	return KErrNone;
-	}
-
-    iDataPtr = new RPointerArray<TEapTlsPeapUiCipherSuite>(8);
+    }
+    iDataPtr = new CArrayFixFlat<TEapTlsPeapUiCipherSuite>(8);
     if (!iDataPtr)
     {
         return KErrNoMemory;
     }
     
-    TInt i_ind(0);
-	while (available_cipher_suites[i_ind] != 0)
+    TInt i(0);
+	while (available_cipher_suites[i] != 0)
 	{		
-		TEapTlsPeapUiCipherSuite * const tmp = new TEapTlsPeapUiCipherSuite;
-		if (tmp == 0)
-		{
-	        return KErrNoMemory;
-		}
-
-		tmp->SetCipherSuite(available_cipher_suites[i_ind]);
-		tmp->SetIsEnabled(EFalse);
+		TEapTlsPeapUiCipherSuite tmp;
+		tmp.iCipherSuite = available_cipher_suites[i];
+		tmp.iIsEnabled = EFalse;
 
 		TRAPD(err, iDataPtr->AppendL(tmp));
 		if (err != KErrNone)
@@ -135,38 +111,19 @@
 			return err;
 		}
 
-		i_ind++;
+		i++;
 	}
 		
-    EAPSettings aSettings;
     
-	TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings));
-	if (error)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCipherSuites::GetCipherSuites() GetConfigurationL(): failed %d\n"), error));
-		return error;
-	}
-
-	if (aSettings.iCipherSuitesPresent)
-	{
-		TInt i_ind(0);
 
-		for (i_ind = 0; i_ind < aSettings.iCipherSuites.Count(); ++i_ind)
-		{
-			TUint aCipherSuite = aSettings.iCipherSuites[i_ind];
-			TInt j_ind(0);
+    TRAPD(err, FetchDataL());
+    
+    if (err != KErrNone)
+    {
+        delete iDataPtr;
+        return err;
+    }
 
-			for (j_ind = 0; j_ind < iDataPtr->Count(); j_ind++)
-			{
-				if ((*iDataPtr)[j_ind]->GetCipherSuite() == aCipherSuite)
-				{
-					(*iDataPtr)[j_ind]->SetIsEnabled(ETrue);
-					break;
-				}
-			}
-		}
-	}
-    
    	*aDataPtr = iDataPtr;
 
     return KErrNone;
@@ -175,41 +132,105 @@
 
 TInt CEapTlsPeapUiCipherSuites::Update()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Update()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Update()\n"));
+	TRAPD(err, UpdateL());
+	return err;
+}
+
+void CEapTlsPeapUiCipherSuites::UpdateL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
-	EAPSettings aSettings;
+	if (iUiConn->GetEapType() == eap_type_tls)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KTlsAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_peap)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KPeapAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KTtlsAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
 
-	aSettings.iCipherSuitesPresent = ETrue;
-
-	TInt i_ind(0);
+#ifdef USE_FAST_EAP_TYPE
+	else if (iUiConn->GetEapType() == eap_type_fast)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KFastAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+#endif //#ifdef USE_FAST_EAP_TYPE
 	
-	for (i_ind = 0; i_ind < iDataPtr->Count(); i_ind++)
+	// Evaluate view
+	RDbView view;
+	User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+
+	// Delete old rows
+	if (view.FirstL())
+	{		
+		do {
+			view.DeleteL();
+		} while (view.NextL() != EFalse);
+	}	
+
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);
+	
+	TInt i(0);
+	
+	for (i = 0; i < iDataPtr->Count(); i++)
 	{
-		if ((*iDataPtr)[i_ind]->GetIsEnabled())
+		if (iDataPtr->At(i).iIsEnabled)
 		{
-			TInt error = aSettings.iCipherSuites.Append((*iDataPtr)[i_ind]->GetCipherSuite());
-			if (error != KErrNone)
-			{
-				return error;
-			}
+			view.InsertL();			
+			view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(iUiConn->GetIndexType()));
+			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(iUiConn->GetIndex()));
+			view.SetColL(colSet->ColNo(KTunnelingType), static_cast<TUint>(iUiConn->GetTunnelingType()));
+			view.SetColL(colSet->ColNo(KCipherSuite), static_cast<TUint>(iDataPtr->At(i).iCipherSuite));
+			view.PutL();
 		}
 	}
-
-	TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): error = %d\n"),error));
-
-	return error;
+	CleanupStack::PopAndDestroy(colSet);
+	CleanupStack::PopAndDestroy(); // view
+	CleanupStack::PopAndDestroy(buf);    
 }
 
-
-
 TInt CEapTlsPeapUiCipherSuites::Close()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Close()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Close()\n"));
-
     if (iIsOpened == EFalse)
     {
         return KErrNone;
@@ -222,4 +243,109 @@
     return KErrNone;
 }
 
+
+void CEapTlsPeapUiCipherSuites::FetchDataL()
+{
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the query. Query everything.
+	_LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	if (iUiConn->GetEapType() == eap_type_tls)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KCipherSuite,
+							&KTlsAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_peap)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KCipherSuite,
+							&KPeapAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KCipherSuite,
+							&KTtlsAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+
+#ifdef USE_FAST_EAP_TYPE
+	else if (iUiConn->GetEapType() == eap_type_fast)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KCipherSuite,
+							&KFastAllowedCipherSuitesDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+#endif //#ifdef USE_FAST_EAP_TYPE
+	
+	// Evaluate view
+	RDbView view;
+	User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+	
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);
+
+	if (view.FirstL())
+	{		
+		do {
+			view.GetL();
+
+			switch (view.ColType(colSet->ColNo(KCipherSuite)))
+			{
+			case EDbColUint32:
+				{
+					// Find the corresponding cipher suite in the list
+					TInt j(0);
+					TUint id = view.ColUint(colSet->ColNo(KCipherSuite));
+					for (j = 0; j < iDataPtr->Count(); j++)
+					{
+						if (iDataPtr->At(j).iCipherSuite == id)
+						{
+							iDataPtr->At(j).iIsEnabled = ETrue;
+							break;
+						}
+					}
+				}
+				break;
+			default:
+				User::Leave(KErrArgument);
+			}
+		} while (view.NextL() != EFalse);
+	}
+	
+	CleanupStack::PopAndDestroy(colSet);					
+	
+	CleanupStack::PopAndDestroy(); // view
+    CleanupStack::PopAndDestroy(buf);
+}
+
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 35 %
+* %version: 24.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -27,136 +27,137 @@
 	#define EAP_FILE_NUMBER_DATE 1127594498 
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 
-//#include "EapTlsPeapUtils.h"
+#include "EapTlsPeapUtils.h"
 #include <EapTlsPeapUiConnection.h>
 #include <EapTlsPeapUiDataConnection.h>
 #include <EapTlsPeapUiCipherSuites.h>
 #include <EapTlsPeapUiEapTypes.h>
 #include <EapTlsPeapUiCertificates.h>
 #include <AbsEapTlsPeapUiCertificates.h>
-#include "EapTraceSymbian.h"
+#include "eap_am_trace_symbian.h"
 
 #ifdef USE_PAC_STORE
-#include "EapFastPacStore.h"
+#include "pac_store_db_symbian.h"
 #endif
 
-// ----------------------------------------------------------
-
 CEapTlsPeapUiConnection::CEapTlsPeapUiConnection(
     const TIndexType aIndexType,
     const TInt aIndex,
-    const TEapExpandedType aTunnelingType,
-	const TEapExpandedType aEapType)
+    const TInt aTunnelingType,
+	const TInt aEapType)
     : iIndexType(aIndexType)
     , iIndex(aIndex)
     , iTunnelingType(aTunnelingType)
     , iEapType(aEapType)
+    , iIsConnected(EFalse)
     , iDataConn(NULL)
     , iCipherSuites(NULL)
     , iEapTypes(NULL)
     , iCertificates(NULL)
     , iPacStoreDb(NULL)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::CEapTlsPeapUiConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::CEapTlsPeapUiConnection()\n"));
-
 }
 
-// ----------------------------------------------------------
 
 CEapTlsPeapUiConnection::~CEapTlsPeapUiConnection()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::~CEapTlsPeapUiConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::~CEapTlsPeapUiConnection()\n"));
-
 #ifdef USE_PAC_STORE
 	delete iPacStoreDb;
 #endif
 }
 
-// ----------------------------------------------------------
-
 TInt CEapTlsPeapUiConnection::Connect()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::Connect()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::Connect()\n"));
-
+	if(iIsConnected)
+	{
+		// Already connected.
+		return KErrNone;
+	}
+	
 	TRAPD(err, ConnectL());
 	if(err == KErrNone)
 	{
+		iIsConnected = ETrue;
 	}
 	
 	return err;
 }
 
-// ----------------------------------------------------------
-
 void CEapTlsPeapUiConnection::ConnectL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::ConnectL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::ConnectL()\n"));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iTunnelingType));
+	eap_type_value_e eapType(static_cast<eap_type_ietf_values_e>(iEapType));
+
+#else
+
+	eap_type_value_e tunnelingType = static_cast<eap_type_value_e>(iTunnelingType);
+	eap_type_value_e eapType = static_cast<eap_type_value_e>(iEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 #ifdef USE_PAC_STORE
 #ifdef USE_FAST_EAP_TYPE
 	
-	if(iEapType == *EapExpandedTypeFast.GetType() && iPacStoreDb == NULL)
+	if(iEapType == eap_type_fast && iPacStoreDb == NULL)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapTlsPeapUiConnection::ConnectL() CEapFastPacStore::NewL()")));	
-		iPacStoreDb = CEapFastPacStore::NewL();
+		iPacStoreDb = CPacStoreDatabase::NewL();
 		User::LeaveIfNull(iPacStoreDb);
 		
 		EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("CEapTlsPeapUiConnection::Connect Created PAC store")));	
 		
 		iPacStoreDb->OpenPacStoreL();
-
+		iPacStoreDb->CreateDeviceSeed( NULL );
 		EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("CEapTlsPeapUiConnection::Connect Opened PAC store")));	
-
-		iPacStoreDb->CreateDeviceSeedL();
-
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("CEapTlsPeapUiConnection::Connect Created device seed")));	
 	}
 	
 #endif	// End: #ifdef USE_FAST_EAP_TYPE
 #endif // End: 	#ifdef USE_PAC_STORE
 
+	// Open or create the databse where all the settings are stored.
+	EapTlsPeapUtils::OpenDatabaseL(
+		iDbNamedDatabase, 
+		iDbs, 
+		iIndexType,
+		iIndex, 
+		tunnelingType, 
+		eapType);
 }
 
-// ----------------------------------------------------------
 
 TInt CEapTlsPeapUiConnection::Close()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::Close()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::Close()\n"));
+    if (iIsConnected)
+    {    	
 
 #ifdef USE_PAC_STORE    	
 
 #ifdef USE_FAST_EAP_TYPE
 	
-	if(iEapType == *EapExpandedTypeFast.GetType()
-		&& iPacStoreDb != NULL)
-	{
-		delete iPacStoreDb;
-		iPacStoreDb = NULL;
-	}
-
+		if(iEapType == eap_type_fast && iPacStoreDb != NULL)
+		{
+			iPacStoreDb->Close();
+		}
 #endif	// End: #ifdef USE_FAST_EAP_TYPE		
 	
 #endif	// End: #ifdef USE_PAC_STORE
+	
+        iDbNamedDatabase.Close();
+        
+        iDbs.Close(); // Both the Dbs are closed and server can be closed now.
+    }
     
+    iIsConnected = EFalse;
+
     return KErrNone;
 }
 
-// ----------------------------------------------------------
 
 CEapTlsPeapUiDataConnection * CEapTlsPeapUiConnection::GetDataConnection()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetDataConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetDataConnection()\n"));
-
     if (!iDataConn)
     {
         iDataConn = new CEapTlsPeapUiDataConnection(this);
@@ -165,13 +166,9 @@
     return iDataConn;
 }
 
-// ----------------------------------------------------------
 
 CEapTlsPeapUiCipherSuites * CEapTlsPeapUiConnection::GetCipherSuiteConnection()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetCipherSuiteConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetCipherSuiteConnection()\n"));
-
     if (!iCipherSuites)
     {
         iCipherSuites = new CEapTlsPeapUiCipherSuites(this);
@@ -180,13 +177,9 @@
     return iCipherSuites;
 }
 	
-// ----------------------------------------------------------
-
+	
 CEapTlsPeapUiCertificates * CEapTlsPeapUiConnection::GetCertificateConnection(MEapTlsPeapUiCertificates * const aParent)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetCertificateConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetCertificateConnection()\n"));
-
     if (!iCertificates)
     {
         iCertificates = new CEapTlsPeapUiCertificates(this, aParent);
@@ -195,14 +188,9 @@
     return iCertificates;
 }
 	
-// ----------------------------------------------------------
-
-
+	
 CEapTlsPeapUiEapTypes * CEapTlsPeapUiConnection::GetEapTypeConnection()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetEapTypeConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetEapTypeConnection()\n"));
-
     if (!iEapTypes)
     {
         iEapTypes = new CEapTlsPeapUiEapTypes(this);
@@ -211,60 +199,50 @@
     return iEapTypes;
 }
 	
-// ----------------------------------------------------------
+	
+TInt CEapTlsPeapUiConnection::GetDatabase(RDbNamedDatabase & aDatabase)
+{
+    if (iIsConnected == EFalse)
+    {
+        return KErrSessionClosed;
+    }
+
+    aDatabase = iDbNamedDatabase;
+    return KErrNone;
+}
+
 
 TIndexType CEapTlsPeapUiConnection::GetIndexType()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetIndexType()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetIndexType()\n"));
-
     return iIndexType;
 }
 
-// ----------------------------------------------------------
 
 TInt CEapTlsPeapUiConnection::GetIndex()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetIndex()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetIndex()\n"));
-
     return iIndex;
 }
 
-// ----------------------------------------------------------
-
-TEapExpandedType CEapTlsPeapUiConnection::GetTunnelingType()
+TInt CEapTlsPeapUiConnection::GetTunnelingType()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetTunnelingType()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetTunnelingType()\n"));
-
     return iTunnelingType;
 }
 
-// ----------------------------------------------------------
-
-TEapExpandedType CEapTlsPeapUiConnection::GetEapType()
+TInt CEapTlsPeapUiConnection::GetEapType()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetEapType()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetEapType()\n"));
-
     return iEapType;
 }
 
-// ----------------------------------------------------------
 
 TBool CEapTlsPeapUiConnection::IsPacStoreMasterKeyPresentL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::IsPacStoreMasterKeyPresentL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::IsPacStoreMasterKeyPresentL()\n"));
-
 	TBool status(EFalse);
 		
 #ifdef USE_FAST_EAP_TYPE	
 	
-	if(iEapType == *EapExpandedTypeFast.GetType())
+	if(iEapType == eap_type_fast)
 	{
-	    if (iPacStoreDb == 0)
+	    if (iIsConnected == EFalse)
 	    {
 	        User::Leave(KErrSessionClosed);
 	    }
@@ -288,18 +266,13 @@
 	return status;
 }
 
-// ----------------------------------------------------------
-
 TInt CEapTlsPeapUiConnection::DestroyPacStore()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::DestroyPacStore()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::DestroyPacStore()\n"));
-
 #ifdef USE_FAST_EAP_TYPE
 	
-	if(iEapType == *EapExpandedTypeFast.GetType())
+	if(iEapType == eap_type_fast)
 	{
-	    if (iPacStoreDb == 0)
+	    if (iIsConnected == EFalse)
 	    {
 	        return KErrSessionClosed;
 	    }
@@ -315,18 +288,13 @@
 	}	
 }
 	
-// ----------------------------------------------------------
-
 TBool CEapTlsPeapUiConnection::VerifyPacStorePasswordL(
 	const TDesC& aPacStorePw)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::VerifyPacStorePasswordL()\n"));
-
-	if(aPacStorePw.Length() <= 0)	
+	if(aPacStorePw.Size() <= 0)	
 	{
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PAC store PW can not be EMPTY!")));				
+			(_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL: PAC store PW can not be EMPTY!")));				
 		
 		User::Leave(KErrArgument);
 	}
@@ -335,15 +303,15 @@
 		
 #ifdef USE_FAST_EAP_TYPE	
 	
-	if(iEapType == *EapExpandedTypeFast.GetType())
+	if(iEapType == eap_type_fast)
 	{
-	    if (iPacStoreDb == 0)
+	    if (iIsConnected == EFalse)
 	    {
 	        User::Leave(KErrSessionClosed);
 	    }
 	    
 		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-		("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PW from caller (16bits)",
+		("CEapTlsPeapUiConnection::VerifyPacStorePasswordL:PW from caller (16bits)",
 		aPacStorePw.Ptr(), 
 		aPacStorePw.Size()));
 		
@@ -352,7 +320,7 @@
 		pacStorePWPtr8.Copy(aPacStorePw);
 	    
 		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-		("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PW used for masterkey verification (8bits)",
+		("CEapTlsPeapUiConnection::VerifyPacStorePasswordL:PW used for masterkey verification (8bits)",
 		pacStorePWPtr8.Ptr(), 
 		pacStorePWPtr8.Size()));	    
 	    
@@ -365,7 +333,7 @@
 			// Password and master key are matching.
 			// Means, This is the password used to create the master key.
 			EAP_TRACE_DEBUG_SYMBIAN(
-				(_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PAC store PW verified OK (true) \n")));				
+				(_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL PAC store PW verified OK (true) \n")));				
 		}
 	}
 	else
@@ -377,44 +345,39 @@
 	return status;
 }
 
-// ----------------------------------------------------------
-
 TInt CEapTlsPeapUiConnection::CreatePacStoreMasterKey(
 	const TDesC& aPacStorePw)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::CreatePacStoreMasterKey()\n"));
-
-	if(aPacStorePw.Length() <= 0)	
+	if(aPacStorePw.Size() <= 0)	
 	{
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PAC store PW can not be EMPTY!")));				
+			(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey PAC store PW can not be EMPTY!")));				
 		
 		return KErrArgument;
 	}
 		
 #ifdef USE_FAST_EAP_TYPE	
 	
-	if(iEapType == *EapExpandedTypeFast.GetType())
+	if(iEapType == eap_type_fast)
 	{
-	    if (iPacStoreDb == 0)
+	    if (iIsConnected == EFalse)
 	    {
 	        return KErrSessionClosed;
 	    }
 	    
-		TInt creationStatus(KErrNone);
+	  TInt creationStatus(KErrNone);
 	  	  
 		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-			("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PW from caller (16bits)",
-			aPacStorePw.Ptr(), 
-			aPacStorePw.Size()));
+		("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:PW from caller (16bits)",
+		aPacStorePw.Ptr(), 
+		aPacStorePw.Size()));
 		
 		HBufC8* pacStorePWBuf8 = NULL;
 		TRAPD(err, pacStorePWBuf8 = HBufC8::NewL(aPacStorePw.Size()));
 		if (err != KErrNone)
 		{
 			EAP_TRACE_DEBUG_SYMBIAN(
-				(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Allocation failed\n")));
+				(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:Allocation failed\n")));
 			return KErrNoMemory;
 		}
 		
@@ -422,24 +385,24 @@
 		pacStorePWPtr8.Copy(aPacStorePw);
 	    
 		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-			("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PW used for masterkey creation (8bits)",
-			pacStorePWPtr8.Ptr(), 
-			pacStorePWPtr8.Size()));
+		("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:PW used for masterkey creation (8bits)",
+		pacStorePWPtr8.Ptr(), 
+		pacStorePWPtr8.Size()));
 		
-		TRAPD(error, creationStatus = iPacStoreDb->CreateAndSaveMasterKeyL(pacStorePWPtr8));
+		TRAPD(err1, creationStatus = iPacStoreDb->CreateAndSaveMasterKeyL(pacStorePWPtr8));
 	    
 		delete pacStorePWBuf8;
 		
-		if(error != KErrNone)
+		if(err1 != KErrNone)
 		{
 			EAP_TRACE_DEBUG_SYMBIAN(
-				(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Creation failed %d\n"), error));
+				(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:Creation failed %d\n"), err1));
 		}
 				
 		if (creationStatus == KErrNone)
 		{
 			EAP_TRACE_DEBUG_SYMBIAN(
-				(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Master key created OK\n")));				
+				(_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey Master key created OK\n")));				
 		}
 		return creationStatus;
 	}
@@ -450,54 +413,19 @@
 	}
 }
 
-// ----------------------------------------------------------
-
-void CEapTlsPeapUiConnection::GetPacStorePasswordL(
-	TDes8 & /* aPassword8 */)
+CPacStoreDatabase * CEapTlsPeapUiConnection::GetPacStoreDb()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetPacStorePasswordL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetPacStorePasswordL()\n"));
-
-#ifdef USE_FAST_EAP_TYPE	
-	if(iEapType == *EapExpandedTypeFast.GetType())
+#ifdef USE_FAST_EAP_TYPE
+	
+	if(iEapType == eap_type_fast)
 	{
-		//iPacStoreDb->GetPacStorePasswordL(aPassword8);
+	    return iPacStoreDb;
 	}
 	else
 #endif	// End: #ifdef USE_FAST_EAP_TYPE		
 	{
-		User::Leave(KErrNotSupported);
-	}
+		return NULL;
+	}	
 }
 
-// ----------------------------------------------------------
-
-void CEapTlsPeapUiConnection::SetPacStorePasswordL(
-	const TDesC8 & aPassword8)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::SetPacStorePasswordL()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::SetPacStorePasswordL()\n"));
-
-	if(aPassword8.Length() <= 0)	
-	{
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiConnection::SetPacStorePasswordL(): PAC store PW can not be EMPTY!")));				
-		return;
-		//User::Leave(KErrArgument);
-	}
-
-#ifdef USE_FAST_EAP_TYPE	
-	if(iEapType == *EapExpandedTypeFast.GetType())
-	{
-		iPacStoreDb->SetPacStorePasswordL(aPassword8);
-	}
-	else
-#endif	// End: #ifdef USE_FAST_EAP_TYPE		
-	{
-		User::Leave(KErrNotSupported);
-	}
-}
-
-
-// ----------------------------------------------------------
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 56 %
+* %version: 36.1.2 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -28,20 +28,19 @@
 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
 
 #include <e32base.h>
-//#include "EapTlsPeapUtils.h"
+#include "EapTlsPeapUtils.h"
 #include "EapTlsPeapDbParameterNames.h"
 #include "EapTlsPeapDbDefaults.h"
 #include <EapTlsPeapUiConnection.h>
 #include <EapTlsPeapUiDataConnection.h>
 #include <EapTlsPeapUiTlsPeapData.h>
-#include <EapTraceSymbian.h>
-#include <EapType.h>
+#include "eap_am_trace_symbian.h"
 
 #ifdef USE_PAC_STORE
 #include "pac_store_db_symbian.h"
 #endif
 
-//const TUint KMaxSqlQueryLength = 256;
+const TUint KMaxSqlQueryLength = 256;
 
 // ---------------------------------------------------------
 // CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection()
@@ -50,12 +49,10 @@
 CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection(CEapTlsPeapUiConnection * aUiConn)
 : iIsOpened(EFalse)
 , iUiConn(aUiConn)
+, iColSet(NULL)
 , iDataPtr(NULL)
 , iFastSpecificColSet(NULL)
-, iEapTypeConnection(NULL)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection()\n"));
 }
 
 
@@ -65,17 +62,11 @@
 // 
 CEapTlsPeapUiDataConnection::~CEapTlsPeapUiDataConnection()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::~CEapTlsPeapUiDataConnection()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::~CEapTlsPeapUiDataConnection()\n"));
-
     if (iUiConn)
     {
         Close();
         iUiConn = NULL;
     }
-
-	delete iEapTypeConnection;
-	iEapTypeConnection = 0;
 }
 
 
@@ -85,29 +76,24 @@
 // 
 TInt CEapTlsPeapUiDataConnection::Open()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open(): Start EAP-Type=0xfe%06x%08x\n"),
-		iUiConn->GetEapType().GetVendorId(),
-		iUiConn->GetEapType().GetVendorType()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::Open()\n"));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open: Start EAP-Type=%d\n"),
+		iUiConn->GetEapType()));
 
     if (iIsOpened)
     {
         return KErrAlreadyExists;
     }
 
-	TEapExpandedType aEapType(iUiConn->GetEapType());
-
-    TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType));
-    if (error != KErrNone)
-        {
-        EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapLeapUiDataConnection::Open() CEapType::NewL() error=%d\n"),error));
-        return error;
-        }
-    
-    iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType());
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
     
     iIsOpened = ETrue;
 
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open: End\n")));
+	
     return KErrNone;
 }
 
@@ -118,10 +104,8 @@
 // 
 TInt CEapTlsPeapUiDataConnection::GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr)
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData(): Start EAP-Type=0xfe%06x%08x\n"),
-		iUiConn->GetEapType().GetVendorId(),
-		iUiConn->GetEapType().GetVendorType()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::GetData()\n"));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData: Start EAP-Type=%d\n"),
+		iUiConn->GetEapType()));
 
     if (aDataPtr == NULL)
     {
@@ -131,7 +115,7 @@
     if (iIsOpened == EFalse)
     {
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiDataConnection::GetData(): Data Connection not opened\n")));
+			(_L("CEapTlsPeapUiDataConnection::GetData: Data Connection not opened\n")));
     
         return KErrSessionClosed;
     }
@@ -146,191 +130,33 @@
     if (!iDataPtr)
     {
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiDataConnection::GetData(): NO MEMORY!\n")));
+			(_L("CEapTlsPeapUiDataConnection::GetData: ERROR: NO MEMORY!\n")));    	
 		
         return KErrNoMemory;
     }
 
-    EAPSettings aSettings;
-    
-	TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings));
-	if (error)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiDataConnection::GetData() GetConfigurationL(): failed %d\n"), error));
-		return error;
-	}
-
-	/**************** only for TTLS PAP ****************/
-
-	if ( iUiConn->GetEapType() == *EapExpandedTypeTtlsPap.GetType() )
-	{
-		if (aSettings.iShowPassWordPromptPresent)
-		{
-			if (aSettings.iShowPassWordPrompt)
-			{
-				*( iDataPtr->GetPapPasswordPrompt() ) = ETrue;
-			}
-			else
-			{
-				*( iDataPtr->GetPapPasswordPrompt() ) = EFalse;
-			}
-		}
-
-		if (aSettings.iUsernamePresent)
-		{
-			iDataPtr->GetPapUserName().Copy(aSettings.iUsername);
-		}
-
-		if (aSettings.iPasswordPresent)
-		{
-			iDataPtr->GetPapPassword().Copy(aSettings.iPassword);
-		}
-
-		return KErrNone;
-	}
-
-	// Get use manual username
-	if (aSettings.iUsernamePresent)
-	{
-	    *(iDataPtr->GetUseManualUsername()) = ETrue;
-		iDataPtr->GetManualUsername().Copy(aSettings.iUsername);
-	}
-	else
-	{
-		*(iDataPtr->GetUseManualUsername()) = EFalse;
-	}
-
-	// Get use manual realm
-	if (aSettings.iRealmPresent)
-	{
-	    *(iDataPtr->GetUseManualRealm()) = ETrue;
-		iDataPtr->GetManualRealm().Copy(aSettings.iRealm);
-	}
-	else
-	{
-		*(iDataPtr->GetUseManualRealm()) = EFalse;
-	}
-
-	// Get PEAP/TTLS versions
-	if (iUiConn->GetEapType() == *EapExpandedTypePeap.GetType()
-		|| iUiConn->GetEapType() == *EapExpandedTypeTtls.GetType()
-#ifdef USE_FAST_EAP_TYPE
-		|| iUiConn->GetEapType() == *EapExpandedTypeFast.GetType()
-#endif
-		)
-	{
-		if (aSettings.iPEAPVersionsPresent)
-		{
-			if (aSettings.iPEAPv0Allowed)
-			{
-				*(iDataPtr->GetAllowVersion0()) = ETrue;
-			}
-
-			if (aSettings.iPEAPv1Allowed)
-			{
-				*(iDataPtr->GetAllowVersion1()) = ETrue;
-			}
-
-			if (aSettings.iPEAPv2Allowed)
-			{
-				*(iDataPtr->GetAllowVersion2()) = ETrue;
-			}
-		}
-	}
-
-	if (aSettings.iUseIdentityPrivacyPresent)
-	{
-		if (aSettings.iUseIdentityPrivacy)
-		{
-			*(iDataPtr->GetTlsPrivacy()) = ETrue;
-		}
-		else
-		{
-			*(iDataPtr->GetTlsPrivacy()) = EFalse;
-		}
-	}
-
-#ifdef USE_FAST_EAP_TYPE
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("Fetching EAP-FAST specific Special settings!\n")));
-
-	if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType())
-	{
-		// Get provisioning modes
-		if (aSettings.iAuthProvModeAllowedPresent)
-		{
-			if (aSettings.iAuthProvModeAllowed)
-			{
-				*(iDataPtr->GetAuthProvModeAllowed()) = ETrue;
-			}
-			else
-			{
-				*(iDataPtr->GetAuthProvModeAllowed()) = EFalse;
-			}
-		}
-
-		if (aSettings.iUnauthProvModeAllowedPresent)
-		{
-			if (aSettings.iUnauthProvModeAllowed)
-			{
-				*(iDataPtr->GetUnauthProvModeAllowed()) = ETrue;
-			}
-			else
-			{
-				*(iDataPtr->GetUnauthProvModeAllowed()) = EFalse;
-			}
-		}
-
-		if (aSettings.iShowPassWordPromptPresent)
-		{
-			if (aSettings.iShowPassWordPrompt)
-			{
-				*( iDataPtr->GetUsePacStorePasswordPrompt() ) = ETrue;
-			}
-			else
-			{
-				*( iDataPtr->GetUsePacStorePasswordPrompt() ) = EFalse;
-			}
-		}
-
-#ifdef USE_PAC_STORE
-
-		{
-			// Get PAC store Password
-			// PAC store password is in a different database, pac store db.
-			// We can use the PacStoreDbUtils to get the PAC store password.
-			
-			TBuf8<KMaxPasswordLengthInDB> tmpPacStorePw8;
-
-			TRAPD(err, iUiConn->GetPacStorePasswordL(tmpPacStorePw8));
-			if (err)
-				{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("couldn't get GetPacStorePasswordL!\n")));
-				}	    	
-			
-			EAP_TRACE_DATA_DEBUG_SYMBIAN(
-				("CEapTlsPeapUiDataConnection::FetchDataL: PW from PAC store DB(8 bits)",
-				tmpPacStorePw8.Ptr(), 
-				tmpPacStorePw8.Size()));
-			
-			/***** Convert the 8 bit password to 16 bits for the UI ***************/	    
-			
-			iDataPtr->GetPacStorePassword().Copy(tmpPacStorePw8);  // This takes care of the conversion automatically.
-			
-			EAP_TRACE_DATA_DEBUG_SYMBIAN(
-				("CEapTlsPeapUiDataConnection::FetchDataL: PW to UI (16 bits)",
-				iDataPtr->GetPacStorePassword().Ptr(), 
-				iDataPtr->GetPacStorePassword().Size()));
-		}
-
-#endif // End: #ifdef USE_PAC_STORE
-
-	} // End: if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType())
-
-#endif // End: #ifdef USE_FAST_EAP_TYPE	
+    TRAPD(err, FetchDataL());
+    if (err != KErrNone)
+    {
+        delete iDataPtr;
+        iDataPtr = NULL;
+        
+        delete iColSet;
+        iColSet = NULL;
+        
+		delete iFastSpecificColSet;
+		iFastSpecificColSet = NULL;
+        
+        iView.Close();
+        iFastSpecificView.Close();
+        
+        return err;
+    }
 
     *aDataPtr = iDataPtr;
 
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData: End\n")));
+	
     return KErrNone;
 } // CEapTlsPeapUiDataConnection::GetData()
 
@@ -341,19 +167,17 @@
 // 
 TInt CEapTlsPeapUiDataConnection::Update()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): Start EAP-Type=0xfe%06x%08x\n"),
-		iUiConn->GetEapType().GetVendorId(),
-		iUiConn->GetEapType().GetVendorType()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::Update()\n"));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update: Start EAP-Type=%d\n"),
+		iUiConn->GetEapType()));
     
     // Do the length checks first.
 	// Check if length of username and realm are less than the max length possible in DB.
-	if(iDataPtr->GetManualUsername().Length() > KMaxUsernameLengthInDB
-		|| iDataPtr->GetManualRealm().Length() > KMaxRealmLengthInDB)
+	if(iDataPtr->GetManualUsername().Length() > KMaxManualUsernameLengthInDB
+		|| iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB)
 	{
 		// Username or realm too long. Can not be stored in DB.
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiDataConnection::Update(): Too long username or realm. Length: UN=%d, Realm=%d\n"),
+			(_L("CEapTlsPeapUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"),
 			iDataPtr->GetManualUsername().Length(),
 			iDataPtr->GetManualRealm().Length()));
 		
@@ -361,179 +185,26 @@
 	}
 
 #ifdef USE_FAST_EAP_TYPE	
+	// Check the length of PAC store password.
 
-	// Check the length of PAC store password.
 	if(iDataPtr->GetPacStorePassword().Size() > KMaxPasswordLengthInDB)
 	{
 		// PAC store password too long. Can not be stored in DB.
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("ERROR: CEapTlsPeapUiDataConnection::Update(): Too long PAC store PW. Size:%d\n"),
+			(_L("CEapTlsPeapUiDataConnection::Update: Too long PAC store PW. Size:%d\n"),
 			iDataPtr->GetPacStorePassword().Size()));
 		
 		return KErrOverflow;
 	}
 
 #endif 
-
-	EAPSettings aSettings;
-
-	if( iUiConn->GetEapType() == *EapExpandedTypeTtlsPap.GetType() )
-	{
-		/************** only for TTLS PAP **************/
-
-		aSettings.iShowPassWordPromptPresent = ETrue;
-
-		if (*(iDataPtr->GetPapPasswordPrompt()))
-		{
-			aSettings.iShowPassWordPrompt = ETrue;
-		}
-		else
-		{
-			aSettings.iShowPassWordPrompt = EFalse;
-		}
-
-		aSettings.iUsernamePresent = ETrue;
-		aSettings.iUsername.Copy(iDataPtr->GetPapUserName());
-
-		aSettings.iPasswordPresent = ETrue;
-		aSettings.iPassword.Copy(iDataPtr->GetPapPassword());
-
-	} // if( iUiConn->GetEapType() == *EapExpandedTypeTtlsPap.GetType() )
-	else
-	{
-		if (*(iDataPtr->GetUseManualUsername()))
-		{
-			aSettings.iUsernamePresent = ETrue;
-			aSettings.iUsername = iDataPtr->GetManualUsername();
-		}
-		else
-		{
-			aSettings.iUsernamePresent = EFalse;
-		}
-	}
-
-    if (*(iDataPtr->GetUseManualRealm()))
-    {
-		aSettings.iRealmPresent = ETrue;
-		aSettings.iRealm = iDataPtr->GetManualRealm();
-    }
-    else
-    {
-		aSettings.iRealmPresent = EFalse;
-    }
 	
-	// PEAP/TTLS versions
-	if (iUiConn->GetEapType() == *EapExpandedTypePeap.GetType()
-		|| iUiConn->GetEapType() == *EapExpandedTypeTtls.GetType()
-#ifdef USE_FAST_EAP_TYPE	
-		|| iUiConn->GetEapType() == *EapExpandedTypeFast.GetType()
-#endif		
-		)
-	{
-		if (*(iDataPtr->GetAllowVersion0()))
-		{
-			aSettings.iPEAPv0Allowed = ETrue;
-		}
-
-		if (*(iDataPtr->GetAllowVersion1()))
-		{
-			aSettings.iPEAPv1Allowed = ETrue;
-		}
-
-		if (*(iDataPtr->GetAllowVersion2()))
-		{
-			aSettings.iPEAPv2Allowed = ETrue;
-		}
-	}	
-
-
-	// Update TLS Privacy
-	aSettings.iUseIdentityPrivacyPresent = ETrue;
+    TRAPD(err, UpdateDataL());
 
-	if (*(iDataPtr->GetTlsPrivacy()))
-	{
-		aSettings.iUseIdentityPrivacy = ETrue;
-	}
-	else
-	{
-		aSettings.iUseIdentityPrivacy = EFalse;
-	}
-
-
-#ifdef USE_FAST_EAP_TYPE
-
-	if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType())
-	{
-		// Update Authentication modes
-		aSettings.iAuthProvModeAllowedPresent = ETrue;
-
-		if (*(iDataPtr->GetAuthProvModeAllowed()))
-		{
-			aSettings.iAuthProvModeAllowed = ETrue;
-		}
-		else
-		{
-			aSettings.iAuthProvModeAllowed = EFalse;
-		}
-
-		aSettings.iUnauthProvModeAllowedPresent = ETrue;
-
-		if (*(iDataPtr->GetUnauthProvModeAllowed()))
-		{
-			aSettings.iUnauthProvModeAllowed = ETrue;
-		}
-		else
-		{
-			aSettings.iUnauthProvModeAllowed = EFalse;
-		}
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update: End, err=%d\n"),
+		err));    
 
-		if (*(iDataPtr->GetUsePacStorePasswordPrompt()))
-		{
-			aSettings.iShowPassWordPrompt = ETrue;
-		}
-		else
-		{
-			aSettings.iShowPassWordPrompt = EFalse;
-		}
-
-#ifdef USE_PAC_STORE
-	    
-		// Update PAC store password.
-	    // PAC store password should be stored in a different database, pac store db.
-	    // We can use the UI connection to save the PAC store password.
-
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-			("CEapTlsPeapUiDataConnection::UpdateDataL: PW from UI(16 bits)",
-			iDataPtr->GetPacStorePassword().Ptr(), 
-			iDataPtr->GetPacStorePassword().Size()));
-		
-		TBuf8<KMaxPasswordLengthInDB> tmpSetPacStorePw8;
-		tmpSetPacStorePw8.Copy(iDataPtr->GetPacStorePassword());		
-		
-		EAP_TRACE_DATA_DEBUG_SYMBIAN(
-			("CEapTlsPeapUiDataConnection::UpdateDataL: PW to PAC store DB(8 bits)",
-			tmpSetPacStorePw8.Ptr(), 
-			tmpSetPacStorePw8.Size()));
-
-	  TRAPD(err, iUiConn->SetPacStorePasswordL(tmpSetPacStorePw8));
-
-          if (err)
-               return err;
-	  	  	    
-	  EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): SetPacStorePassword error = %d\n"),err));
-			    
-#endif // End: #ifdef USE_PAC_STORE	    
-	    
-	} // End: if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType())    
-    
-#endif // End: #ifdef USE_FAST_EAP_TYPE
-
-	TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): SetConfiguration error = %d\n"),error));
-
-	return error;
-
+	return err;
 } // CEapTlsPeapUiDataConnection::Update()
 
 
@@ -543,9 +214,6 @@
 // 
 TInt CEapTlsPeapUiDataConnection::Close()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Close()\n")));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::Close()\n"));
-
     if (iIsOpened == EFalse)
     {
         return KErrNone;
@@ -554,13 +222,610 @@
     delete iDataPtr;
     iDataPtr = NULL;
     
+    delete iColSet;
+    iColSet = NULL;
+
     delete iFastSpecificColSet;
     iFastSpecificColSet = NULL;
     
+    iView.Close();    
+    
+    iFastSpecificView.Close();
+
     iUiConn = NULL;
     
     return KErrNone;
 } // CEapTlsPeapUiDataConnection::Close()
 
+
 // ---------------------------------------------------------
+// CEapTlsPeapUiDataConnection::FetchDataL()
+// ---------------------------------------------------------
+// 
+void CEapTlsPeapUiDataConnection::FetchDataL()
+{
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::FetchDataL: Start EAP-Type=%d\n"),
+		iUiConn->GetEapType()));
+
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+
+	// Form the general query for TLS, PEAP, TTLS and FAST. Query everything.
+	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	if (iUiConn->GetEapType() == eap_type_tls)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KTlsDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_peap)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KPeapDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap)
+	{
+		sqlStatement.Format(KSQLQuery,
+							&KTtlsDatabaseTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+	}
+	
+#ifdef USE_FAST_EAP_TYPE	
+	else if (iUiConn->GetEapType() == eap_type_fast)
+	{
+		// Unlike other EAP types, EAP-FAST has two settings tables. 
+		// General settings and special settings
+		
+		// This is for the General settings. The special settings are read below.
+		
+		sqlStatement.Format(KSQLQuery,
+							&KFastGeneralSettingsDBTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());							
+	}	
+#endif
+	else
+	{
+		// Unknown EAP type
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EAP-Type=%d - ERROR: Unknown EAP type!\n"),
+			iUiConn->GetEapType()));
+			
+		User::Leave(KErrNotSupported);
+	}	
+		
+	// Evaluate view
+	User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement)));
+	User::LeaveIfError(iView.EvaluateAll());
+		
+	// Get the first (and only) row
+	iView.FirstL();
+	iView.GetL();
+	
+	// Get column set so we get the correct column numbers
+	delete iColSet;
+	iColSet = NULL;
+	iColSet = iView.ColSetL();
+
+	// Start fetching the values
+
+	
+	/**************** only for TTLS PAP ****************/
+	
+	if ( iUiConn->GetEapType() == eap_type_ttls_plain_pap )
+		{
+		// Prompt password
+		TUint intValue = iView.ColUint( iColSet->ColNo(
+			cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) );
+	    if ( intValue == 0 )
+	        {
+	        *( iDataPtr->GetPapPasswordPrompt() ) = EFalse;
+	        }
+	    else
+	        {
+	        *( iDataPtr->GetPapPasswordPrompt() ) = ETrue;
+	        }
+
+		// username
+	    iDataPtr->GetPapUserName().Copy( iView.ColDes16( iColSet->ColNo(
+	    	cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) ) );
+
+		// password
+		iDataPtr->GetPapPassword().Copy( iView.ColDes16( iColSet->ColNo(
+			cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) ) );
+
+	    CleanupStack::PopAndDestroy(buf);
+
+		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::FetchDataL: Return\n")));
+        return;
+		}
+		
+	// Get use manual username
+	TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetUseManualUsername()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetUseManualUsername()) = ETrue;
+    }
+
+	// Get use manual realm
+	intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal));
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetUseManualRealm()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetUseManualRealm()) = ETrue;
+    }
+
+	// Get Username
+    iDataPtr->GetManualUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal)));
+
+	// Get Realm
+    iDataPtr->GetManualRealm().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal)));
+
+	// Get PEAP/TTLS versions
+	if (iUiConn->GetEapType() == eap_type_peap
+		|| iUiConn->GetEapType() == eap_type_ttls
+#ifdef USE_FAST_EAP_TYPE
+		|| iUiConn->GetEapType() == eap_type_fast
+#endif
+		)
+	{
+		TPtrC8 binaryValue = iView.ColDes8(iColSet->ColNo(cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal));
+	
+		const TInt* allowedVersions = reinterpret_cast<const TInt *>(binaryValue.Ptr());
+
+		TInt i;
+		for (i = 0; i < static_cast<TInt>(binaryValue.Length() / sizeof(TInt)); i++)
+		{
+			switch(allowedVersions[i])
+			{
+			case 0:
+				*(iDataPtr->GetAllowVersion0()) = ETrue;
+				break;
+			case 1:
+				*(iDataPtr->GetAllowVersion1()) = ETrue;
+				break;
+			case 2:
+				*(iDataPtr->GetAllowVersion2()) = ETrue;
+				break;		
+			}
+		}
+	}
+
+
+	intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal));
+
+    if (intValue == 0)
+    {
+        *(iDataPtr->GetTlsPrivacy()) = EFalse;
+    }
+    else
+    {
+        *(iDataPtr->GetTlsPrivacy()) = ETrue;
+    }
+
+	
+#ifdef USE_FAST_EAP_TYPE
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Fetching EAP-FAST specific Special settings!\n")));
+
+	if(iUiConn->GetEapType() == eap_type_fast)
+	{		
+		// This is for the EAP-FAST specific Special settings.
+		
+		sqlStatement.Format(KSQLQuery,
+							&KFastSpecialSettingsDBTableName,
+							&KServiceType,
+							iUiConn->GetIndexType(),
+							&KServiceIndex,
+							iUiConn->GetIndex(),
+							&KTunnelingType, 
+							iUiConn->GetTunnelingType());
+							
+		// Evaluate view
+		User::LeaveIfError(iFastSpecificView.Prepare(iDatabase, TDbQuery(sqlStatement)));
+		User::LeaveIfError(iFastSpecificView.EvaluateAll());
+			
+		// Get the first (and only) row
+		iFastSpecificView.FirstL();
+		iFastSpecificView.GetL();
+		
+		// Get column set so we get the correct column numbers
+		delete iFastSpecificColSet;
+		iFastSpecificColSet = NULL;
+		iFastSpecificColSet = iFastSpecificView.ColSetL();
+
+		// Start fetching the values							
+	    // The below uses EAP-FAST Specific settings table. So use the specific view and colset.
+		
+		// Get provisioning modes
+		intValue = iFastSpecificView.ColUint(iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal));
+	    if (intValue == 0)
+	    {
+	        *(iDataPtr->GetAuthProvModeAllowed()) = EFalse;
+	    }
+	    else
+	    {
+	        *(iDataPtr->GetAuthProvModeAllowed()) = ETrue;
+	    }
+	
+		intValue = iFastSpecificView.ColUint(iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal));
+	    if (intValue == 0)
+	    {
+	        *(iDataPtr->GetUnauthProvModeAllowed()) = EFalse;
+	    }
+	    else
+	    {
+	        *(iDataPtr->GetUnauthProvModeAllowed()) = ETrue;
+	    } 
+
+#ifdef USE_PAC_STORE	    
+		// Get PAC store Password
+	    // PAC store password is in a different database, pac store db.
+	    // We can use the PacStoreDbUtils to get the PAC store password.
+	    
+	    TBuf8<KMaxPasswordLengthInDB> tmpPacStorePw8;
+
+	    iUiConn->GetPacStoreDb()->GetPacStoreDataL(
+	    		cf_str_EAP_FAST_PAC_store_password_literal(),
+	    		tmpPacStorePw8);	    	
+	    
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+		("CEapTlsPeapUiDataConnection::FetchDataL: PW from PAC store DB(8 bits)",
+		tmpPacStorePw8.Ptr(), 
+		tmpPacStorePw8.Size()));
+	    
+	    /***** Convert the 8 bit password to 16 bits for the UI ***************/	    
+	    
+		iDataPtr->GetPacStorePassword().Copy(tmpPacStorePw8);  // This takes care of the conversion automatically.
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+		("CEapTlsPeapUiDataConnection::FetchDataL: PW to UI (16 bits)",
+		iDataPtr->GetPacStorePassword().Ptr(), 
+		iDataPtr->GetPacStorePassword().Size()));
+		
+		/*****************TEST*************/
+
+#endif // End: #ifdef USE_PAC_STORE
+	    
+	} // End: if(iUiConn->GetEapType() == eap_type_fast)
+    
+#endif // End: #ifdef USE_FAST_EAP_TYPE	
+	
+    CleanupStack::PopAndDestroy(buf);
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::FetchDataL: End\n")));
+
+} // CEapTlsPeapUiDataConnection::FetchDataL()
+
+
+// ---------------------------------------------------------
+// CEapTlsPeapUiDataConnection::UpdateDataL()
+// ---------------------------------------------------------
+// 
+void CEapTlsPeapUiDataConnection::UpdateDataL()
+{
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("CEapTlsPeapUiDataConnection::UpdateDataL: Start\n")));
+	
+    iView.UpdateL();
+	
+    iView.SetColL(
+    	iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal),
+    	iDataPtr->GetManualUsername());
+
+    iView.SetColL(
+    	iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal),
+    	iDataPtr->GetManualRealm());
+
+    if (*(iDataPtr->GetUseManualUsername()))
+    {
+        iView.SetColL(
+        	iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal),
+        	ETLSPEAPUseManualUsernameYes);
+    }
+    else
+    {
+        iView.SetColL(
+        	iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal),
+        	ETLSPEAPUseManualUsernameNo);
+    }
+	
+    if (*(iDataPtr->GetUseManualRealm()))
+    {
+        iView.SetColL(
+        	iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal),
+        	ETLSPEAPUseManualRealmYes);
+    }
+    else
+    {
+        iView.SetColL(
+        	iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal),
+        	ETLSPEAPUseManualRealmNo);
+    }
+	
+	// PEAP/TTLS versions
+	if (iUiConn->GetEapType() == eap_type_peap
+		|| iUiConn->GetEapType() == eap_type_ttls
+#ifdef USE_FAST_EAP_TYPE	
+		|| iUiConn->GetEapType() == eap_type_fast
+#endif		
+		)
+	{
+		TBuf8<KMaxPEAPVersionsStringLengthInDB> acceptedVersions;
+		
+		if (*(iDataPtr->GetAllowVersion0()))
+		{
+			TInt tmp(0);
+			acceptedVersions.Append(reinterpret_cast<const TUint8*>(&tmp), sizeof(TInt));
+		}
+		if (*(iDataPtr->GetAllowVersion1()))
+		{
+			TInt tmp(1);
+			acceptedVersions.Append(reinterpret_cast<const TUint8*>(&tmp), sizeof(TInt));
+		}
+		if (*(iDataPtr->GetAllowVersion2()))
+		{
+			TInt tmp(2);
+			acceptedVersions.Append(reinterpret_cast<const TUint8*>(&tmp), sizeof(TInt));
+		}
+
+		iView.SetColL(
+			iColSet->ColNo(cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal),
+			acceptedVersions);
+	}	
+
+	// Last full authentication time should be made zero when EAP configurations are modified.
+	// This makes sure that the next authentication with this EAP would be full authentication
+	// instead of reauthentication even if the session is still valid.
+	
+	TPtrC lastFullAuthTimeString;
+
+	switch (iUiConn->GetEapType())
+	{
+	case eap_type_tls:
+		{
+			lastFullAuthTimeString.Set(KTLSLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			lastFullAuthTimeString.Set(KPEAPLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_ttls:
+		{
+			lastFullAuthTimeString.Set(KTTLSLastFullAuthTime);
+		}
+		break;
+
+#ifdef USE_FAST_EAP_TYPE	
+	case eap_type_fast:
+		{
+			lastFullAuthTimeString.Set(KFASTLastFullAuthTime);
+		}
+		break;
+#endif		
+
+	case eap_type_ttls_plain_pap:
+		{
+			lastFullAuthTimeString.Set( KTTLSPAPLastFullAuthTime );
+		}
+		break;
+
+	default:
+		{
+			// Should never happen. Don't return error here as this is just to reset the auth time only.
+			EAP_TRACE_DEBUG_SYMBIAN(
+				(_L("Session Validity: EAP-Type=%d - ERROR: Unknown EAP type!\n"),
+				iUiConn->GetEapType() ));
+		}
+	}
+	
+	iView.SetColL(
+		iColSet->ColNo(lastFullAuthTimeString),
+		default_FullAuthTime);
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"),
+		iUiConn->GetEapType() ));
+	
+
+	// Update TLS Privacy
+    if (*(iDataPtr->GetTlsPrivacy()))
+    	{
+    	iView.SetColL(
+    	iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal),
+        ETLSPEAPTLSPrivacyYes);
+        }
+        else
+        {
+        iView.SetColL(
+        iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal),
+        ETLSPEAPTLSPrivacyNo);
+        }
+	
+	
+
+	
+	/************** only for TTLS PAP **************/
+	
+	if( iUiConn->GetEapType() == eap_type_ttls_plain_pap )
+		{
+        // PAP user name
+        iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ),
+        	iDataPtr->GetPapUserName() );
+        // PAP password
+        iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ),
+        	iDataPtr->GetPapPassword() );
+        // PAP password prompt
+        if ( *( iDataPtr->GetPapPasswordPrompt() ) )
+            {
+            iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
+            	EPapPasswordPromptOn );
+            }
+        else
+            {
+            iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
+            	EPapPasswordPromptOff );
+            }
+    
+		} // if( iUiConn->GetEapType() == eap_type_ttls_plain_pap )
+
+	
+	
+	// Now put all the updated values in DB table.
+	iView.PutL();	
+
+#ifdef USE_FAST_EAP_TYPE
+
+	if(iUiConn->GetEapType() == eap_type_fast)
+	{
+		// Make the view ready for updation. This is important!
+	    iFastSpecificView.UpdateL();
+   	
+		// Update Authentication modes
+	    if (*(iDataPtr->GetAuthProvModeAllowed()))
+        {
+            iFastSpecificView.SetColL(
+            	iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal),
+            	EFASTAuthProvModeAllowedYes);
+        }
+        else
+        {
+            iFastSpecificView.SetColL(
+            	iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal),
+            	EFASTAuthProvModeAllowedNo);
+        }
+	    
+	    if (*(iDataPtr->GetUnauthProvModeAllowed()))
+        {
+            iFastSpecificView.SetColL(
+            	iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal),
+            	EFASTUnauthProvModeAllowedYes);
+        }
+        else
+        {
+            iFastSpecificView.SetColL(
+            	iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal),
+            	EFASTUnauthProvModeAllowedNo);
+        }
+	    
+	   	// Now put all the updated values in DB table.
+		iFastSpecificView.PutL();	    
+	
+	    
+#ifdef USE_PAC_STORE
+	    
+		// Update PAC store password.
+	    // PAC store password should be stored in a different database, pac store db.
+	    // We can use the UI connection to save the PAC store password.
+
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+		("CEapTlsPeapUiDataConnection::UpdateDataL: PW from UI(16 bits)",
+		iDataPtr->GetPacStorePassword().Ptr(), 
+		iDataPtr->GetPacStorePassword().Size()));
+		
+		TBuf8<KMaxPasswordLengthInDB> tmpSetPacStorePw8;
+		tmpSetPacStorePw8.Copy(iDataPtr->GetPacStorePassword());		
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(
+		("CEapTlsPeapUiDataConnection::UpdateDataL: PW to PAC store DB(8 bits)",
+		tmpSetPacStorePw8.Ptr(), 
+		tmpSetPacStorePw8.Size()));
+
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    	cf_str_EAP_FAST_PAC_store_password_literal(),
+	    	tmpSetPacStorePw8);	    
+			    
+/*****************TEST*************/
+	    
+#ifdef   PAC_STORE_DATA_HACK
+
+		TBuf<4> tmpSetPacStoreData1;
+		TBuf<4> tmpSetPacStoreData2;
+		TBuf<4> tmpSetPacStoreData3;
+		TBuf<4> tmpSetPacStoreData4;
+		TBuf<4> tmpSetPacStoreData5;
+		TBuf<4> tmpSetPacStoreData6;
+		RArray<SInfoEntry> infoarray1;
+		RArray<SInfoEntry> infoarray2;
+
+		tmpSetPacStoreData1.Copy(iDataPtr->GetUsePAC_Store_Group_Reference());		
+		tmpSetPacStoreData2.Copy(iDataPtr->GetUsePAC_Store_Group_Value());		
+		tmpSetPacStoreData3.Copy(iDataPtr->GetUsePAC_Store_AID_Reference());		
+		tmpSetPacStoreData4.Copy(iDataPtr->GetUsePAC_Store_AID_Value());		
+		tmpSetPacStoreData6.Copy(iDataPtr->GetUsePAC_Store_PAC_Reference());		
+		tmpSetPacStoreData6.Copy(iDataPtr->GetUsePAC_Store_PAC_Value());		
+		
+			EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::UpdateDataL: tmpSetPacStoreData=%S\n"),
+					&tmpSetPacStorePw));
+
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    		KPacStoreGroupReference,
+	    		tmpSetPacStoreData1,
+	    		KPacStoreGroupReference);	    
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    		KPacStoreGroupValue,
+	    		tmpSetPacStoreData2,
+	    		KPacStoreGroupReference);	    
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    		KPacStoreAIDReference,
+	    		tmpSetPacStoreData3,
+	    		KPacStoreAIDReference);	    
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    		KPacStoreAIDValue,
+	    		tmpSetPacStoreData4,
+	    		KPacStoreAIDReference);	    
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    		KPacStorePACReference,
+	    		tmpSetPacStoreData5,
+	    		KPacStorePACValue);	    
+	    iUiConn->GetPacStoreDb()->SetPacStoreDataL(
+	    		KPacStorePACValue,
+	    		tmpSetPacStoreData6,
+	    		KPacStorePACReference);	    
+		
+#endif
+	    
+		/*****************TEST*************/	    
+	    
+#endif // End: #ifdef USE_PAC_STORE	    
+	    
+	} // End: if(iUiConn->GetEapType() == eap_type_fast)    
+    
+#endif // End: #ifdef USE_FAST_EAP_TYPE
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::UpdateDataL: End\n")));    
+
+} // CEapTlsPeapUiDataConnection::UpdateDataL()
+
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 16 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -30,13 +30,11 @@
 
 // INCLUDE FILES
 #include <e32base.h>
-//#include "EapTlsPeapUtils.h"
+#include "EapTlsPeapUtils.h"
 #include <EapTlsPeapUiConnection.h>
 #include <EapTlsPeapUiEapTypes.h>
 #include <EapTlsPeapUiEapType.h>
-#include <EapTraceSymbian.h>
-#include "EapConversion.h"
-#include <EapType.h>
+#include "eap_am_trace_symbian.h"
 
 const TUint KNumberOfSupportedEAPTypes = 10; //Now 10, including EAP-FAST & TTLS-PAP
 
@@ -44,14 +42,17 @@
 : iIsOpened(EFalse)
 , iUiConn(aUiConn)
 , iDataPtr(NULL)
-, iEapTypeConnection(NULL)
 {
 }
 
 
 CEapTlsPeapUiEapTypes::~CEapTlsPeapUiEapTypes()
 {
-    Close();
+    if (iUiConn)
+    {
+        Close();
+        iUiConn = NULL;
+    }
 }
 
 
@@ -62,48 +63,49 @@
         return KErrAlreadyExists;
     }
 
-	TEapExpandedType aEapType(iUiConn->GetEapType());
+    TInt err = iUiConn->GetDatabase(iDatabase);
+    if (err != KErrNone)
+    {
+        return err;
+    }
 
-	TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiEapTypes::Open() CEapType::NewL() error=%d\n"),error));
-		return error;
-	}
-    
-    iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType());
-    
     iIsOpened = ETrue;
 
     return KErrNone;
 }
 
 
-TInt CEapTlsPeapUiEapTypes::GetEapTypes(RPointerArray<TEapTlsPeapUiEapType> ** aDataPtr)
+TInt CEapTlsPeapUiEapTypes::GetEapTypes(CArrayFixFlat<TEapTlsPeapUiEapType> ** aDataPtr)
 {
     if (aDataPtr == NULL)
     {
         return KErrArgument;
     }
-
-	if (iIsOpened == EFalse)
+    if (iIsOpened == EFalse)
     {
         return KErrSessionClosed;
     }
-
     if (iDataPtr != 0)
     {
     	*aDataPtr = iDataPtr;
     	return KErrNone;
     }
-
-    iDataPtr = new RPointerArray<TEapTlsPeapUiEapType>(KNumberOfSupportedEAPTypes);
+    iDataPtr = new CArrayFixFlat<TEapTlsPeapUiEapType>(KNumberOfSupportedEAPTypes);
     if (!iDataPtr)
     {
         return KErrNoMemory;
     }
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
     TRAPD(err, FetchExpandedDataL());
+
+#else
+
+    TRAPD(err, FetchDataL());
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+        
     if (err != KErrNone)
     {
         delete iDataPtr;
@@ -119,11 +121,56 @@
 TInt CEapTlsPeapUiEapTypes::Update()
 {
 
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	TRAPD(err, UpdateExpandedDataL());
 
+#else
+
+	TRAPD(err, UpdateL());
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	return err;
 }
 
+#ifndef USE_EAP_EXPANDED_TYPES
+
+void CEapTlsPeapUiEapTypes::UpdateL()
+{
+	TEapArray eapTypes;
+	TEap* eapTmp; 	
+	
+	TInt i(0);
+	
+	for(i = 0; i < iDataPtr->Count(); i++)
+	{
+		eapTmp = new (ELeave) TEap;
+		CleanupStack::PushL(eapTmp);
+		eapTmp->Enabled	= iDataPtr->At(i).iIsEnabled;
+		eapTmp->UID.Copy(iDataPtr->At(i).iEapType);
+		User::LeaveIfError(eapTypes.Append(eapTmp));
+		CleanupStack::Pop(eapTmp);
+	}	
+
+	TRAPD(err, EapTlsPeapUtils::SetEapDataL(
+			iDatabase, 
+			0, 
+			eapTypes, 
+			iUiConn->GetIndexType(),
+			iUiConn->GetIndex(),
+			static_cast<eap_type_value_e>(iUiConn->GetTunnelingType()),
+			static_cast<eap_type_value_e>(iUiConn->GetEapType())));
+
+	eapTypes.ResetAndDestroy();	
+	if (err != KErrNone)
+	{
+		User::Leave(err);
+	}
+}
+#endif // #ifndef USE_EAP_EXPANDED_TYPES
+
+
 TInt CEapTlsPeapUiEapTypes::Close()
 {
     if (iIsOpened == EFalse)
@@ -135,158 +182,217 @@
     iDataPtr = 0;
 		
     iUiConn = NULL;
-
-	if (iEapTypeConnection)
-	{
-		delete iEapTypeConnection;
-		iEapTypeConnection = 0;
-	}
-
-	iIsOpened = EFalse;
-
     return KErrNone;
 }
 
+#ifndef USE_EAP_EXPANDED_TYPES
+
+void CEapTlsPeapUiEapTypes::FetchDataL()
+{		
+	TEapArray eapTypes;
+	
+	TRAPD(err, EapTlsPeapUtils::GetEapDataL(
+			iDatabase, 
+			0, 
+			eapTypes, 
+			iUiConn->GetIndexType(), 
+			iUiConn->GetIndex(), 
+			static_cast<eap_type_value_e>(iUiConn->GetTunnelingType()),
+			static_cast<eap_type_value_e>(iUiConn->GetEapType())));
+
+	if (err != KErrNone)
+	{
+		eapTypes.ResetAndDestroy();
+		User::Leave(err);
+	}
+	
+	TInt i(0);
+	for	(i = 0; i < eapTypes.Count(); i++)	
+	{
+		TEapTlsPeapUiEapType tmp;
+
+		tmp.iIsEnabled = eapTypes[i]->Enabled;
+		
+		tmp.iEapType.Copy(eapTypes[i]->UID);
+		
+		TRAPD(err, iDataPtr->AppendL(tmp));
+		if (err != KErrNone)
+		{
+			eapTypes.ResetAndDestroy();
+			User::Leave(err);
+		}
+	}
+	eapTypes.ResetAndDestroy();	
+}
+#endif // #ifndef USE_EAP_EXPANDED_TYPES
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
 void CEapTlsPeapUiEapTypes::FetchExpandedDataL()
 {
 	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: Start\n")));
 
-    EAPSettings aSettings;
-    
-	TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings));
-	if (error)
+	RExpandedEapTypePtrArray enabledEAPTypes;
+	RExpandedEapTypePtrArray disabledEAPTypes;
+
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iUiConn->GetTunnelingType()));
+	eap_type_value_e eapType(static_cast<eap_type_ietf_values_e>(iUiConn->GetEapType()));
+
+	TRAPD(err, EapTlsPeapUtils::GetTunnelingExpandedEapDataL(
+			iDatabase, 
+			0, 
+			enabledEAPTypes,
+			disabledEAPTypes, 
+			iUiConn->GetIndexType(), 
+			iUiConn->GetIndex(), 
+			tunnelingType,
+			eapType));
+
+	if (err != KErrNone)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiEapTypes::FetchExpandedDataL(): GetConfigurationL() failed %d\n"), error));
-		User::Leave(error);
+		enabledEAPTypes.ResetAndDestroy();
+		disabledEAPTypes.ResetAndDestroy();
+		
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: Error from GetTunnelingExpandedEapDataL:%d\n"),
+			err));		
+		
+		User::Leave(err);
+	}
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: Got tunneling EAPs from DB: enabled=%d,disabled=%d\n"),
+		enabledEAPTypes.Count(), disabledEAPTypes.Count()));		
+	
+	TInt i(0);
+	
+	// First fill the enabled EAP types.	
+	for	(i = 0; i < enabledEAPTypes.Count(); i++)	
+	{
+		TEapTlsPeapUiEapType tmpEAP;
+
+		tmpEAP.iIsEnabled = ETrue; // All EAP types here are enabled.
+		
+		tmpEAP.iEapType.Copy(enabledEAPTypes[i]->iExpandedEAPType);
+		
+		TRAPD(err, iDataPtr->AppendL(tmpEAP));
+		if (err != KErrNone)
+		{
+			enabledEAPTypes.ResetAndDestroy();
+			User::Leave(err);
+		}
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL:Appended ENABLED EAP type:",
+			tmpEAP.iEapType.Ptr(), 
+			tmpEAP.iEapType.Size() ) );		
 	}
 
-	TInt i(0);
-
+	// Now fill the disabled EAP types.	
+	for	(i = 0; i < disabledEAPTypes.Count(); i++)	
 	{
-		TEapExpandedType enabledEAPType(*EapExpandedTypeNone.GetType());
-
-		if (aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent)
-		{
-			// First fill the enabled EAP types.	
-			for	(i = 0; i < aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count(); i++)	
-			{
-				TEapTlsPeapUiEapType * tmpEAP = new (ELeave) TEapTlsPeapUiEapType;
-				if (tmpEAP == 0)
-				{
-					User::Leave(KErrNoMemory);
-				}
-
-				tmpEAP->SetIsEnabled(ETrue); // All EAP types here are enabled.
-				
-				tmpEAP->SetEapType(aSettings.iEnabledEncapsulatedEAPExpandedTypes[i]);
-				
-				TRAPD(err, iDataPtr->AppendL(tmpEAP));
-				if (err != KErrNone)
-				{
-					User::Leave(err);
-				}
-				
-				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL(): Appended ENABLED EAP type:",
-					tmpEAP->GetEapType().GetValue().Ptr(), 
-					tmpEAP->GetEapType().GetValue().Length() ) );		
-			}
-		}
-	}
+		TEapTlsPeapUiEapType tmpEAP;
 
-	{
-		TEapExpandedType disabledEAPType(*EapExpandedTypeNone.GetType());
-
-		if (aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent)
+		tmpEAP.iIsEnabled = EFalse; // All EAP types here are disabled.
+		
+		tmpEAP.iEapType.Copy(disabledEAPTypes[i]->iExpandedEAPType);
+		
+		TRAPD(err, iDataPtr->AppendL(tmpEAP));
+		if (err != KErrNone)
 		{
-			// Now fill the disabled EAP types.	
-			for	(i = 0; i < aSettings.iDisabledEncapsulatedEAPExpandedTypes.Count(); i++)	
-			{
-				TEapTlsPeapUiEapType * tmpEAP = new (ELeave) TEapTlsPeapUiEapType;
-				if (tmpEAP == 0)
-				{
-					User::Leave(KErrNoMemory);
-				}
-
-				tmpEAP->SetIsEnabled(EFalse); // All EAP types here are disabled.
-				
-				tmpEAP->SetEapType(aSettings.iDisabledEncapsulatedEAPExpandedTypes[i]);
-				
-				TRAPD(err, iDataPtr->AppendL(tmpEAP));
-				if (err != KErrNone)
-				{
-					User::Leave(err);
-				}
-				
-				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL(): Appended DISABLED EAP type:",
-					tmpEAP->GetEapType().GetValue().Ptr(), 
-					tmpEAP->GetEapType().GetValue().Length() ) );		
-			}
+			disabledEAPTypes.ResetAndDestroy();
+			User::Leave(err);
 		}
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL:Appended DISABLED EAP type:",
+			tmpEAP.iEapType.Ptr(), 
+			tmpEAP.iEapType.Size() ) );		
 	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL(): End\n")));	
+	
+	enabledEAPTypes.ResetAndDestroy();		
+	disabledEAPTypes.ResetAndDestroy();
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: End\n")));	
 }
 
 void CEapTlsPeapUiEapTypes::UpdateExpandedDataL()
 {
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Start\n")));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: Start\n")));
 
-	if (iDataPtr == 0)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): iDataPtr == 0\n")));
-		User::Leave(KErrArgument);
-	}
-
-    EAPSettings aSettings;
-
+	RExpandedEapTypePtrArray enabledEAPTypes;
+	RExpandedEapTypePtrArray disabledEAPTypes;
+	SExpandedEAPType* expandedEAPTmp;
+	
 	for(TInt i=0 ; i < iDataPtr->Count(); i++)
 	{
-		if ((*iDataPtr)[i] != 0)
+		expandedEAPTmp = new (ELeave) SExpandedEAPType;
+		CleanupStack::PushL(expandedEAPTmp);
+		
+		expandedEAPTmp->iExpandedEAPType.Copy(iDataPtr->At(i).iEapType);
+		
+		if(iDataPtr->At(i).iIsEnabled)
 		{
-			TEapExpandedType expandedEAPTmp = (*iDataPtr)[i]->GetEapType();
-			
-			if((*iDataPtr)[i]->GetIsEnabled())
-			{
-				// Enabled
-				TInt error = aSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(expandedEAPTmp);
+			// Enabled
+			TInt error = enabledEAPTypes.Append(expandedEAPTmp);
 
-				if (error != KErrNone)
-				{
-					User::LeaveIfError(error);
-				}
-			
-				aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
+			if (error != KErrNone)
+			{
+				enabledEAPTypes.ResetAndDestroy();
+				disabledEAPTypes.ResetAndDestroy();
+				User::LeaveIfError(error);
+			}
+		
+			EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL:Appended ENABLED EAP type:",
+				expandedEAPTmp->iExpandedEAPType.Ptr(), 
+				expandedEAPTmp->iExpandedEAPType.Size() ) );
+		}
+		else
+		{
+			// Disabled
+			TInt error = disabledEAPTypes.Append(expandedEAPTmp);
 
-				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Appended ENABLED EAP type:",
-					expandedEAPTmp.GetValue().Ptr(), 
-					expandedEAPTmp.GetValue().Size() ) );
-			}
-			else
+			if (error != KErrNone)
 			{
-				// Disabled
-				TInt error = aSettings.iDisabledEncapsulatedEAPExpandedTypes.Append(expandedEAPTmp);
+				enabledEAPTypes.ResetAndDestroy();
+				disabledEAPTypes.ResetAndDestroy();
+				User::LeaveIfError(error);
+			}
 
-				if (error != KErrNone)
-				{
-					User::LeaveIfError(error);
-				}
+			EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL:Appended DISABLED EAP type:",
+				expandedEAPTmp->iExpandedEAPType.Ptr(), 
+				expandedEAPTmp->iExpandedEAPType.Size() ) );
+		}
+		
+		CleanupStack::Pop(expandedEAPTmp);	
+	}	
 
-				aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue;
+	eap_type_value_e tunnelingType(static_cast<eap_type_ietf_values_e>(iUiConn->GetTunnelingType()));
+	eap_type_value_e eapType(static_cast<eap_type_ietf_values_e>(iUiConn->GetEapType()));
 
-				EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Appended DISABLED EAP type:",
-					expandedEAPTmp.GetValue().Ptr(), 
-					expandedEAPTmp.GetValue().Size() ) );
-			}
-		}
-	} // for()
+	TRAPD(err, EapTlsPeapUtils::SetTunnelingExpandedEapDataL(
+			iDatabase, 
+			0, 
+			enabledEAPTypes,
+			disabledEAPTypes, 
+			iUiConn->GetIndexType(),
+			iUiConn->GetIndex(),
+			tunnelingType,
+			eapType));
 
-	TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): error = %d\n"),error));
-
-	User::LeaveIfError(error);
+	enabledEAPTypes.ResetAndDestroy();
+	disabledEAPTypes.ResetAndDestroy();
+		
+	if (err != KErrNone)
+	{
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: Error from SetTunnelingExpandedEapDataL:%d\n"),
+			err));		
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): End\n")));	
+		User::Leave(err);
+	}
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: End\n")));	
 }
+    
+#endif // #ifdef USE_EAP_EXPANDED_TYPES
 
 // End of file
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 14 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -34,8 +34,7 @@
 : iAllowVersion0(EFalse),
 iAllowVersion1(EFalse),
 iAllowVersion2(EFalse),
-iPapPasswordPrompt( ETrue ),
-iPasswordPrompt(ETrue)
+iPapPasswordPrompt( ETrue )
 {
 }
 
@@ -101,11 +100,6 @@
 	return iPacStorePassword;
 }
 
-TBool* CEapTlsPeapUiTlsPeapData::GetUsePacStorePasswordPrompt()
-{
-	return &iPasswordPrompt;
-}
-
 
 // ---------------------------------------------------------
 // CEapTlsPeapUiTlsPeapData::GetPapUserName()
--- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 140 %
+* %version: 76.1.1.1.6 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -36,68 +36,66 @@
 #include <x509cert.h>
 #include <x509certext.h>
 
-#include "EapPluginTools.h"
-#include "EapConversion.h"
-#include "EapAutomatic.h"
-
 #ifdef USE_FAST_EAP_TYPE
 #include "pac_store_db_parameters.h"
 #endif //#ifdef USE_FAST_EAP_TYPE
 
-#include <EapTraceSymbian.h>
-
+#include "eap_am_trace_symbian.h"
 #include "EapTlsPeapCertFetcher.h"
 
 const TUint KMaxSqlQueryLength = 2048;
 const TInt	KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute.
 const TInt	KDefaultColumnInView_One = 1; // For DB view.
 const TInt 	KMaxEapDbTableNameLength = 64;
-
 // ================= MEMBER FUNCTIONS =======================
 
 void EapTlsPeapUtils::OpenDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
+	RDbNamedDatabase& aDatabase, 
+	RDbs& aSession, 
 	const TIndexType aIndexType,
-	const TInt aIndex,
+	const TInt aIndex, 
 	const eap_type_value_e aTunnelingType,
 	eap_type_value_e aEapType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenDatabaseL()\n"));
+		(_L("EapTlsPeapUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingType.get_vendor_type(), aEapType.get_vendor_type()));
+#else
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingType=%d, aEapType=%d \n"),
+		aIndexType,aIndex, aTunnelingType, aEapType));
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	if (aEapType == eap_type_tls)
 	{
-		OpenTlsDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType);
+		OpenTlsDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType);
 	} 
 	else if (aEapType == eap_type_peap)
 	{
-		OpenPeapDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType);
+		OpenPeapDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType);
 	} 
 #if defined(USE_TTLS_EAP_TYPE)
 	else if (aEapType == eap_type_ttls)
 	{
-		OpenTtlsDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType);
+		OpenTtlsDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType);
 	} 
 #endif // #if defined(USE_TTLS_EAP_TYPE)
 #if defined(USE_FAST_EAP_TYPE)
 	else if (aEapType == eap_type_fast)
 	{
-		OpenFastDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType);
+		OpenFastDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType);
 	} 
 #endif // #if defined(USE_FAST_EAP_TYPE)
-	else if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() )
-	{
-		OpenTtlsDatabaseL( aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType);
-	}
+	
+	else if ( aEapType == eap_type_ttls_plain_pap )
+		{
+		OpenTtlsDatabaseL( aDatabase, aSession, aIndexType, aIndex, aTunnelingType);
+		}
+	
 	else
 	{
 		// Unsupported EAP type
@@ -105,118 +103,144 @@
 	}	
 } // EapTlsPeapUtils::OpenDatabaseL()
 
-// ---------------------------------------------------------
-
 void EapTlsPeapUtils::OpenTlsDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
+		const TInt aIndex,
+		const eap_type_value_e aTunnelingType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::OpenTlsDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenTlsDatabaseL()\n"));
+		(_L("EapTlsPeapUtils::OpenTlsDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType));
 
 	// 1. Open/create a database	
 	
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KTlsDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KTlsDatabaseName, KSecureUIDFormat);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Created Secure DB for eaptls.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL(): - Opened private DB for EAP-TLS. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KTlsDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KTlsDatabaseName);
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Created Non-Secure DB for eaptls.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	User::LeaveIfError(aDatabase.Open(fsSession, KTlsDatabaseName));
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eaptls table to database (ignore error if exists)
 	
-	// Table columns:
-	//// NAME ////////////////////////////////////////// TYPE //////////// Constant ////////////////////
-	//| ServiceType									| UNSIGNED INTEGER | KServiceType         |//
-	//| ServiceIndex								| UNSIGNED INTEGER | KServiceIndex        |//
-	//| TunnelingTypeVendorId                       | UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType								| UNSIGNED INTEGER | KTunnelingType		|//
-	//| EAP_TLS_PEAP_use_manual_realm				| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
-	//| EAP_TLS_PEAP_manual_realm					| VARCHAR(255)     | cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
-	//| EAP_TLS_PEAP_use_manual_username			| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
-	//| EAP_TLS_PEAP_manual_username				| VARCHAR(255)     | cf_str_EAP_TLS_PEAP_manual_username_literal			|//
-	//| EAP_TLS_PEAP_cipher_suite					| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal	    |//
-	//| EAP_TLS_server_authenticates_client			| UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal |//
-	//| CA_cert_label								| VARCHAR(255)     | KCACertLabel	    |//
-	//| client_cert_label							| VARCHAR(255)     | KClientCertLabel	    |//
-	//| EAP_TLS_PEAP_saved_session_id				| BINARY(32)       | cf_str_EAP_TLS_PEAP_saved_session_id_literal		    |//
-	//| EAP_TLS_PEAP_saved_master_secret			| BINARY(48)       | cf_str_EAP_TLS_PEAP_saved_master_secret_literal	    |//
-	//| EAP_TLS_PEAP_saved_cipher_suite				| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal    |//
-	//| EAP_TLS_PEAP_verify_certificate_realm		| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		    |//
-	//| EAP_TLS_max_session_validity_time			| BIGINT           | cf_str_EAP_TLS_max_session_validity_time_literal   |//
-	//| EAP_TLS_last_full_authentication_time		| BIGINT           | KTLSLastFullAuthTime	   	|//	
-	//| EAP_TLS_PEAP_use_identity_privacy	    	| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|//
-	//| EAP_TLS_PEAP_use_automatic_ca_certificate	| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|//
-	///////////////////////////////////////////////////////////////////////////////////////////////////////////////	
+// Table columns:
+//// NAME ////////////////////////////////////////// TYPE //////////// Constant ////////////////////
+//| ServiceType									| UNSIGNED INTEGER | KServiceType         |//
+//| ServiceIndex								| UNSIGNED INTEGER | KServiceIndex        |//
+//| TunnelingType								| UNSIGNED INTEGER | KTunnelingType		|//
+//| EAP_TLS_PEAP_use_manual_realm				| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
+//| EAP_TLS_PEAP_manual_realm					| VARCHAR(255)     | cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
+//| EAP_TLS_PEAP_use_manual_username			| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
+//| EAP_TLS_PEAP_manual_username				| VARCHAR(255)     | cf_str_EAP_TLS_PEAP_manual_username_literal			|//
+//| EAP_TLS_PEAP_cipher_suite					| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal	    |//
+//| EAP_TLS_server_authenticates_client			| UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal |//
+//| CA_cert_label								| VARCHAR(255)     | KCACertLabelOld	    |//
+//| client_cert_label							| VARCHAR(255)     | KClientCertLabel	    |//
+//| EAP_TLS_PEAP_saved_session_id				| BINARY(32)       | cf_str_EAP_TLS_PEAP_saved_session_id_literal		    |//
+//| EAP_TLS_PEAP_saved_master_secret			| BINARY(48)       | cf_str_EAP_TLS_PEAP_saved_master_secret_literal	    |//
+//| EAP_TLS_PEAP_saved_cipher_suite				| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal    |//
+//| EAP_TLS_PEAP_verify_certificate_realm		| UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		    |//
+//| EAP_TLS_max_session_validity_time			| BIGINT	   	 	| cf_str_EAP_TLS_max_session_validity_time_literal   |//
+//| EAP_TLS_last_full_authentication_time		| BIGINT	   		| KTLSLastFullAuthTime	   	|//	
+//| EAP_TLS_PEAP_use_identity_privacy	    	| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|//
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////	
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
 	// Table creation is divided into two parts because otherwise the SQL string would get too long
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),	  \
-		 %S VARCHAR(%d),     \
-		 %S BINARY(%d),		  \
-		 %S BINARY(%d),		  \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BIGINT, \
-		 %S BIGINT, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
+	_LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),	  \
+											 %S VARCHAR(%d),     \
+											 %S BINARY(%d),		  \
+											 %S BINARY(%d),		  \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S BIGINT, \
+											 %S BIGINT, \
+											 %S UNSIGNED INTEGER)");
 											 
 	sqlStatement.Format(KSQLCreateTable1,
 		&KTlsDatabaseTableName,
 		&KServiceType,
 		&KServiceIndex,
-		&KTunnelingTypeVendorId,
 		&KTunnelingType,
 		&cf_str_EAP_TLS_PEAP_use_manual_realm_literal,
-		&cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB,
+		&cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB,
 		&cf_str_EAP_TLS_PEAP_use_manual_username_literal,
-		&cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB,
+		&cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB,
 		&cf_str_EAP_TLS_PEAP_cipher_suite_literal, 
 		&cf_str_TLS_server_authenticates_client_policy_in_client_literal,
-		&KCACertLabel, KMaxCertLabelLengthInDB,
+		&KCACertLabelOld, KMaxCertLabelLengthInDB,
 		&KClientCertLabel, KMaxCertLabelLengthInDB,
 		&cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB,
 		&cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB,
@@ -224,56 +248,50 @@
 		&cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal,		
 		&cf_str_EAP_TLS_max_session_validity_time_literal,
 		&KTLSLastFullAuthTime,
-		&cf_str_EAP_TLS_PEAP_use_identity_privacy_literal,
-		&cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal);	
-	
-	error = aDatabase.Execute(sqlStatement);
-	if (error == KErrAlreadyExists)
+		&cf_str_EAP_TLS_PEAP_use_identity_privacy_literal);	
+	
+	err = aDatabase.Execute(sqlStatement);
+	if (err == KErrAlreadyExists)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Alter Table error=%d\n"), error) );
-		_LIT( KColumnDef, "UNSIGNED INTEGER" );
-		AlterTableL( aDatabase, EAddColumn , KTlsDatabaseTableName,
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Alter Table err=%d\n"), err) );
+	_LIT( KColumnDef, "UNSIGNED INTEGER" );
+	AlterTableL( aDatabase, EAddColumn , KTlsDatabaseTableName,
 			cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, KColumnDef);
 	}
-	else if (error != KErrNone)
-	{
-		User::Leave(error);
-	}
+	else if (err != KErrNone)
+		{
+		User::Leave(err);
+		}
 
 	// Create table for _allowed_ user certificates
 	
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType			  | UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex		  | UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType		  | UNSIGNED INTEGER | KTunnelingType		|//
-	//| CertLabel			  | VARCHAR(255)     | KCertLabel        |//	
-	//| SubjectKeyId		  | BINARY(20)       | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId    | BINARY(20)       | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName			  | VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName			  | VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber		  | VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint			  | BINARY(64)       | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable2, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
-
-	sqlStatement.Format(KSQLCreateTable2,
-		&KTlsAllowedUserCertsDatabaseTableName, 
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CertLabel			| VARCHAR(255)     | KCertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");											 
+											 
+	sqlStatement.Format(KSQLCreateTable2, &KTlsAllowedUserCertsDatabaseTableName, 
 		&KServiceType, 
 		&KServiceIndex, 
-		&KTunnelingTypeVendorId,
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -283,46 +301,41 @@
 		&KSerialNumber, KGeneralStringMaxLength,
 		&KThumbprint, KThumbprintMaxLength);
 				
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// Create table for _allowed_ CA certs
 
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType		      | UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex		  | UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType		  | UNSIGNED INTEGER | KTunnelingType		|//
-	//| CertLabel			  | VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId		  | BINARY(255)	     | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId    | BINARY(20)	     | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName			  | VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName			  | VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber		  | VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint			  | BINARY(64)	     | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-
-	_LIT(KSQLCreateTable3, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
-
-	sqlStatement.Format(KSQLCreateTable3,
-		&KTlsAllowedCACertsDatabaseTableName, 
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType		    | UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(255)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+
+	_LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");											 
+											 
+	sqlStatement.Format(KSQLCreateTable3, &KTlsAllowedCACertsDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -332,58 +345,44 @@
 		&KSerialNumber, KGeneralStringMaxLength,
 		&KThumbprint, KThumbprintMaxLength);
 		
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// Create table for allowed cipher suites
 
-	//// NAME ///////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType			  | UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex		  | UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType		  | UNSIGNED INTEGER | KTunnelingType		|//
-	//| CipherSuite			  | UNSIGNED INTEGER | KCipherSuite        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable4, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
-
-	sqlStatement.Format(KSQLCreateTable4,
-		&KTlsAllowedCipherSuitesDatabaseTableName, 
+//// NAME ///////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CipherSuite			| UNSIGNED INTEGER | KCipherSuite        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER)");
+
+	sqlStatement.Format(KSQLCreateTable4, &KTlsAllowedCipherSuitesDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCipherSuite);
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+		
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 	
 	// 4. Check if database table contains a row for this service type and id 
 		
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(KSQLQueryRow,
-		&cf_str_EAP_TLS_PEAP_cipher_suite_literal,
-		&KTlsDatabaseTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());	
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &KTlsDatabaseTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);	
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -411,20 +410,19 @@
 		// Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default.
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite);
 		
 		view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), default_EAP_TLS_server_authenticates_client);
 		
-		view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label);
+		view.SetColL(colSet->ColNo(KCACertLabelOld), default_CA_cert_label);
 		view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), default_EAP_TLS_PEAP_verify_certificate_realm);
@@ -433,14 +431,11 @@
 		
 		view.SetColL(colSet->ColNo(KTLSLastFullAuthTime), default_FullAuthTime);		
 
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy);		
-
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate);
-
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy);		
 		view.PutL();
 
-		CleanupStack::PopAndDestroy( colSet );
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.		
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 		
 		// Add default disabled cipher suites
 		_LIT(KSQLInsert2, "SELECT * FROM %S");
@@ -458,8 +453,7 @@
 			view.InsertL();
 			view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 			view.SetColL(colSet->ColNo(KServiceIndex), aIndex);			
-			view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 			view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]);
 			view.PutL();
 			i++;
@@ -482,139 +476,163 @@
 	tableName = KTlsAllowedCACertsDatabaseTableName;	
 	AddExtraCertColumnsL(aDatabase,tableName);
 	
-
+	CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement	
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );	
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );
-	CleanupStack::Pop( &aFileServerSession );
 }
 
-// ---------------------------------------------------------
-
 void EapTlsPeapUtils::OpenPeapDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
+		const TInt aIndex,
+		const eap_type_value_e aTunnelingType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::OpenPeapDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenPeapDatabaseL()\n"));
+		(_L("EapTlsPeapUtils::OpenPeapDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType));
 
 	// 1. Open/create a database	
-
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KPeapDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KPeapDatabaseName, KSecureUIDFormat);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Created Secure DB for eappeap.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL(): - Opened private DB for EAP-PEAP. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KPeapDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KPeapDatabaseName);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Created Non-Secure DB for eappeap.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	User::LeaveIfError(aDatabase.Open(fsSession, KPeapDatabaseName));
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eappeap table to database (ignore error if exists)
 	
-	// Table columns:
-	//// NAME /////////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
-	//| ServiceType										| UNSIGNED INTEGER 	| KServiceType        |//
-	//| ServiceIndex									| UNSIGNED INTEGER 	| KServiceIndex       |//
-	//| TunnelingTypeVendorId							| UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType									| UNSIGNED INTEGER 	| KTunnelingType		|//
-	//| EAP_TLS_PEAP_use_manual_realm					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
-	//| EAP_TLS_PEAP_manual_realm						| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
-	//| EAP_TLS_PEAP_use_manual_username				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
-	//| EAP_TLS_PEAP_manual_username					| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_username_literal			|//
-	//| EAP_TLS_PEAP_max_count_of_session_resumes		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_max_count_of_session_resumes_literal    |//
-	//| EAP_TLS_PEAP_cipher_suite						| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_cipher_suite_literal	   |//
-	//| EAP_TLS_PEAP_used_PEAP_version					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_used_PEAP_version_literal		    |//
-	//| EAP_TLS_PEAP_accepted_PEAP_versions				| BINARY(12)	    | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|//
-	//| PEAP_accepted_tunneled_client_types			   	| VARBINARY(240) 	| cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal      |//
-	//| PEAP_unaccepted_tunneled_client_types		   	| VARBINARY(240) 	| cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal      |//
-	//| EAP_TLS_server_authenticates_client		        | UNSIGNED INTEGER 	| cf_str_TLS_server_authenticates_client_policy_in_client_literal|//
-	//| CA_cert_label								    | VARCHAR(255)     	| KCACertLabel	   |//
-	//| client_cert_label							    | VARCHAR(255)     	| KClientCertLabel	   |//
-	//| EAP_TLS_PEAP_saved_session_id				    | BINARY(32)       	| cf_str_EAP_TLS_PEAP_saved_session_id_literal		   |//
-	//| EAP_TLS_PEAP_saved_master_secret			    | BINARY(48)       	| cf_str_EAP_TLS_PEAP_saved_master_secret_literal	   |//
-	//| EAP_TLS_PEAP_saved_cipher_suite				    | UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal   |//
-	//| EAP_TLS_PEAP_verify_certificate_realm			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		   |//
-	//| EAP_PEAP_max_session_validity_time				| BIGINT	   		| cf_str_EAP_PEAP_max_session_validity_time_literal   |//
-	//| EAP_PEAP_last_full_authentication_time			| BIGINT	   		| KPEAPLastFullAuthTime	   	|//	
-	//| EAP_TLS_PEAP_use_identity_privacy	    		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|//
-	//| EAP_TLS_PEAP_use_automatic_ca_certificate		| UNSIGNED INTEGER  | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|//
-	//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
+// Table columns:
+//// NAME /////////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
+//| ServiceType										| UNSIGNED INTEGER 	| KServiceType        |//
+//| ServiceIndex									| UNSIGNED INTEGER 	| KServiceIndex       |//
+//| TunnelingType									| UNSIGNED INTEGER 	| KTunnelingType		|//
+//| EAP_TLS_PEAP_use_manual_realm					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
+//| EAP_TLS_PEAP_manual_realm						| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
+//| EAP_TLS_PEAP_use_manual_username				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
+//| EAP_TLS_PEAP_manual_username					| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_username_literal			|//
+//| EAP_TLS_PEAP_max_count_of_session_resumes		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_max_count_of_session_resumes_literal    |//
+//| EAP_TLS_PEAP_cipher_suite						| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_cipher_suite_literal	   |//
+//| EAP_TLS_PEAP_used_PEAP_version					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_used_PEAP_version_literal		    |//
+//| EAP_TLS_PEAP_accepted_PEAP_versions				| BINARY(12)	    | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|//
+//| PEAP_accepted_tunneled_client_types			   	| VARBINARY(240) 	| cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal      |//
+//| PEAP_unaccepted_tunneled_client_types		   	| VARBINARY(240) 	| cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal      |//
+//| EAP_TLS_server_authenticates_client		        | UNSIGNED INTEGER 	| cf_str_TLS_server_authenticates_client_policy_in_client_literal|//
+//| CA_cert_label								    | VARCHAR(255)     	| KCACertLabelOld	   |//
+//| client_cert_label							    | VARCHAR(255)     	| KClientCertLabel	   |//
+//| EAP_TLS_PEAP_saved_session_id				    | BINARY(32)       	| cf_str_EAP_TLS_PEAP_saved_session_id_literal		   |//
+//| EAP_TLS_PEAP_saved_master_secret			    | BINARY(48)       	| cf_str_EAP_TLS_PEAP_saved_master_secret_literal	   |//
+//| EAP_TLS_PEAP_saved_cipher_suite				    | UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal   |//
+//| EAP_TLS_PEAP_verify_certificate_realm			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		   |//
+//| EAP_PEAP_max_session_validity_time				| BIGINT	   		| cf_str_EAP_PEAP_max_session_validity_time_literal   |//
+//| EAP_PEAP_last_full_authentication_time			| BIGINT	   		| KPEAPLastFullAuthTime	   	|//	
+//| EAP_TLS_PEAP_use_identity_privacy	    	    | UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|//
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
 	// Table creation is divided into two parts because otherwise the SQL string would get too long
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BINARY(%d),		  \
-		 %S VARBINARY(%d),	  \
-		 %S VARBINARY(%d),	  \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),	  \
-		 %S VARCHAR(%d),     \
-		 %S BINARY(%d),		  \
-		 %S BINARY(%d),		  \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BIGINT, \
-		 %S BIGINT, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
-
+	_LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S BINARY(%d),		  \
+											 %S VARBINARY(%d),	  \
+											 %S VARBINARY(%d),	  \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),	  \
+											 %S VARCHAR(%d),     \
+											 %S BINARY(%d),		  \
+											 %S BINARY(%d),		  \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S BIGINT, \
+											 %S BIGINT, \
+											 %S UNSIGNED INTEGER)");
 	sqlStatement.Format(KSQLCreateTable1,
 		&KPeapDatabaseTableName,
 		&KServiceType,
 		&KServiceIndex,
-		&KTunnelingTypeVendorId,
 		&KTunnelingType,
 		&cf_str_EAP_TLS_PEAP_use_manual_realm_literal,
-		&cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB,
+		&cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB,
 		&cf_str_EAP_TLS_PEAP_use_manual_username_literal,
-		&cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB,
+		&cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB,
 		&cf_str_EAP_TLS_PEAP_cipher_suite_literal,
 		&cf_str_EAP_TLS_PEAP_used_PEAP_version_literal,
 		&cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal, KMaxPEAPVersionsStringLengthInDB,
 		&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB,
 		&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB,
 		&cf_str_TLS_server_authenticates_client_policy_in_client_literal,
-		&KCACertLabel, KMaxCertLabelLengthInDB,
+		&KCACertLabelOld, KMaxCertLabelLengthInDB,
 		&KClientCertLabel, KMaxCertLabelLengthInDB,
 		&cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB,
 		&cf_str_EAP_TLS_PEAP_saved_master_secret_literal,  KMaxMasterSecretLengthInDB,
@@ -622,56 +640,50 @@
 		&cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal,
 		&cf_str_EAP_PEAP_max_session_validity_time_literal,
 		&KPEAPLastFullAuthTime,	
-		&cf_str_EAP_TLS_PEAP_use_identity_privacy_literal,
-		&cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal);		
+		&cf_str_EAP_TLS_PEAP_use_identity_privacy_literal);		
 					
-	error = aDatabase.Execute(sqlStatement);
-	if (error == KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err == KErrAlreadyExists)
 		{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Alter Table error=%d\n"), error) );
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Alter Table err=%d\n"), err) );
 		_LIT( KColumnDef, "UNSIGNED INTEGER" );
 		AlterTableL( aDatabase, EAddColumn , KPeapDatabaseTableName,
 				cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, KColumnDef);
 		}
-		else if (error != KErrNone)
+		else if (err != KErrNone)
 			{
-			User::Leave(error);
+			User::Leave(err);
 			}
 
 	// Create table for _allowed_ user certificates
 	
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CertLabel				| VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId			| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId		| BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName				| VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName				| VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber			| VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint				| BINARY(64)	   | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable2, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
-
-	sqlStatement.Format(KSQLCreateTable2,
-		&KPeapAllowedUserCertsDatabaseTableName, 
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");											 
+											 
+	sqlStatement.Format(KSQLCreateTable2, &KPeapAllowedUserCertsDatabaseTableName, 
 		&KServiceType, 
 		&KServiceIndex, 
-		&KTunnelingTypeVendorId,
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -681,46 +693,41 @@
 		&KSerialNumber, KGeneralStringMaxLength,
 		&KThumbprint, KThumbprintMaxLength);
 		
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}	
 
 	// Create table for _allowed_ CA certs
 
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CACertLabel				| VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId			| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId		| BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName				| VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName				| VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber			| VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint				| BINARY(64)	   | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-
-	_LIT(KSQLCreateTable3, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CACertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+
+	_LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");
 											 											 
-	sqlStatement.Format(KSQLCreateTable3,
-		&KPeapAllowedCACertsDatabaseTableName, 
+	sqlStatement.Format(KSQLCreateTable3, &KPeapAllowedCACertsDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -730,66 +737,49 @@
 		&KSerialNumber, KGeneralStringMaxLength,
 		&KThumbprint, KThumbprintMaxLength);
 		
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// Create table for _allowed_ cipher suites
 
-	//// NAME ///////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CipherSuite				| UNSIGNED INTEGER | KCipherSuite        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable4, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
-
-	sqlStatement.Format(KSQLCreateTable4,
-		&KPeapAllowedCipherSuitesDatabaseTableName, 
-		&KServiceType,
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
-		&KTunnelingType,
-		&KCipherSuite);
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+//// NAME ///////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CipherSuite			| UNSIGNED INTEGER | KCipherSuite        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER)");
+
+	sqlStatement.Format(KSQLCreateTable4, &KPeapAllowedCipherSuitesDatabaseTableName, 
+		&KServiceType, &KServiceIndex, &KTunnelingType, &KCipherSuite);
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// 4. Check if database table contains a row for this service type and id 
 	 	
-	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(KSQLQueryRow,
-		&KPeapDatabaseTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
-
+	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	sqlStatement.Format(KSQLQueryRow, &KPeapDatabaseTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
+			
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	// View must be closed when no longer needed
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
-
+	
 	// 5. If row is not found then add it
-
+	
 	TInt rows = view.CountL();
 	CleanupStack::PopAndDestroy(); // view
 	if (rows == 0)
@@ -808,14 +798,13 @@
 		// Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default.
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite);
 		
@@ -838,7 +827,7 @@
 		view.SetColL(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal), default_PEAP_tunneled_types);
 		
 		view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), default_EAP_PEAP_TTLS_server_authenticates_client);
-		view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label);
+		view.SetColL(colSet->ColNo(KCACertLabelOld), default_CA_cert_label);
 		view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label);	
 
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), default_EAP_TLS_PEAP_verify_certificate_realm);
@@ -847,9 +836,7 @@
 		
 		view.SetColL(colSet->ColNo(KPEAPLastFullAuthTime), default_FullAuthTime);
 
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy);						
-
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy);						
 
 		view.PutL();
 		
@@ -872,15 +859,14 @@
 			view.InsertL();
 			view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 			view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
-			view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 			view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]);
 			view.PutL();
 			i++;
 		}
 		
-		CleanupStack::PopAndDestroy( colSet );
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.		
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 	} 
 	
 	// 6. Do the altering of tables here. 
@@ -896,11 +882,11 @@
 	tableName = KPeapAllowedCACertsDatabaseTableName;	
 	AddExtraCertColumnsL(aDatabase,tableName);
 
+	CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );	
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );
-	CleanupStack::Pop( &aFileServerSession );
 }
 
 #if defined(USE_TTLS_EAP_TYPE)
@@ -910,143 +896,170 @@
 // ---------------------------------------------------------
 //
 void EapTlsPeapUtils::OpenTtlsDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
-	const TInt aIndex,
-	const eap_type_value_e aTunnelingType)
+		RDbNamedDatabase& aDatabase, 
+		RDbs& aSession, 
+		const TIndexType aIndexType, 
+		const TInt aIndex,
+		const eap_type_value_e aTunnelingType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenTtlsDatabaseL()\n"));
+		(_L("EapTlsPeapUtils::OpenTtlsDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType));
 
 	// 1. Open/create a database	
-
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KTtlsDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KTtlsDatabaseName, KSecureUIDFormat);
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Created Secure DB for eapttls.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): - Opened private DB for EAP-TTLS. error=%d\n"), error));
-
-	User::LeaveIfError(error);
-
+	User::LeaveIfError(aDatabase.Open(aSession, KTtlsDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KTtlsDatabaseName);
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Created Non-Secure DB for eapttls.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	User::LeaveIfError(aDatabase.Open(fsSession, KTtlsDatabaseName));
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eapttls table to database (ignore error if exists)
 	
-	// Table columns:
-	//// NAME //////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
-	//| ServiceType									| UNSIGNED INTEGER 	| KServiceType        |//
-	//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex       |//
-	//| TunnelingTypeVendorId                       | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType		|//
-	//| EAP_TLS_PEAP_use_manual_realm				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
-	//| EAP_TLS_PEAP_manual_realm					| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
-	//| EAP_TLS_PEAP_use_manual_username			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
-	//| EAP_TLS_PEAP_manual_username				| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_username_literal			|//
-	//| EAP_TLS_PEAP_cipher_suite					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_cipher_suite_literal	   |//
-	//| EAP_TLS_PEAP_used_PEAP_version				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_used_PEAP_version_literal		    |//
-	//| EAP_TLS_PEAP_accepted_PEAP_versions			| BINARY(12)	    | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|//
-	//| PEAP_accepted_tunneled_client_types			| VARBINARY(240) 	| cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal      |//
-	//| PEAP_unaccepted_tunneled_client_types		| VARBINARY(240) 	| cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal      |//
-	//| EAP_TLS_server_authenticates_client		    | UNSIGNED INTEGER 	| cf_str_TLS_server_authenticates_client_policy_in_client_literal|//
-	//| CA_cert_label								| VARCHAR(255)     	| KCACertLabel	   |//
-	//| client_cert_label							| VARCHAR(255)     	| KClientCertLabel	   |//
-	//| EAP_TLS_PEAP_saved_session_id				| BINARY(32)       	| cf_str_EAP_TLS_PEAP_saved_session_id_literal		   |//
-	//| EAP_TLS_PEAP_saved_master_secret			| BINARY(48)       	| cf_str_EAP_TLS_PEAP_saved_master_secret_literal	   |//
-	//| EAP_TLS_PEAP_saved_cipher_suite				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal   |//
-	//| EAP_TLS_PEAP_verify_certificate_realm		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		   |//
-	//| EAP_TTLS_max_session_validity_time			| BIGINT	   		| cf_str_EAP_TTLS_max_session_validity_time_literal   |//
-	//| EAP_TTLS_last_full_authentication_time		| BIGINT	   		| KTTLSLastFullAuthTime	   	|//	
-	//| EAP_TLS_PEAP_use_identity_privacy			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal		   |//
-
-
-	//| EAP_TLS_PEAP_ttls_pap_password_prompt               | UNSIGNED INTEGER  | cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal           |//
-	//| EAP_TLS_PEAP_ttls_pap_username                      | VARCHAR(253)      | cf_str_EAP_TLS_PEAP_ttls_pap_username_literal                  |//
-	//| EAP_TLS_PEAP_ttls_pap_password                      | VARCHAR(128)      | cf_str_EAP_TLS_PEAP_ttls_pap_password_literal                  |//
-	//| EAP_TLS_PEAP_ttls_pap_max_session_validity_time		| BIGINT		   	| cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal |//
-	//| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time	| BIGINT		   	| KTTLSPAPLastFullAuthTime	                             |//
-
-	//| EAP_TLS_PEAP_use_automatic_ca_certificate		| UNSIGNED INTEGER  | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|//
-
-	//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
+// Table columns:
+//// NAME //////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
+//| ServiceType									| UNSIGNED INTEGER 	| KServiceType        |//
+//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex       |//
+//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType		|//
+//| EAP_TLS_PEAP_use_manual_realm				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
+//| EAP_TLS_PEAP_manual_realm					| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
+//| EAP_TLS_PEAP_use_manual_username			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
+//| EAP_TLS_PEAP_manual_username				| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_username_literal			|//
+//| EAP_TLS_PEAP_cipher_suite					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_cipher_suite_literal	   |//
+//| EAP_TLS_PEAP_used_PEAP_version				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_used_PEAP_version_literal		    |//
+//| EAP_TLS_PEAP_accepted_PEAP_versions			| BINARY(12)	    | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|//
+//| PEAP_accepted_tunneled_client_types			| VARBINARY(240) 	| cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal      |//
+//| PEAP_unaccepted_tunneled_client_types		| VARBINARY(240) 	| cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal      |//
+//| EAP_TLS_server_authenticates_client		    | UNSIGNED INTEGER 	| cf_str_TLS_server_authenticates_client_policy_in_client_literal|//
+//| CA_cert_label								| VARCHAR(255)     	| KCACertLabelOld	   |//
+//| client_cert_label							| VARCHAR(255)     	| KClientCertLabel	   |//
+//| EAP_TLS_PEAP_saved_session_id				| BINARY(32)       	| cf_str_EAP_TLS_PEAP_saved_session_id_literal		   |//
+//| EAP_TLS_PEAP_saved_master_secret			| BINARY(48)       	| cf_str_EAP_TLS_PEAP_saved_master_secret_literal	   |//
+//| EAP_TLS_PEAP_saved_cipher_suite				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal   |//
+//| EAP_TLS_PEAP_verify_certificate_realm		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		   |//
+//| EAP_TTLS_max_session_validity_time			| BIGINT	   		| cf_str_EAP_TTLS_max_session_validity_time_literal   |//
+//| EAP_TTLS_last_full_authentication_time		| BIGINT	   		| KTTLSLastFullAuthTime	   	|//	
+//| EAP_TLS_PEAP_use_identity_privacy			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal		   |//
+
+
+//| EAP_TLS_PEAP_ttls_pap_password_prompt               | UNSIGNED INTEGER  | cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal           |//
+//| EAP_TLS_PEAP_ttls_pap_username                      | VARCHAR(253)      | cf_str_EAP_TLS_PEAP_ttls_pap_username_literal                  |//
+//| EAP_TLS_PEAP_ttls_pap_password                      | VARCHAR(128)      | cf_str_EAP_TLS_PEAP_ttls_pap_password_literal                  |//
+//| EAP_TLS_PEAP_ttls_pap_max_session_validity_time		| BIGINT		   	| cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal |//
+//| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time	| BIGINT		   	| KTTLSPAPLastFullAuthTime	                             |//
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
 	
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	// Table creation is divided into two parts because otherwise the SQL string would get too long
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BINARY(%d),		  \
-		 %S VARBINARY(%d),	  \
-		 %S VARBINARY(%d),	  \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),	  \
-		 %S VARCHAR(%d),     \
-		 %S BINARY(%d),		  \
-		 %S BINARY(%d),		  \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BIGINT, \
-		 %S BIGINT, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-         %S BIGINT, \
-         %S BIGINT)");
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable1)\n")) );
+// Table creation is divided into two parts because otherwise the SQL string would get too long
+	_LIT(KSQLCreateTable1,
+		"CREATE TABLE %S (%S UNSIGNED INTEGER, \
+			              %S UNSIGNED INTEGER, \
+			              %S UNSIGNED INTEGER, \
+			              %S UNSIGNED INTEGER, \
+			              %S VARCHAR(%d),     \
+			              %S UNSIGNED INTEGER, \
+			              %S VARCHAR(%d),     \
+			              %S UNSIGNED INTEGER, \
+			              %S UNSIGNED INTEGER, \
+			              %S BINARY(%d),		  \
+			              %S VARBINARY(%d),	  \
+			              %S VARBINARY(%d),	  \
+			              %S UNSIGNED INTEGER, \
+			              %S VARCHAR(%d),	  \
+			              %S VARCHAR(%d),     \
+			              %S BINARY(%d),		  \
+			              %S BINARY(%d),		  \
+			              %S UNSIGNED INTEGER, \
+			              %S UNSIGNED INTEGER, \
+			              %S BIGINT, \
+			              %S BIGINT, \
+				      			%S UNSIGNED INTEGER, \
+			              %S UNSIGNED INTEGER, \
+			              %S VARCHAR(%d), \
+			              %S VARCHAR(%d), \
+                    %S BIGINT, \
+                    %S BIGINT)");
 
     sqlStatement.Format( KSQLCreateTable1,
         &KTtlsDatabaseTableName,
         &KServiceType,
         &KServiceIndex,
-		&KTunnelingTypeVendorId,
         &KTunnelingType,
         &cf_str_EAP_TLS_PEAP_use_manual_realm_literal,
-        &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB,
+        &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB,
         &cf_str_EAP_TLS_PEAP_use_manual_username_literal,
-        &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB,
+        &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB,
         &cf_str_EAP_TLS_PEAP_cipher_suite_literal,
         &cf_str_EAP_TLS_PEAP_used_PEAP_version_literal,
         &cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal, KMaxPEAPVersionsStringLengthInDB,
         &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB,
         &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,	KMaxTunneledTypeStringLengthInDB,	
         &cf_str_TLS_server_authenticates_client_policy_in_client_literal,
-        &KCACertLabel, KMaxCertLabelLengthInDB,
+        &KCACertLabelOld, KMaxCertLabelLengthInDB,
         &KClientCertLabel, KMaxCertLabelLengthInDB,
         &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB,
         &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB,
@@ -1059,25 +1072,14 @@
         &cf_str_EAP_TLS_PEAP_ttls_pap_username_literal, KMaxPapUserNameLengthInDb,
         &cf_str_EAP_TLS_PEAP_ttls_pap_password_literal, KMaxPapPasswordLengthInDb,
         &cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal,
-        &KTTLSPAPLastFullAuthTime);	
-
-
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) );
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error == KErrNone)
+        &KTTLSPAPLastFullAuthTime );	
+
+
+	
+	err = aDatabase.Execute(sqlStatement);
+	if (err == KErrAlreadyExists)
 		{
-		// SQL command will be too long if this is included to KSQLCreateTable1.
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): OK, Alter Table error=%d\n"), error) );
-		
-		_LIT( KColumnDef6, "UNSIGNED INTEGER" );
-		AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName,
-				cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal, KColumnDef6);
-		}
-	else if (error == KErrAlreadyExists)
-		{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): Alter Table error=%d\n"), error) );
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Alter Table err=%d\n"), err) );
 		
 		_LIT( KColumnDef, "UNSIGNED INTEGER" );
 		AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName,
@@ -1112,54 +1114,41 @@
 		AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName,
 				KTTLSPAPLastFullAuthTime, KColumnDef5);
 				
-		_LIT( KColumnDef6, "UNSIGNED INTEGER" );
-		AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName,
-				cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal, KColumnDef6);
-				
 		}
-	else if (error != KErrNone)
+	else if (err != KErrNone)
 		{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute() failed error=%d\n"), error) );
-		
-		User::Leave(error);
+		User::Leave(err);
 		}
 
 	// Create table for _allowed_ user certificates
 	
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType		  		| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CertLabel				| VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId			| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId		| BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName				| VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName				| VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber			| VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint				| BINARY(64)	   | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable2, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable2)\n")) );
-
-	sqlStatement.Format(KSQLCreateTable2,
-		&KTtlsAllowedUserCertsDatabaseTableName, 
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType		  	| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");											 
+											 
+	sqlStatement.Format(KSQLCreateTable2, &KTtlsAllowedUserCertsDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -1169,50 +1158,41 @@
 		&KSerialNumber, KGeneralStringMaxLength,
 		&KThumbprint, KThumbprintMaxLength);
 		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) );
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}	
 
 	// Create table for _allowed_ CA certs
 
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CACertLabel				| VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId			| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId		| BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName				| VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName				| VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber			| VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint				| BINARY(64)	   | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-
-	_LIT(KSQLCreateTable3, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CACertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+
+	_LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");
 											 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable3)\n")) );
-
-	sqlStatement.Format(KSQLCreateTable3,
-		&KTtlsAllowedCACertsDatabaseTableName, 
+	sqlStatement.Format(KSQLCreateTable3, &KTtlsAllowedCACertsDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -1222,101 +1202,58 @@
 		&KSerialNumber, KGeneralStringMaxLength,
 		&KThumbprint, KThumbprintMaxLength);
 		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) );
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// Create table for _allowed_ cipher suites
 
-	//// NAME ///////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CipherSuite				| UNSIGNED INTEGER | KCipherSuite        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable4, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable4)\n")) );
-
-	sqlStatement.Format(KSQLCreateTable4,
-		&KTtlsAllowedCipherSuitesDatabaseTableName, 
-		&KServiceType,
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
-		&KTunnelingType,
-		&KCipherSuite);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) );
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+//// NAME ///////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CipherSuite			| UNSIGNED INTEGER | KCipherSuite        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER)");
+
+	sqlStatement.Format(KSQLCreateTable4, &KTtlsAllowedCipherSuitesDatabaseTableName, 
+		&KServiceType, &KServiceIndex, &KTunnelingType, &KCipherSuite);
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	// 4. Check if database table contains a row for this service type and id  	
 	
-	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLQueryRow)\n")) );
-
-	sqlStatement.Format(KSQLQueryRow,
-		&KTtlsDatabaseTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());	
+	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	sqlStatement.Format(KSQLQueryRow, &KTtlsDatabaseTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);	
 			
 	RDbView view;
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.Prepare()\n")) );
-
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	// View must be closed when no longer needed
 	CleanupClosePushL(view);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.EvaluateAll()\n")) );
-
 	User::LeaveIfError(view.EvaluateAll());
 	
 	// 5. If row is not found then add it
 	
 	TInt rows = view.CountL();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.CountL()=%d\n"),
-		rows));
-
 	CleanupStack::PopAndDestroy(); // view
 	if (rows == 0)
 	{
 		_LIT(KSQLInsert, "SELECT * FROM %S");
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLInsert)\n")) );
-
 		sqlStatement.Format(KSQLInsert, &KTtlsDatabaseTableName);	
 
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.Prepare()\n")) );
-
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly));
 		CleanupClosePushL(view);
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.InsertL()\n")) );
-
 		view.InsertL();
 
 		// Get column set so we get the correct column numbers
@@ -1326,14 +1263,13 @@
 		// Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default.
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);		
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite);
 
@@ -1356,7 +1292,7 @@
 		view.SetColL(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal), default_PEAP_tunneled_types);		
 		
 		view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), default_EAP_PEAP_TTLS_server_authenticates_client);
-		view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label);
+		view.SetColL(colSet->ColNo(KCACertLabelOld), default_CA_cert_label);
 		
 		view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label);	
 
@@ -1366,7 +1302,7 @@
 		
 		view.SetColL(colSet->ColNo(KTTLSLastFullAuthTime), default_FullAuthTime);				
 
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy);
 
 
 		view.SetColL( colSet->ColNo(
@@ -1389,26 +1325,15 @@
 			colSet->ColNo( KTTLSPAPLastFullAuthTime ),
 			KDefaultFullPapAuthTime );		
 
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.SetColL(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal)\n")) );
-
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate);
-		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.PutL()\n")) );
-
+		
 		view.PutL();
 		
 		CleanupStack::PopAndDestroy(colSet); 
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 
 		// Add default disabled cipher suites
 		_LIT(KSQLInsert2, "SELECT * FROM %S");
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLInsert2)\n")) );
-
 		sqlStatement.Format(KSQLInsert2, &KTtlsAllowedCipherSuitesDatabaseTableName);
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.Prepare()\n")) );
-
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly));
 		CleanupClosePushL(view);
 
@@ -1422,15 +1347,14 @@
 			view.InsertL();
 			view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 			view.SetColL(colSet->ColNo(KServiceIndex), aIndex);		
-			view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);			
 			view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]);
 			view.PutL();
 			i++;
 		}
 		
-		CleanupStack::PopAndDestroy( colSet );
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.		
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 	}
 	 
 	// 6. Do the altering of tables here. 
@@ -1440,21 +1364,18 @@
 
 	// For the table _allowed_ USER certificates
 	tableName = KTtlsAllowedUserCertsDatabaseTableName;	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): AddExtraCertColumnsL()\n")) );
 	AddExtraCertColumnsL(aDatabase,tableName);
 	
 	// For the table _allowed_ CA certificates	
 	tableName = KTtlsAllowedCACertsDatabaseTableName;	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): AddExtraCertColumnsL()\n")) );
 	AddExtraCertColumnsL(aDatabase,tableName);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Compact()\n")) );
+	CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );
-	CleanupStack::Pop( &aFileServerSession );
-
+	
 } // EapTlsPeapUtils::OpenTtlsDatabaseL()
 
 #endif // #if defined(USE_TTLS_EAP_TYPE)
@@ -1466,83 +1387,117 @@
 // ---------------------------------------------------------
 //
 void EapTlsPeapUtils::OpenFastDatabaseL(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	const TIndexType aIndexType,
+	RDbNamedDatabase& aDatabase, 
+	RDbs& aSession, 
+	const TIndexType aIndexType, 
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType)
-{
+    {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::OpenFastDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenFastDatabaseL()\n"));
+		(_L("EapTlsPeapUtils::OpenFastDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType));
 
 	// 1. Open/create a database	
-
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		KFastDatabaseName,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	
+	// Connect to the DBMS server.
+	User::LeaveIfError(aSession.Connect());		
+	CleanupClosePushL(aSession);	
+	// aSession and aDatabase are pushed to the cleanup stack even though they may be member
+	// variables of the calling class and would be closed in the destructor anyway. This ensures
+	// that if they are not member variables they will be closed. Closing the handle twice
+	// does no harm.	
+	
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = aDatabase.Create(aSession, KFastDatabaseName, KSecureUIDFormat);
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::OpenFastDatabaseL - Created Secure DB for eapfast.dat. err=%d (-11=DB created before)\n"),
+		err) );
+	
+	if(err == KErrNone)
 	{
 		aDatabase.Close();
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenFastDatabaseL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenFastDatabaseL(): - Opened private DB for EAP-FAST. error=%d\n"), error));
-
-	User::LeaveIfError(error);
+	User::LeaveIfError(aDatabase.Open(aSession, KFastDatabaseName, KSecureUIDFormat));
+	CleanupClosePushL(aDatabase);		
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = aDatabase.Create(fsSession, KFastDatabaseName);
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenFastDatabaseL - Created Non-Secure DB for eapfast.dat. err=%d\n"), err) );
+	
+	if(err == KErrNone)
+	{
+		aDatabase.Close();
+		
+	} else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	User::LeaveIfError(aDatabase.Open(fsSession, KFastDatabaseName));
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	CleanupClosePushL(aDatabase);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	// 2. Create the eapfast tables to database (ignore error if exists)
 	
 	// Table 1: Create table for general settings of EAP-FAST.
 	
-	// Table columns:
-	//// NAME //////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
-	//| ServiceType									| UNSIGNED INTEGER 	| KServiceType        |//
-	//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex       |//
-	//| TunnelingTypeVendorId                       | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType		|//
-	//| EAP_TLS_PEAP_use_manual_realm				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
-	//| EAP_TLS_PEAP_manual_realm					| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
-	//| EAP_TLS_PEAP_use_manual_username			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
-	//| EAP_TLS_PEAP_manual_username				| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_username_literal			|//
-	//| EAP_TLS_PEAP_cipher_suite					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_cipher_suite_literal	   |//
-	//| EAP_TLS_PEAP_used_PEAP_version				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_used_PEAP_version_literal		    |//
-	//| EAP_TLS_PEAP_accepted_PEAP_versions			| BINARY(12)	    | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|//
-	//| PEAP_accepted_tunneled_client_types			| VARBINARY(240) 	| cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal      |//
-	//| PEAP_unaccepted_tunneled_client_types		| VARBINARY(240) 	| cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal      |//
-	//| EAP_TLS_server_authenticates_client		    | UNSIGNED INTEGER 	| cf_str_TLS_server_authenticates_client_policy_in_client_literal|//
-	//| EAP_TLS_PEAP_saved_session_id				| BINARY(32)       	| cf_str_EAP_TLS_PEAP_saved_session_id_literal		   |//
-	//| EAP_TLS_PEAP_saved_master_secret			| BINARY(48)       	| cf_str_EAP_TLS_PEAP_saved_master_secret_literal	   |//
-	//| EAP_TLS_PEAP_saved_cipher_suite				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal   |//
-	//| EAP_TLS_PEAP_verify_certificate_realm		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		   |//
-	//| EAP_FAST_max_session_validity_time			| BIGINT	   		| cf_str_EAP_FAST_max_session_validity_time_literal   |//
-	//| EAP_FAST_last_full_authentication_time		| BIGINT	   		| KFASTLastFullAuthTime	   	|//	
-	//| EAP_TLS_PEAP_use_identity_privacy			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal		   |//
-	//| EAP_TLS_PEAP_use_automatic_ca_certificate	| UNSIGNED INTEGER  | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|//
-	//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
-
-	/** moved to PAC store db, because time is the same for all IAPs **/	
-	//| EAP_FAST_last_password_identity_time	| BIGINT	   		| KFASTLastPasswordIdentityTime	   	|//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////////////		
+// Table columns:
+//// NAME //////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
+//| ServiceType									| UNSIGNED INTEGER 	| KServiceType        |//
+//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex       |//
+//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType		|//
+//| EAP_TLS_PEAP_use_manual_realm				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_realm_literal      |//
+//| EAP_TLS_PEAP_manual_realm					| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_realm_literal				|//
+//| EAP_TLS_PEAP_use_manual_username			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_manual_username_literal   |//
+//| EAP_TLS_PEAP_manual_username				| VARCHAR(255)     	| cf_str_EAP_TLS_PEAP_manual_username_literal			|//
+//| EAP_TLS_PEAP_cipher_suite					| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_cipher_suite_literal	   |//
+//| EAP_TLS_PEAP_used_PEAP_version				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_used_PEAP_version_literal		    |//
+//| EAP_TLS_PEAP_accepted_PEAP_versions			| BINARY(12)	    | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|//
+//| PEAP_accepted_tunneled_client_types			| VARBINARY(240) 	| cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal      |//
+//| PEAP_unaccepted_tunneled_client_types		| VARBINARY(240) 	| cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal      |//
+//| EAP_TLS_server_authenticates_client		    | UNSIGNED INTEGER 	| cf_str_TLS_server_authenticates_client_policy_in_client_literal|//
+//| EAP_TLS_PEAP_saved_session_id				| BINARY(32)       	| cf_str_EAP_TLS_PEAP_saved_session_id_literal		   |//
+//| EAP_TLS_PEAP_saved_master_secret			| BINARY(48)       	| cf_str_EAP_TLS_PEAP_saved_master_secret_literal	   |//
+//| EAP_TLS_PEAP_saved_cipher_suite				| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal   |//
+//| EAP_TLS_PEAP_verify_certificate_realm		| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal		   |//
+//| EAP_FAST_max_session_validity_time			| BIGINT	   		| cf_str_EAP_FAST_max_session_validity_time_literal   |//
+//| EAP_FAST_last_full_authentication_time		| BIGINT	   		| KFASTLastFullAuthTime	   	|//	
+//| EAP_TLS_PEAP_use_identity_privacy			| UNSIGNED INTEGER 	| cf_str_EAP_TLS_PEAP_use_identity_privacy_literal		   |//
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
+
+/** moved to PAC store db, because time is the same for all IAPs **/	
+//| EAP_FAST_last_password_identity_time	| BIGINT	   		| KFASTLastPasswordIdentityTime	   	|//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////		
 	
 	
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
@@ -1551,40 +1506,35 @@
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::OpenFastDatabaseL - Creating the tables for EAP-FAST\n")));
 	
-	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BINARY(%d),		  \
-		 %S VARBINARY(%d),	  \
-		 %S VARBINARY(%d),	  \
-		 %S UNSIGNED INTEGER, \
-		 %S BINARY(%d),		  \
-		 %S BINARY(%d),		  \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S BIGINT, \
-		 %S BIGINT, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
-
-	sqlStatement.Format(KSQLCreateTable1,
-		&KFastGeneralSettingsDBTableName,
+	_LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S BINARY(%d),		  \
+											 %S VARBINARY(%d),	  \
+											 %S VARBINARY(%d),	  \
+											 %S UNSIGNED INTEGER, \
+											 %S BINARY(%d),		  \
+											 %S BINARY(%d),		  \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S BIGINT, \
+											 %S BIGINT, \
+											 %S UNSIGNED INTEGER)");
+	
+	sqlStatement.Format(KSQLCreateTable1, &KFastGeneralSettingsDBTableName,
 		&KServiceType,
 		&KServiceIndex,
-		&KTunnelingTypeVendorId,
 		&KTunnelingType,
 		&cf_str_EAP_TLS_PEAP_use_manual_realm_literal,
-		&cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB,
+		&cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB,
 		&cf_str_EAP_TLS_PEAP_use_manual_username_literal,
-		&cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB,
+		&cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB,
 		&cf_str_EAP_TLS_PEAP_cipher_suite_literal,
 		&cf_str_EAP_TLS_PEAP_used_PEAP_version_literal,
 		&cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal, KMaxPEAPVersionsStringLengthInDB,
@@ -1597,16 +1547,15 @@
 		&cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal,
 		&cf_str_EAP_FAST_max_session_validity_time_literal,
 		&KFASTLastFullAuthTime,
-		&cf_str_EAP_TLS_PEAP_use_identity_privacy_literal,
-		&cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal);
-
+		&cf_str_EAP_TLS_PEAP_use_identity_privacy_literal);		
+	
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n")));
 	
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	EAP_TRACE_DEBUG_SYMBIAN(
@@ -1614,40 +1563,35 @@
 
 	// Table 2: Create table for Special settings of EAP-FAST.
 	
-	// Table columns:
-	//// NAME //////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
-	//| ServiceType									| UNSIGNED INTEGER 	| KServiceType        |//
-	//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex       |//
-	//| TunnelingTypeVendorId                       | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType		|//
-	//| EAP_FAST_allow_server_authenticated_provisioning_mode| UNSIGNED INTEGER	| cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal	   	|//	
-	//| EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP| UNSIGNED INTEGER	| cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal	   	|//	
-	//| EAP_FAST_Warn_ADHP_No_PAC					| UNSIGNED INTEGER	| KFASTWarnADHPNoPAC|//
-	//| EAP_FAST_Warn_ADHP_No_Matching_PAC			| UNSIGNED INTEGER	| KFASTWarnADHPNoMatchingPAC|//	
-	//| EAP_FAST_Warn_Not_Default_Server			| UNSIGNED INTEGER	| KFASTWarnNotDefaultServer|//	
-	//| EAP_FAST_PAC_Group_Import_Reference_Collection| VARCHAR(255)	| KFASTPACGroupImportReferenceCollection	   	|//	
-	//| EAP_FAST_PAC_Group_DB_Reference_Collection	| BINARY(255)		| KFASTPACGroupDBReferenceCollection	   	|//		
-	//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
-
-	
-	_LIT(KSQLCreateTable2, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d),     \
-		 %S BINARY(%d)		  )");
+// Table columns:
+//// NAME //////////////////////////////////////////// TYPE ////////////// Constant ///////////////////
+//| ServiceType									| UNSIGNED INTEGER 	| KServiceType        |//
+//| ServiceIndex								| UNSIGNED INTEGER 	| KServiceIndex       |//
+//| TunnelingType								| UNSIGNED INTEGER 	| KTunnelingType		|//
+//| EAP_FAST_allow_server_authenticated_provisioning_mode| UNSIGNED INTEGER	| cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal	   	|//	
+//| EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP| UNSIGNED INTEGER	| cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal	   	|//	
+//| EAP_FAST_Warn_ADHP_No_PAC					| UNSIGNED INTEGER	| KFASTWarnADHPNoPACP|//	
+//| EAP_FAST_Warn_ADHP_No_Matching_PAC			| UNSIGNED INTEGER	| KFASTWarnADHPNoMatchingPAC|//	
+//| EAP_FAST_Warn_Not_Default_Server			| UNSIGNED INTEGER	| KFASTWarnNotDefaultServer|//	
+//| EAP_FAST_PAC_Group_Import_Reference_Collection| VARCHAR(255)	| KFASTPACGroupImportReferenceCollection	   	|//	
+//| EAP_FAST_PAC_Group_DB_Reference_Collection	| BINARY(255)		| KFASTPACGroupDBReferenceCollection	   	|//		
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////	
+
+	
+	_LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d),     \
+											 %S BINARY(%d)		  )");
 											 
-	sqlStatement.Format(KSQLCreateTable2,
-		&KFastSpecialSettingsDBTableName,
+	sqlStatement.Format(KSQLCreateTable2, &KFastSpecialSettingsDBTableName,
 		&KServiceType,
 		&KServiceIndex,
-		&KTunnelingTypeVendorId,
 		&KTunnelingType,
 		&cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal,
 		&cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal,
@@ -1660,10 +1604,10 @@
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n")));
 	
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	EAP_TRACE_DEBUG_SYMBIAN(
@@ -1671,38 +1615,33 @@
 	
 	// Table 3: Create table for _allowed_ user certificates
 	
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType		  		| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CertLabel				| VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId			| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId		| BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName				| VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName				| VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber			| VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint				| BINARY(64)	   | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable3, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");											 
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType		  	| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");											 
 											 
-	sqlStatement.Format(KSQLCreateTable3,
-		&KFastAllowedUserCertsDatabaseTableName, 
+	sqlStatement.Format(KSQLCreateTable3, &KFastAllowedUserCertsDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -1715,10 +1654,10 @@
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n")));
 	
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}	
 
 	EAP_TRACE_DEBUG_SYMBIAN(
@@ -1726,38 +1665,33 @@
 	
 	// Table 4: Create table for _allowed_ CA certs
 
-	//// NAME ////////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CACertLabel				| VARCHAR(255)     | KCACertLabel        |//	
-	//| SubjectKeyId			| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
-	//| ActualSubjectKeyId		| BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
-	//| SubjectName				| VARCHAR(255)     | KSubjectName        |//	
-	//| IssuerName				| VARCHAR(255)     | KIssuerName        |//	
-	//| SerialNumber			| VARCHAR(255)     | KSerialNumber        |//	
-	//| Thumbprint				| BINARY(64)	   | KThumbprint        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-
-	_LIT(KSQLCreateTable4, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d), \
-		 %S BINARY(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S VARCHAR(%d), \
-		 %S BINARY(%d))");
+//// NAME ////////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CACertLabel			| VARCHAR(255)     | KCACertLabel        |//	
+//| SubjectKeyId		| BINARY(20)	   | KSubjectKeyIdentifier |// This is Symbian subjectkey id
+//| ActualSubjectKeyId  | BINARY(20)	   | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate.
+//| SubjectName			| VARCHAR(255)     | KSubjectName        |//	
+//| IssuerName			| VARCHAR(255)     | KIssuerName        |//	
+//| SerialNumber		| VARCHAR(255)     | KSerialNumber        |//	
+//| Thumbprint			| BINARY(64)	   | KThumbprint        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+
+	_LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d), \
+											 %S BINARY(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S VARCHAR(%d), \
+											 %S BINARY(%d))");
 											 
-	sqlStatement.Format(KSQLCreateTable4,
-		&KFastAllowedCACertsDatabaseTableName, 
+	sqlStatement.Format(KSQLCreateTable4, &KFastAllowedCACertsDatabaseTableName, 
 		&KServiceType, 
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
+		&KServiceIndex, 
 		&KTunnelingType, 
 		&KCertLabel, KMaxCertLabelLengthInDB,
 		&KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB,
@@ -1770,10 +1704,10 @@
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n")));
 		
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	EAP_TRACE_DEBUG_SYMBIAN(
@@ -1781,33 +1715,24 @@
 	
 	// Table 5: Create table for _allowed_ cipher suites
 
-	//// NAME ///////////////// TYPE ////////////// Constant ///////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType        |//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex       |//
-	//| TunnelingTypeVendorId	| UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
-	//| TunnelingType			| UNSIGNED INTEGER | KTunnelingType		|//
-	//| CipherSuite				| UNSIGNED INTEGER | KCipherSuite        |//	
-	//////////////////////////////////////////////////////////////////////////////////////////////////////	
-	
-	_LIT(KSQLCreateTable5, "CREATE TABLE %S \
-		(%S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER, \
-		 %S UNSIGNED INTEGER)");
-
-	sqlStatement.Format(KSQLCreateTable5,
-		&KFastAllowedCipherSuitesDatabaseTableName, 
-		&KServiceType,
-		&KServiceIndex,
-		&KTunnelingTypeVendorId,
-		&KTunnelingType,
-		&KCipherSuite);
-
-	error = aDatabase.Execute(sqlStatement);
-	if (error != KErrNone && error != KErrAlreadyExists)
+//// NAME ///////////////// TYPE ////////////// Constant ///////////
+//| ServiceType			| UNSIGNED INTEGER | KServiceType        |//
+//| ServiceIndex		| UNSIGNED INTEGER | KServiceIndex       |//
+//| TunnelingType		| UNSIGNED INTEGER | KTunnelingType		|//
+//| CipherSuite			| UNSIGNED INTEGER | KCipherSuite        |//	
+//////////////////////////////////////////////////////////////////////////////////////////////////////	
+	
+	_LIT(KSQLCreateTable5, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER, \
+											 %S UNSIGNED INTEGER)");
+
+	sqlStatement.Format(KSQLCreateTable5, &KFastAllowedCipherSuitesDatabaseTableName, 
+		&KServiceType, &KServiceIndex, &KTunnelingType, &KCipherSuite);
+	err = aDatabase.Execute(sqlStatement);
+	if (err != KErrNone && err != KErrAlreadyExists)
 	{
-		User::Leave(error);
+		User::Leave(err);
 	}
 
 	EAP_TRACE_DEBUG_SYMBIAN(
@@ -1815,18 +1740,10 @@
 	
 	// 4. Check if database table contains a row for this service type and id  	
 	
-	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQLQueryRow,
-		&KFastGeneralSettingsDBTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());	
+	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	sqlStatement.Format(KSQLQueryRow, &KFastGeneralSettingsDBTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);	
 			
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -1855,14 +1772,13 @@
 		// Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default.
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);		
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username);
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username);
 		
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite);
 
@@ -1891,10 +1807,8 @@
 		view.SetColL(colSet->ColNo(cf_str_EAP_FAST_max_session_validity_time_literal), default_MaxSessionTime);
 		
 		view.SetColL(colSet->ColNo(KFASTLastFullAuthTime), default_FullAuthTime);
-
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy);		
-
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate);
+		
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy);		
 
 		view.PutL();
 		
@@ -1918,18 +1832,28 @@
 		// Set the default values.
 		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);		
-		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 
 		view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal),
 				default_EAP_FAST_Auth_Prov_Mode_Allowed);		
 	 	view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal),
 	 			default_EAP_FAST_Unauth_Prov_Mode_Allowed);
+	 	
+        view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC),
+                default_EAP_FAST_Warn_ADHP_No_PAC);
+
+        view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC),
+                default_EAP_FAST_Warn_ADHP_No_Matching_PAC);
+
+        view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer),
+                default_EAP_FAST_Warn_Not_Default_Server);
+
+	 	
 							
 		view.PutL();
 		
 		CleanupStack::PopAndDestroy(colSet); 
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( &view ); // Close view.		
 		
 		//--------------------------------------------------------//
 		
@@ -1949,29 +1873,26 @@
 			view.InsertL();
 			view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt>(aIndexType));
 			view.SetColL(colSet->ColNo(KServiceIndex), aIndex);		
-			view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);			
 			view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]);
 			view.PutL();
 			i++;
 		}
 		
-		CleanupStack::PopAndDestroy( colSet );
-		CleanupStack::PopAndDestroy( &view );
+		CleanupStack::PopAndDestroy( colSet ); // Delete colSet.		
+		CleanupStack::PopAndDestroy( &view ); // Close view.
 	}
-
+	
+	CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement
+	CleanupStack::Pop( &aDatabase );	
+	CleanupStack::Pop( &aSession );
+	
 	aDatabase.Compact();
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop( &aDatabase );
-	CleanupStack::Pop( &aFileServerSession );
-	
-} // EapTlsPeapUtils::OpenFastDatabaseL()
+	
+    } // EapTlsPeapUtils::OpenFastDatabaseL()
 
 #endif // #if defined(USE_FAST_EAP_TYPE)
 
-// ---------------------------------------------------------
-
 void EapTlsPeapUtils::SetIndexL(
 	RDbNamedDatabase& aDatabase,
 	const TDesC& aTableName,
@@ -1982,40 +1903,34 @@
 	const TInt aNewIndex,
 	const eap_type_value_e aNewTunnelingType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aNewTunnelingVendorType = static_cast<TUint>(aNewTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aNewTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aNewTunnelingType.get_vendor_id(),
-		aNewTunnelingType.get_vendor_type()));
+		(_L("EapTlsPeapUtils::SetIndexL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"),
+		aIndexType, aIndex, aTunnelingVendorType));
 	
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=%d \n"),
-		aNewIndexType,
-		aNewIndex,
-		aNewTunnelingType.get_vendor_id(),
-		aNewTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetIndexL()\n"));
+		(_L("EapTlsPeapUtils::SetIndexL -Start- aNewIndexType=%d, aNewIndex=%d, New Tunneling vendor type=%d \n"),
+		aNewIndexType, aNewIndex, aNewTunnelingVendorType));
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
 	// First delete the target
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQL,
-		&aTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());		
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	sqlStatement.Format(KSQL, &aTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 
 	RDbView view;
 	
@@ -2038,22 +1953,19 @@
 				view.UpdateL();
 				
 			    view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aNewIndexType));
+    
     			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aNewIndex));
-				view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id());
-				view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type());
+
+    			view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType);
 				
 				view.PutL();
 			}
 		} while (view.NextL() != EFalse);
 	}
 			
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+    CleanupStack::PopAndDestroy(3); // view, colset
 }
 
-// ---------------------------------------------------------
-
 void EapTlsPeapUtils::ReadCertRowsToArrayL(
 	RDbNamedDatabase& aDatabase,
 	eap_am_tools_symbian_c * const /*aTools*/,
@@ -2061,34 +1973,29 @@
 	const TIndexType aIndexType,
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType,
-	RPointerArray<EapCertificateEntry>& aArray)
+	RArray<SCertEntry>& aArray)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::ReadCertRowsToArrayL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::ReadCertRowsToArrayL()\n"));
-
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::ReadCertRowsToArrayL -Start")) );
+	
 	CleanupClosePushL( aArray );
 
 	HBufC* buf = HBufC::NewLC(512);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(KSQLQueryRow,
-		&aTableName,
-		&KServiceType, 
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	sqlStatement.Format(KSQLQueryRow, &aTableName, &KServiceType, 
+		aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
@@ -2106,50 +2013,33 @@
 			view.GetL();
 			
 			{
-				EapCertificateEntry * const certInfo = new EapCertificateEntry;
-				if (certInfo == 0)
-				{
-					EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::ReadCertRowsToArrayL(): No memory\n")));
-					User::Leave(KErrNoMemory);
-				}
-
+				SCertEntry certInfo;
 				// Store the line
 				TPtrC ptr = view.ColDes(colSet->ColNo(KCertLabel));
 	
-				certInfo->SetLabel(ptr);
+				certInfo.iLabel.Copy(ptr);
 				
 				TPtrC8 ptr2 = view.ColDes8(colSet->ColNo(KSubjectKeyIdentifier)); // This is for authentication and uses Symbian subjectkey id.
-				certInfo->SetSubjectKeyId(ptr2);
-
-				TInt error = aArray.Append(certInfo);
-
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ReadCertRowsToArrayL - Appended Cert with label=%S, error=%d\n"),
-					certInfo->GetLabel(),
-					error));
-
+				certInfo.iSubjectKeyId.Copy(ptr2);
+
+				aArray.Append(certInfo);
+				
+				EAP_TRACE_DEBUG_SYMBIAN((_L("ReadCertRowsToArrayL - Appended Cert with label=%S\n"),
+				&(certInfo.iLabel)));
+				
 				EAP_TRACE_DATA_DEBUG_SYMBIAN(("ReadCertRowsToArrayL - Appended Cert's SubjectKeyID:",
-					certInfo->GetSubjectKeyId().Ptr(),
-					certInfo->GetSubjectKeyId().Length()));
-
-				if (error != KErrNone)
-				{
-					delete certInfo;
-					User::Leave(error);
-				}
+					certInfo.iSubjectKeyId.Ptr(), certInfo.iSubjectKeyId.Size()));
 			}	
 
 		} while (view.NextL() != EFalse);		
 	}
 
 	// Close database
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(colSet); 
+	CleanupStack::PopAndDestroy(2); // view, buf
 	CleanupStack::Pop( &aArray );
 }
 
-// ---------------------------------------------------------
-
 void EapTlsPeapUtils::ReadUintRowsToArrayL(
 	RDbNamedDatabase& aDatabase,
 	eap_am_tools_symbian_c * const /*aTools*/,
@@ -2160,38 +2050,32 @@
 	const eap_type_value_e aTunnelingType,
 	RArray<TUint>& aArray)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::ReadUintRowsToArrayL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::ReadUintRowsToArrayL()\n"));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::ReadUintRowsToArrayL -Start")) );
 
 	CleanupClosePushL( aArray );
 
 	HBufC* buf = HBufC::NewLC(512);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-	
-	sqlStatement.Format(KSQLQueryRow,
-		&aColumnName,
-		&aTableName, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType,
-		aTunnelingType.get_vendor_type());
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	sqlStatement.Format(KSQLQueryRow, &aColumnName, &aTableName, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
-	User::LeaveIfError(view.EvaluateAll());
+	User::LeaveIfError(view.EvaluateAll());	
 	
 	if (view.FirstL())
 	{		
@@ -2203,18 +2087,8 @@
 			case EDbColUint32:
 				{
 					// Store the line
-					TUint tmp = view.ColUint(KDefaultColumnInView_One);
-					TInt error = aArray.Append(tmp);
-
-					EAP_TRACE_DEBUG_SYMBIAN(
-						(_L("EapTlsPeapUtils::ReadUintRowsToArrayL(): TUint=%d, error=%d\n"),
-						tmp,
-						error));
-
-					if (error != KErrNone)
-					{
-						User::Leave(error);
-					}
+					TUint tmp = view.ColUint(KDefaultColumnInView_One);				
+					aArray.Append(tmp);
 				}
 				break;
 			default:
@@ -2225,24 +2099,16 @@
 	}
 
 	// Close database
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(2); // view, buf
 	CleanupStack::Pop( &aArray );
 }
 
-// ---------------------------------------------------------
-
 // Don't use this finction as Label is not saved for certificates saved by SetConfigurationL().
 // Provisioning (OMA DM etc) use SetConfigurationL() to save certificate details.
 
 TBool EapTlsPeapUtils::CompareTCertLabels(const TCertLabel& item1, const TCertLabel& item2)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CompareTCertLabels(): item1=\"%S\", item2=\"%S\"\n"),
-		&item1,
-		&item2));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CompareTCertLabels()\n"));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CompareTCertLabels-Start")) );
 
 	if (item1 == item2)
 	{
@@ -2254,36 +2120,22 @@
 	}
 }
 
-// ---------------------------------------------------------
-
-TBool EapTlsPeapUtils::CompareSCertEntries(const EapCertificateEntry& item1, const EapCertificateEntry& item2)
+TBool EapTlsPeapUtils::CompareSCertEntries(const SCertEntry& item1, const SCertEntry& item2)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CompareSCertEntries(): item1.Label=\"%S\", item2.Label=\"%S\"\n"),
-		item1.GetLabel(),
-		item2.GetLabel()));
-
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CompareSCertEntries(): item1.Label=\"%S\", item2.Label=\"%S\"\n"),
-		item1.GetLabel(),
-		item2.GetLabel()));
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries(): SubjectKeyID_1:",
-		item1.GetSubjectKeyId().Ptr(),
-		item1.GetSubjectKeyId().Length()));
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries(): SubjectKeyID_2:",
-		item2.GetSubjectKeyId().Ptr(),
-		item2.GetSubjectKeyId().Length()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CompareSCertEntries()\n"));
-
-
-	if (*(item1.GetLabel()) == *(item2.GetLabel())
-		|| item1.GetLabel()->Length() == 0
-		|| item2.GetLabel()->Length() == 0 ) // Label is not saved when certs are saved using OMA DM.
+	EAP_TRACE_DEBUG_SYMBIAN((_L("\nEapTlsPeapUtils::CompareSCertEntries, Label_1=%S, Label_2=%S"),
+	&(item1.iLabel), &(item2.iLabel)));
+
+	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries, SubjectKeyID_1:",
+		item1.iSubjectKeyId.Ptr(), item1.iSubjectKeyId.Size()));
+
+	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries, SubjectKeyID_2:",
+		item2.iSubjectKeyId.Ptr(), item2.iSubjectKeyId.Size()));
+
+	if (item1.iLabel == item2.iLabel ||
+		item1.iLabel.Length() == 0 ||
+		item2.iLabel.Length() == 0 ) // Label is not saved when certs are saved using OMA DM.
 	{
-		if (item1.GetSubjectKeyId() == item2.GetSubjectKeyId())
+		if (item1.iSubjectKeyId == item2.iSubjectKeyId)
 		{
 			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CompareSCertEntries, Certs matched\n")));
 		
@@ -2294,116 +2146,91 @@
 	return EFalse;
 }
 
-//--------------------------------------------------
-
-// Stores the tunneled EAP type (expanded) to the database.
-void EapTlsPeapUtils::SetTunnelingExpandedEapDataL(
+
+#ifndef USE_EAP_EXPANDED_TYPES 
+// There are separate functions (SetTunnelingExpandedEapDataL and GetTunnelingExpandedEapDataL) if USE_EAP_EXPANDED_TYPES is defined.
+
+/**
+* Sets EAP data to a binary string record in commsdat.
+* The old format (NOT USED NOW) is "+123,- 34", + means enabled, - disabled, then id, id is always 3 characters for easy parsing.
+* In the new format each EAP type is saved as an unsigned integer of 32 bits ( TUint).
+* There is separate binary strings for accepted (enabled) and unaccepted (disabled) tunneled EAP types.
+*/
+ 
+void EapTlsPeapUtils::SetEapDataL(
 	RDbNamedDatabase& aDatabase,
 	eap_am_tools_symbian_c * const /*aTools*/,
-	RPointerArray<TEapExpandedType> &aEnabledEAPArrary,
-	RPointerArray<TEapExpandedType> &aDisabledEAPArrary,
+	TEapArray &aEaps,
 	const TIndexType aIndexType,
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType,
 	const eap_type_value_e aEapType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
 
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("Number of Tunneled EAP types: Enabled=%d, Disabled=%d\n"),
-		aEnabledEAPArrary.Count(),
-		aDisabledEAPArrary.Count()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetTunnelingExpandedEapDataL()\n"));
+		(_L("EapTlsPeapUtils::SetEapDataL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d, No: of tunneled EAP types=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType, aEapVendorType, aEaps.Count()) );
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	
 	if (aEapType == eap_type_peap)
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal,
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal,
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KPeapDatabaseTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 #if defined(USE_TTLS_EAP_TYPE)
 	else if (aEapType == eap_type_ttls)
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KTtlsDatabaseTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 #endif
+
+	else if (aEapType == eap_type_ttls_plain_pap)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+
 #if defined(USE_FAST_EAP_TYPE)
 	else if (aEapType == eap_type_fast)
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KFastGeneralSettingsDBTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 #endif
-
-	else if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() )
-	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
-			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KTtlsDatabaseTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
-	} 
-
 	else
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Unsupported EAP-type=0xfe%06x%08x\n"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()));
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::SetEapDataL - Unsupported EAP type =%d \n"),
+			 aEapVendorType));
 			 
 		// Unsupported EAP type
 		User::Leave(KErrNotSupported);
 	}	
-
+			
 	RDbView view;
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
@@ -2411,35 +2238,37 @@
 	User::LeaveIfError(view.FirstL());	
 	view.UpdateL();
 
-	TInt enabledEAPCount = aEnabledEAPArrary.Count();
-	TInt disabledEAPCount = aDisabledEAPArrary.Count();
-
-	HBufC8 *acceptedDbText = HBufC8::NewLC( KEapExpandedTypeLength * enabledEAPCount ); // 8 bytes (64 bits) for an EAP type.
-	HBufC8 *unacceptedDbText = HBufC8::NewLC( KEapExpandedTypeLength * disabledEAPCount ); // 8 bytes (64 bits) for an EAP type.
+	TInt eapCount = aEaps.Count();
+	
+	HBufC8 *acceptedDbText = HBufC8::NewLC( (sizeof(TUint)) * eapCount ); // 4 bytes (32 bits) for an EAP type, Need to save as TUInt (4 bytes).
+	HBufC8 *unacceptedDbText = HBufC8::NewLC( (sizeof(TUint)) * eapCount ); // 4 bytes (32 bits) for an EAP type, Need to save as TUInt (4 bytes).
 	
 	TPtr8 acceptedPtr(acceptedDbText->Des());
 	TPtr8 unacceptedPtr(unacceptedDbText->Des());
 	
-	// Fill in accepted tunneled type.		
-	for(TInt i = 0 ; i< enabledEAPCount; i++)
+	TBuf8<3> UidTmp;
+		
+	for(TInt i = 0 ; i< eapCount; i++)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL():  enabled EAP-type=0xfe%06x%08x\n"),
-			aEnabledEAPArrary[i]->GetVendorId(),
-			aEnabledEAPArrary[i]->GetVendorType()));
-
-		acceptedPtr.Append(aEnabledEAPArrary[i]->GetValue());					
-	}
-	
-	// Fill in unaccepted tunneled type.		
-	for(TInt i = 0 ; i< disabledEAPCount; i++)
-	{
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): disabled EAP-type=0xfe%06x%08x\n"),
-			aDisabledEAPArrary[i]->GetVendorId(),
-			aDisabledEAPArrary[i]->GetVendorType()));
-
-		unacceptedPtr.Append(aDisabledEAPArrary[i]->GetValue());					
+		UidTmp.Copy(aEaps[i]->UID);
+		
+		TLex8 eapUidLex( UidTmp.Right(2) ); // Only last two characters determines the EAP type.
+		TUint eapTypeUint = 0;
+		
+		User::LeaveIfError( eapUidLex.Val(eapTypeUint, EDecimal) );	
+		
+		TPtrC8 tempEAPtype( reinterpret_cast<TUint8*>(&eapTypeUint), sizeof(TUint) );
+		
+		if( aEaps[i]->Enabled )
+		{
+			// Fill in accepted tunneled type.
+			acceptedPtr.Append( tempEAPtype );			
+		}
+		else
+		{
+			// Fill in unaccepted tunneled type.
+			unacceptedPtr.Append( tempEAPtype);			
+		}			
 	}
 	
 	// Save the strings in the DB.
@@ -2452,7 +2281,323 @@
 	if(acceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB 
 		|| unacceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Too long Tunneled EAP type string \n") ) );
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetEapDataL - Too long Tunneled EAP type string \n") ) );
+
+		User::Leave(KErrArgument);		
+	}
+	
+	view.SetColL(colSet->ColNo(cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal), acceptedPtr);
+	view.SetColL(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal), unacceptedPtr);	
+
+	CleanupStack::PopAndDestroy( colSet ); // Delete colSet.	
+
+	view.PutL();
+
+	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::SetEapDataL- Enabled extended EAP type data added to DB:",
+		acceptedPtr.Ptr(), 
+		acceptedPtr.Size() ) );
+
+	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::SetEapDataL- Disabled extended EAP type data added to DB:",
+		unacceptedPtr.Ptr(), 
+		unacceptedPtr.Size() ) );
+
+	CleanupStack::PopAndDestroy(unacceptedDbText); // Delete unacceptedDbText
+	CleanupStack::PopAndDestroy(acceptedDbText); // Delete acceptedDbText	
+	CleanupStack::PopAndDestroy(&view); // Close view
+	CleanupStack::PopAndDestroy(buf); // Delete buf
+}
+
+/**
+* Gets Eapdata from corresponding table in commdb
+* see format in SetEapDAtaL
+*/
+void EapTlsPeapUtils::GetEapDataL(
+	RDbNamedDatabase& aDatabase,
+	eap_am_tools_symbian_c * const /*aTools*/,
+	TEapArray &aEaps, 
+	const TIndexType aIndexType,
+	const TInt aIndex,
+	const eap_type_value_e aTunnelingType,
+	const eap_type_value_e aEapType)
+{
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::GetEapDataL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
+
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+	
+	_LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	if (aEapType == eap_type_peap)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+#if defined(USE_TTLS_EAP_TYPE)
+	else if (aEapType == eap_type_ttls)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+#endif
+
+	else if (aEapType == eap_type_ttls_plain_pap)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+	
+#if defined(USE_FAST_EAP_TYPE)
+	else if (aEapType == eap_type_fast)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+#endif
+	else
+	{
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::GetEapDataL - Unsupported EAP type=%d \n"),
+			 aEapVendorType));
+			 
+		// Unsupported EAP type
+		User::Leave(KErrNotSupported);
+	}	
+	
+	RDbView view;
+	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+	
+	User::LeaveIfError(view.FirstL());
+	
+	view.GetL();
+	
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);			
+	
+	TPtrC8 acceptedEAPData = view.ColDes8(colSet->ColNo(cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal));
+	TPtrC8 unacceptedEAPData = view.ColDes8(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal));
+	
+	CleanupStack::PopAndDestroy( colSet ); // Delete colSet.	
+
+	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- Enabled extended EAP type data from DB:",
+		acceptedEAPData.Ptr(), 
+		acceptedEAPData.Size() ) );
+	
+	EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- Disabled extended EAP type data from DB:",
+		unacceptedEAPData.Ptr(), 
+		unacceptedEAPData.Size() ) );
+	
+	aEaps.ResetAndDestroy();
+		
+	TUint acceptedLength = acceptedEAPData.Length();
+	TUint unacceptedLength = unacceptedEAPData.Length();
+	
+	TEap *eapTmp;
+
+	TUint index = 0;
+	
+	_LIT8(KUIDFormat,"%u");
+	
+	// For accepted or enabled tunneled EAP types. 	
+	while(index < acceptedLength)
+	{		
+		eapTmp = new (ELeave)TEap;
+
+		eapTmp->Enabled=ETrue; // All EAP types in here are enabled.
+		
+		eapTmp->UID.Zero();
+
+		// Get the UID from data from the DB.				
+		TPtrC8 tempEAPtype( acceptedEAPData.Mid(index, sizeof(TUint)) );
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- extracted EAP type:",
+			tempEAPtype.Ptr(), 
+			tempEAPtype.Size() ) );
+						
+		TUint eapTypeUint = *(tempEAPtype.Ptr()); // All EAP types are saved as TUInt. 
+		
+		eapTmp->UID.Format(KUIDFormat,eapTypeUint);
+				
+		aEaps.Append(eapTmp);
+
+		index = index + sizeof(TUint);
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapDataL - Appended enabled-EAP type=%s \n"),eapTmp->UID.Ptr()) );
+	}
+	
+	index = 0;
+	
+	// For unaccepted or disabled tunneled EAP types. 	
+	while(index < unacceptedLength)
+	{		
+		eapTmp = new (ELeave)TEap;
+
+		eapTmp->Enabled=EFalse; // All EAP types in here are disabled.
+		
+		eapTmp->UID.Zero();
+
+		// Get the UID from data from the DB.				
+		TPtrC8 tempEAPtype( unacceptedEAPData.Mid(index, sizeof(TUint)) );
+		
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- extracted EAP type:",
+			tempEAPtype.Ptr(), 
+			tempEAPtype.Size() ) );
+						
+		TUint eapTypeUint = *(tempEAPtype.Ptr()); // All EAP types are saved as TUint. 
+		
+		eapTmp->UID.Format(KUIDFormat,eapTypeUint);
+				
+		aEaps.Append(eapTmp);
+
+		index = index + sizeof(TUint);
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapDataL - Appended disabled-EAP type=%s \n"),eapTmp->UID.Ptr()) );
+	}
+	
+	CleanupStack::PopAndDestroy(&view); // Close view
+	CleanupStack::PopAndDestroy(buf); // Delete buf	
+}
+
+#endif // #ifndef USE_EAP_EXPANDED_TYPES
+
+//--------------------------------------------------
+
+#ifdef USE_EAP_EXPANDED_TYPES
+
+// Stores the tunneled EAP type (expanded) to the database.
+void EapTlsPeapUtils::SetTunnelingExpandedEapDataL(
+	RDbNamedDatabase& aDatabase,
+	eap_am_tools_symbian_c * const /*aTools*/,
+	RExpandedEapTypePtrArray &aEnabledEAPArrary,
+	RExpandedEapTypePtrArray &aDisabledEAPArrary,
+	const TIndexType aIndexType,
+	const TInt aIndex,
+	const eap_type_value_e aTunnelingType,
+	const eap_type_value_e aEapType)
+{
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL:aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d\n"),
+		aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("Number of Tunneled EAP types: Enabled=%d, Disabled=%d\n"),
+		aEnabledEAPArrary.Count(), aDisabledEAPArrary.Count()));
+
+	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
+	TPtr sqlStatement = buf->Des();
+	
+	_LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+	
+	if (aEapType == eap_type_peap)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal,
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+#if defined(USE_TTLS_EAP_TYPE)
+	else if (aEapType == eap_type_ttls)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+#endif
+#if defined(USE_FAST_EAP_TYPE)
+	else if (aEapType == eap_type_fast)
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+#endif
+
+	else if ( aEapType == eap_type_ttls_plain_pap )
+	{
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
+	} 
+
+	else
+	{
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Unsupported EAP type =%d \n"),
+			 aEapVendorType));
+			 
+		// Unsupported EAP type
+		User::Leave(KErrNotSupported);
+	}	
+			
+	RDbView view;
+	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	CleanupClosePushL(view);
+	User::LeaveIfError(view.EvaluateAll());	
+	User::LeaveIfError(view.FirstL());	
+	view.UpdateL();
+
+	TInt enabledEAPCount = aEnabledEAPArrary.Count();
+	TInt disabledEAPCount = aDisabledEAPArrary.Count();
+	
+	HBufC8 *acceptedDbText = HBufC8::NewLC( KExpandedEAPTypeSize * enabledEAPCount ); // 8 bytes (64 bits) for an EAP type.
+	HBufC8 *unacceptedDbText = HBufC8::NewLC( KExpandedEAPTypeSize * disabledEAPCount ); // 8 bytes (64 bits) for an EAP type.
+	
+	TPtr8 acceptedPtr(acceptedDbText->Des());
+	TPtr8 unacceptedPtr(unacceptedDbText->Des());
+	
+	// Fill in accepted tunneled type.		
+	for(TInt i = 0 ; i< enabledEAPCount; i++)
+	{
+		acceptedPtr.Append(aEnabledEAPArrary[i]->iExpandedEAPType);					
+	}
+	
+	// Fill in unaccepted tunneled type.		
+	for(TInt i = 0 ; i< disabledEAPCount; i++)
+	{
+		unacceptedPtr.Append(aDisabledEAPArrary[i]->iExpandedEAPType);					
+	}
+	
+	// Save the strings in the DB.
+	
+	// Get column set so we get the correct column numbers
+	CDbColSet* colSet = view.ColSetL();
+	CleanupStack::PushL(colSet);			
+	
+	// Validate length of strings
+	if(acceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB 
+		|| unacceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB)
+	{
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Too long Tunneled EAP type string \n") ) );
 
 		User::Leave(KErrArgument);		
 	}
@@ -2478,106 +2623,68 @@
 	CleanupStack::PopAndDestroy(buf); // Delete buf	
 }
 
-// ---------------------------------------------------------
-
 // Retrieves the tunneled EAP type (expanded) from the database	.
 void EapTlsPeapUtils::GetTunnelingExpandedEapDataL(
 	RDbNamedDatabase& aDatabase,
 	eap_am_tools_symbian_c * const /*aTools*/,
-	RPointerArray<TEapExpandedType> &aEnabledEAPArrary,
-	RPointerArray<TEapExpandedType> &aDisabledEAPArrary,
+	RExpandedEapTypePtrArray &aEnabledEAPArrary,
+	RExpandedEapTypePtrArray &aDisabledEAPArrary,
 	const TIndexType aIndexType,
 	const TInt aIndex,
 	const eap_type_value_e aTunnelingType,
 	const eap_type_value_e aEapType)
 {
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+	
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::GetTunnelingExpandedEapDataL()\n"));
+		(_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 
 	if (aEapType == eap_type_peap)
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KPeapDatabaseTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 #if defined(USE_TTLS_EAP_TYPE)
 	else if (aEapType == eap_type_ttls)
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KTtlsDatabaseTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 #endif
 #if defined(USE_FAST_EAP_TYPE)
 	else if (aEapType == eap_type_fast)
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KFastGeneralSettingsDBTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 #endif
 
-	else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type() )
+	else if (aEapType == eap_type_ttls_plain_pap )
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
+		sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, 
 			&cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal,
-			&KTtlsDatabaseTableName,
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex, 
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+			&KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, 
+			&KTunnelingType, aTunnelingVendorType);		
 	} 
 
 	else
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetTunnelingExpandedEapDataL(): - Unsupported EAP-type=0xfe%06x%08x\n"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()));
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL - Unsupported EAP type=%d \n"),
+			 aEapVendorType));
 			 
 		// Unsupported EAP type
 		User::Leave(KErrNotSupported);
@@ -2615,13 +2722,13 @@
 	TUint acceptedLength = acceptedEAPData.Length();
 	TUint unacceptedLength = unacceptedEAPData.Length();
 	
-	TEapExpandedType *expandedEAPTmp = 0;
+	SExpandedEAPType *expandedEAPTmp = 0;
 	TUint index = 0;
 	
 	// For accepted or enabled tunneled EAP types. 	
 	while(index < acceptedLength)
 	{		
-		expandedEAPTmp = new TEapExpandedType;
+		expandedEAPTmp = new SExpandedEAPType;
 
 		if (expandedEAPTmp == 0)
 		{
@@ -2630,16 +2737,15 @@
 			User::LeaveIfError(KErrNoMemory);
 		}
 
-		*expandedEAPTmp = acceptedEAPData.Mid(index, KEapExpandedTypeLength);
+		expandedEAPTmp->iExpandedEAPType = acceptedEAPData.Mid(index, KExpandedEAPTypeSize);
 						
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL():  enabled EAP-type=0xfe%06x%08x\n"),
-			expandedEAPTmp->GetVendorId(),
-			expandedEAPTmp->GetVendorType()));
-
-		aEnabledEAPArrary.AppendL(expandedEAPTmp);
-
-		index = index + KEapExpandedTypeLength;
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(("Extracted EAP type:",
+			expandedEAPTmp->iExpandedEAPType.Ptr(), 
+			expandedEAPTmp->iExpandedEAPType.Size() ) );
+
+		aEnabledEAPArrary.Append(expandedEAPTmp);
+
+		index = index + KExpandedEAPTypeSize;
 	}
 	
 	index = 0;
@@ -2647,7 +2753,7 @@
 	// For unaccepted or disabled tunneled EAP types.
 	while(index < unacceptedLength)
 	{		
-		expandedEAPTmp = new TEapExpandedType;
+		expandedEAPTmp = new SExpandedEAPType;
 
 		if (expandedEAPTmp == 0)
 		{
@@ -2656,31 +2762,27 @@
 			User::LeaveIfError(KErrNoMemory);
 		}
 
-		*expandedEAPTmp = unacceptedEAPData.Mid(index, KEapExpandedTypeLength);
+		expandedEAPTmp->iExpandedEAPType = unacceptedEAPData.Mid(index, KExpandedEAPTypeSize);
 						
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): disabled EAP-type=0xfe%06x%08x\n"),
-			expandedEAPTmp->GetVendorId(),
-			expandedEAPTmp->GetVendorType()));
-
-		aDisabledEAPArrary.AppendL(expandedEAPTmp);
-
-		index = index + KEapExpandedTypeLength;
+		EAP_TRACE_DATA_DEBUG_SYMBIAN(("Extracted EAP type:",
+			expandedEAPTmp->iExpandedEAPType.Ptr(), 
+			expandedEAPTmp->iExpandedEAPType.Size() ) );
+
+		aDisabledEAPArrary.Append(expandedEAPTmp);
+
+		index = index + KExpandedEAPTypeSize;
 	}
 
 	CleanupStack::PopAndDestroy(&view); // Close view
 	CleanupStack::PopAndDestroy(buf); // Delete buf
 }
 
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
 //--------------------------------------------------
 
 TBool EapTlsPeapUtils::CipherSuiteUseRSAKeys(tls_cipher_suites_e aCipherSuite)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CipherSuiteUseRSAKeys(): aCipherSuite=%d\n"),
-		aCipherSuite));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CipherSuiteUseRSAKeys()\n"));
-
 	if (aCipherSuite == tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA
 		|| aCipherSuite == tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA
 		|| aCipherSuite == tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
@@ -2699,12 +2801,6 @@
 
 TBool EapTlsPeapUtils::CipherSuiteUseDSAKeys(tls_cipher_suites_e aCipherSuite)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CipherSuiteUseDSAKeys(): aCipherSuite=%d\n"),
-		aCipherSuite));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CipherSuiteUseDSAKeys()\n"));
-
 	if (aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
 		|| aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA)
 	{
@@ -2718,12 +2814,6 @@
 
 TBool EapTlsPeapUtils::CipherSuiteIsEphemeralDHKeyExchange(tls_cipher_suites_e aCipherSuite)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CipherSuiteIsEphemeralDHKeyExchange(): aCipherSuite=%d\n"),
-		aCipherSuite));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CipherSuiteIsEphemeralDHKeyExchange()\n"));
-
 	if (aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
 		|| aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA
 		|| aCipherSuite == tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
@@ -2748,64 +2838,149 @@
 	const eap_type_value_e aTunnelingType,
 	const eap_type_value_e aEapType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+// The current values for TTLS-PAP:
+// TTLS: aEapVendorType = TTLS, aTunnelingVendorType = None
+// TTLS/plain-PAP: aEapVendorType = ttls_plain_pap, aTunnelingVendorType = TTLS
+	
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetConfigurationL()\n"));
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** EapTlsPeapUtils::SetConfigurationL(): Set the below values: ***************************\n")) );
-
-	EAP_TRACE_SETTINGS(&aSettings);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** EapTlsPeapUtils::SetConfigurationL(): Set the above values: ***************************\n")) );
-
-
+		(_L("EapTlsPeapUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the below values: ***************************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Set these values for EAPType=%d"),aSettings.iEAPType) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, VerifyServerRealm=%d"),
+						aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, RequireClientAuthentication=%d"),
+						aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, SessionValidityTime=%d minutes"),
+						aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, CipherSuites Count=%d"),
+						aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) );
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"),
+						aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) );
+	
 	// Validate length of inputs.
-	if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB
-		|| aSettings.iRealm.Length() > KMaxRealmLengthInDB )
+	if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB
+		|| aSettings.iRealm.Length() > KMaxManualRealmLengthInDB )
 	{
 		// Some inputs are too long. Can not be stored in DB.
 		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long arguments\n")));
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL: Too long arguments\n")));
 		
 		User::Leave(KErrArgument);
 	}
-
-#ifdef USE_FAST_EAP_TYPE
-
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Certificates Count=%d"),
+						aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate details below: \n")) );
+	
+	for( TInt n=0; n < aSettings.iCertificates.Count(); n++ )
+	{
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) );
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SubjectName=%S"),
+						aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, IssuerName=%S"),
+						aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SerialNumber=%S"),
+						aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber) ) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - SubjectKeyID present=%d"),
+						aSettings.iCertificates[n].iSubjectKeyIDPresent ) );						
+						
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), 
+													aSettings.iCertificates[n].iSubjectKeyID.Size() ) );
+
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - Thumbprint present=%d"),
+						aSettings.iCertificates[n].iThumbprintPresent ) );						
+						
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Thumbprint:", aSettings.iCertificates[n].iThumbprint.Ptr(), 
+													aSettings.iCertificates[n].iThumbprint.Size() ) );
+	}						
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, EncapsulatedEAPTypes Count=%d"),
+						aSettings.iEncapsulatedEAPTypesPresent, aSettings.iEncapsulatedEAPTypes.Count()) );
+	
+	for( TInt m=0; m < aSettings.iEncapsulatedEAPTypes.Count(); m++ )
+	{	
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - EncapsulatedEAPTypes=%d"),
+						aSettings.iEncapsulatedEAPTypes[m]) );
+	}						
+
+#ifdef USE_FAST_EAP_TYPE		
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, AuthProvModeAllowed=%d"),
+						aSettings.iAuthProvModeAllowedPresent, aSettings.iAuthProvModeAllowed) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UnauthProvModeAllowed=%d"),
+						aSettings.iUnauthProvModeAllowedPresent, aSettings.iUnauthProvModeAllowed) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, WarnADHPNoPAC=%d"),
+			aSettings.iWarnADHPNoPACPresent, aSettings.iWarnADHPNoPAC) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, WarnADHPNoMatchingPAC=%d"),
+			aSettings.iWarnADHPNoMatchingPACPresent, aSettings.iWarnADHPNoMatchingPAC) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, WarnNotDefaultServer=%d"),
+			aSettings.iWarnNotDefaultServerPresent, aSettings.iWarnNotDefaultServer) );
+	
 	// Validate length of PAC Group Ref.
 	if(aSettings.iPACGroupReference.Length() > KMaxPACGroupRefCollectionLengthInDB)
 	{
 		// Too long PAC Group Reference. Can not be stored in DB.
 		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long PAC Group Ref!\n")));
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL: Too long PAC Group Ref!\n")));
 		
 		User::Leave(KErrArgument);
 	}
 
+	EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PAC Group Ref=%S"),
+						aSettings.iPACGroupReferencePresent, &(aSettings.iPACGroupReference)) );
+
 #endif //#ifdef USE_FAST_EAP_TYPE		
 
+	EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the above values: ***************************\n")) );
+
+
 	// Check if the settings are for the correct type
-	if (aSettings.iEAPExpandedType != (*EapExpandedTypeTls.GetType())
-		&& aSettings.iEAPExpandedType != (*EapExpandedTypePeap.GetType())
-		&& aSettings.iEAPExpandedType != (*EapExpandedTypeTtls.GetType())
-#ifdef USE_FAST_EAP_TYPE
-		&& aSettings.iEAPExpandedType != (*EapExpandedTypeFast.GetType())
-#endif //#ifdef USE_FAST_EAP_TYPE
-		&& aSettings.iEAPExpandedType != (*EapExpandedTypeTtlsPap.GetType())
+	if ((aSettings.iEAPType != EAPSettings::EEapTls
+		&& aSettings.iEAPType != EAPSettings::EEapPeap
+		&& aSettings.iEAPType != EAPSettings::EEapTtls
+#ifdef USE_FAST_EAP_TYPE		
+		&& aSettings.iEAPType != EAPSettings::EEapFast
+#endif	
+		&& aSettings.iEAPType != EAPSettings::ETtlsPlainPap
 		)
+		|| static_cast<TUint>(aSettings.iEAPType) != aEapVendorType)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): LEAVE - Unsupported EAP type\n")) );
+		EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - LEAVE - Unsupported EAP type\n")) );
 		
 		User::Leave(KErrNotSupported);
 	}
-
+		
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();	
 
@@ -2820,81 +2995,86 @@
 	TPtrC fastSpecialSettings;		
 #endif
 	
-	if (aEapType == eap_type_tls)
-	{
-		settings.Set(KTlsDatabaseTableName);
-		usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal);
-		lastFullAuthTime.Set(KTLSLastFullAuthTime);
-	}
-	else if (aEapType == eap_type_peap)
-	{
-		settings.Set(KPeapDatabaseTableName);
-		usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal);
-		lastFullAuthTime.Set(KPEAPLastFullAuthTime);
-	}
-	else if (aEapType == eap_type_ttls)
-	{
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal);
-		lastFullAuthTime.Set(KTTLSLastFullAuthTime);
-	}
-#ifdef USE_FAST_EAP_TYPE		
-	else if (aEapType == eap_type_fast)
+	switch (aEapVendorType)
 	{
-		settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
-		fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
-		
-		usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KFastAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal);
-		lastFullAuthTime.Set(KFASTLastFullAuthTime);
-	}
+	case eap_type_tls:
+		{
+			settings.Set(KTlsDatabaseTableName);
+			usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal);
+			lastFullAuthTime.Set(KTLSLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			settings.Set(KPeapDatabaseTableName);
+			usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal);
+			lastFullAuthTime.Set(KPEAPLastFullAuthTime);
+		}
+		break;
+
+	case eap_type_ttls:
+		{
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal);
+			lastFullAuthTime.Set(KTTLSLastFullAuthTime);
+		}
+		break;
+
+#ifdef USE_FAST_EAP_TYPE		
+	case eap_type_fast:
+		{
+			settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
+			fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
+			
+			usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KFastAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal);
+			lastFullAuthTime.Set(KFASTLastFullAuthTime);
+		}
+		break;
 #endif
-	else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-		settings.Set( KTtlsDatabaseTableName );
-		maxSessionTime.Set( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal );
-		lastFullAuthTime.Set( KTTLSPAPLastFullAuthTime );
-	}
-	else
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: SetConfigurationL(): LEAVE - Unsupported EAP-type=0xfe%06x%08x\n"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()) );
-
-		// Should never happen
-		User::Leave(KErrArgument);
-	}
-
+
+	case eap_type_ttls_plain_pap:
+		{
+			settings.Set( KTtlsDatabaseTableName );
+			maxSessionTime.Set( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal );
+			lastFullAuthTime.Set( KTTLSPAPLastFullAuthTime );
+		}
+		break;
+
+	default:
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - LEAVE - Unsupported EAP type =%d\n"),
+				aEapVendorType) );
+
+			// Should never happen
+			User::Leave(KErrArgument);
+		}
+	}	
+	
 	RDbView view;
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	
 	//////////////////////////////////////////
 	// This is for settings for all EAP types.
 	// For EAP-FAST it is General settings.
 	//////////////////////////////////////////
 	
-	sqlStatement.Format(KSQL,
-		&settings, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());		
+	sqlStatement.Format( KSQL, &settings, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex,
+		&KTunnelingType, aTunnelingVendorType );		
 		
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -2917,208 +3097,131 @@
 	//////////////////////////////////////////
 	// This is only for plain PAP settings. //
 	//////////////////////////////////////////
-	if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() )
-	{
+	if ( aEapVendorType == eap_type_ttls_plain_pap )
+		{
 		// Username
 		if ( aSettings.iUsernamePresent )
-		{
+		    {
 			// Validate length.
 			if( aSettings.iUsername.Length() > KMaxPapUserNameLengthInDb )
-		    {
+			    {
 				// Username too long. Can not be stored in DB.				
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL: Too long Username. Length=%d, max length=%d \n" ),
-					aSettings.iUsername.Length(),
-					KMaxPapUserNameLengthInDb) );
-
-				CleanupStack::PopAndDestroy(colSet);
-				CleanupStack::PopAndDestroy(&view);
-				CleanupStack::PopAndDestroy(buf);
+				EAP_TRACE_DEBUG_SYMBIAN( ( _L( 
+					"EapTlsPeapUtils::SetConfigurationL: Too long Username. Length=%d \n" ),
+				aSettings.iUsername.Length() ) );
+				CleanupStack::PopAndDestroy( 3 ); // colset, view, buf
 				User::Leave( KErrArgument );
-		    }
+			    }
 			
 			// Length is ok. Set the value in DB.
 			view.SetColL( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ),
 				aSettings.iUsername);		
-		}
-
-		// Password existence.
-		if (aSettings.iPasswordExistPresent
-			&& !aSettings.iPasswordExist)
-		{
-			// Clear password from database.
-			view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_ttls_pap_password_literal), KNullPasswordData);
-			view.SetColNullL(colSet->ColNo(cf_str_EAP_TLS_PEAP_ttls_pap_password_literal));
-		}
-
+		    }
 		// Password
 		if ( aSettings.iPasswordPresent )
-	    {
+		    {
 			// Validate length.
 			if ( aSettings.iPassword.Length() > KMaxPapPasswordLengthInDb )
-		    {
+			    {
 				// Password too long. Can not be stored in DB.				
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL: Too long Password. Length=%d, max length=%d\n" ),
-					aSettings.iPassword.Length(),
-					KMaxPapPasswordLengthInDb) );
-
-				CleanupStack::PopAndDestroy(colSet);
-				CleanupStack::PopAndDestroy(&view);
-				CleanupStack::PopAndDestroy(buf);
+				EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+					"EapTlsPeapUtils::SetConfigurationL: Too long Password. Length=%d \n" ),
+				aSettings.iPassword.Length() ) );
+				CleanupStack::PopAndDestroy( 3 ); // colset, view, buf
 				User::Leave( KErrArgument );
-		    }
+			    }
 						
 			// Length is ok. Set the value in DB.	
 			view.SetColL( colSet->ColNo(
 				cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ),
 				aSettings.iPassword );
-	    }
-
-		// Password prompt
-		if ( aSettings.iShowPassWordPromptPresent )
-	    {
-			if ( aSettings.iShowPassWordPrompt )
-			{
-				view.SetColL( colSet->ColNo(
-					cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
-					EPapPasswordPromptOn );
-			}
-			else
-			{
-				view.SetColL( colSet->ColNo(
-					cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
-					EPapPasswordPromptOff );
-			}
-	    }
+			
+			// If password was supplied set password prompting off
+			view.SetColL( colSet->ColNo(
+				cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
+				EPapPasswordPromptOff );
+		    }
 				
 		// Session validity time
 		if ( aSettings.iSessionValidityTimePresent )
-	    {
+		    {
 			// User or device management wants to store the session validity time.
 			// Convert the time to micro seconds and save.			
-			TInt64 validityInMicro = (aSettings.iSessionValidityTime) * KMicroSecsInAMinute;
+			TInt64 validityInMicro =
+			    ( aSettings.iSessionValidityTime )
+			    *
+			    KMicroSecsInAMinute;			
 			view.SetColL( colSet->ColNo( maxSessionTime ), validityInMicro );
-
+			
 			// If max session validity time is supplied and non-zero, set password prompting ON.
 			// It doesn't matter even if the password is supplied. If max session validity is supplied,
 			// it means user needs to provide a password hence prompt should appear.			
 			if( validityInMicro != 0)
-		    {
+			    {
 				view.SetColL( colSet->ColNo(
 					cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ),
 					EPapPasswordPromptOn );
-		    }		
-	    }
+			    }		
+		    }
 		
 		// Last full authentication time should be made zero when EAP configurations are modified.
 		// This makes sure that the next authentication with this EAP would be full authentication
 		// instead of reauthentication even if the session is still valid.		
 		view.SetColL( colSet->ColNo( lastFullAuthTime ), default_FullAuthTime );
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils: Session Validity: Resetting Full Auth Time since settings are modified\n")));
+		EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+			"Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n" ),
+			aSettings.iEAPType ));
 	    
 		view.PutL();		
-
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
-		CleanupStack::PopAndDestroy(buf);
-		
-	    EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): Return PAP\n") ) );		
+		CleanupStack::PopAndDestroy( 3 ); // colset, view, buf
+		
+	    EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - Return \n") ) );		
 	    return; 
-	} // if ( aEapVendorType == eap_expanded_type_ttls_plain_pap.get_type() )
-
-
-	if (aSettings.iUseAutomaticCACertificatePresent)
+        } // if ( aEapVendorType == eap_type_ttls_plain_pap )
+	
+	// Manual username
 	{
-		// This is to set the automatic or manual status.
-		TUint useAutomaticCACertificateStatus;
-		
-		if (aSettings.iUseAutomaticCACertificate)
-		{
-			useAutomaticCACertificateStatus = EEapDbTrue;
-		}
-		else
-		{
-			useAutomaticCACertificateStatus = EEapDbFalse;
-		}
-		
-		// Set the value.
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), useAutomaticCACertificateStatus);
-	}
-
-
-	if (aSettings.iUseAutomaticUsernamePresent)
-	{
+		// Set the value in DB. Value could be empty. It doesn't matter.
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), aSettings.iUsername);
+		
 		// This is to set the automatic or manual status.
 		TUint useManualUsernameStatus;
 		
-		if (aSettings.iUseAutomaticUsername)
+		if (aSettings.iUsernamePresent)
 		{
-			useManualUsernameStatus = EEapDbFalse;
+			useManualUsernameStatus = ETLSPEAPUseManualUsernameYes;
 		}
 		else
 		{
-			useManualUsernameStatus = EEapDbTrue;
+			useManualUsernameStatus = ETLSPEAPUseManualUsernameNo;
 		}
 		
 		// Set the value.
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), useManualUsernameStatus);
-	}
-
-
-	if (aSettings.iUseAutomaticRealmPresent)
-	{
-		// This is to set the automatic or manual status.
-		TUint useManualRealmStatus;
-		
-		if (aSettings.iUseAutomaticRealm)
-		{
-			useManualRealmStatus = EEapDbFalse;
-		}
-		else
-		{
-			useManualRealmStatus = EEapDbTrue;
-		}
-
-		// Set the value.
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), useManualRealmStatus);
-	}
-
-
-	// Manual username
-	if (aSettings.iUsernamePresent)
-	{
-		// Check if length of username is less than the max length.
-		if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB)
-		{
-			// Username too long. Can not be stored in DB.
-			
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long Username. Length=%d \n"),
-				aSettings.iUsername.Length()));
-			
-			User::Leave(KErrArgument);
-		}
-
-		// Set the value in DB. Value could be empty. It doesn't matter.
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), aSettings.iUsername);
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), 
+			useManualUsernameStatus);
 		
 	}
 		
 	// Manual realm
-	if (aSettings.iRealmPresent)
 	{
-		// Check if length of realm is less than the max length.
-		if(aSettings.iRealm.Length() > KMaxRealmLengthInDB)
-		{
-			// Realm too long. Can not be stored in DB.
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long Realm. Length=%d \n"),
-				aSettings.iRealm.Length()));
-			
-			User::Leave(KErrArgument);
-		}
-
 		// Set the value in DB. Value could be empty. It doesn't matter.
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), aSettings.iRealm);
+
+		// This is to set the automatic or manual status.
+		TUint useManualRealmStatus;
+		
+		if (aSettings.iRealmPresent)
+		{
+			useManualRealmStatus = ETLSPEAPUseManualRealmYes;
+		}
+		else
+		{
+			useManualRealmStatus = ETLSPEAPUseManualRealmNo;
+		}
+		
+		// Set the value.
+		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal),
+			useManualRealmStatus);	
 	}
 	
 	// Verify server realm
@@ -3127,12 +3230,12 @@
 		if (aSettings.iVerifyServerRealm)
 		{
 			view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), 
-				EEapDbTrue);
+				ETLSPEAPVerifyCertRealmYes);
 		}
 		else
 		{			
 			view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), 
-				EEapDbFalse);
+				ETLSPEAPVerifyCertRealmNo);
 		}
 	}
 	
@@ -3142,12 +3245,12 @@
 		if (aSettings.iRequireClientAuthentication)
 		{
 			view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal),
-				EEapDbTrue);
+				ETLSPEAPServerAuthenticatesClientPolicyYes);
 		}
 		else
 		{			
 			view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal),
-				EEapDbFalse);
+				ETLSPEAPServerAuthenticatesClientPolicyNo);
 		}
 	}
 	
@@ -3168,7 +3271,8 @@
 	
 	view.SetColL(colSet->ColNo(lastFullAuthTime), default_FullAuthTime);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils: Session Validity: Resetting Full Auth Time since settings are modified\n")));	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"),
+								aSettings.iEAPType ));	
 	
 	// PEAP versions
 		
@@ -3199,28 +3303,10 @@
 		}
 		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal), acceptedPEAPVersions); 	
 	}
-
-	if (aSettings.iUseIdentityPrivacyPresent)
-	{
-		// This is to set the automatic or manual status.
-		TUint UseIdentityPrivacy = 0ul;
-		
-		if (aSettings.iUseIdentityPrivacy)
-		{
-			UseIdentityPrivacy = EEapDbTrue;
-		}
-		else
-		{
-			UseIdentityPrivacy = EEapDbFalse;
-		}
-
-		view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), UseIdentityPrivacy); 	
-	}
 	
 	view.PutL();
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(2); // view, colset	
 	
 #ifdef USE_FAST_EAP_TYPE		
 
@@ -3230,16 +3316,8 @@
 	
 	if(aEapType == eap_type_fast)
 	{
-		sqlStatement.Format(KSQL,
-			&fastSpecialSettings, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());
+		sqlStatement.Format(KSQL, &fastSpecialSettings, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 		
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 		
@@ -3263,12 +3341,12 @@
 			if (aSettings.iAuthProvModeAllowed)
 			{
 				view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), 
-					EEapDbTrue);
+					EFASTAuthProvModeAllowedYes);
 			}
 			else
 			{			
 				view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), 
-					EEapDbFalse);
+					EFASTAuthProvModeAllowedNo);
 			}
 		}
 		
@@ -3277,12 +3355,12 @@
 			if (aSettings.iUnauthProvModeAllowed)
 			{
 				view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), 
-					EEapDbTrue);
+					EFASTUnauthProvModeAllowedYes);
 			}
 			else
 			{			
 				view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), 
-					EEapDbFalse);
+					EFASTUnauthProvModeAllowedNo);
 			}
 		}
 		
@@ -3292,12 +3370,12 @@
 			if (aSettings.iWarnADHPNoPAC)
 			{
 				view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), 
-						EEapDbTrue);
+						EFASTWarnADHPNoPACYes);
 			}
 			else
 			{			
 				view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), 
-						EEapDbFalse);
+						EFASTWarnADHPNoPACNo);
 			}
 		}	
 		
@@ -3306,12 +3384,12 @@
 			if (aSettings.iWarnADHPNoMatchingPAC)
 			{
 				view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), 
-						EEapDbTrue);
+						EFASTWarnADHPNoMatchingPACYes);
 			}
 			else
 			{			
 				view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), 
-						EEapDbFalse);
+						EFASTWarnADHPNoMatchingPACNo);
 			}
 		}	
 		
@@ -3320,12 +3398,12 @@
 			if (aSettings.iWarnADHPNoMatchingPAC)
 			{
 				view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), 
-						EEapDbTrue);
+						EFASTWarnNotDefaultServerYes);
 			}
 			else
 			{			
 				view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), 
-						EEapDbFalse);
+						EFASTWarnNotDefaultServerNo);
 			}
 		}	
 		
@@ -3340,8 +3418,7 @@
 		
 		view.PutL();
 		
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
+		CleanupStack::PopAndDestroy(2); // view, colset			
 	
 	} // End: if(aEapType == eap_type_fast)
 	
@@ -3353,16 +3430,8 @@
 	
 	if (aSettings.iCipherSuitesPresent)
 	{
-		sqlStatement.Format(KSQL,
-			&ciphersuites, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());
+		sqlStatement.Format(KSQL, &ciphersuites, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 		
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 		
@@ -3372,12 +3441,12 @@
 
 		// Delete old rows
 		if (view.FirstL())
-		{
+		{		
 			do {
 				view.DeleteL();
 			} while (view.NextL() != EFalse);
 		}	
-
+		
 		// Get column set so we get the correct column numbers
 		colSet = view.ColSetL();
 		CleanupStack::PushL(colSet);
@@ -3386,44 +3455,34 @@
 		
 		for (TInt i = 0; i < aSettings.iCipherSuites.Count(); i++)
 		{
-			view.InsertL();
+			view.InsertL();			
 			view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aIndexType));
-			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aIndex));
-			view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aIndex));			
+			view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);
 			view.SetColL(colSet->ColNo(KCipherSuite), aSettings.iCipherSuites[i]);
-			view.PutL();
+			view.PutL();	
 		}
 		
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
+		CleanupStack::PopAndDestroy(2); // view, colset
 	}
 	
 	/////////////////////////
 	// User + CA Certificates
 	/////////////////////////
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iCertificatesPresent=%d \n"), aSettings.iCertificatesPresent ) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iCertificatesPresent=%d \n"), aSettings.iCertificatesPresent ) );
 	
 	if (aSettings.iCertificatesPresent)
 	{
 		// Needed for getting the Symbian's subject key id.
-		//CEapTlsPeapCertFetcher* certFetcher = CEapTlsPeapCertFetcher::NewL();
-		//CleanupStack::PushL(certFetcher);
+		CEapTlsPeapCertFetcher* certFetcher = CEapTlsPeapCertFetcher::NewL();
+		CleanupStack::PushL(certFetcher);
 				
 		TBuf8<KKeyIdentifierLength> symbianSubjectKeyID;		
 		
 		// For USER certificate.		
-		sqlStatement.Format(KSQL,
-			&usercerts, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());
+		sqlStatement.Format(KSQL, &usercerts, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 			
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 	
@@ -3433,7 +3492,7 @@
 
 		// Delete old rows
 		if (view.FirstL())
-		{
+		{		
 			do {
 				view.DeleteL();
 			} while (view.NextL() != EFalse);
@@ -3447,20 +3506,18 @@
 		
 		TInt i(0);
 		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iCertificates.Count()=%d \n"), aSettings.iCertificates.Count() ) );
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iCertificates.Count()=%d \n"), aSettings.iCertificates.Count() ) );
 
 		for (i = 0; i < aSettings.iCertificates.Count(); i++)
 		{
-			if (aSettings.iCertificates[i]->GetIsEnabledPresent()
-				&& aSettings.iCertificates[i]->GetIsEnabled()
-				&& aSettings.iCertificates[i]->GetCertType() == EapCertificateEntry::EUser)
+			if (aSettings.iCertificates[i].iCertType == CertificateEntry::EUser)
 			{	
 				// Validate the length and save other certificate details to the DB.
-				if(aSettings.iCertificates[i]->GetSubjectName()->Length() > KKeyIdentifierLength
-				   || aSettings.iCertificates[i]->GetIssuerName()->Length() > KGeneralStringMaxLength
-				   || aSettings.iCertificates[i]->GetSerialNumber()->Length() > KGeneralStringMaxLength
-				   || aSettings.iCertificates[i]->GetSubjectKeyId().Length() > KGeneralStringMaxLength
-				   || aSettings.iCertificates[i]->GetThumbprint()->Length() > KThumbprintMaxLength)
+				if(aSettings.iCertificates[i].iSubjectName.Length() > KKeyIdentifierLength
+				   || aSettings.iCertificates[i].iIssuerName.Length() > KGeneralStringMaxLength
+				   || aSettings.iCertificates[i].iSerialNumber.Length() > KGeneralStringMaxLength
+				   || aSettings.iCertificates[i].iSubjectKeyID.Length() > KGeneralStringMaxLength
+				   || aSettings.iCertificates[i].iThumbprint.Length() > KThumbprintMaxLength)
 				{
 					// Too long data. Can not be stored in DB.
 
@@ -3470,48 +3527,36 @@
 				}					
 						
 				EAP_TRACE_DATA_DEBUG_SYMBIAN(("THIS IS SubjectKeyID:",
-						aSettings.iCertificates[i]->GetSubjectKeyId().Ptr(),
-						aSettings.iCertificates[i]->GetSubjectKeyId().Length()));
+						aSettings.iCertificates[i].iSubjectKeyID.Ptr(), aSettings.iCertificates[i].iSubjectKeyID.Size()));
 
 				// The cert label column is left empty
 
 				view.InsertL();			
 				view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aIndexType));
 				view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aIndex));
-				view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-				view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+				view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType);				
 																
-				view.SetColL(colSet->ColNo(KSubjectName), *(aSettings.iCertificates[i]->GetSubjectName()));
-				view.SetColL(colSet->ColNo(KIssuerName), *(aSettings.iCertificates[i]->GetIssuerName()));
-				view.SetColL(colSet->ColNo(KSerialNumber), *(aSettings.iCertificates[i]->GetSerialNumber()));
-				view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId());
+				view.SetColL(colSet->ColNo(KSubjectName), aSettings.iCertificates[i].iSubjectName);
+				view.SetColL(colSet->ColNo(KIssuerName), aSettings.iCertificates[i].iIssuerName);
+				view.SetColL(colSet->ColNo(KSerialNumber), aSettings.iCertificates[i].iSerialNumber);
+				view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID);					
 				
 				// Special for thumb print (finger print). Need to convert it to 8 bits before storing in DB
 				TBuf8<KThumbprintMaxLength> thumbPrint8Bit;
-				thumbPrint8Bit.Copy(*(aSettings.iCertificates[i]->GetThumbprint()));
+				thumbPrint8Bit.Copy(aSettings.iCertificates[i].iThumbprint);
 				
 				view.SetColL(colSet->ColNo(KThumbprint), thumbPrint8Bit);
 				
-				view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId());
+				view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID);
 			
 				view.PutL();	
-			}
+				}
 		}
-
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
+		CleanupStack::PopAndDestroy(2); // view, colset			
 
 		// Do the same for CA certificates.		
-		sqlStatement.Format(KSQL,
-			&cacerts, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());
+		sqlStatement.Format(KSQL, &cacerts, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 		
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 		
@@ -3521,7 +3566,7 @@
 		
 		// Delete old rows
 		if (view.FirstL())
-		{
+		{		
 			do {
 				view.DeleteL();
 			} while (view.NextL() != EFalse);
@@ -3533,16 +3578,14 @@
 
 		for (i = 0; i < aSettings.iCertificates.Count(); i++)
 		{
-			if (aSettings.iCertificates[i]->GetIsEnabledPresent()
-				&& aSettings.iCertificates[i]->GetIsEnabled()
-				&& aSettings.iCertificates[i]->GetCertType() == EapCertificateEntry::ECA)
+			if (aSettings.iCertificates[i].iCertType == CertificateEntry::ECA)
 			{
 				// Validate the length and save other certificate details to the DB.
-				if(aSettings.iCertificates[i]->GetSubjectName()->Length() > KKeyIdentifierLength
-				   || aSettings.iCertificates[i]->GetIssuerName()->Length() > KGeneralStringMaxLength
-				   || aSettings.iCertificates[i]->GetSerialNumber()->Length() > KGeneralStringMaxLength
-				   || aSettings.iCertificates[i]->GetSubjectKeyId().Length() > KGeneralStringMaxLength
-				   || aSettings.iCertificates[i]->GetThumbprint()->Length() > KThumbprintMaxLength)
+				if(aSettings.iCertificates[i].iSubjectName.Length() > KKeyIdentifierLength
+				   || aSettings.iCertificates[i].iIssuerName.Length() > KGeneralStringMaxLength
+				   || aSettings.iCertificates[i].iSerialNumber.Length() > KGeneralStringMaxLength
+				   || aSettings.iCertificates[i].iSubjectKeyID.Length() > KGeneralStringMaxLength
+				   || aSettings.iCertificates[i].iThumbprint.Length() > KThumbprintMaxLength)
 				{
 					// Too long data. Can not be stored in DB.
 
@@ -3556,52 +3599,47 @@
 				view.InsertL();			
 				view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aIndexType));
 				view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aIndex));				
-				view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
-				view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
+				view.SetColL(colSet->ColNo(KTunnelingType),aTunnelingVendorType);
 								
-				view.SetColL(colSet->ColNo(KSubjectName), *(aSettings.iCertificates[i]->GetSubjectName()));
-				view.SetColL(colSet->ColNo(KIssuerName), *(aSettings.iCertificates[i]->GetIssuerName()));
-				view.SetColL(colSet->ColNo(KSerialNumber), *(aSettings.iCertificates[i]->GetSerialNumber()));
-				view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId());
+				view.SetColL(colSet->ColNo(KSubjectName), aSettings.iCertificates[i].iSubjectName);
+				view.SetColL(colSet->ColNo(KIssuerName), aSettings.iCertificates[i].iIssuerName);
+				view.SetColL(colSet->ColNo(KSerialNumber), aSettings.iCertificates[i].iSerialNumber);
+				view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID);					
 				
 				// Special for thumb print (finger print). Need to convert it to 8 bits before storing in DB
 				TBuf8<KThumbprintMaxLength> thumbPrint8Bit;
-				thumbPrint8Bit.Copy(*(aSettings.iCertificates[i]->GetThumbprint()));
+				thumbPrint8Bit.Copy(aSettings.iCertificates[i].iThumbprint);
 				
 				view.SetColL(colSet->ColNo(KThumbprint), thumbPrint8Bit);
 				
 				// Get the "symbian's subject key id" using symbian API.
 				// We use this subject key id for authentication.
 
-				view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId());
-
-				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::SetConfigurationL(): Adding CA cert to DB, Supplied (Actual) SubjectKeyID:",
-					aSettings.iCertificates[i]->GetSubjectKeyId().Ptr(),
-					aSettings.iCertificates[i]->GetSubjectKeyId().Length() ) );
+				view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID);
+
+				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::SetConfigurationL - Adding CA cert to DB, Supplied (Actual) SubjectKeyID:",
+					aSettings.iCertificates[i].iSubjectKeyID.Ptr(), aSettings.iCertificates[i].iSubjectKeyID.Size() ) );				
 				
-				EAP_TRACE_SETTINGS(aSettings.iCertificates[i]);
-
 				view.PutL();
 				}
 		}
 		
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
-		
-		//CleanupStack::PopAndDestroy(certFetcher);
+		CleanupStack::PopAndDestroy(2); // view, colset	
+		
+		CleanupStack::PopAndDestroy(certFetcher);
 		
 	} // End of if (aSettings.iCertificatesPresent)
 	
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(); // buf
 		
 	/////////////////////
 	// Encapsulated types
 	/////////////////////
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent=%d \n"), aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent ) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iEncapsulatedEAPTypesPresent=%d \n"), aSettings.iEncapsulatedEAPTypesPresent ) );
 
 	// Encapsulated types are only for EAP-PEAP, EAP-TTLS and EAP-FAST. Not for EAP-TLS.
-	// This is just to be on safe side. In case if iEnabledEncapsulatedEAPExpandedTypesPresent is set true for EAP-TLS by the caller.
+	// This is just to be on safe side. In case if iEncapsulatedEAPTypesPresent is set true for EAP-TLS by the caller.
 	if ( aEapType != eap_type_peap 
 		 && aEapType != eap_type_ttls
 #ifdef USE_FAST_EAP_TYPE
@@ -3609,23 +3647,25 @@
 #endif		  		 
 		  )
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): End - Since no encapsulated type for the EAP-type=0xfe%06x%08x\n"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()  ) );
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::SetConfigurationL - End - Since no encapsulated type for the EAPType =%d \n"),
+			aEapVendorType  ) );
 			
 		return; // No need to proceed. No encapsulated type for EAP-TLS..
 	}
 	
-	if (aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent)
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	if (aSettings.iEncapsulatedEAPTypesPresent)
 	{
-		RPointerArray<TEapExpandedType> enabledEAPTypes;
+		RExpandedEapTypePtrArray enabledEAPTypes;
 		// This is just for dummy. All EAP types available here are enabled as default.
-		RPointerArray<TEapExpandedType> disabledEAPTypes;
-		TEapExpandedType* expandedEAPTmp = 0;
-	
-		for (TInt i = 0; i < aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count(); i++)
+		RExpandedEapTypePtrArray disabledEAPTypes;
+		SExpandedEAPType* expandedEAPTmp = 0;
+	
+		for (TInt i = 0; i < aSettings.iEncapsulatedEAPTypes.Count(); i++)
 		{
-			expandedEAPTmp = new TEapExpandedType;
+			expandedEAPTmp = new SExpandedEAPType;
 
 			if (expandedEAPTmp == 0)
 			{
@@ -3635,24 +3675,50 @@
 				disabledEAPTypes.Close();
 				User::Leave(KErrNoMemory);				
 			}
-
+			
+			// This fills the needed values for vendor id etc.
+			eap_expanded_type_c tmpExpEAP(static_cast <eap_type_ietf_values_e> (aSettings.iEncapsulatedEAPTypes[i]));
+			
+			// This is only for plain-MSCHAPv2 as long as we are using the value 99 for it.
+			if(aSettings.iEncapsulatedEAPTypes[i] == EAPSettings::EPlainMschapv2)
+			{
+				tmpExpEAP.set_eap_type_values(
+					eap_type_vendor_id_hack,
+					eap_type_vendor_type_plain_MSCHAPv2_hack);
+			}
+			
+			// And this is for TTLS-PAP as long as we are using the value 98 for it.
+			if(aSettings.iEncapsulatedEAPTypes[i] == EAPSettings::ETtlsPlainPap)
+			{
+				tmpExpEAP.set_eap_type_values(
+					eap_type_vendor_id_hack,
+					eap_type_vendor_type_ttls_plain_pap_hack);
+			}
+			
+			// Some indirect way of forming the 8 byte string of an EAP type is needed here.
+			TUint8 tmpExpBuffer[KExpandedEAPTypeSize]; // This is for the eap_expanded_type_c::write_type
+			
+			// This copies the 8 byte string of EAP type to tmpExpBuffer. 
+			eap_status_e status = eap_expanded_type_c::write_type(0,
+											0, // index should be zero here.
+											tmpExpBuffer,
+											KExpandedEAPTypeSize,
+											true,
+											tmpExpEAP);
+											
 			// Now copy the 8 byte string to expandedEAPTmp.
-			*expandedEAPTmp = aSettings.iEnabledEncapsulatedEAPExpandedTypes[i].GetValue();
-
+			expandedEAPTmp->iExpandedEAPType.Copy(tmpExpBuffer, KExpandedEAPTypeSize);
+			
 			EAP_TRACE_DATA_DEBUG_SYMBIAN(
-				("EapTlsPeapUtils::SetConfigurationL: Expanded EAP type string",
-				expandedEAPTmp->GetValue().Ptr(), 
-				expandedEAPTmp->GetValue().Size() ) );						
-
-			TInt error = enabledEAPTypes.Append(expandedEAPTmp);
-			if (error != KErrNone)
-			{
-				delete expandedEAPTmp;
-				expandedEAPTmp = 0;
-			}
+				("EapTlsPeapUtils::SetConfigurationL: Expanded EAp type string",
+				expandedEAPTmp->iExpandedEAPType.Ptr(), 
+				expandedEAPTmp->iExpandedEAPType.Size() ) );						
+														
+
+			enabledEAPTypes.Append(expandedEAPTmp);
 		}	
-
-		TRAPD(error, SetTunnelingExpandedEapDataL(
+	
+	TRAPD(error, SetTunnelingExpandedEapDataL(
 			aDatabase, 
 			0, 
 			enabledEAPTypes,
@@ -3664,7 +3730,7 @@
 			
 		if( error != KErrNone )
 		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): ########### Setting Expanded Tunneling types in the DB failed ############ \n") ) );
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - ########### Setting Expanded Tunneling types in the DB failed ############ \n") ) );
 
 			enabledEAPTypes.ResetAndDestroy();
 			disabledEAPTypes.ResetAndDestroy();
@@ -3680,87 +3746,60 @@
 		disabledEAPTypes.Close();
 
 	}
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): End \n") ) );		
+
+#else // For normal unexpanded EAP type.
+	
+	if (aSettings.iEncapsulatedEAPTypesPresent)
+	{
+		TEapArray eapArray;
+		
+		TEap *eap;
+		for (TInt i = 0; i < aSettings.iEncapsulatedEAPTypes.Count(); i++)
+		{
+			eap = new TEap;
+			if (eap == 0)
+			{
+				eapArray.ResetAndDestroy();
+				eapArray.Close();
+				User::Leave(KErrNoMemory);				
+			}
+			
+			eap->UID.NumFixedWidth(aSettings.iEncapsulatedEAPTypes[i], EDecimal, 2);
+			eap->Enabled = ETrue;
+			eapArray.Append(eap);
+		}	
+	
+		TInt err(KErrNone);
+		TRAP(err, SetEapDataL(
+			aDatabase,
+			0,
+			eapArray,
+			aIndexType,
+			aIndex,
+			aTunnelingType,
+			aEapType));
+
+		if( err != KErrNone )
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - ########### Setting Tunneling types in the DB failed ############ \n") ) );
+
+			eapArray.ResetAndDestroy();
+			eapArray.Close();			
+
+			User::Leave(KErrArgument); // There could be some problem in the encapsulated EAP type argument.
+		}
+
+		eapArray.ResetAndDestroy();
+		eapArray.Close();			
+	}
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - End \n") ) );		
 
 } // EapTlsPeapUtils::SetConfigurationL()
 
 
-// ----------------------------------------------------------------------
-
-TInt EapTlsPeapUtils::FilterEapMethods(
-	RPointerArray<TEapExpandedType> * const aEAPTypes,
-	RPointerArray<TEapExpandedType> * const aPlugins)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): aEAPTypes->Count()=%d, aPlugins->Count()=%d\n"),
-		aEAPTypes->Count(),
-		aPlugins->Count()));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::FilterEapMethods()\n"));
-
-	for (TInt act_ind = 0; act_ind < aEAPTypes->Count(); ++act_ind)
-	{
-		const TEapExpandedType * eap_type = (*aEAPTypes)[act_ind];
-		if (eap_type == 0)
-		{
-			return KErrNoMemory;
-		}
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): aEAPTypes[%d] EAP-type=0xfe%06x%08x\n"),
-			act_ind,
-			eap_type->GetVendorId(),
-			eap_type->GetVendorType()));
-
-		bool exists(false);
-
-		for (TInt plugin_ind = 0; plugin_ind < aPlugins->Count(); ++plugin_ind)
-		{
-			const TEapExpandedType * plugin_type = (*aPlugins)[plugin_ind];
-			if (plugin_type == 0)
-			{
-				return KErrNoMemory;
-			}
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): aPlugins[%d] EAP-type=0xfe%06x%08x\n"),
-				plugin_ind,
-				plugin_type->GetVendorId(),
-				plugin_type->GetVendorType()));
-
-			if (*eap_type == *plugin_type)
-			{
-				// OK, this active EAP-method have implementation.
-				exists = true;
-
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): Removes from aPlugins EAP-type=0xfe%06x%08x\n"),
-					eap_type->GetVendorId(),
-					eap_type->GetVendorType()));
-
-				// Remove this plugin EAP-method because it is in the list of EAP-methods.
-				delete (*aPlugins)[plugin_ind];
-				aPlugins->Remove(plugin_ind);
-
-				break;
-			}
-		} // for()
-
-		if (exists == false)
-		{
-			// Remove this EAP-method because there are no implementation.
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): Removes from aEAPTypes EAP-type=0xfe%06x%08x\n"),
-				eap_type->GetVendorId(),
-				eap_type->GetVendorType()));
-
-			delete (*aEAPTypes)[act_ind];
-			aEAPTypes->Remove(act_ind);
-
-			--act_ind;
-		}
-	} // for()
-
-	return KErrNone;
-}
-
 // ---------------------------------------------------------
 // EapTlsPeapUtils::GetConfigurationL()
 // ---------------------------------------------------------
@@ -3773,16 +3812,21 @@
 	const eap_type_value_e aTunnelingType,
 	const eap_type_value_e aEapType)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+		
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::GetConfigurationL()\n"));
+		(_L("EapTlsPeapUtils::GetConfigurationL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+		aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();	
@@ -3797,49 +3841,61 @@
 	TPtrC fastSpecialSettings;		
 #endif
 	
-	if (aEapType == eap_type_tls)
-	{
-		settings.Set(KTlsDatabaseTableName);
-		usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal);
-	}
-	else if (aEapType == eap_type_peap)
-	{
-		settings.Set(KPeapDatabaseTableName);
-		usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal);
-	}
-	else if (aEapType == eap_type_ttls)
+	switch (aEapVendorType)
 	{
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal);
-	}
+	case eap_type_tls:
+		{
+			settings.Set(KTlsDatabaseTableName);
+			usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			settings.Set(KPeapDatabaseTableName);
+			usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal);
+		}
+		break;
+
+	case eap_type_ttls:
+		{
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal);
+		}
+		break;
+
 #ifdef USE_FAST_EAP_TYPE
-	else if (aEapType == eap_type_fast)
-	{
-		settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
-		fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
-		
-		usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KFastAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);
-		maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal);
-	}
+	case eap_type_fast:
+		{
+			settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
+			fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
+			
+			usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KFastAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);
+			maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal);
+		}
+		break;
 #endif
-	else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
+
+
+	case eap_type_ttls_plain_pap:
+		{
 		settings.Set( KTtlsDatabaseTableName );
 		maxSessionTime.Set( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal );
-	}
-	else
-	{
+		}
+		break;
+		
+	default:
 		// Should never happen
 		User::Leave(KErrArgument);
 	}	
@@ -3847,23 +3903,15 @@
 	RDbView view;
 
 	// Form the query
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	
 	//////////////////////////////////////////
 	// This is for settings for all EAP types.
 	// For EAP-FAST it is General settings.
 	//////////////////////////////////////////
 	
-	sqlStatement.Format(KSQL,
-		&settings, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &settings, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 
 	// Evaluate view
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -3880,51 +3928,26 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-	aSettings.iEAPExpandedType.SetValue(
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type());
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(
-		(EAPL("EapTlsPeapUtils::GetConfigurationL(): aSettings.iEAPExpandedType"),
-		aSettings.iEAPExpandedType.GetValue().Ptr(),
-		aSettings.iEAPExpandedType.GetValue().Length()));
-
+	aSettings.iEAPType = static_cast<EAPSettings::TEapType>(aEapVendorType);
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEAPType=%d \n"),aSettings.iEAPType) );
+	
 	//////////////////////////////////////////
 	// This is only for plain PAP settings. //
 	//////////////////////////////////////////
-	if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() )
-	{		
+	if ( aEapType == eap_type_ttls_plain_pap )
+		{		
 	    // Username
 	    TPtrC username = view.ColDes( colSet->ColNo(
 	   		cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) );
 	    aSettings.iUsername.Copy( username );
 	    aSettings.iUsernamePresent = ETrue;
-
-		// Password existence.
-		aSettings.iPasswordExistPresent = ETrue;
-		aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_TLS_PEAP_ttls_pap_password_literal));
-
-		aSettings.iShowPassWordPromptPresent = ETrue;
-
-		TUint aShow = view.ColUint( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) );
-		if ( aShow == EPapPasswordPromptOn)
-		{
-			aSettings.iShowPassWordPrompt = ETrue;
-		}
-		else
-		{
-			aSettings.iShowPassWordPrompt = EFalse;
-		}
-
-#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
+	
         // Password
 	    TPtrC password = view.ColDes( colSet->ColNo(
     		cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) );
 	    aSettings.iPassword.Copy( password );
 	    aSettings.iPasswordPresent = ETrue;
-#else
-		EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapTlsPeapUtils::GetConfigurationL(): Password read is disabled\n")));
-#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
 
 	    // Session validity time	
 	    TInt64 maxSessionTimeMicro = view.ColInt64( colSet->ColNo(
@@ -3939,117 +3962,75 @@
 	    CleanupStack::PopAndDestroy(3); // view, colset, buf
 
 		return;
-	}
-
-
+		}
+
+	
+	// Username
+	TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal));
+	aSettings.iUsername.Copy(username);
+
+	// For manual or automatic status.
+	TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal));
+	if(useUsername == ETLSPEAPUseManualUsernameNo)
 	{
-		// For manual or automatic CA-certificate.
-		TUint useAutomaticCACertificate = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal));
-
-		aSettings.iUseAutomaticCACertificatePresent = ETrue;
-
-		if(useAutomaticCACertificate == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticCACertificate = ETrue;
-		}
-		else
-		{
-			aSettings.iUseAutomaticCACertificate = EFalse;
-		}
+		aSettings.iUsernamePresent = EFalse;		
 	}
-
+	else
 	{
-		// For manual or automatic username.
-		TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal));
-
-		aSettings.iUseAutomaticUsernamePresent = ETrue;
-
-		if(useUsername == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticUsername = EFalse;		
-		}
-		else
-		{
-			aSettings.iUseAutomaticUsername = ETrue;		
-		}
+		aSettings.iUsernamePresent = ETrue;		
 	}
-
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - Settings.iUsername=%S \n"), &(aSettings.iUsername) ) );
+		
+	// Realm
+	TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal));
+	aSettings.iRealm.Copy(realm);
+
+	// For manual or automatic status.
+	TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal));
+	if(useRealm == ETLSPEAPUseManualRealmNo)
 	{
-		// For manual or automatic realm.
-		TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal));
-
-		aSettings.iUseAutomaticRealmPresent = ETrue;
-
-		if(useRealm == EEapDbTrue)
-		{
-			aSettings.iUseAutomaticRealm = EFalse;
-		}
-		else
-		{
-			aSettings.iUseAutomaticRealm = ETrue;
-		}
+		aSettings.iRealmPresent = EFalse;
 	}
-
+	else
 	{
-		// Username
-		TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal));
-
-		aSettings.iUsernamePresent = ETrue;
-
-		aSettings.iUsername.Copy(username);
+		aSettings.iRealmPresent = ETrue;
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Settings.iUsername=%S \n"), &(aSettings.iUsername) ) );
-
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iRealm=%S \n"),&(aSettings.iRealm)) );
+
+	// Verify server realm	
+	TInt verifyrealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal));
+	if (verifyrealm == 0)
 	{
-		// Realm
-		TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal));
-
-		aSettings.iRealmPresent = ETrue;
-
-		aSettings.iRealm.Copy(realm);
+		aSettings.iVerifyServerRealm = EFalse;
 	}
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iRealm=%S \n"),&(aSettings.iRealm)) );
-
+	else
 	{
-		// Verify server realm	
-		TInt verifyrealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal));
-		if (verifyrealm == 0)
-		{
-			aSettings.iVerifyServerRealm = EFalse;
-		}
-		else
-		{
-			aSettings.iVerifyServerRealm = ETrue;
-		}
-		aSettings.iVerifyServerRealmPresent = ETrue;
+		aSettings.iVerifyServerRealm = ETrue;
 	}
-	
+	aSettings.iVerifyServerRealmPresent = ETrue;
+	
+	// Require client authentication
+	TInt requireclientauth = view.ColUint(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal));
+	if (requireclientauth == 0)
+	{
+		aSettings.iRequireClientAuthentication = EFalse;
+	}
+	else
 	{
-		// Require client authentication
-		TInt requireclientauth = view.ColUint(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal));
-		if (requireclientauth == 0)
-		{
-			aSettings.iRequireClientAuthentication = EFalse;
-		}
-		else
-		{
-			aSettings.iRequireClientAuthentication = ETrue;
-		}
-		aSettings.iRequireClientAuthenticationPresent = ETrue;
+		aSettings.iRequireClientAuthentication = ETrue;
 	}
-
-	{
-		// Session validity time	
-		TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(maxSessionTime));
-		
-		// Convert the time to minutes.	
-		TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
-		
-		aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
-		aSettings.iSessionValidityTimePresent = ETrue;
-	}
+	aSettings.iRequireClientAuthenticationPresent = ETrue;
+
+	// Session validity time	
+	TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(maxSessionTime));
+	
+	// Convert the time to minutes.	
+	TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
+	
+	aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
+	aSettings.iSessionValidityTimePresent = ETrue;
 
 	// PEAP versions
 	if (aEapType == eap_type_peap
@@ -4083,22 +4064,7 @@
 		aSettings.iPEAPVersionsPresent = ETrue;
 	}
 	
-	{
-		// Require client authentication
-		TInt UseIdentityPrivacy = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal));
-		if (UseIdentityPrivacy == 0)
-		{
-			aSettings.iUseIdentityPrivacy = EFalse;
-		}
-		else
-		{
-			aSettings.iUseIdentityPrivacy = ETrue;
-		}
-		aSettings.iUseIdentityPrivacyPresent = ETrue;
-	}
-
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(2); // view, colset
 	
 #ifdef USE_FAST_EAP_TYPE		
 
@@ -4108,16 +4074,8 @@
 	
 	if(aEapType == eap_type_fast)
 	{
-		sqlStatement.Format(KSQL,
-			&fastSpecialSettings, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());
+		sqlStatement.Format(KSQL, &fastSpecialSettings, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 		// Evaluate view
 		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
@@ -4136,7 +4094,7 @@
 	
 		// For provisioning modes.
 		TUint authProvMode = view.ColUint(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal));
-		if(authProvMode == EEapDbFalse)
+		if(authProvMode == EFASTAuthProvModeAllowedNo)
 		{
 			aSettings.iAuthProvModeAllowed = EFalse;
 		}
@@ -4148,7 +4106,7 @@
 		aSettings.iAuthProvModeAllowedPresent = ETrue;
 
 		TUint unauthProvMode = view.ColUint(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal));
-		if(unauthProvMode == EEapDbFalse)
+		if(unauthProvMode == EFASTUnauthProvModeAllowedNo)
 		{
 			aSettings.iUnauthProvModeAllowed = EFalse;
 		}
@@ -4161,7 +4119,7 @@
 		
 		// For no PAC warning	
 		TUint warn = view.ColUint(colSet->ColNo(KFASTWarnADHPNoPAC));
-		if(warn == EEapDbFalse)
+		if(warn == EFASTWarnADHPNoPACNo)
 		{
 			aSettings.iWarnADHPNoPAC = EFalse;
 		}
@@ -4174,7 +4132,7 @@
 		
 		// For no matching PAC warning		
 		warn = view.ColUint(colSet->ColNo(KFASTWarnADHPNoMatchingPAC));
-		if(warn == EEapDbFalse)
+		if(warn == EFASTWarnADHPNoMatchingPACNo)
 		{
 			aSettings.iWarnADHPNoMatchingPAC = EFalse;
 		}
@@ -4187,7 +4145,7 @@
 		
 		// For no default server warning
 		warn = view.ColUint(colSet->ColNo(KFASTWarnNotDefaultServer));
-		if(warn == EEapDbFalse)
+		if(warn == EFASTWarnNotDefaultServerNo)
 		{
 			aSettings.iWarnNotDefaultServer = EFalse;
 		}
@@ -4207,8 +4165,7 @@
 			aSettings.iPACGroupReferencePresent = ETrue;
 		}
 		
-		CleanupStack::PopAndDestroy(colSet);
-		CleanupStack::PopAndDestroy(&view);
+		CleanupStack::PopAndDestroy(2); // view, colset		
 				
 	} // End: if(aEapType == eap_type_fast) 
 
@@ -4219,16 +4176,8 @@
 	// Cipher suites
 	//////////////////
 	
-	sqlStatement.Format(KSQL,
-		&ciphersuites, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &ciphersuites, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 	
@@ -4245,32 +4194,23 @@
 		do {
 			view.GetL();
 			{				
-				aSettings.iCipherSuites.AppendL(view.ColUint(colSet->ColNo(KCipherSuite)));
+				aSettings.iCipherSuites.Append(view.ColUint(colSet->ColNo(KCipherSuite)));
 			}
 		} while (view.NextL() != EFalse);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Total cipher suites appended=%d \n"), aSettings.iCipherSuites.Count()) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - Total cipher suites appended=%d \n"),aSettings.iCipherSuites.Count()) );
 	
 	aSettings.iCipherSuitesPresent = ETrue;
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(2); // view, colset
 	
 	/////////////////
 	// User Certificates
 	/////////////////
 
-	sqlStatement.Format(KSQL,
-		&usercerts, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &usercerts, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 	
@@ -4288,73 +4228,59 @@
 			view.GetL();
 			{
 				// This is big object.
-				EapCertificateEntry * certEntry = new (ELeave) EapCertificateEntry;
+				CertificateEntry * certEntry = new (ELeave) CertificateEntry;
 				CleanupStack::PushL(certEntry);
 
-				certEntry->SetCertType(EapCertificateEntry::EUser);
+				certEntry->iCertType = CertificateEntry::EUser;
 				
-				certEntry->GetSubjectNameWritable()->Copy(view.ColDes(colSet->ColNo(KSubjectName)));
-				if(certEntry->GetSubjectName()->Length())
+				certEntry->iSubjectName.Copy(view.ColDes(colSet->ColNo(KSubjectName)));
+				if(certEntry->iSubjectName.Length())
 				{
-					certEntry->SetSubjectNamePresent();
+					certEntry->iSubjectNamePresent = ETrue;
 				}
 				
-				certEntry->GetIssuerNameWritable()->Copy(view.ColDes(colSet->ColNo(KIssuerName)));
-				if(certEntry->GetIssuerName()->Length())
+				certEntry->iIssuerName.Copy(view.ColDes(colSet->ColNo(KIssuerName)));
+				if(certEntry->iIssuerName.Length())
 				{
-					certEntry->SetIssuerNamePresent();
+					certEntry->iIssuerNamePresent = ETrue;
 				}
 
-				certEntry->GetSerialNumberWritable()->Copy(view.ColDes(colSet->ColNo(KSerialNumber)));
-				if(certEntry->GetSerialNumber()->Length())
+				certEntry->iSerialNumber.Copy(view.ColDes(colSet->ColNo(KSerialNumber)));
+				if(certEntry->iSerialNumber.Length())
 				{
-					certEntry->SetSerialNumberPresent();
-				}
-
-				certEntry->GetSubjectKeyIdWritable()->Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL
-				if(certEntry->GetSubjectKeyId().Length())
-				{
-					certEntry->SetSubjectKeyIdPresent();
+					certEntry->iSerialNumberPresent = ETrue;
 				}
 
-				certEntry->GetThumbprintWritable()->Copy(view.ColDes8(colSet->ColNo(KThumbprint)));				
-				if(certEntry->GetThumbprint()->Length())
+				certEntry->iSubjectKeyID.Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL
+				if(certEntry->iSubjectKeyID.Length())
 				{
-					certEntry->SetThumbprintPresent();
+					certEntry->iSubjectKeyIDPresent = ETrue;
 				}
 
-				certEntry->SetIsEnabledPresent();
-				certEntry->SetIsEnabled(ETrue);
-
-				aSettings.iCertificates.AppendL(certEntry);
-				aSettings.iCertificatesPresent = ETrue;
-
-				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL(): Filling User cert entry, SubjectKeyID:",
-					certEntry->GetSubjectKeyId().Ptr(),
-					certEntry->GetSubjectKeyId().Length() ) );
-
-				CleanupStack::Pop(certEntry);
+				certEntry->iThumbprint.Copy(view.ColDes8(colSet->ColNo(KThumbprint)));				
+				if(certEntry->iThumbprint.Length())
+				{
+					certEntry->iThumbprintPresent = ETrue;
+				}
+
+				aSettings.iCertificates.AppendL(*certEntry);
+
+				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL - Filling User cert entry, SubjectKeyID:",
+					certEntry->iSubjectKeyID.Ptr(), certEntry->iSubjectKeyID.Size() ) );
+
+				CleanupStack::PopAndDestroy(certEntry);
 			}
 		} while (view.NextL() != EFalse);
 	}
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
+	CleanupStack::PopAndDestroy(2); // view, colset
 	
 	/////////////////
 	// CA Certificates
 	/////////////////
 
-	sqlStatement.Format(KSQL,
-		&cacerts, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &cacerts, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
 	
@@ -4372,62 +4298,131 @@
 			view.GetL();
 			{	
 				// This is big object.
-				EapCertificateEntry * certEntry = new (ELeave) EapCertificateEntry;
+				CertificateEntry * certEntry = new (ELeave) CertificateEntry;
 				CleanupStack::PushL(certEntry);
 
-				certEntry->SetCertType(EapCertificateEntry::ECA);
+				certEntry->iCertType = CertificateEntry::ECA;
 				
-				certEntry->GetSubjectNameWritable()->Copy(view.ColDes(colSet->ColNo(KSubjectName)));
-				if(certEntry->GetSubjectName()->Length())
+				certEntry->iSubjectName.Copy(view.ColDes(colSet->ColNo(KSubjectName)));
+				if(certEntry->iSubjectName.Length())
 				{
-					certEntry->SetSubjectNamePresent();
+					certEntry->iSubjectNamePresent = ETrue;
 				}
 				
-				certEntry->GetIssuerNameWritable()->Copy(view.ColDes(colSet->ColNo(KIssuerName)));
-				if(certEntry->GetIssuerName()->Length())
+				certEntry->iIssuerName.Copy(view.ColDes(colSet->ColNo(KIssuerName)));
+				if(certEntry->iIssuerName.Length())
 				{
-					certEntry->SetIssuerNamePresent();
+					certEntry->iIssuerNamePresent = ETrue;
 				}
 
-				certEntry->GetSerialNumberWritable()->Copy(view.ColDes(colSet->ColNo(KSerialNumber)));
-				if(certEntry->GetSerialNumber()->Length())
+				certEntry->iSerialNumber.Copy(view.ColDes(colSet->ColNo(KSerialNumber)));
+				if(certEntry->iSerialNumber.Length())
 				{
-					certEntry->SetSerialNumberPresent();
+					certEntry->iSerialNumberPresent = ETrue;
 				}
 
-				certEntry->GetSubjectKeyIdWritable()->Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL
-				if(certEntry->GetSubjectKeyId().Length())
+				certEntry->iSubjectKeyID.Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL
+				if(certEntry->iSubjectKeyID.Length())
 				{
-					certEntry->SetSubjectKeyIdPresent();
+					certEntry->iSubjectKeyIDPresent = ETrue;
 				}
 
-				certEntry->GetThumbprintWritable()->Copy(view.ColDes8(colSet->ColNo(KThumbprint)));				
-				if(certEntry->GetThumbprint()->Length())
+				certEntry->iThumbprint.Copy(view.ColDes8(colSet->ColNo(KThumbprint)));				
+				if(certEntry->iThumbprint.Length())
 				{
-					certEntry->SetThumbprintPresent();
+					certEntry->iThumbprintPresent = ETrue;
 				}
 				
-				certEntry->SetIsEnabledPresent();
-				certEntry->SetIsEnabled(ETrue);
-
-				aSettings.iCertificates.AppendL(certEntry);
-				aSettings.iCertificatesPresent = ETrue;
-
-				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL(): Filling CA cert entry, SubjectKeyID:",
-					certEntry->GetSubjectKeyId().Ptr(),
-					certEntry->GetSubjectKeyId().Length() ) );
-
-				EAP_TRACE_SETTINGS(certEntry);
-
-				CleanupStack::Pop(certEntry);
+				aSettings.iCertificates.AppendL(*certEntry);
+
+				EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL - Filling CA cert entry, SubjectKeyID:",
+					certEntry->iSubjectKeyID.Ptr(), certEntry->iSubjectKeyID.Size() ) );
+
+				CleanupStack::PopAndDestroy(certEntry);
 			}
 		} while (view.NextL() != EFalse);
 	}
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
-
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
+	
+	aSettings.iCertificatesPresent = ETrue;
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("**************** GetConfigurationL - Returning the below values: ***************\n")) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - Return these values for EAPType=%d"),aSettings.iEAPType) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, VerifyServerRealm=%d"),
+						aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, RequireClientAuthentication=%d"),
+						aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, SessionValidityTime=%d minutes"),
+						aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, CipherSuites Count=%d"),
+						aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) );
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"),
+						aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) );
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Certificates Count=%d"),
+						aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) );
+						
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - Certificate details below: \n")) );
+	for( TInt n=0; n < aSettings.iCertificates.Count(); n++ )
+	{
+		EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) );
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - present=%d, SubjectName=%S"),
+						aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName)) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - present=%d, IssuerName=%S"),
+						aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName)) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - present=%d, SerialNumber=%S"),
+						aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber)) );
+						
+		EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - SubjectKeyID present=%d"),
+						aSettings.iCertificates[n].iSubjectKeyIDPresent ) );
+						
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), 
+													aSettings.iCertificates[n].iSubjectKeyID.Size() ) );						
+
+		EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - Thumbprint present=%d"),
+						aSettings.iCertificates[n].iThumbprintPresent ) );
+						
+		EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Thumbprint:", aSettings.iCertificates[n].iThumbprint.Ptr(), 
+													aSettings.iCertificates[n].iThumbprint.Size() ) );						
+	}
+	
+#ifdef USE_FAST_EAP_TYPE		
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, AuthProvModeAllowed=%d"),
+						aSettings.iAuthProvModeAllowedPresent, aSettings.iAuthProvModeAllowed) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, UnauthProvModeAllowed=%d"),
+						aSettings.iUnauthProvModeAllowedPresent, aSettings.iUnauthProvModeAllowed) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, WarnADHPNoPAC=%d"),
+			aSettings.iWarnADHPNoPACPresent, aSettings.iWarnADHPNoPAC) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, WarnADHPNoMatchingPAC=%d"),
+			aSettings.iWarnADHPNoMatchingPACPresent, aSettings.iWarnADHPNoMatchingPAC) );
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, WarnNotDefaultServer=%d"),
+			aSettings.iWarnNotDefaultServerPresent, aSettings.iWarnNotDefaultServer) );
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, PAC Group Ref=%S"),
+						aSettings.iPACGroupReferencePresent, &(aSettings.iPACGroupReference)) );
+
+#endif //#ifdef USE_FAST_EAP_TYPE		
+					
+	EAP_TRACE_DEBUG_SYMBIAN((_L("**************** GetConfigurationL - Returning the above values: ***************\n")) );
+
+	
 	//////////////////////	
 	// Encapsulated types
 	//////////////////////
@@ -4440,17 +4435,19 @@
 #endif		 
 		 )
 	{
-		aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = EFalse;
-		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): End - Since no encapsulated type for the EAP-type=0xfe%06x%08x\n"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()));
+		aSettings.iEncapsulatedEAPTypesPresent = EFalse;
+		
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::GetConfigurationL - End - Since no encapsulated type for the EAPType =%d \n"),
+			aEapVendorType));
 		
 		return; // No need to proceed. Nothing more to provide.
 	}
-
-	RPointerArray<TEapExpandedType> enabledEAPTypes;
-	RPointerArray<TEapExpandedType> disabledEAPTypes;
+		
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	RExpandedEapTypePtrArray enabledEAPTypes;
+	RExpandedEapTypePtrArray disabledEAPTypes;
 	
 	TRAPD(error, GetTunnelingExpandedEapDataL(
 			aDatabase, 
@@ -4462,222 +4459,278 @@
 			aTunnelingType,
 			aEapType));
 			
-	if( error != KErrNone )
-	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetConfigurationL(): ########### Getting Expanded Tunneling types from the DB failed ############ \n") ) );
-
-		enabledEAPTypes.ResetAndDestroy();
-		disabledEAPTypes.ResetAndDestroy();
-		enabledEAPTypes.Close();
-		disabledEAPTypes.Close();
-
-		User::Leave(KErrGeneral);
-	}
-
-
+		if( error != KErrNone )
+		{
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - ########### Getting Expanded Tunneling types from the DB failed ############ \n") ) );
+
+			enabledEAPTypes.ResetAndDestroy();
+			disabledEAPTypes.ResetAndDestroy();
+			enabledEAPTypes.Close();
+			disabledEAPTypes.Close();
+
+			User::Leave(KErrGeneral);
+		}
+
+	// There should be some enabled EAP types (atleast one).
+	if (enabledEAPTypes.Count() == 0)
 	{
-		RPointerArray<TEapExpandedType> aPlugins;
-
-		// This works if we do not leave from the block.
-		PointerArrayResetAndDestroy<TEapExpandedType> aAutomaticPlugins(&aPlugins, EFalse);
-
-		EapPluginTools aPluginTool;
-
-		TEapExpandedType aSymbTunnelingType;
-    
-		error = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-			&aEapType,
-			&aSymbTunnelingType);
-
-		if (error == KErrNone)
-		{
-			TRAP(error, (aPluginTool.ListAllEapPluginsL(aIndexType, aSymbTunnelingType, aPlugins)));
-			if (error != KErrNone)
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetConfigurationL(): aPluginTool.ListAllEapPluginsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-					aEapType.get_vendor_id(),
-					aEapType.get_vendor_type(),
-					aIndexType,
-					aIndex,
-					error));
-			}
-		}
-
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::GetConfigurationL(): ListImplementationsL(): No: of available EAP plugin implementations=%d, enabledEAPTypes.Count()=%d, disabledEAPTypes.Count()=%d\n"),
-		 	aPlugins.Count(),
-			enabledEAPTypes.Count(),
-			disabledEAPTypes.Count()));
-
-		if (error == KErrNone)
-		{
-			// Filter out unimplemented enabled EAP-methods.
-			error = FilterEapMethods(
-				&enabledEAPTypes,
-				&aPlugins);
-		}
-
-		if (error == KErrNone)
+		// Nothing enabled. Some problem. 
+		// We should get all the available EAP plugins on the device and make them enabled as default.
+		
+		RImplInfoPtrArray eapImplArray;
+
+		TRAP(error, REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapImplArray));
+		if (error != KErrNone)
 		{
-			// Filter out unimplemented disabled EAP-methods.
-			error = FilterEapMethods(
-				&disabledEAPTypes,
-				&aPlugins);
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - ########### Getting Expanded Tunneling types - Listing ECOM plugins failed ############ \n") ) );
+
+			enabledEAPTypes.ResetAndDestroy();
+			disabledEAPTypes.ResetAndDestroy();
+			enabledEAPTypes.Close();
+			disabledEAPTypes.Close();
+
+			User::Leave(KErrNotFound);
 		}
-
-		if (error == KErrNone)
-		{
-			// Add rest of the implemented EAP-methods to array of disabled EAP-methods.
-			EAP_TRACE_DEBUG_SYMBIAN(
-				(_L("EapTlsPeapUtils::GetConfigurationL(): ListImplementationsL(): Before adding disabled, No: of available EAP plugin implementations=%d, enabledEAPTypes.Count()=%d, disabledEAPTypes.Count()=%d\n"),
-		 		aPlugins.Count(),
-				enabledEAPTypes.Count(),
-				disabledEAPTypes.Count()));
-
-			for (TInt plugin_ind = 0; plugin_ind < aPlugins.Count(); ++plugin_ind)
+		
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("GetConfigurationL - ListImplementationsL - No: of available EAP plugin implementations=%d \n"),
+		 	eapImplArray.Count() ) );
+		
+		SExpandedEAPType* expandedEAPTmp;
+		
+		// Add the EAP types to enabledEAPTypes array now.
+		
+		for (TInt i = 0; i < eapImplArray.Count(); i++)
+		{		
+			if (aEapType == eap_type_peap)
 			{
-				const TEapExpandedType * const plugin_type = aPlugins[plugin_ind];
-				if (plugin_type == 0)
+				// Some EAP types are not allowed inside EAP-PEAP.
+				if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i]))
+				{			
+					continue;	
+				}
+				
+				expandedEAPTmp = new SExpandedEAPType;
+				if (expandedEAPTmp == 0)
 				{
-					error = KErrNoMemory;
-					break;
+					enabledEAPTypes.ResetAndDestroy();
+					disabledEAPTypes.ResetAndDestroy();
+					enabledEAPTypes.Close();
+					disabledEAPTypes.Close();
+
+					eapImplArray.ResetAndDestroy();
+					eapImplArray.Close();				
+
+					User::Leave(KErrNoMemory);				
 				}
-
-				TEapExpandedType * const disabled_eap_type = new TEapExpandedType;
-				if (disabled_eap_type != 0)
+				
+				CleanupStack::PushL(expandedEAPTmp);
+				
+				expandedEAPTmp->iExpandedEAPType.Copy(eapImplArray[i]->DataType());
+
+				enabledEAPTypes.Append(expandedEAPTmp);				
+				
+				CleanupStack::Pop(expandedEAPTmp);
+			}
+
+			if (aEapType == eap_type_ttls)
+			{
+				// Some EAP types are not allowed inside EAP-TTLS.
+				if (CEapType::IsDisallowedInsideTTLS(*eapImplArray[i]))
+				{			
+					continue;	
+				}
+				
+				expandedEAPTmp = new SExpandedEAPType;
+				if (expandedEAPTmp == 0)
 				{
-					*disabled_eap_type = *plugin_type;
-
-					EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Adds disabled EAP-type=0xfe%06x%08x\n"),
-						disabled_eap_type->GetVendorId(),
-						disabled_eap_type->GetVendorType()));
-
-					error = disabledEAPTypes.Append( disabled_eap_type );
-					if (error != KErrNone)
-					{
-						break;
-					}
+					enabledEAPTypes.ResetAndDestroy();
+					disabledEAPTypes.ResetAndDestroy();
+					enabledEAPTypes.Close();
+					disabledEAPTypes.Close();
+
+					eapImplArray.ResetAndDestroy();
+					eapImplArray.Close();				
+
+					User::Leave(KErrNoMemory);				
+				}
+				
+				CleanupStack::PushL(expandedEAPTmp);
+				
+				expandedEAPTmp->iExpandedEAPType.Copy(eapImplArray[i]->DataType());
+
+				enabledEAPTypes.Append(expandedEAPTmp);				
+				
+				CleanupStack::Pop(expandedEAPTmp);
+			}
+
+#ifdef USE_FAST_EAP_TYPE
+
+			if (aEapType == eap_type_fast)
+			{
+				// Some EAP types are not allowed inside EAP-FAST.
+				if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i]))
+				{			
+					continue;	
 				}
-			} // for()
-
-		}
-
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::GetConfigurationL(): ListImplementationsL(): After adding disabled, No: of available EAP plugin implementations=%d, enabledEAPTypes.Count()=%d, disabledEAPTypes.Count()=%d\n"),
-		 	aPlugins.Count(),
-			enabledEAPTypes.Count(),
-			disabledEAPTypes.Count()));
-
-	}
-
-	// This leave must be outside the previous block.
-	User::LeaveIfError(error);
-
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): No: of available tunneled types for this EAP=%d \n"),
+				
+				expandedEAPTmp = new SExpandedEAPType;
+				if (expandedEAPTmp == 0)
+				{
+					enabledEAPTypes.ResetAndDestroy();
+					disabledEAPTypes.ResetAndDestroy();
+					enabledEAPTypes.Close();
+					disabledEAPTypes.Close();
+
+					eapImplArray.ResetAndDestroy();
+					eapImplArray.Close();				
+
+					User::Leave(KErrNoMemory);				
+				}
+				
+				CleanupStack::PushL(expandedEAPTmp);
+				
+				expandedEAPTmp->iExpandedEAPType.Copy(eapImplArray[i]->DataType());
+
+				enabledEAPTypes.Append(expandedEAPTmp);				
+				
+				CleanupStack::Pop(expandedEAPTmp);
+			}
+#endif // #ifdef USE_FAST_EAP_TYPE
+
+		} // End: for (TInt i = 0; i < eapImplArray.Count(); i++)
+		
+		eapImplArray.ResetAndDestroy();
+		eapImplArray.Close();
+							
+	} // End: if (enabledEAPTypes.Count() == 0)
+
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::GetConfigurationL - No: of available tunneled types for this EAP=%d \n"),
 		enabledEAPTypes.Count()));
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): No: of disabled tunneled types for this EAP=%d \n"),
-		disabledEAPTypes.Count()));
-
 	// enabledEAPTypes contains the EAP types now (expanded).
-	// Fill aSettings.iEnabledEncapsulatedEAPExpandedTypes here.
-
+	// Fill aSettings.iEncapsulatedEAPTypes here.
+	
+	for (TInt i = 0; i < enabledEAPTypes.Count(); i++)
 	{
-		TEapExpandedType EapType;
-
-		for (TInt i = 0; i < enabledEAPTypes.Count(); i++)
-		{
-			error = EapType.SetValue(
-				enabledEAPTypes[i]->GetValue().Ptr(),
-				enabledEAPTypes[i]->GetValue().Length());
-			if (error != KErrNone)
-			{
-				enabledEAPTypes.ResetAndDestroy();
-				disabledEAPTypes.ResetAndDestroy();
-				enabledEAPTypes.Close();
-				disabledEAPTypes.Close();
-
-				User::Leave(KErrNoMemory);				
-			}
-
-			error = aSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(EapType);
-			if (error != KErrNone)
-			{
-				enabledEAPTypes.ResetAndDestroy();
-				disabledEAPTypes.ResetAndDestroy();
-				enabledEAPTypes.Close();
-				disabledEAPTypes.Close();
-
-				User::Leave(KErrNoMemory);				
-			}
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): enabled EAP-type=0xfe%06x%08x\n"),
-				EapType.GetVendorId(),
-				EapType.GetVendorType()));
-		}
-
+		eap_expanded_type_c expEAPTmp;
+		
+		// This will read the expanded EAP from enabledEAPTypes[i]->iExpandedEAPType to expEAPTmp.
+		// This makes easy to get the vendor type.
+		eap_expanded_type_c::read_type( 0,
+										0,
+										enabledEAPTypes[i]->iExpandedEAPType.Ptr(),
+										KExpandedEAPTypeSize,
+										&expEAPTmp);
+	
+		// We need to fill only the vendor type to aSettings.iEncapsulatedEAPTypes
+		aSettings.iEncapsulatedEAPTypes.Append(expEAPTmp.get_vendor_type());
+		
 		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count()=%d \n"),
-			aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count()));
-
-		aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-		
+			(_L("EapTlsPeapUtils::GetConfigurationL - Available encapsulated type for this EAP(%d)=%d\n"),
+			aEapVendorType, expEAPTmp.get_vendor_type()));
 	}
-
-	{
-		TEapExpandedType EapType;
-
-		for (TInt i = 0; i < disabledEAPTypes.Count(); i++)
-		{
-			error = EapType.SetValue(
-				disabledEAPTypes[i]->GetValue().Ptr(),
-				disabledEAPTypes[i]->GetValue().Length());
-			if (error != KErrNone)
-			{
-				enabledEAPTypes.ResetAndDestroy();
-				disabledEAPTypes.ResetAndDestroy();
-				enabledEAPTypes.Close();
-				disabledEAPTypes.Close();
-
-				User::Leave(KErrNoMemory);				
-			}
-
-			error = aSettings.iDisabledEncapsulatedEAPExpandedTypes.Append(EapType);
-			if (error != KErrNone)
-			{
-				enabledEAPTypes.ResetAndDestroy();
-				disabledEAPTypes.ResetAndDestroy();
-				enabledEAPTypes.Close();
-				disabledEAPTypes.Close();
-
-				User::Leave(KErrNoMemory);				
-			}
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): disabled EAP-type=0xfe%06x%08x\n"),
-				EapType.GetVendorId(),
-				EapType.GetVendorType()));
-		}
-
-		EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iDisabledEncapsulatedEAPExpandedTypes.Count()=%d \n"),
-			aSettings.iDisabledEncapsulatedEAPExpandedTypes.Count()));
-
-		aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-		
-	}
-
-	EAP_TRACE_SETTINGS(&aSettings);
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEncapsulatedEAPTypes.Count()=%d \n"),
+		aSettings.iEncapsulatedEAPTypes.Count()));
 
 	enabledEAPTypes.ResetAndDestroy();
 	disabledEAPTypes.ResetAndDestroy();
 	enabledEAPTypes.Close();
 	disabledEAPTypes.Close();
 
+	aSettings.iEncapsulatedEAPTypesPresent = ETrue;
+
+#else // for Normal EAP types.
+			
+	TEapArray eapArray;
+		
+	TRAPD(err, GetEapDataL(
+		aDatabase,
+		0,
+		eapArray, 
+		aIndexType,
+		aIndex,
+		aTunnelingType,	
+		aEapType));
+	if (err != KErrNone)
+	{
+		eapArray.ResetAndDestroy();
+		eapArray.Close();
+		User::Leave(KErrGeneral);
+	}
+	
+	RImplInfoPtrArray eapImplArray;
+	
+	if (eapArray.Count() == 0)
+	{
+		// The array was empty. By default all types are enabled.
+		TRAP(err, REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapImplArray));
+		if (err != KErrNone)
+		{
+			eapArray.ResetAndDestroy();
+			eapArray.Close();
+			User::Leave(KErrGeneral);
+		}
+		
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - ListImplementationsL - No: of available implementations=%d \n"), eapImplArray.Count() ) );
+		
+		TEap *eap;
+		for (TInt i = 0; i < eapImplArray.Count(); i++)
+		{
+			if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i]))
+			{			
+				continue;	
+			}
+			
+			eap = new TEap;
+			if (eap == 0)
+			{
+				eapArray.ResetAndDestroy();
+				eapArray.Close();
+				eapImplArray.ResetAndDestroy();
+				eapImplArray.Close();				
+				User::Leave(KErrGeneral);				
+			}
+			eap->UID.Copy(eapImplArray[i]->DataType());
+			eap->Enabled = ETrue;
+			eapArray.Append(eap);
+		}	
+	}
+
+	TInt i(0);
+
+	for (i = 0; i < eapArray.Count(); i++)
+	{
+		if (eapArray[i]->Enabled)
+		{
+			TLex8 tmp(eapArray[i]->UID);
+			TUint val(0);
+			tmp.Val(val);
+			aSettings.iEncapsulatedEAPTypes.Append(val);
+
+			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - Available encapsulated type for this EAP =%d \n"), val ) );
+		}	
+	}
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - eapArray.Count()=%d \n"),eapArray.Count() ) );
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEncapsulatedEAPTypes.Count()=%d \n"),aSettings.iEncapsulatedEAPTypes.Count() ) );	
+
+	eapArray.ResetAndDestroy();
+	eapArray.Close();
+	eapImplArray.ResetAndDestroy();
+	eapImplArray.Close();				
+		
+	aSettings.iEncapsulatedEAPTypesPresent = ETrue;
+	
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - End \n") ) );	
 
 } // EapTlsPeapUtils::GetConfigurationL()
 
-// ---------------------------------------------------------
 
 void EapTlsPeapUtils::CopySettingsL(
 	RDbNamedDatabase& aDatabase,
@@ -4689,37 +4742,29 @@
 	const TInt aDestIndex,
 	const eap_type_value_e aDestTunnelingType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"),
-		aSrcIndexType,
-		aSrcIndex,
-		aSrcTunnelingType.get_vendor_id(),
-		aSrcTunnelingType.get_vendor_type()));
-	
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"),
-		aDestIndexType,
-		aDestIndex,
-		aDestTunnelingType.get_vendor_id(),
-		aDestTunnelingType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CopySettingsL()\n"));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type();
+	TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type();
+
+#else
+
+	TUint aSrcTunnelingVendorType = static_cast<TUint>(aSrcTunnelingType);
+	TUint aDestTunnelingVendorType = static_cast<TUint>(aDestTunnelingType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+    EAP_TRACE_DEBUG_SYMBIAN(
+        (_L("EapTlsPeapUtils::CopySettingsL table=%s, aSrcIndexType=%d, aDestIndexType=%d, aSrcIndex=%d, aDestIndex=%d, SrcTunneling vendor type=%d, DestTunneling vendor type=%d \n"),
+                aTableName.Ptr(), aSrcIndexType, aDestIndexType, aSrcIndex, aDestIndex, aSrcTunnelingVendorType, aDestTunnelingVendorType));
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
-
-	sqlStatement.Format(KSQL,
-		&aTableName, 
-		&KServiceType,
-		aDestIndexType,
-		&KServiceIndex,
-		aDestIndex,
-		&KTunnelingTypeVendorId,
-		aSrcTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aSrcTunnelingType.get_vendor_type());
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
+
+	sqlStatement.Format(KSQL, &aTableName, 
+		&KServiceType, aDestIndexType, &KServiceIndex, aDestIndex, &KTunnelingType, aDestTunnelingVendorType);
 	
 	RDbView view;
 	
@@ -4734,36 +4779,26 @@
 	CDbColSet* colSet = view.ColSetL();
 	CleanupStack::PushL(colSet);
 
-	if (view.FirstL())
-	{
-		do
+  if (view.FirstL())
+  	{       
+  	do 
   		{
-	  		view.GetL();
-
+  		view.GetL();
 			if (view.ColUint(colSet->ColNo(KServiceType)) == static_cast<TUint>(aDestIndexType)
 				&& view.ColUint(colSet->ColNo(KServiceIndex)) == static_cast<TUint>(aDestIndex)
-				&& view.ColUint(colSet->ColNo(KTunnelingTypeVendorId)) == aDestTunnelingType.get_vendor_id()
-				&& view.ColUint(colSet->ColNo(KTunnelingType)) == aDestTunnelingType.get_vendor_type())
+				&& view.ColUint(colSet->ColNo(KTunnelingType)) == aDestTunnelingVendorType)
 				{  		
-      				EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CopySettingsL - Delete old records\n") ) );
-      				view.DeleteL();
+      			EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CopySettingsL - Delete old records\n") ) );
+      			view.DeleteL();
     			}
-		} while (view.NextL() != EFalse);
-	}
+      		} while (view.NextL() != EFalse);
+  		}
 	
 	view.Close();
 	CleanupStack::PopAndDestroy(2); // view, colset
 	
-  	sqlStatement.Format(KSQL,
-		&aTableName, 
-        &KServiceType,
-		aSrcIndexType,
-		&KServiceIndex,
-		aSrcIndex,
-		&KTunnelingTypeVendorId,
-		aSrcTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aSrcTunnelingType.get_vendor_type());
+  	sqlStatement.Format(KSQL, &aTableName, 
+        &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType);
 
   	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited , RDbView::EUpdatable));
 
@@ -4787,17 +4822,17 @@
 			// Check if it was already copied			
 			if (view.ColUint(colSet->ColNo(KServiceType)) != static_cast<TUint>(aDestIndexType)
 				|| view.ColUint(colSet->ColNo(KServiceIndex)) != static_cast<TUint>(aDestIndex)
-				|| view.ColUint(colSet->ColNo(KTunnelingTypeVendorId)) != aDestTunnelingType.get_vendor_id()
-				|| view.ColUint(colSet->ColNo(KTunnelingType)) != aDestTunnelingType.get_vendor_type())
+				|| view.ColUint(colSet->ColNo(KTunnelingType)) != aDestTunnelingVendorType)
 			{
 				bookmark = view.Bookmark();
 				
 				view.InsertCopyL();
 				
 				view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestIndexType));
+    
 	    		view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aDestIndex));
-				view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id());
-				view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type());
+
+	    		view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType);
 				
 				view.PutL();
 			
@@ -4814,9 +4849,7 @@
 	
 	view.Close();
 	
-	CleanupStack::PopAndDestroy(colSet);
-	CleanupStack::PopAndDestroy(&view);
-	CleanupStack::PopAndDestroy(buf);
+	CleanupStack::PopAndDestroy(3); // view, colset, buf
 
 } // EapTlsPeapUtils::CopySettingsL()
 
@@ -4831,16 +4864,20 @@
 	const eap_type_value_e aTunnelingType,
 	const eap_type_value_e aEapType)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::DeleteConfigurationL()\n"));
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL:Start:aIndexType=%d,aIndex=%d,aTunnelingVendorType=%d,aEapVendorType=%d"),
+			aIndexType, aIndex, aTunnelingVendorType, aEapVendorType));
 	
 	TPtrC dbname;
 	TPtrC settings;
@@ -4852,93 +4889,123 @@
 	TPtrC fastSpecialSettings;
 #endif
 	
-	if (aEapType == eap_type_tls)
-	{
-		dbname.Set(KTlsDatabaseName);
-		settings.Set(KTlsDatabaseTableName);
-		usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
-	}
-	else if (aEapType == eap_type_peap)
-	{
-		dbname.Set(KPeapDatabaseName);
-		settings.Set(KPeapDatabaseTableName);
-		usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
-	}
-	else if (aEapType == eap_type_ttls)
+	switch (aEapVendorType)
 	{
-		dbname.Set(KTtlsDatabaseName);
-		settings.Set(KTtlsDatabaseTableName);
-		usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
-	}
+	case eap_type_tls:
+		{
+			dbname.Set(KTlsDatabaseName);
+			settings.Set(KTlsDatabaseTableName);
+			usercerts.Set(KTlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
+	case eap_type_peap:
+		{
+			dbname.Set(KPeapDatabaseName);
+			settings.Set(KPeapDatabaseTableName);
+			usercerts.Set(KPeapAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KPeapAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
+	case eap_type_ttls:
+		{
+			dbname.Set(KTtlsDatabaseName);
+			settings.Set(KTtlsDatabaseTableName);
+			usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KTtlsAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
+
 #ifdef USE_FAST_EAP_TYPE
-	else if (aEapType == eap_type_fast)
-	{
-		dbname.Set(KFastDatabaseName);
-		settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
-		fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
-		
-		usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
-		cacerts.Set(KFastAllowedCACertsDatabaseTableName);
-		ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);
-	}
+
+	case eap_type_fast:
+		{
+			dbname.Set(KFastDatabaseName);
+			settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST.
+			fastSpecialSettings.Set(KFastSpecialSettingsDBTableName);
+			
+			usercerts.Set(KFastAllowedUserCertsDatabaseTableName);
+			cacerts.Set(KFastAllowedCACertsDatabaseTableName);
+			ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName);
+		}
+		break;
 #endif
-	else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-		dbname.Set( KTtlsDatabaseName );
-		settings.Set( KTtlsDatabaseTableName );
-	}
-	else
-	{
+
+	case eap_type_ttls_plain_pap:
+		{
+			dbname.Set( KTtlsDatabaseName );
+			settings.Set( KTtlsDatabaseTableName );
+		}
+	break;
+	
+	default:
 		// Should never happen
 		User::Leave(KErrArgument);
 	}	
 
-	RDbNamedDatabase aDatabase;
-	RFs aFileServerSession;
-
-	TInt error(KErrNone);
-	TFileName aPrivateDatabasePathName;
-	
-	error = aFileServerSession.Connect();
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error));
-	User::LeaveIfError(error);
-
-	EapPluginTools::CreateDatabaseLC(
-		aDatabase,
-		aFileServerSession,
-		error,
-		dbname,
-		aPrivateDatabasePathName);
-
-	if(error == KErrNone)
+	RDbs session;
+	RDbNamedDatabase database;
+	
+	// Connect to the DBMS server.
+	User::LeaveIfError(session.Connect());
+	CleanupClosePushL(session);	
+		
+#ifdef SYMBIAN_SECURE_DBMS
+	
+	// Create the secure shared database with the specified secure policy.
+	// Database will be created in the data caging path for DBMS (C:\private\100012a5).
+	
+	TInt err = database.Create(session, dbname, KSecureUIDFormat);
+	
+	if(err == KErrNone)
 	{
 		// Database was created so it was empty. No need for further actions.
-		aDatabase.Destroy();
-		CleanupStack::PopAndDestroy(&aDatabase);
-		CleanupStack::PopAndDestroy(&aFileServerSession);
+		database.Destroy();
+		CleanupStack::PopAndDestroy();
 		return;
-	}
-	else if (error != KErrAlreadyExists) 
+		
+	} 
+	else if (err != KErrAlreadyExists) 
 	{
-		User::LeaveIfError(error);
+		User::LeaveIfError(err);
 	}
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapLeapDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n")));
-
-	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapLeapDbUtils::DeleteConfigurationL(): - Opened private DB for %S. error=%d\n"),
-		&dbname,
-		error));
-
-	User::LeaveIfError(error);
-
+	// Database existed, open it.
+	User::LeaveIfError(database.Open(session, dbname, KSecureUIDFormat));
+	CleanupClosePushL(database);
+		
+#else
+	// For non-secured database. The database will be created in the old location (c:\system\data).
+	
+	RFs fsSession;		
+	User::LeaveIfError(fsSession.Connect());
+	CleanupClosePushL(fsSession);	
+	TInt err = database.Create(fsSession, dbname);
+
+	if(err == KErrNone)
+	{
+		// Database was created so it was empty. No need for further actions.
+		database.Destroy();
+		CleanupStack::PopAndDestroy(2); // fsSession, database session
+		return;
+		
+	} 
+	else if (err != KErrAlreadyExists) 
+	{
+		User::LeaveIfError(err);
+	}
+	
+	CleanupStack::PopAndDestroy(); // close fsSession
+	
+	User::LeaveIfError(database.Open(session, dbname));
+	CleanupClosePushL(database);		
+	    
+#endif // #ifdef SYMBIAN_SECURE_DBMS
 
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
@@ -4946,202 +5013,160 @@
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::DeleteConfigurationL - Deleting the tables\n")));
 
-	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
+	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d");
 	
 	//--------------------- Deletion 1 ----------------------------//
 	
 	// For all EAPs delete the settings table. 
 	// For EAP-FAST, this is delting the general settings table.
 	
-	sqlStatement.Format(KSQL,
-		&settings, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	sqlStatement.Format(KSQL, &settings, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	RDbView view;
-	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 
 	// Delete rows
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.DeleteL();
 		} while (view.NextL() != EFalse);
 	}
 	
-	CleanupStack::PopAndDestroy(&view);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted %s (general) settings table"), settings.Ptr()));	
+	CleanupStack::PopAndDestroy(); // view
+	
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted %s (general) settings table"), settings.Ptr()));	
 
 	//////////////////////////////////////////
 	// This is only for plain PAP settings. //
 	//////////////////////////////////////////
-	if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() )
-	{
-		CleanupStack::PopAndDestroy(buf);
-		CleanupStack::PopAndDestroy(&aDatabase);
-		CleanupStack::PopAndDestroy(&aFileServerSession);
-        EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Return PAP")));	
+	if ( aEapVendorType == eap_type_ttls_plain_pap )
+		{
+        CleanupStack::PopAndDestroy(3); // buf, database, session
+        EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Return")));	
         // we return here in case of pap because there is nothing to do else.
         return;
-	}
+		}
 	
 	//--------------------- Deletion 2 ----------------------------//
 	
-	// For all EAPs delete the User cert table
-	//	KSQL2 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"
-	
-	sqlStatement.Format(KSQL,
-		&usercerts, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+	// For all EAPs delte the User cert table
+
+//	KSQL2 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"
+	
+	sqlStatement.Format(KSQL, &usercerts, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 
 	// Evaluate view
 	
-	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 	
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.DeleteL();
 		} while (view.NextL() != EFalse);
 	}
 
-	CleanupStack::PopAndDestroy(&view);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted USER certs table")));	
+	CleanupStack::PopAndDestroy(); // view
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted USER certs table")));	
 
 	//--------------------- Deletion 3 ----------------------------//
 	
 	// For all EAPs delete the CA cert table
 
-	//	KSQL3 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"
-	
-	sqlStatement.Format(KSQL,
-		&cacerts, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+//	KSQL3 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"
+	
+	sqlStatement.Format(KSQL, &cacerts, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 	// Evaluate view
 	
-	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 	
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.DeleteL();
 		} while (view.NextL() != EFalse);
 	}
 
-	CleanupStack::PopAndDestroy(&view);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted CA certs table")));
+	CleanupStack::PopAndDestroy(); // view
+
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted CA certs table")));
 
 	//--------------------- Deletion 4 ----------------------------//
 	
 	// For all EAPs delete the Cipher suite table
 
-	//	KSQL4 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"
-	
-	sqlStatement.Format(KSQL,
-		&ciphersuites, 
-		&KServiceType,
-		aIndexType,
-		&KServiceIndex,
-		aIndex,
-		&KTunnelingTypeVendorId,
-		aTunnelingType.get_vendor_id(),
-		&KTunnelingType, 
-		aTunnelingType.get_vendor_type());
+//	KSQL4 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"
+	
+	sqlStatement.Format(KSQL, &ciphersuites, 
+		&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 
 	// Evaluate view
 	
-	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+	User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 	CleanupClosePushL(view);
 	User::LeaveIfError(view.EvaluateAll());
 	
 	if (view.FirstL())
-	{
+	{		
 		do {
 			view.DeleteL();
 		} while (view.NextL() != EFalse);
 	}
 	
-	CleanupStack::PopAndDestroy(&view);
-		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted cipher suits table")));	
+	CleanupStack::PopAndDestroy(&view); // Close view
+		
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted cipher suits table")));	
 
 	
 #ifdef USE_FAST_EAP_TYPE	
 
-	if(aEapType == eap_type_fast)
+	if(aEapVendorType == eap_type_fast)
 	{
 		//--------------------- Deletion 5 ----------------------------//
 		
 		// For EAP-FAST, delete the special settings table
 		
-		sqlStatement.Format(KSQL,
-			&fastSpecialSettings, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());
+		sqlStatement.Format(KSQL, &fastSpecialSettings, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);
 	
 		// Evaluate view
 		
-		User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
+		User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
 		CleanupClosePushL(view);
 		User::LeaveIfError(view.EvaluateAll());
 		
 		if (view.FirstL())
-		{
+		{		
 			do {
 				view.DeleteL();
 			} while (view.NextL() != EFalse);
 		}
 		
-		CleanupStack::PopAndDestroy(&view);
+		CleanupStack::PopAndDestroy(&view); // Close view
 			
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted EAP-FAST Special settings table")));	
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted EAP-FAST Special settings table")));	
 				
 	} // End: if(aEapVendorType == eap_type_fast)
 
 #endif // End: #ifdef USE_FAST_EAP_TYPE	
-
-	CleanupStack::PopAndDestroy(buf);
-	CleanupStack::PopAndDestroy(&aDatabase);
-	CleanupStack::PopAndDestroy(&aFileServerSession);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: End")));	
+	
+	// Close database
+	CleanupStack::PopAndDestroy(3); // buf, database, session
+	
+EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: End")));	
 
 } // EapTlsPeapUtils::DeleteConfigurationL()
 
@@ -5154,21 +5179,14 @@
 	RDbNamedDatabase& aDatabase, 
 	TDesC& aTableName)
 {
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::AddExtraCertColumnsL(): -Start- aTableName=\"%S\"\n"),
-		&aTableName));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::AddExtraCertColumnsL()\n"));
-	
 	// Check if the EXTRA cert columns are already in the table.
 	
 	CDbColSet* colSetCertTable = aDatabase.ColSetL(aTableName);
 	User::LeaveIfNull(colSetCertTable);
 	CleanupStack::PushL(colSetCertTable);	
 	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL(): - Number of columns in %S table before addition=%d\n"),
-		&aTableName,
-		colSetCertTable->Count()));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL - Number of columns in %S table before addition=%d\n"),
+	&aTableName, colSetCertTable->Count()));
 		
 	// Check if there is a column for Serial Number, for example.
 	if(colSetCertTable->ColNo(KSerialNumber) == KDbNullColNo)
@@ -5184,65 +5202,53 @@
 		//| Thumbprint			| BINARY(64)	| KThumbprint        |//	
 		//////////////////////////////////////////////////////////////////////////////
 			
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL(): - EXTRA cert columns missing from the table %S. Adding now.\n"),
-			&aTableName));			
+		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL - EXTRA cert columns missing from the table %S. Adding now.\n"),
+		&aTableName));			
 
 		HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 		TPtr sqlStatement = buf->Des();
 		
 		_LIT(KSQLAlterTableForBin, "ALTER TABLE %S ADD %S BINARY(%d)");											 
 	
-		sqlStatement.Format(KSQLAlterTableForBin,
-			&aTableName, 
-			&KActualSubjectKeyIdentifier,
-			KKeyIdentifierLength);
+		sqlStatement.Format(KSQLAlterTableForBin, &aTableName, 
+			&KActualSubjectKeyIdentifier, KKeyIdentifierLength);
 			
 		User::LeaveIfError( aDatabase.Execute(sqlStatement));
 
 		_LIT(KSQLAlterTableForVarChar, "ALTER TABLE %S ADD %S VARCHAR(%d)");											 
 	
-		sqlStatement.Format(KSQLAlterTableForVarChar,
-			&aTableName, 
-			&KSubjectName,
-			KGeneralStringMaxLength);
+		sqlStatement.Format(KSQLAlterTableForVarChar, &aTableName, 
+			&KSubjectName, KGeneralStringMaxLength);
 			
 		User::LeaveIfError( aDatabase.Execute(sqlStatement));
 
-		sqlStatement.Format(KSQLAlterTableForVarChar,
-			&aTableName, 
-			&KIssuerName,
-			KGeneralStringMaxLength);
+		sqlStatement.Format(KSQLAlterTableForVarChar, &aTableName, 
+			&KIssuerName, KGeneralStringMaxLength);
 			
 		User::LeaveIfError( aDatabase.Execute(sqlStatement));
 	
-		sqlStatement.Format(KSQLAlterTableForVarChar,
-			&aTableName, 
-			&KSerialNumber,
-			KGeneralStringMaxLength);
+		sqlStatement.Format(KSQLAlterTableForVarChar, &aTableName, 
+			&KSerialNumber, KGeneralStringMaxLength);
 			
 		User::LeaveIfError( aDatabase.Execute(sqlStatement));
 	
-		sqlStatement.Format(KSQLAlterTableForBin,
-			&aTableName, 
-			&KThumbprint,
-			KThumbprintMaxLength);
+		sqlStatement.Format(KSQLAlterTableForBin, &aTableName, 
+			&KThumbprint, KThumbprintMaxLength);
 			
 		User::LeaveIfError( aDatabase.Execute(sqlStatement));
 	
-		CleanupStack::PopAndDestroy(buf);
+		CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement
 	}
 
-	CleanupStack::PopAndDestroy(colSetCertTable);
+	CleanupStack::PopAndDestroy( colSetCertTable ); // Delete colSetCertTable.
 
 	CDbColSet* colSetCertTableAfterAdd = aDatabase.ColSetL(aTableName);
 	User::LeaveIfNull(colSetCertTableAfterAdd);
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL(): - Number of columns in %S table after addition=%d\n"),
-		&aTableName,
-		colSetCertTableAfterAdd->Count()));
+	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL - Number of columns in %S table after addition=%d\n"),
+	&aTableName, colSetCertTableAfterAdd->Count()));
 	
 	delete colSetCertTableAfterAdd;
-
 } // EapTlsPeapUtils::AddExtraCertColumnsL()
 
 	
@@ -5259,19 +5265,26 @@
 	const TDesC& aDbColumnName,
 	eap_variable_data_c * const aDbColumnValue)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+
+	
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::GetEapSettingsDataL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::GetEapSettingsDataL()\n"));
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL Get Column Name:%S \n"),
-		&aDbColumnName));	
+	(_L("EapTlsPeapUtils::GetEapSettingsDataL-Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+	aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+	(_L("EapTlsPeapUtils::GetEapSettingsDataL Get Column Name:%S \n"),
+	&aDbColumnName));	
 
 	TBufC<KMaxEapDbTableNameLength> generalSettingsTableName;
 	
@@ -5280,41 +5293,45 @@
 #endif
 
 	// Set the database table name based on the type
-	if (aEapType == eap_type_tls)
-	{
-		generalSettingsTableName = KTlsDatabaseTableName;
-	}
-	else if (aEapType == eap_type_peap)
+	switch (aEapVendorType)
 	{
-		generalSettingsTableName = KPeapDatabaseTableName;	
-	}
-	else if (aEapType == eap_type_ttls
-		|| aEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-		generalSettingsTableName = KTtlsDatabaseTableName;
-	}
+		case eap_type_tls:
+			generalSettingsTableName = KTlsDatabaseTableName;
+			break;
+		
+		case eap_type_peap:
+			generalSettingsTableName = KPeapDatabaseTableName;	
+			break;
+				
+		case eap_type_ttls:
+		case eap_type_ttls_plain_pap:
+			generalSettingsTableName = KTtlsDatabaseTableName;
+			break;
+			
 #if defined (USE_FAST_EAP_TYPE)
-	else if (aEapType == eap_type_fast)
-	{
-		generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings
-		specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings  for only FAST
-	}
+		case eap_type_fast:
+			generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings
+			specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings  for only FAST
+			break;
 #endif // #if defined (USE_FAST_EAP_TYPE)
-	else
-	{
-		// Unsupported EAP type		
-		// Should never happen
-		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetEapSettingsDataL(): Unsupported EAP type=0xfe%06x%08x"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()));
-
-		User::Leave(KErrArgument);
+
+		default:
+			{
+				// Unsupported EAP type		
+				// Should never happen
+				
+				EAP_TRACE_DEBUG_SYMBIAN(
+					(_L("EapTlsPeapUtils::GetEapSettingsDataL: ERROR: Unsupported EAP type=%d"),
+					aEapVendorType));
+
+				User::Leave(KErrArgument);
+			}
 	}
 	
 	if(aDbColumnName.Size() <= 0)	
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetEapSettingsDataL(): No Column Name!\n")));
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::GetEapSettingsDataL: ERROR: No Column Name!\n")));
 		
 		User::Leave(KErrArgument);
 	}
@@ -5323,7 +5340,7 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");	
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");	
 	
 #if defined(USE_FAST_EAP_TYPE)
 	
@@ -5342,52 +5359,26 @@
 		EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("EapTlsPeapUtils::GetEapSettingsDataL: This field will be read from EAP-FAST's special table")));
 
-		sqlStatement.Format(KSQLQueryRow,
-			&aDbColumnName,
-			&specialSettingsTableName, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+		sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &specialSettingsTableName, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 	}
 	else
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&aDbColumnName,
-			&generalSettingsTableName, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+		sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 	}
 
 #else
 
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&aDbColumnName,
-			&generalSettingsTableName, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+		sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 	}
 
 #endif // End: #if defined(USE_FAST_EAP_TYPE)	
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL - SQL query formated OK")));
+	EAP_TRACE_DEBUG_SYMBIAN(
+	(_L("EapTlsPeapUtils::GetEapSettingsDataL - SQL query formated OK")));
 
 	RDbView view;
 	
@@ -5498,18 +5489,20 @@
 		}
 	}
 
-	CleanupStack::PopAndDestroy( &view );
+	CleanupStack::PopAndDestroy( &view ); // Close view.
 	
 	if (status != eap_status_ok)
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL: Status=%d\n"), status));
+		EAP_TRACE_DEBUG_SYMBIAN(
+				(_L("EapTlsPeapUtils::GetEapSettingsDataL: Status=%d\n"), status));
 	}
 	
 	EAP_TRACE_DATA_DEBUG_SYMBIAN(("GetEapSettingsDataL:DbColumnValue:",
 		aDbColumnValue->get_data(aDbColumnValue->get_data_length()),
 		aDbColumnValue->get_data_length()));
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL: End \n")));
+	EAP_TRACE_DEBUG_SYMBIAN(
+		(_L("EapTlsPeapUtils::GetEapSettingsDataL: End \n")));
 
 } // EapTlsPeapUtils::GetEapSettingsDataL()
 
@@ -5527,20 +5520,25 @@
 	const TDesC& aDbColumnName,
 	const eap_variable_data_c * const aDbColumnValue)
 {
+#ifdef USE_EAP_EXPANDED_TYPES
+
+	TUint aTunnelingVendorType = aTunnelingType.get_vendor_type();
+	TUint aEapVendorType = aEapType.get_vendor_type();
+
+#else
+
+	TUint aTunnelingVendorType = static_cast<TUint>(aTunnelingType);
+	TUint aEapVendorType = static_cast<TUint>(aEapType);
+
+#endif //#ifdef USE_EAP_EXPANDED_TYPES
+	
 	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::SetEapSettingsDataL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"),
-		aIndexType,
-		aIndex,
-		aTunnelingType.get_vendor_id(),
-		aTunnelingType.get_vendor_type(),
-		aEapType.get_vendor_id(),
-		aEapType.get_vendor_type()));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetEapSettingsDataL()\n"));
-	
-	
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetEapSettingsDataL Set Column Name:%S \n"),
-		&aDbColumnName));	
+	(_L("EapTlsPeapUtils::SetEapSettingsDataL-Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"),
+	aIndexType,aIndex, aTunnelingVendorType, aEapVendorType));
+	
+	EAP_TRACE_DEBUG_SYMBIAN(
+	(_L("EapTlsPeapUtils::SetEapSettingsDataL Set Column Name:%S \n"),
+	&aDbColumnName));	
 
 	EAP_TRACE_DATA_DEBUG_SYMBIAN(("SetEapSettingsDataL:DbColumnValue:",
 		aDbColumnValue->get_data(aDbColumnValue->get_data_length()),
@@ -5553,41 +5551,45 @@
 #endif
 
 	// Set the database table name based on the type
-	if (aEapType == eap_type_tls)
-	{
-		generalSettingsTableName = KTlsDatabaseTableName;
-	}
-	else if (aEapType == eap_type_peap)
-	{
-		generalSettingsTableName = KPeapDatabaseTableName;
-	}
-	else if (aEapType == eap_type_ttls
-		|| aEapType == eap_expanded_type_ttls_plain_pap.get_type())
-	{
-		generalSettingsTableName = KTtlsDatabaseTableName;
-	}
-#if defined (USE_FAST_EAP_TYPE)
-	else if (aEapType == eap_type_fast)
+	switch (aEapVendorType)
 	{
-		generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings
-		specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings  for only FAST
-	}
+		case eap_type_tls:
+			generalSettingsTableName = KTlsDatabaseTableName;	
+			break;
+		
+		case eap_type_peap:
+			generalSettingsTableName = KPeapDatabaseTableName;
+			break;
+				
+		case eap_type_ttls:
+		case eap_type_ttls_plain_pap:
+			generalSettingsTableName = KTtlsDatabaseTableName;
+			break;
+			
+#if defined (USE_FAST_EAP_TYPE)
+		case eap_type_fast:
+			generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings
+			specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings  for only FAST
+			break;
 #endif // #if defined (USE_FAST_EAP_TYPE)
-	else
-	{
-		// Unsupported EAP type		
-		// Should never happen
-		
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): Unsupported EAP-type=0xfe%06x%08x"),
-			aEapType.get_vendor_id(),
-			aEapType.get_vendor_type()));
-
-		User::Leave(KErrArgument);
+			
+		default:
+			{
+				// Unsupported EAP type		
+				// Should never happen
+				
+				EAP_TRACE_DEBUG_SYMBIAN(
+					(_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Unsupported EAP type=%d"),
+					aEapVendorType));
+
+				User::Leave(KErrArgument);
+			}
 	}
-
+	
 	if(aDbColumnName.Size() <= 0)	
 	{
-		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): No Column Name!\n")));
+		EAP_TRACE_DEBUG_SYMBIAN(
+			(_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: No Column Name!\n")));
 		
 		User::Leave(KErrArgument);
 	}
@@ -5596,7 +5598,7 @@
 	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
 	TPtr sqlStatement = buf->Des();
 	
-	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");	
+	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d");	
 	
 #if defined(USE_FAST_EAP_TYPE)
 	
@@ -5615,52 +5617,26 @@
 		EAP_TRACE_DEBUG_SYMBIAN(
 			(_L("EapTlsPeapUtils::SetEapSettingsDataL: This field will be read from EAP-FAST's special table")));
 
-		sqlStatement.Format(KSQLQueryRow,
-			&aDbColumnName,
-			&specialSettingsTableName, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+		sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &specialSettingsTableName, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 	}
 	else
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&aDbColumnName,
-			&generalSettingsTableName, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+		sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 	}
 
 #else
 
 	{
-		sqlStatement.Format(KSQLQueryRow,
-			&aDbColumnName,
-			&generalSettingsTableName, 
-			&KServiceType,
-			aIndexType,
-			&KServiceIndex,
-			aIndex,
-			&KTunnelingTypeVendorId,
-			aTunnelingType.get_vendor_id(),
-			&KTunnelingType, 
-			aTunnelingType.get_vendor_type());		
+		sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, 
+			&KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType);		
 	}
 
 #endif // End: #if defined(USE_FAST_EAP_TYPE)	
 
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetEapSettingsDataL - SQL query formated OK")));
+	EAP_TRACE_DEBUG_SYMBIAN(
+	(_L("EapTlsPeapUtils::SetEapSettingsDataL - SQL query formated OK")));
 
 	RDbView view;
 	
@@ -5713,9 +5689,10 @@
 
 #if defined (USE_FAST_EAP_TYPE)
 					
-					EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: eap_am_type_tls_peap_symbian_c::authentication_finishedL(): HACK to set Unauth Prov mode set to default (NO)!")));					
-	
-					view.SetColL(KDefaultColumnInView_One, EEapDbFalse);
+					EAP_TRACE_DEBUG_SYMBIAN(
+							(_L("eap_am_type_tls_peap_symbian_c::authentication_finishedL WARNING, HACK to set Unauth Prov mode set to default (NO)!")));					
+	
+					view.SetColL(KDefaultColumnInView_One, EFASTUnauthProvModeAllowedNo);
 				
 #endif // End: #if defined (USE_FAST_EAP_TYPE)
 				}
@@ -5725,7 +5702,8 @@
 				{
 					// Do some lexical analysis to get TInt64 value here and set it in DB.
 					
-					EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): EDbColInt64 not supported here yet!\n")));	
+					EAP_TRACE_DEBUG_SYMBIAN(
+						(_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: EDbColInt64 not supported here yet!\n")));	
 					
 					User::Leave(KErrNotSupported);					
 				}
@@ -5734,14 +5712,16 @@
 			case EDbColLongBinary:
 				{
 					// This needs special handling. (readstream). Not needed in this DB yet.	
-					EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): EDbColLongBinary not supported in this DB!\n")));	
+					EAP_TRACE_DEBUG_SYMBIAN(
+						(_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: EDbColLongBinary not supported in this DB!\n")));	
 					
 					User::Leave(KErrNotSupported);
 				}
 				break;			
 				
 			default:
-				EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL: Unsupported DB field! \n")));	
+				EAP_TRACE_DEBUG_SYMBIAN(
+					(_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Unsupported DB field! \n")));	
 				
 				User::Leave(KErrNotSupported);
 				break;
@@ -5752,7 +5732,8 @@
 		} // End: if(view.ColCount() == KDefaultColumnInView_One)
 		else
 		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): Too many columns in DB view, count=%d \n"),
+			EAP_TRACE_DEBUG_SYMBIAN(
+				(_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Too many columns in DB view, count=%d \n"),
 				view.ColCount()));	
 			
 			User::Leave(KErrNotFound);
@@ -5762,105 +5743,94 @@
 	// Now it should go to the DB.
 	view.PutL();	
 	
-	CleanupStack::PopAndDestroy( &view );	
+	CleanupStack::PopAndDestroy( &view ); // Close view.		
 
 	EAP_TRACE_DEBUG_SYMBIAN(
 		(_L("EapTlsPeapUtils::SetEapSettingsDataL: End \n")));	
 }
 
-// ---------------------------------------------------------
-
 /*
  * Alter table for added column, if doesn't exist
  * 
  */
 void EapTlsPeapUtils::AlterTableL(
-	RDbNamedDatabase& aDb,
-	TAlterTableCmd aCmd,
-	const TDesC& aTableName,
-	const TDesC& aColumnName,
-	const TDesC& aColumnDef )
-{
-	EAP_TRACE_DEBUG_SYMBIAN(
-		(_L("EapTlsPeapUtils::AlterTableL(): -Start- aTableName=\"%S\", aColumnName=\"%S\", aColumnDef=\"%S\"\n"),
-		&aTableName,
-		&aColumnName,
-		&aColumnDef));
-
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::AlterTableL()\n"));
-
-	CDbColSet* colSet = aDb.ColSetL( aTableName );
-	User::LeaveIfNull( colSet );
-	CleanupStack::PushL( colSet );	
-		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Number of columns in \"%S\" table is %d.\n" ),
-		&aTableName,
-		colSet->Count()));
-	
-	if ( aCmd == EAddColumn )
-	    {
-	    // Check if there is a target column
-	    if( colSet->ColNo( aColumnName ) != KDbNullColNo )
+		RDbNamedDatabase& aDb,
+		TAlterTableCmd aCmd,
+		const TDesC& aTableName,
+		const TDesC& aColumnName,
+		const TDesC& aColumnDef )
+		{
+	
+		CDbColSet* colSet = aDb.ColSetL( aTableName );
+		User::LeaveIfNull( colSet );
+		CleanupStack::PushL( colSet );	
+			
+		EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+	        "EapTlsPeapUtils::AlterTableL() \
+	        Number of columns in %S table is %d.\n" ),
+			&aTableName, colSet->Count() ) );
+		
+	    if ( aCmd == EAddColumn )
 	    	{
-	    	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Column \"%S\" exists already in table \"%S\".\n" ),
-	    		&aColumnName,
-				&aTableName));
-	    	CleanupStack::PopAndDestroy( colSet );
-	    	return;
+	    	// Check if there is a target column
+	    	if( colSet->ColNo( aColumnName ) != KDbNullColNo )
+	    		{
+	    		EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+	   		        "EapTlsPeapUtils::AlterTableL() \
+	   		        Column %S exists already in table %S.\n" ),
+	    			&aColumnName, &aTableName ) );
+	    		CleanupStack::PopAndDestroy( colSet );
+	    		return;
+	    		}
 	    	}
-	    }
-	else
-	    {
-	    // Check if there is a target column
-	    if( colSet->ColNo( aColumnName ) == KDbNullColNo )
+	    else
 	    	{
-	    	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Column \"%S\" does not exists already in table \"%S\".\n" ),
-	    		&aColumnName,
-				&aTableName));
-	    	CleanupStack::PopAndDestroy( colSet );
-	    	return;
+	    	// Check if there is a target column
+	    	if( colSet->ColNo( aColumnName ) == KDbNullColNo )
+	    		{
+	    		EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+	   		        "EapTlsPeapUtils::AlterTableL() \
+	   		        Column %S does not exists already in table %S.\n" ),
+	    			&aColumnName, &aTableName ) );
+	    		CleanupStack::PopAndDestroy( colSet );
+	    		return;
+	    		}
 	    	}
-	    }
-
-	HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength );
-	TPtr sqlStatement = buf->Des();
-		
-	_LIT( KSqlAddCol, "ALTER TABLE %S ADD %S %S" );
-	_LIT( KSqlRemoveCol, "ALTER TABLE %S DROP %S" );
-	
-	if ( aCmd == EAddColumn )
-		{
-		sqlStatement.Format(KSqlAddCol,
-			&aTableName, 
-			&aColumnName,
-			&aColumnDef);
-		}
-	else
-		{
-		sqlStatement.Format(KSqlRemoveCol,
-			&aTableName, 
-		    &aColumnName);
-		}
-		
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL(): sqlStatement=%S\n"),
-		&sqlStatement));
-	
-	User::LeaveIfError( aDb.Execute( sqlStatement ) );		
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::PopAndDestroy( colSet );
-
-	CDbColSet* alteredColSet = aDb.ColSetL( aTableName );
-	User::LeaveIfNull( alteredColSet );
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Number of columns in %S table after adding is %d.\n" ),
-		&aTableName,
-		alteredColSet->Count()));
-
-	delete alteredColSet;
-		
-} // EapTlsPeapUtils::AlterTableL()
-
-// ---------------------------------------------------------
+
+		HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength );
+		TPtr sqlStatement = buf->Des();
+			
+		_LIT( KSqlAddCol, "ALTER TABLE %S ADD %S %S" );
+		_LIT( KSqlRemoveCol, "ALTER TABLE %S DROP %S" );
+		
+		if ( aCmd == EAddColumn )
+			{
+			sqlStatement.Format( KSqlAddCol, &aTableName, 
+			    &aColumnName, &aColumnDef );
+			}
+		else
+			{
+			sqlStatement.Format( KSqlRemoveCol, &aTableName, 
+		        &aColumnName );
+			}
+			
+		EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+			"EapTlsPeapUtils::AlterTableL(): sqlStatement=%S\n"),
+			&sqlStatement ) );
+		
+		User::LeaveIfError( aDb.Execute( sqlStatement ) );		
+		CleanupStack::PopAndDestroy( buf );
+		CleanupStack::PopAndDestroy( colSet );
+
+		CDbColSet* alteredColSet = aDb.ColSetL( aTableName );
+		User::LeaveIfNull( alteredColSet );
+		EAP_TRACE_DEBUG_SYMBIAN( ( _L(
+	        "EapTlsPeapUtils::AlterTableL() \
+	        Number of columns in %S table after adding is %d.\n" ),
+			&aTableName, alteredColSet->Count() ) );
+		delete alteredColSet;
+			
+		} // EapTlsPeapUtils::AlterTableL()
 
 // End of file
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/inc/eap_ttls_pap_active.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,307 @@
+/*
+* Copyright (c) 2008 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:  Provide synch/asynch services used by the caller to show
+*                EAP-TTLS-PAP related notes.
+*
+*/
+
+/*
+* %version: 10 %
+*/
+
+#ifndef EAPTTLSPAPACTIVE_H
+#define EAPTTLSPAPACTIVE_H
+
+
+// INCLUDES
+#include <utf.h>
+#include <e32base.h>
+#include <EapTtlsPapNotifierStruct.h>
+#include <e32des16.h>
+#include "EapTtlsPapDbInfoStruct.h"
+#include "eap_status.h"
+
+// FORWARD DECLARATIONS
+class eap_am_type_tls_peap_symbian_c;
+class eap_variable_data_c;
+class eap_am_tools_symbian_c;
+
+// CLASS DECLARATION
+/**
+* CEapTtlsPapActive class.
+* 
+* Class provides synch/asynch services used by the caller.
+* These services includes:
+* - query for TTLS-PAP user name and password.
+*/
+NONSHARABLE_CLASS( CEapTtlsPapActive )
+    : public CActive
+    {
+    
+    public: 
+        /**
+        * State defines the type of service called.
+        */ 
+        enum TEapTtlsPapActiveState
+            {
+            EEapTtlsPapActiveQueryUserNameAndPassword,          /* 0 */
+            EEapTtlsPapActiveShowAuthQueryDialog,               /* 1 */
+            EEapTtlsPapActiveShowPapChallengeMsgDialog,         /* 2 */
+            EEapTtlsPapActiveShowPapChallengeReplyQueryDialog,  /* 3 */
+            // ...
+            EEapTtlsPapActiveStatesNumber                       /* 4 */ // keep always as last element
+            };
+                        
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        *
+        * @param aCaller Pointer AO owner.
+        */
+        static CEapTtlsPapActive* NewL(
+        	eap_am_type_tls_peap_symbian_c* aCaller,
+        	eap_am_tools_symbian_c* aAmTools );
+
+        /**
+        * Destructor.
+        */
+        ~CEapTtlsPapActive();
+        
+
+    public: // new
+
+        /**
+        * Start active object.
+        *
+        * @param aState State defines the type of service requested, see TEapTtlsPapActiveState.
+		* @return TBool ETrue - successful start, EFalse - starting failed.
+        */
+        TBool Start( TEapTtlsPapActiveState aState );
+                                   
+        /**
+        * Allocate server challenge.
+        * 
+        * Note, utf8->unicode conversion is needed.
+        * 
+        * @param aSrvChallenge Reference to server challenge.
+        */
+        eap_status_e UpdateSrvChallenge( const eap_variable_data_c& aSrvChallengeUtf8 );
+    
+    protected: // from CActive
+    
+        /**
+        * DoCancel from CActive
+        */    
+        virtual void DoCancel();
+      
+        /**
+        * RunL from CActive
+        */      
+        virtual void RunL();
+    
+    private: // new, for AO
+          
+        /**
+        * Complete query-user-name-and-password request.
+        */ 
+        void CompleteQueryUserNameAndPassword();
+
+        /**
+        * Complete query-user-name-and-password request
+        * with null server challenge.
+        */ 
+        void CompleteWithSrvChallengeNull();
+
+        /**
+        * Complete query-user-name-and-password request
+        * with not null server challenge.
+        */        
+        void CompleteWithSrvChallengeNotNull();
+        
+        /**
+        * Display authentication query dialog.
+        * 
+        * Note! The call is asynchronous, i.e., return is done immediately.
+        */
+        void StartAuthenticationQueryDialog();
+    
+        /**
+        * Complete start-authentication-query-dialog request.
+        * 
+        * If user accepts query, the caller is notified with EEapTtlsPapNotifierUserActionOk
+        * value. If user cancells the query,  EEapTtlsPapNotifierUserActionCancel
+        * is given to the caller.
+        */
+        void CompleteAuthenticationQueryDialog();
+        
+        /**
+        * Send server challenge data size to UI side.
+        * 
+        * Note! The call is asynchronous, i.e., return is done immediately.
+        */
+        void StartSrvChallengeSize();
+        
+        /**
+        * Complete start-srv-challenge-size request.
+        */        
+        void CompleteSrvChallengeSize();
+        
+        /**
+        * Display PAP challenge message dialog.
+        * 
+        * Note! The call is asynchronous, i.e., return is done immediately.
+        */
+        void StartPapChallengeMsgDialog();
+
+        /**
+        * Complete start-pap-challenge-msg-dialog request.
+        */
+        void CompletePapChallengeMsgDialog();
+
+        /**
+        * Display PAP challenge user reply query dialog.
+        * 
+        * Note! The call is asynchronous, i.e., return is done immediately.
+        */
+        void StartPapChallengeReplyQueryDialog();
+        
+        /**
+        * Complete start-pap-challenge-user-reply-query-dialog request.
+        */ 
+        void CompletePapChallengeReplyQueryDialog();
+    
+    private: // new, other   
+        
+        /**
+        * Take current time.
+        * 
+        * @return Current time, number of microseconds since midnight,
+        *         January 1st, 0 AD nominal Gregorian.
+        */ 
+        TInt64 GetCurrentTime();
+                
+        /**
+        * Cleans allocated memories and restores the initial object state.
+        */
+        void Clean();
+    
+    private: // private constructors
+
+        /**
+        * C++ default constructor.
+        *
+        * @param aCaller Pointer to AO owner.
+        */
+        CEapTtlsPapActive(
+        	eap_am_type_tls_peap_symbian_c* aCaller,
+        	eap_am_tools_symbian_c* aAmTools );
+        
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+    private: // data
+    
+        /**    
+        * Object of this class implements functionality
+        * of platform adaptation of Symbian.
+        *
+        *  Not owned.
+        */
+        eap_am_tools_symbian_c* iAmTools;
+    
+        /**
+        * User / owner of this AO.
+        * 
+        * Not owned.
+        */ 
+        eap_am_type_tls_peap_symbian_c* iCaller ;
+    
+        /**
+        * State defines the type of the requested service.
+        */ 
+        TEapTtlsPapActiveState iActiveState;
+            
+        /**
+        * Notifier. It acts as a service provider.
+        */
+        RNotifier iNotifier; 
+    
+        /**
+        * Data sent from AO to notifier plugin.
+        *
+        * If user name exists in database, it is sent to notifier.
+        * Also could be used later, if server challenge is sent to UI
+        * for displaying.
+        */
+        TPapUiNotifierInfo* iNotifierDataToUser;
+
+        /**
+        * Packaged data sent from AO to notifier plugin.
+        */
+        TPckg<TPapUiNotifierInfo>* iNotifierDataPckgToUser;	
+
+        /**
+        * Data from notifier plugin to AO.
+        * Structure includes UI dialog id, user action value,
+        * notifier buffer.
+        */
+        TPapUiNotifierInfo* iNotifierDataFromUser;
+
+	    /**
+        * Packaged data from notifier plugin to AO.
+        */
+	    TPckg<TPapUiNotifierInfo>* iNotifierDataPckgFromUser;	
+       
+	    /**
+	    * Stores user action. Possible values are
+	    * EPapNotifierUserActionOk and EPapNotifierUserActionCancel.
+	    */
+	    EPapNotifierUserAction iUserAction;
+	    	    
+	    /**
+	    * Server challenge in unicode format.
+	    */ 
+	    HBufC16* iSrvChallengeUnicode;
+	    
+	    /**
+	    * A pointer to the request status object.
+	    */
+	    TRequestStatus* iRequestStatus;
+
+	    /**
+	    * Structure contains database data for TTLS-PAP.
+	    */ 
+	    TTtlsPapDbInfo iTtlsPapDbInfo;
+	    
+	    /**
+	    * Flag is needed to read database only once.
+	    * ETrue - initialized, EFalse - not initialized.
+	    */ 
+	    TBool iIsTtlsPapDbInfoInitialized;
+	    
+	    /*
+	    * Boolean flag to make sure that if objects are deleted in cancel,
+	    * we don't use them anymore.
+	    */
+	    TBool iCancelCalled;
+	    
+    };
+
+    
+#endif // EAPTTLSPAPACTIVE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/src/eap_ttls_pap_active.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,773 @@
+/*
+* Copyright (c) 2008 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:  Provide synch/asynch services used by the caller to show
+*                EAP-TTLS-PAP related notes.
+*
+*/
+
+/*
+* %version: 13.1.2 %
+*/
+
+// INCLUDE FILES
+#include "eap_tools.h"
+#include "eap_ttls_pap_active.h"
+#include "eap_am_type_tls_peap_symbian.h"
+#include "eap_am_trace_symbian.h"
+#include "eap_variable_data.h"
+
+// ================= public:  Constructors and destructor =======================
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::NewL()
+// ---------------------------------------------------------
+//
+CEapTtlsPapActive* CEapTtlsPapActive::NewL(
+    eap_am_type_tls_peap_symbian_c* aCaller,
+    eap_am_tools_symbian_c* aAmTools )
+    {
+    DEBUG( "CEapTtlsPapActive::NewL()" );
+    CEapTtlsPapActive* self = new(ELeave) CEapTtlsPapActive(
+    	aCaller, aAmTools );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::~CEapTtlsPapActive()
+// ---------------------------------------------------------
+//    
+CEapTtlsPapActive::~CEapTtlsPapActive()
+    {
+    DEBUG( "CEapTtlsPapActive::~CEapTtlsPapActive()" );	
+	if ( !iCancelCalled )
+	    {
+	    Clean();
+	   	}
+    }
+
+// ================= public:  new =======================
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::Start()
+// ---------------------------------------------------------
+//    
+TBool CEapTtlsPapActive::Start( TEapTtlsPapActiveState aState )
+    {
+    DEBUG1( "CEapTtlsPapActive::Start() aState=%d.", aState );
+    TBool status = ETrue;
+
+    if( IsActive() )
+		{
+		DEBUG2( "CEapTtlsPapActive::Start() ERROR: AO is active, iActiveState=%d, aState=%d.",
+            iActiveState, aState );
+		return EFalse;
+		}
+	if ( iCancelCalled )
+		{
+		DEBUG( "CEapTtlsPapActive::Start() cancel was called." );
+		return EFalse;
+		}
+    iActiveState = aState;    
+    switch ( iActiveState )
+        {
+        case EEapTtlsPapActiveQueryUserNameAndPassword:
+        	{
+        	// nothing to do here, we should return asap;
+        	// the job is done in RunL() method;
+        	// therefore we complete here
+        	SetActive();    
+            iRequestStatus = &iStatus;
+            User::RequestComplete( iRequestStatus, KErrNone );
+            break;
+        	}
+        case EEapTtlsPapActiveShowAuthQueryDialog: // asynch. call
+        	{
+        	StartAuthenticationQueryDialog();
+            SetActive();
+        	break;
+        	}        	
+        case EEapTtlsPapActiveShowPapChallengeMsgDialog:
+        	{
+        	StartPapChallengeMsgDialog();
+        	SetActive();
+        	break;
+        	}
+        case EEapTtlsPapActiveShowPapChallengeReplyQueryDialog:
+        	{
+        	StartPapChallengeReplyQueryDialog();
+        	SetActive();
+        	break;
+        	}
+        default:
+        	{
+    		DEBUG1( "CEapTtlsPapActive::Start() ERROR: State is not supported, iActiveState = %d.",
+    	            iActiveState );
+    		status = EFalse;
+            break;
+        	}
+        }
+    return status;
+    } // EapTtlsPapActive::Start()
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::UpdateSrvChallenge()
+// ---------------------------------------------------------
+// 
+eap_status_e CEapTtlsPapActive::UpdateSrvChallenge(
+	const eap_variable_data_c& aSrvChallengeUtf8 )
+	{
+	DEBUG( "CEapTtlsPapActive::UpdateSrvChallenge()" );
+
+	eap_status_e status = eap_status_ok;
+	
+	if ( iSrvChallengeUnicode != NULL )
+		{
+		// delete
+		delete iSrvChallengeUnicode ;
+		iSrvChallengeUnicode = NULL;
+		}
+	// convert utf8->unicode,
+	// aSrvChallengeUtf8 is UTF8 string, unicode max length is
+	// then the length of UTF8 string.
+	// NOTE, HBufC16 length means count of 16-bit objects.
+	TRAPD( err, iSrvChallengeUnicode = HBufC16::NewL( aSrvChallengeUtf8.get_data_length() ); );
+	if ( err != KErrNone )
+	    {
+		status = iCaller->ConvertAmErrorToEapolError( err );
+		return status;
+	    } 
+	TPtr16 srvChallengeUnicodePtr = iSrvChallengeUnicode->Des();
+
+	const TPtrC8 ptrUtf8(
+		aSrvChallengeUtf8.get_data( aSrvChallengeUtf8.get_data_length() ),
+		aSrvChallengeUtf8.get_data_length() ); // Length in bytes
+
+	CnvUtfConverter::ConvertToUnicodeFromUtf8(
+		srvChallengeUnicodePtr, ptrUtf8 );
+	// print data
+	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+		EAPL( "iSrvChallengeUnicode" ),
+		iSrvChallengeUnicode->Ptr(),
+		iSrvChallengeUnicode->Size() ) );
+	
+	return status;
+	}
+
+
+// ================= protected: from CActive =======================
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::DoCancel()
+// ---------------------------------------------------------
+// 
+void CEapTtlsPapActive::DoCancel()
+    {
+    DEBUG( "CEapTtlsPapActive::DoCancel()" );
+    DEBUG( "CEapTtlsPapActive::DoCancel() iNotifier.CancelNotifier() called." );
+	iNotifier.CancelNotifier( KPapNotifierUid );
+    }
+ 
+// ---------------------------------------------------------
+// CEapTtlsPapActive::RunL()
+// ---------------------------------------------------------
+//     
+void CEapTtlsPapActive::RunL()
+    {
+    DEBUG1( "CEapTtlsPapActive::RunL() iStatus=%d", iStatus.Int() );
+    
+    switch ( iActiveState )
+        {
+        case EEapTtlsPapActiveQueryUserNameAndPassword:
+        	{
+        	CompleteQueryUserNameAndPassword();
+        	break;
+        	}
+        case EEapTtlsPapActiveShowAuthQueryDialog:
+    	    {
+    	    CompleteAuthenticationQueryDialog();
+    	    break;
+    	    }	    
+        case EEapTtlsPapActiveShowPapChallengeMsgDialog:
+        	{
+        	CompletePapChallengeMsgDialog();
+        	break;
+        	}
+        case EEapTtlsPapActiveShowPapChallengeReplyQueryDialog:
+        	{
+        	CompletePapChallengeReplyQueryDialog();
+        	break;
+        	}
+        default:
+        	{
+    		DEBUG1( "CEapTtlsPapActive::RunL() ERROR: State is not supported, iActiveState = %d.",
+    	            iActiveState);
+            break;
+        	}
+        }
+    }
+
+// ================= private: new, for AO =======================
+   
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CompleteQueryUserNameAndPassword()
+// ---------------------------------------------------------
+//    
+void CEapTtlsPapActive::CompleteQueryUserNameAndPassword()
+	{
+	DEBUG( "CEapTtlsPapActive::CompleteQueryUserNameAndPassword()" );	
+    
+	if ( iSrvChallengeUnicode == NULL )
+		{
+		CompleteWithSrvChallengeNull();
+		}
+	else
+		{
+		CompleteWithSrvChallengeNotNull();
+		}	
+	} // CEapTtlsPapActive::CompleteQueryUserNameAndPassword()
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CompleteWithSrvChallengeNull()
+// ---------------------------------------------------------
+//    
+void CEapTtlsPapActive::CompleteWithSrvChallengeNull()
+	{
+	DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNull()" );	
+
+	if ( !iCaller )
+		{
+		DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNull() ERROR: iCaller==NULL." );	
+		return;
+		}
+	
+	if ( !iIsTtlsPapDbInfoInitialized )
+		{
+	    // Read prompt, user name, password, and time stamps from database.
+	    TRAPD( err,  iCaller->ReadTtlsPapDbL( iTtlsPapDbInfo ) );	
+	    if ( err != KErrNone )
+		    {
+		    DEBUG1( "CEapTtlsPapActive::CompleteWithSrvChallengeNull() \
+			    ERROR: Leave, err==%d.", err );			
+		    iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+			    iCaller->ConvertAmErrorToEapolError( err ),
+			    KNullDesC8(), KNullDesC8() );
+		    return;
+		    }
+	    iIsTtlsPapDbInfoInitialized = ETrue;
+		}
+	
+    if ( iTtlsPapDbInfo.iUsrPwdInfo.iPasswordPromptEnabled )
+    	{
+    	// set password to null value
+    	TRAPD(err, iCaller->SetTtlsPapColumnToNullL( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ));
+
+    	if (err != KErrNone)
+    	    {
+    	    DEBUG1( "CEapTtlsPapActive::CompleteWithSrvChallengeNull() \
+    	        ERROR: Leave, err==%d.", err );         
+    	    iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+    	        iCaller->ConvertAmErrorToEapolError( err ),
+    	        KNullDesC8(), KNullDesC8() );
+    	    return;
+    	    }
+
+    	// display query dialog
+    	Start( EEapTtlsPapActiveShowAuthQueryDialog );
+    	}
+    else // prompt not active
+    	{
+    	if ( iTtlsPapDbInfo.iUsrPwdInfo.iUserName.Length() != 0  &&
+    		 iTtlsPapDbInfo.iUsrPwdInfo.iPassword.Length() != 0  )
+    		{
+            // complete query with user name and password from database;
+    		// first, convert from unicode to utf8.
+        	TBuf8<KMaxPapUserNameLength> userNameUtf8;
+        	CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8,
+        		iTtlsPapDbInfo.iUsrPwdInfo.iUserName );
+        	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+        		EAPL( "userNameUtf8" ),
+        		userNameUtf8.Ptr(),
+        		userNameUtf8.Size() ) );
+
+        	TBuf8<KMaxPapPasswordLength> passwordUtf8;
+        	CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8,
+        		iTtlsPapDbInfo.iUsrPwdInfo.iPassword );   	
+        	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+        		EAPL( "passwordUtf8" ),
+        		passwordUtf8.Ptr(),
+        		passwordUtf8.Size() ) );
+       	
+        	iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+            	eap_status_ok, userNameUtf8, passwordUtf8 );    		
+    		}
+    	else // user name or password is empty
+    		{
+        	// display query dialog
+        	Start( EEapTtlsPapActiveShowAuthQueryDialog );
+    		}   	
+    	} // if ( iPrompt )
+	} // CEapTtlsPapActive::CompleteWithSrvChallengeNull()
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CompleteWithSrvChallengeNotNull()
+// ---------------------------------------------------------
+//    
+void CEapTtlsPapActive::CompleteWithSrvChallengeNotNull()
+	{
+	DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNotNull()" );	
+	if ( !iCaller )
+		{
+		DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() ERROR: iCaller==NULL." );	
+		return;
+		}
+	
+	if ( !iIsTtlsPapDbInfoInitialized )
+		{
+	    // Read prompt, user name, password, and time stamps from database.
+	    TRAPD( err,  iCaller->ReadTtlsPapDbL( iTtlsPapDbInfo ) );	
+	    if ( err != KErrNone )
+		    {
+		    DEBUG1( "CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() \
+			    ERROR: Leave, err==%d.", err );			
+		    iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+			    iCaller->ConvertAmErrorToEapolError( err ),
+			    KNullDesC8(), KNullDesC8() );
+		    return;
+		    }
+	    iIsTtlsPapDbInfoInitialized = ETrue;
+		}
+	
+	// display PAP challenge message dialog
+	Start( EEapTtlsPapActiveShowPapChallengeMsgDialog );
+	} // CEapTtlsPapActive::CompleteWithSrvChallengeNotNull()
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::StartAuthenticationQueryDialog()
+// ---------------------------------------------------------
+//    
+void CEapTtlsPapActive::StartAuthenticationQueryDialog()
+	{
+	DEBUG( "CEapTtlsPapActive::StartAuthenticationQueryDialog()" );
+	
+	if ( iNotifierDataPckgToUser == NULL ||
+		 iNotifierDataPckgFromUser == NULL ||
+		 iNotifierDataToUser == NULL ||
+		 iNotifierDataFromUser == NULL )
+		{
+		DEBUG( "CEapTtlsPapActive::StartAuthenticationQueryDialog() \
+				ERROR: data pointer is NULL." );
+		return;
+		}
+	
+	// set user name, copy data
+	( *iNotifierDataPckgToUser )().iUsrPwdInfo.iUserName = iTtlsPapDbInfo.iUsrPwdInfo.iUserName;
+	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+		EAPL( "iUserName" ),
+		iTtlsPapDbInfo.iUsrPwdInfo.iUserName.Ptr(),
+		iTtlsPapDbInfo.iUsrPwdInfo.iUserName.Size() ) );
+		
+	iNotifierDataToUser->iState = TPapUiNotifierInfo::
+	    EPapUiNotifierAuthQueryDialog;
+	iNotifier.StartNotifierAndGetResponse( 
+        iStatus,
+        KPapNotifierUid,
+        *iNotifierDataPckgToUser,
+		*iNotifierDataPckgFromUser );
+   	} // CEapTtlsPapActive::StartAuthenticationQueryDialog()
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CompleteAuthenticationQueryDialog()
+// ---------------------------------------------------------
+// 
+// called in RunL()
+void CEapTtlsPapActive::CompleteAuthenticationQueryDialog()
+	{
+	DEBUG( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog()" );
+	
+    if ( iStatus == KErrNone )
+    	{
+    	iUserAction = EPapNotifierUserActionOk;
+    	}
+    else if ( iStatus == KErrCancel )
+		{
+		iUserAction = EPapNotifierUserActionCancel;	
+		}		
+	else
+		{
+	    DEBUG1( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \
+	        ERROR: iStatus=%d", iStatus.Int() );
+		return;
+		}
+    DEBUG1( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \
+        iUserAction=%d", iStatus.Int() );   
+	
+	if ( !iCaller )
+		{
+		DEBUG( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \
+	        ERROR: iCaller==NULL." );
+		return;
+		}
+	if ( !iNotifierDataFromUser )
+		{
+		DEBUG( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \
+            ERROR: iNotifierDataFromUser==NULL." );		
+		return;
+		}
+	if ( iUserAction == EPapNotifierUserActionOk )
+		{		
+		// just update last cache time in db
+		iTtlsPapDbInfo.iLastFullAuthTime = GetCurrentTime();	
+		
+		if ( !iTtlsPapDbInfo.iUsrPwdInfo.iPasswordPromptEnabled )
+			{
+			// prompt is not active;
+			// update user name, and password
+			iTtlsPapDbInfo.iUsrPwdInfo.iUserName = iNotifierDataFromUser->
+			    iUsrPwdInfo.iUserName;
+			iTtlsPapDbInfo.iUsrPwdInfo.iPassword = iNotifierDataFromUser->
+			    iUsrPwdInfo.iPassword;			
+			}
+		
+		// update database
+	    TRAPD( err, iCaller->WriteTtlsPapDbL( iTtlsPapDbInfo ) );
+
+	    if (err != KErrNone)
+	        {
+	        DEBUG1( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \
+	            ERROR: Leave, err==%d.", err );         
+	        iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+	            iCaller->ConvertAmErrorToEapolError( err ),
+	            KNullDesC8(), KNullDesC8() );
+	        return;
+	        }
+		
+        // convert from unicode to utf8
+		TBuf8<KMaxPapUserNameLength> userNameUtf8;
+    	CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8,
+    		iNotifierDataFromUser->iUsrPwdInfo.iUserName );
+    	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+    		EAPL( "userNameUtf8" ),
+    		userNameUtf8.Ptr(),
+    		userNameUtf8.Size() ) );
+
+    	TBuf8<KMaxPapPasswordLength> passwordUtf8;
+    	CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8,
+    		iNotifierDataFromUser->iUsrPwdInfo.iPassword );   	
+    	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+    		EAPL( "passwordUtf8" ),
+    		passwordUtf8.Ptr(),
+    		passwordUtf8.Size() ) );
+   	
+    	// complete query with user name and password from UI
+    	iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+        	eap_status_ok, userNameUtf8, passwordUtf8 );
+		}
+  	else //if (userAction == EPapNotifierUserActionCancel)
+  		{
+  		// user name and password are not used
+		iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+			eap_status_user_cancel_authentication,
+			KNullDesC8(),
+			KNullDesC8() );
+  		} 
+	} // CEapTtlsPapActive::CompleteAuthenticationQueryDialog()
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::StartPapChallengeMsgDialog()
+// ---------------------------------------------------------
+// 
+void CEapTtlsPapActive::StartPapChallengeMsgDialog()
+	{
+	DEBUG( "CEapTtlsPapActive::StartPapChallengeMsgDialog()" );
+	
+	if ( iNotifierDataPckgToUser == NULL ||
+		 iNotifierDataPckgFromUser == NULL ||
+		 iNotifierDataToUser == NULL ||
+		 iNotifierDataFromUser == NULL )
+		{
+		DEBUG( "CEapTtlsPapActive::StartPapChallengeMsgDialog() \
+				ERROR: data pointer is NULL." );
+		return;
+		}	
+
+	TPtrC16 ptr = iSrvChallengeUnicode->Des();
+	iNotifierDataToUser->iSrvChallengeSize = ptr.Size(); // number of bytes
+			
+	iNotifierDataToUser->iState = TPapUiNotifierInfo::
+	    EPapUiNotifierPapChallengeMsgDialog;
+	
+	// set srv challenge
+	iNotifierDataToUser->iPapChallenge.Copy( *iSrvChallengeUnicode);
+	iNotifier.StartNotifierAndGetResponse( 
+        iStatus,
+        KPapNotifierUid,
+        *iNotifierDataPckgToUser,
+        *iNotifierDataPckgFromUser );
+	
+	} // CEapTtlsPapActive::StartPapChallengeMsgDialog()
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CompletePapChallengeMsgDialog()
+// ---------------------------------------------------------
+// 
+void CEapTtlsPapActive::CompletePapChallengeMsgDialog()
+	{
+	DEBUG( "CEapTtlsPapActive::CompletePapChallengeMsgDialog()" );
+
+	// display query dialog
+	Start( EEapTtlsPapActiveShowPapChallengeReplyQueryDialog );
+
+	} // CEapTtlsPapActive::CompletePapChallengeMsgDialog()
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::StartPapChallengeReplyQueryDialog()
+// ---------------------------------------------------------
+// 
+void CEapTtlsPapActive::StartPapChallengeReplyQueryDialog()
+	{
+	DEBUG( "CEapTtlsPapActive::StartPapChallengeReplyQueryDialog()" );
+	
+	if ( iNotifierDataPckgToUser == NULL ||
+		 iNotifierDataPckgFromUser == NULL ||
+		 iNotifierDataToUser == NULL ||
+		 iNotifierDataFromUser == NULL )
+        {
+		DEBUG( "CEapTtlsPapActive::StartPapChallengeMsgDialog() \
+			ERROR: data pointer is NULL." );
+		return;
+		}
+
+	iNotifierDataToUser->iState = TPapUiNotifierInfo::
+	    EPapUiNotifierPapChallengeReplyQueryDialog;
+
+	iNotifier.StartNotifierAndGetResponse( 
+	    iStatus,
+	    KPapNotifierUid,
+	    *iNotifierDataPckgToUser,
+		*iNotifierDataPckgFromUser );
+	
+	} // CEapTtlsPapActive::StartPapChallengeReplyQueryDialog()
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CompletePapChallengeMsgDialog()
+// ---------------------------------------------------------
+// 
+void CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog()
+	{
+	DEBUG( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog()" );
+	
+    if ( iStatus == KErrNone )
+    	{
+    	iUserAction = EPapNotifierUserActionOk;
+    	}
+    else if ( iStatus == KErrCancel )
+		{
+		iUserAction = EPapNotifierUserActionCancel;	
+		}		
+	else
+		{
+	    DEBUG1( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \
+	        ERROR: iStatus=%d", iStatus.Int() );
+		return;
+		}
+    DEBUG1( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \
+        iUserAction=%d", iStatus.Int() );   
+	
+	if ( !iCaller )
+		{
+		DEBUG( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \
+	        ERROR: iCaller==NULL." );
+		return;
+		}
+	if ( !iNotifierDataFromUser )
+		{
+		DEBUG( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \
+            ERROR: iNotifierDataFromUser==NULL." );		
+		return;
+		}
+	if ( iUserAction == EPapNotifierUserActionOk )
+		{
+		// update password with user challenge reply
+		iTtlsPapDbInfo.iUsrPwdInfo.iPassword = iNotifierDataFromUser->
+		    iUsrPwdInfo.iPassword;			
+		
+        // convert from unicode to utf8
+		TBuf8<KMaxPapUserNameLength> userNameUtf8;
+    	CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8,
+   			iTtlsPapDbInfo.iUsrPwdInfo.iUserName ); 	
+    	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+    		EAPL( "userNameUtf8" ),
+    		userNameUtf8.Ptr(),
+    		userNameUtf8.Size() ) );
+
+    	TBuf8<KMaxPapPasswordLength> passwordUtf8;
+    	CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8,
+    		iNotifierDataFromUser->iUsrPwdInfo.iPassword );   	
+    	EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, (
+    		EAPL( "passwordUtf8" ),
+    		passwordUtf8.Ptr(),
+    		passwordUtf8.Size() ) );
+   	
+    	// complete query with user name and password from UI
+    	iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+        	eap_status_ok, userNameUtf8, passwordUtf8 );
+		}
+  	else //if (userAction == EPapNotifierUserActionCancel)
+  		{
+  		// user name and password are not used
+		iCaller->CompleteQueryTtlsPapUserNameAndPassword(
+			eap_status_user_cancel_authentication,
+			KNullDesC8(),
+			KNullDesC8() );
+  		} 
+	} // CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog()
+
+
+// ================= private: new, other =======================
+
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::GetCurrentTime()
+// ---------------------------------------------------------
+// 
+TInt64 CEapTtlsPapActive::GetCurrentTime()
+	{
+	DEBUG( "CEapTtlsPapActive::GetCurrentTime()" );
+	
+	TTime currentTime;
+	currentTime.UniversalTime();
+		
+#if defined(_DEBUG) || defined(DEBUG)	
+	
+	TDateTime currentDateTime = currentTime.DateTime();
+	
+	EAP_TRACE_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT,
+	(EAPL("eap_am_type_tls_peap_symbian_c::GetCurrentTime(), %2d-%2d-%4d : %2d-%2d-%2d-%d\n"), 
+	currentDateTime.Day()+1, currentDateTime.Month()+1,currentDateTime.Year(), currentDateTime.Hour(),
+	currentDateTime.Minute(), currentDateTime.Second(), currentDateTime.MicroSecond()));
+
+#endif
+
+	return currentTime.Int64();
+	}
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::Clean()
+// ---------------------------------------------------------
+// 
+void CEapTtlsPapActive::Clean()
+	{
+    DEBUG( "CEapTtlsPapActive::Clean() IN" );
+    
+    iCancelCalled = ETrue;
+
+    DEBUG( "CEapTtlsPapActive::Clean() iActiveState set to EEapTtlsPapActiveStatesNumber" );
+    iActiveState = EEapTtlsPapActiveStatesNumber;
+    
+	DEBUG( "CEapFastActive::Clean() close notifier." );
+	iNotifier.Close();
+
+    DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataToUser." );
+    delete iNotifierDataToUser;
+    iNotifierDataToUser = NULL;
+    
+    DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataPckgToUser." );
+    delete iNotifierDataPckgToUser;	
+    iNotifierDataPckgToUser = NULL;
+    
+    DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataFromUser." );
+	delete iNotifierDataFromUser;
+	iNotifierDataFromUser = NULL;
+
+	DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataFromUser." );
+	delete iNotifierDataPckgFromUser;
+	iNotifierDataPckgFromUser = NULL;
+	
+    DEBUG( "CEapTtlsPapActive::Clean() OUT." );	
+	}
+
+// ================= private: private constructors =======================
+
+// ---------------------------------------------------------
+// CEapTtlsPapActive::CEapTtlsPapActive()
+// ---------------------------------------------------------
+//
+CEapTtlsPapActive::CEapTtlsPapActive(
+	eap_am_type_tls_peap_symbian_c* aCaller,
+	eap_am_tools_symbian_c* aAmTools )
+    :
+	CActive( CActive::EPriorityStandard ),
+    iAmTools( aAmTools ),
+	iCaller( aCaller ),
+    //iPartner( aPartner ),
+    iActiveState( EEapTtlsPapActiveStatesNumber ),
+    iNotifier(),
+    iNotifierDataToUser( NULL ),
+	iNotifierDataPckgToUser( NULL ),	
+	iNotifierDataFromUser( NULL ),
+	iNotifierDataPckgFromUser( NULL ),
+	iUserAction( EPapNotifierUserActionCancel ),
+	iSrvChallengeUnicode( NULL ),
+	iRequestStatus( NULL ),
+	iIsTtlsPapDbInfoInitialized( EFalse ),
+	iCancelCalled( EFalse )
+    {
+    DEBUG( "CEapTtlsPapActive::CEapTtlsPapActive()" );
+    }
+	
+// ---------------------------------------------------------
+// CEapTtlsPapActive::ConstructL()
+// ---------------------------------------------------------
+//
+void CEapTtlsPapActive::ConstructL()
+    {
+	DEBUG( "CEapTtlsPapActive::ConstructL()" );
+	CActiveScheduler::Add( this );
+	
+    DEBUG( "CEapTtlsPapActive::ConstructL() connecting to notifier server");
+    TInt err = iNotifier.Connect();
+    if ( err != KErrNone )
+        {
+        DEBUG1( "CEapTtlsPapActive::Start() ERROR: Failed to connect to notifier server, err=%d",
+	        err );
+        return;
+        }
+    if ( !iNotifierDataToUser )
+    	{
+    	iNotifierDataToUser = new(ELeave) TPapUiNotifierInfo;	
+    	}
+	if ( !iNotifierDataPckgToUser )
+		{
+		iNotifierDataPckgToUser = new(ELeave) TPckg<TPapUiNotifierInfo> (*iNotifierDataToUser);	
+		}
+	if ( !iNotifierDataFromUser )
+		{
+		iNotifierDataFromUser = new(ELeave) TPapUiNotifierInfo;
+		}
+	if ( !iNotifierDataPckgFromUser )
+		{
+		iNotifierDataPckgFromUser = new(ELeave) TPckg<TPapUiNotifierInfo> (*iNotifierDataFromUser);			
+		}	
+    }
+
+// End of File
--- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 3.1.2 %
+* %version: 6 %
 */
 
 #include <registryinfo.rh>
--- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 6 %
 */
 
 #ifndef _WLAN_EAPOL_INTERFACE_IMPLEMENTATION_H_
--- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: %
+* %version: 5.1.3 %
 */
 
 // INCLUDES
--- a/eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF	Wed Sep 01 12:23:57 2010 +0100
@@ -1,436 +1,1502 @@
 EXPORTS
-	?cancel_all_authentication_sessions@eapol_core_c@@QAE?AW4eap_status_e@@XZ @ 1 NONAME ; enum eap_status_e eapol_core_c::cancel_all_authentication_sessions(void)
-	?timer_expired@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 2 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_expired(unsigned long, void *)
-	?get_eapol_packet_body_length@eapol_RSNA_key_header_c@@QBEGXZ @ 3 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_body_length(void) const
-	?configure@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e ethernet_core_c::configure(void)
-	?zero_key_NONCE@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 5 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_NONCE(class abs_eap_am_tools_c *)
-	?packet_data_session_key@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 6 NONAME ; enum eap_status_e ethernet_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
-	?check_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 7 NONAME ; enum eap_status_e eapol_key_state_c::check_padding(unsigned char const *, unsigned long)
-	?set_current_eap_index@eapol_wlan_authentication_c@@UAEXK@Z @ 8 NONAME ; void eapol_wlan_authentication_c::set_current_eap_index(unsigned long)
-	?create_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 9 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	??1ethernet_core_c@@UAE@XZ @ 10 NONAME ; ethernet_core_c::~ethernet_core_c(void)
-	??1eapol_core_c@@UAE@XZ @ 11 NONAME ; eapol_core_c::~eapol_core_c(void)
-	?get_key_information_key_type@eapol_RSNA_key_header_c@@QBE_NXZ @ 12 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_type(void) const
-	?get_eap_type_list@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 13 NONAME ; enum eap_status_e eapol_wlan_authentication_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?packet_send@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 14 NONAME ; enum eap_status_e ethernet_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?associate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 15 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::associate(enum eapol_key_802_11_authentication_mode_e)
-	?add_RSN_IE_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 16 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_IE_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *)
-	?get_key_information_reserved_a@eapol_RSNA_key_header_c@@QBEEXZ @ 17 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_reserved_a(void) const
-	?asynchronous_init_remove_eapol_key_state@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 18 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state(class eap_am_network_id_c const *)
-	?start_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 19 NONAME ; enum eap_status_e eapol_key_state_c::start_4_way_handshake(class eap_am_network_id_c const *)
-	?load_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 20 NONAME ; enum eap_status_e eapol_wlan_authentication_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?cancel_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 21 NONAME ; enum eap_status_e eapol_key_state_c::cancel_retransmission(void)
-	?complete_check_pmksa_cache@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_am_network_id_c@@@@@Z @ 22 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> const *)
-	?rsna_prf@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00KPAV3@@Z @ 23 NONAME ; enum eap_status_e eapol_key_state_c::rsna_prf(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c *)
-	?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4eap_status_e@@W4wlan_eap_if_send_status_e@@@Z @ 24 NONAME ; enum eap_status_e wlan_eap_if_send_status_conversion_c::convert(enum wlan_eap_if_send_status_e)
-	?start_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 25 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
-	?new_eapol_am_wlan_authentication@eapol_am_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@_N@Z @ 26 NONAME ; class eapol_am_wlan_authentication_c * eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication(class abs_eap_am_tools_c *, bool)
-	?configure@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 27 NONAME ; enum eap_status_e eapol_core_c::configure(void)
-	?reset_header@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@EW4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@1@_K_N33333333W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 28 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::reset_header(unsigned char, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned long long, bool, bool, bool, bool, bool, bool, bool, bool, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?association@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 29 NONAME ; enum eap_status_e eapol_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
-	?complete_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 30 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_WPXM_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
+	dss_pseudo_random @ 1 NONAME
+	?md5_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 2 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
+	?get_type@eap_tlv_header_c@@QBEKXZ @ 3 NONAME ; unsigned long eap_tlv_header_c::get_type(void) const
+	?set_use_timer_queue@eap_am_tools_c@@QAEXXZ @ 4 NONAME ; void eap_am_tools_c::set_use_timer_queue(void)
+	?copy@eap_buf_chain_wr_c@@QAEPAV1@XZ @ 5 NONAME ; class eap_buf_chain_wr_c * eap_buf_chain_wr_c::copy(void)
+	?zero_key_NONCE@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 6 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_NONCE(class abs_eap_am_tools_c *)
+	?reset_data_buffer@eap_buf_chain_base_c@@AAEXXZ @ 7 NONAME ; void eap_buf_chain_base_c::reset_data_buffer(void)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVnetwork_key_and_index_c@@@Z @ 8 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class network_key_and_index_c *)
+	?get_network_id@eap_am_network_id_c@@QBEPBV1@XZ @ 9 NONAME ; class eap_am_network_id_c const * eap_am_network_id_c::get_network_id(void) const
+	?memory_store_get_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 10 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *)
+	?set_current_eap_index@eapol_wlan_authentication_c@@UAEXK@Z @ 11 NONAME ; void eapol_wlan_authentication_c::set_current_eap_index(unsigned long)
+	??1eap_am_network_id_c@@UAE@XZ @ 12 NONAME ; eap_am_network_id_c::~eap_am_network_id_c(void)
+	??1eapol_core_c@@UAE@XZ @ 13 NONAME ; eapol_core_c::~eapol_core_c(void)
+	?set_is_invalid@eap_variable_data_c@@QAEXXZ @ 14 NONAME ; void eap_variable_data_c::set_is_invalid(void)
+	?get_data_length@eap_core_retransmission_c@@QBEKXZ @ 15 NONAME ; unsigned long eap_core_retransmission_c::get_data_length(void) const
+	?add_rand_seed_hw_ticks@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 16 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed_hw_ticks(void)
+	??0eap_am_crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 17 NONAME ; eap_am_crypto_sha_256_c::eap_am_crypto_sha_256_c(class abs_eap_am_tools_c *)
+	??0crypto_dsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 18 NONAME ; crypto_dsa_c::crypto_dsa_c(class abs_eap_am_tools_c *)
+	?reset@crypto_cbc_c@@AAEXXZ @ 19 NONAME ; void crypto_cbc_c::reset(void)
+	?check_is_valid_eap_type@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 20 NONAME ; enum eap_status_e eap_session_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
+	?set_is_valid@eap_am_crypto_sha_256_c@@AAEXXZ @ 21 NONAME ; void eap_am_crypto_sha_256_c::set_is_valid(void)
+	?add_rand_seed@crypto_random_c@@QAE?AW4eap_status_e@@PBXK@Z @ 22 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed(void const *, unsigned long)
+	?set_eap_type_values@eap_expanded_type_c@@QAEXW4eap_type_vendor_id_e@@K@Z @ 23 NONAME ; void eap_expanded_type_c::set_eap_type_values(enum eap_type_vendor_id_e, unsigned long)
+	?get_data_length@eap_header_base_c@@QBEGXZ @ 24 NONAME ; unsigned short eap_header_base_c::get_data_length(void) const
+	?configure@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e eapol_core_c::configure(void)
+	?get_send_network_id@eap_state_notification_c@@UBEPBVeap_am_network_id_c@@XZ @ 26 NONAME ; class eap_am_network_id_c const * eap_state_notification_c::get_send_network_id(void) const
+	?get_use_timer_queue@eap_am_tools_c@@UAE_NXZ @ 27 NONAME ; bool eap_am_tools_c::get_use_timer_queue(void)
+	?get_is_valid@crypto_3des_ede_c@@UAE_NXZ @ 28 NONAME ; bool crypto_3des_ede_c::get_is_valid(void)
+	?complete_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 29 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_WPXM_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
+	??0eap_expanded_type_c@@QAE@W4eap_type_vendor_id_e@@K@Z @ 30 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_vendor_id_e, unsigned long)
 	?cancel_all_timers@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_timers(void)
-	?object_decrease_reference_count@eapol_key_state_c@@QAEKXZ @ 32 NONAME ; unsigned long eapol_key_state_c::object_decrease_reference_count(void)
-	?set_eap_database_reference_values@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 33 NONAME ; enum eap_status_e eapol_wlan_authentication_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?send_logoff@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 34 NONAME ; enum eap_status_e eapol_core_c::send_logoff(class eap_am_network_id_c const *)
+	?unload_module@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 32 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::unload_module(class eap_expanded_type_c)
+	?encrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 33 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?object_decrease_reference_count@eapol_key_state_c@@QAEKXZ @ 34 NONAME ; unsigned long eapol_key_state_c::object_decrease_reference_count(void)
 	?init_eapol_key_pmksa_caching_timeout@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 35 NONAME ; enum eap_status_e eapol_core_c::init_eapol_key_pmksa_caching_timeout(class eap_am_network_id_c const *)
-	??0eapol_message_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_message_wlan_authentication_c@@@Z @ 36 NONAME ; eapol_message_wlan_authentication_c::eapol_message_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_message_wlan_authentication_c *)
-	?disassociation@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 37 NONAME ; enum eap_status_e eapol_wlan_authentication_c::disassociation(class eap_am_network_id_c const *)
-	?set_key_information_install@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 38 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_install(bool)
-	?check_header@eapol_RC4_key_header_c@@UBE?AW4eap_status_e@@XZ @ 39 NONAME ; enum eap_status_e eapol_RC4_key_header_c::check_header(void) const
-	?cancel_authentication_session@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 40 NONAME ; enum eap_status_e eapol_key_state_c::cancel_authentication_session(void)
-	?get_header_offset@eapol_core_c@@UAEKPAK0@Z @ 41 NONAME ; unsigned long eapol_core_c::get_header_offset(unsigned long *, unsigned long *)
+	?disassociation@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 36 NONAME ; enum eap_status_e eapol_wlan_authentication_c::disassociation(class eap_am_network_id_c const *)
+	?set_data_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 37 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_data_length(unsigned long)
+	?set_is_invalid@crypto_tls_base_prf_c@@AAEXXZ @ 38 NONAME ; void crypto_tls_base_prf_c::set_is_invalid(void)
+	?get_leap_password@eap_master_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 39 NONAME ; class eap_variable_data_c const * eap_master_session_key_c::get_leap_password(void) const
+	?set_selector@eap_network_id_selector_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 40 NONAME ; enum eap_status_e eap_network_id_selector_c::set_selector(class eap_am_network_id_c const *)
+	??0eap_core_nak_info_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@Veap_expanded_type_c@@E@Z @ 41 NONAME ; eap_core_nak_info_c::eap_core_nak_info_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_expanded_type_c, unsigned char)
 	?get_key_information_reserved_b@eapol_RSNA_key_header_c@@QBEEXZ @ 42 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_reserved_b(void) const
-	??1eapol_message_wlan_authentication_c@@UAE@XZ @ 43 NONAME ; eapol_message_wlan_authentication_c::~eapol_message_wlan_authentication_c(void)
-	?set_is_valid@eap_core_client_message_if_c@@EAEXXZ @ 44 NONAME ; void eap_core_client_message_if_c::set_is_valid(void)
-	?check_payloads@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@000@Z @ 45 NONAME ; bool eapol_rsna_key_data_payloads_c::check_payloads(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e)
-	?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 46 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?encrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 47 NONAME ; enum eap_status_e eapol_key_state_c::encrypt_key_data(class eapol_RSNA_key_header_c *)
-	?get_client_send_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 48 NONAME ; unsigned long long eapol_key_state_c::get_client_send_key_reply_counter(void)
-	?get_802_11_authentication_mode@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 49 NONAME ; enum eap_status_e ethernet_core_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?set_session_timeout@eapol_core_c@@UAE?AW4eap_status_e@@K@Z @ 50 NONAME ; enum eap_status_e eapol_core_c::set_session_timeout(unsigned long)
-	??1eapol_rsna_key_data_payloads_c@@UAE@XZ @ 51 NONAME ; eapol_rsna_key_data_payloads_c::~eapol_rsna_key_data_payloads_c(void)
-	?set_key_information_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 52 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_MIC(bool)
-	?zero_key_STA_MAC_address@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 53 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_STA_MAC_address(class abs_eap_am_tools_c *)
-	?set_key_information_error@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 54 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_error(bool)
-	?read_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 55 NONAME ; enum eap_status_e eapol_wlan_authentication_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?process_4_way_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 56 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?configure@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 57 NONAME ; enum eap_status_e eap_core_client_message_if_c::configure(void)
-	?set_eap_database_reference_values@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 58 NONAME ; enum eap_status_e ethernet_core_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?get_key_data_offset@eapol_RSNA_key_header_c@@QBEPAEKK@Z @ 59 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data_offset(unsigned long, unsigned long) const
-	?get_key_IV@eapol_RC4_key_header_c@@QAEPAEXZ @ 60 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_IV(void)
-	?timer_delete_data@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 61 NONAME ; enum eap_status_e eapol_key_state_c::timer_delete_data(unsigned long, void *)
-	?reset_wpa_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration(void)
-	?get_eapol_protocol_version@eapol_RSNA_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 63 NONAME ; enum eapol_protocol_version_e eapol_RSNA_key_header_c::get_eapol_protocol_version(void) const
-	?get_eapol_key_handshake_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_handshake_type_e@@@Z @ 64 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_handshake_type_string(enum eapol_key_handshake_type_e)
-	?get_is_valid@eapol_wlan_authentication_c@@QAE_NXZ @ 65 NONAME ; bool eapol_wlan_authentication_c::get_is_valid(void)
-	?zero_EAPOL_key_IV@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 66 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_key_IV(class abs_eap_am_tools_c *)
-	?update_wlan_database_reference_values@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 67 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_wlan_database_reference_values(class eap_array_c<class eap_tlv_header_c> const *)
-	?shutdown@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 68 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::shutdown(void)
-	?indicate_eapol_key_state_started_eap_authentication@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 69 NONAME ; enum eap_status_e eapol_core_c::indicate_eapol_key_state_started_eap_authentication(class eap_am_network_id_c const *)
-	?read_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 70 NONAME ; enum eap_status_e ethernet_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?trace_eapol_key_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBDPAVeapol_RSNA_key_header_c@@@Z @ 71 NONAME ; enum eap_status_e eapol_key_state_c::trace_eapol_key_message(char const *, class eapol_RSNA_key_header_c *)
-	?complete_get_802_11_authentication_mode@eapol_core_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 72 NONAME ; enum eap_status_e eapol_core_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e)
-	?zero_key_reserved@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 73 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_reserved(class abs_eap_am_tools_c *)
-	?get_key_signature@eapol_RC4_key_header_c@@QBEPAEXZ @ 74 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_signature(void) const
-	?set_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 75 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_encrypted_key_data(bool)
-	?complete_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 76 NONAME ; enum eap_status_e ethernet_core_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
-	?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBVeapol_rsna_variable_data_c@@@Z @ 77 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eapol_rsna_variable_data_c const *)
-	?cancel_all_timers@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@XZ @ 78 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_all_timers(void)
-	?create_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 79 NONAME ; enum eap_status_e eapol_key_state_c::create_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *)
-	?start_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 80 NONAME ; enum eap_status_e ethernet_core_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *)
-	?complete_remove_eap_session@eapol_core_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 81 NONAME ; enum eap_status_e eapol_core_c::complete_remove_eap_session(bool, class eap_am_network_id_c const *)
-	?set_key_descriptor_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 82 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e)
-	?process_group_key_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 83 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?complete_check_pmksa_cache@ethernet_core_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_am_network_id_c@@@@@Z @ 84 NONAME ; enum eap_status_e ethernet_core_c::complete_check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> const *)
-	?load_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 85 NONAME ; enum eap_status_e ethernet_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?process_4_way_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 86 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?shutdown@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 87 NONAME ; enum eap_status_e eapol_key_state_c::shutdown(void)
-	??0eap_core_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_session_core_c@@_N@Z @ 88 NONAME ; eap_core_client_message_if_c::eap_core_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_session_core_c *, bool)
-	?shutdown@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 89 NONAME ; enum eap_status_e eap_core_client_message_if_c::shutdown(void)
-	?get_key_information_error@eapol_RSNA_key_header_c@@QBE_NXZ @ 90 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_error(void) const
-	?complete_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 91 NONAME ; enum eap_status_e eapol_key_state_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
-	?set_is_valid@eapol_key_state_c@@AAEXXZ @ 92 NONAME ; void eapol_key_state_c::set_is_valid(void)
-	?get_header_offset@eapol_message_wlan_authentication_c@@UAEKPAK0@Z @ 93 NONAME ; unsigned long eapol_message_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *)
-	?set_key_information_key_index@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 94 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_index(unsigned char)
-	?set_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 95 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_descriptor_version(unsigned char)
-	?complete_disassociation@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 96 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_disassociation(bool, class eap_am_network_id_c const *)
-	?shutdown@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 97 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::shutdown(void)
-	?get_key_information_install@eapol_RSNA_key_header_c@@QBE_NXZ @ 98 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_install(void) const
-	?packet_send@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 99 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_is_valid@ethernet_core_c@@UAE_NXZ @ 100 NONAME ; bool ethernet_core_c::get_is_valid(void)
-	?create_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_K_NW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 101 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_4(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?get_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 102 NONAME ; unsigned long long eapol_key_state_c::get_key_reply_counter(void)
-	?check_is_aes_key_wrap_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@K@Z @ 103 NONAME ; enum eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding(enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long)
-	?get_marked_removed@eapol_key_state_c@@QAE_NXZ @ 104 NONAME ; bool eapol_key_state_c::get_marked_removed(void)
-	?cancel_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 105 NONAME ; enum eap_status_e ethernet_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?set_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 106 NONAME ; enum eap_status_e eapol_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?complete_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 107 NONAME ; enum eap_status_e eapol_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?get_key_reserved@eapol_RSNA_key_header_c@@QBEPAEXZ @ 108 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_reserved(void) const
-	?get_eapol_key_descriptor_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_descriptor_type_e@@@Z @ 109 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_descriptor_type_string(enum eapol_key_descriptor_type_e)
-	?start_authentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 110 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_authentication(class eap_array_c<class eap_tlv_header_c> const *)
-	?get_key_RSC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 111 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_RSC(void) const
-	?complete_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 112 NONAME ; enum eap_status_e eapol_key_state_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?authentication_finished@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@_NVeap_expanded_type_c@@W4eapol_key_authentication_type_e@@@Z @ 113 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::authentication_finished(bool, class eap_expanded_type_c, enum eapol_key_authentication_type_e)
-	?object_increase_reference_count@eapol_key_state_c@@QAEXXZ @ 114 NONAME ; void eapol_key_state_c::object_increase_reference_count(void)
-	?tkip_mic_failure@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 115 NONAME ; enum eap_status_e ethernet_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
-	?get_eapol_key_authentication_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_authentication_type_e@@@Z @ 116 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_authentication_type_string(enum eapol_key_authentication_type_e)
-	?get_authenticator_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 117 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_RSNA_IE(void)
-	??0eapol_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_core_c@@_N@Z @ 118 NONAME ; eapol_core_c::eapol_core_c(class abs_eap_am_tools_c *, class abs_eapol_core_c *, bool)
-	?add_rogue_ap@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 119 NONAME ; enum eap_status_e eapol_wlan_authentication_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?zero_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 120 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_MIC(class abs_eap_am_tools_c *)
-	?start_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 121 NONAME ; enum eap_status_e ethernet_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
-	??0eapol_am_wlan_authentication_symbian_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 122 NONAME ; eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(class abs_eap_am_tools_c *, bool)
-	?get_authentication_counter@eapol_wlan_authentication_c@@QAEKXZ @ 123 NONAME ; unsigned long eapol_wlan_authentication_c::get_authentication_counter(void)
-	??0ethernet_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_ethernet_core_c@@_N@Z @ 124 NONAME ; ethernet_core_c::ethernet_core_c(class abs_eap_am_tools_c *, class abs_ethernet_core_c *, bool)
-	?timer_delete_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 125 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_delete_data(unsigned long, void *)
-	?get_key_length@eapol_RSNA_key_header_c@@QBEGXZ @ 126 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_length(void) const
-	?set_key_information_key_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 127 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_type(bool)
-	?get_is_WPXM@eapol_key_state_c@@AAE_NXZ @ 128 NONAME ; bool eapol_key_state_c::get_is_WPXM(void)
-	?get_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QBE_NXZ @ 129 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_encrypted_key_data(void) const
-	?asynchronous_init_remove_eap_session@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 130 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *)
-	?create_nonce@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 131 NONAME ; enum eap_status_e eapol_key_state_c::create_nonce(class eap_variable_data_c *, unsigned long)
-	?get_eapol_protocol_version@eapol_RC4_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 132 NONAME ; enum eapol_protocol_version_e eapol_RC4_key_header_c::get_eapol_protocol_version(void) const
-	?get_encryption_KEK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 133 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_encryption_KEK(void)
-	?shutdown@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 134 NONAME ; enum eap_status_e eapol_core_c::shutdown(void)
-	?process_RSNA_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 135 NONAME ; enum eap_status_e eapol_key_state_c::process_RSNA_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?cancel_all_eap_sessions@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 136 NONAME ; enum eap_status_e eap_core_client_message_if_c::cancel_all_eap_sessions(void)
-	?get_key_MIC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 137 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_MIC(void) const
-	?complete_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 138 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?read_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 139 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?process_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 140 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?get_key_length@eapol_RC4_key_header_c@@QBEGXZ @ 141 NONAME ; unsigned short eapol_RC4_key_header_c::get_key_length(void) const
-	?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 142 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
-	?reset@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 143 NONAME ; enum eap_status_e eap_core_client_message_if_c::reset(void)
-	?get_SNonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 144 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_SNonce(void)
-	?set_marked_removed@eapol_key_state_c@@QAEXXZ @ 145 NONAME ; void eapol_key_state_c::set_marked_removed(void)
-	?send_logoff@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 146 NONAME ; enum eap_status_e ethernet_core_c::send_logoff(class eap_am_network_id_c const *)
-	?start_preauthentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 147 NONAME ; enum eap_status_e ethernet_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?shutdown@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 148 NONAME ; enum eap_status_e ethernet_core_c::shutdown(void)
-	?set_eapol_packet_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 149 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e)
-	?get_supplicant_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 150 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_MAC_address(void)
-	?initialize_4_way_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@@Z @ 151 NONAME ; enum eap_status_e eapol_key_state_c::initialize_4_way_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e)
-	?send_RC4_eapol_key_messages@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages(void)
-	?remove_pmksa_from_cache@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 153 NONAME ; enum eap_status_e eapol_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *)
-	?copy@eapol_key_state_c@@QAEPAV1@PBVeap_am_network_id_c@@@Z @ 154 NONAME ; class eapol_key_state_c * eapol_key_state_c::copy(class eap_am_network_id_c const *)
-	?set_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 155 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?association@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 156 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::association(class eap_am_network_id_c const *)
-	?cancel_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 157 NONAME ; enum eap_status_e eapol_key_state_c::cancel_handshake_timeout(void)
-	??0eapol_rsna_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 158 NONAME ; eapol_rsna_variable_data_c::eapol_rsna_variable_data_c(class abs_eap_am_tools_c *, bool, bool)
-	?set_buffer@eapol_rsna_variable_data_c@@QAE?AW4eap_status_e@@PBVeapol_rsna_key_data_header_c@@PAEK_N2@Z @ 159 NONAME ; enum eap_status_e eapol_rsna_variable_data_c::set_buffer(class eapol_rsna_key_data_header_c const *, unsigned char *, unsigned long, bool, bool)
-	?get_key_information_key_ack@eapol_RSNA_key_header_c@@QBE_NXZ @ 160 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_ack(void) const
-	?check_header@eapol_RSNA_key_header_c@@UBE?AW4eap_status_e@@XZ @ 161 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::check_header(void) const
-	?set_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 162 NONAME ; void eapol_key_state_c::set_key_reply_counter(unsigned long long)
-	?reassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 163 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::reassociate(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
-	?cancel_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 164 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?cancel_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 165 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?complete_get_802_11_authentication_mode@ethernet_core_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 166 NONAME ; enum eap_status_e ethernet_core_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e)
-	?set_pairwise_PMK@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@@Z @ 167 NONAME ; enum eap_status_e eapol_key_state_c::set_pairwise_PMK(class eap_variable_data_c const *, class eap_am_network_id_c const *)
-	?set_key_index@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 168 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_index(unsigned char)
-	?get_original_header@eapol_rsna_variable_data_c@@QBEPBVeapol_rsna_key_data_header_c@@XZ @ 169 NONAME ; class eapol_rsna_key_data_header_c const * eapol_rsna_variable_data_c::get_original_header(void) const
-	?set_is_valid@eapol_wlan_authentication_c@@QAEXXZ @ 170 NONAME ; void eapol_wlan_authentication_c::set_is_valid(void)
-	?write_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 171 NONAME ; enum eap_status_e eapol_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?verify_field_is_zero@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 172 NONAME ; enum eap_status_e eapol_key_state_c::verify_field_is_zero(unsigned char const *, unsigned long)
-	?get_header_length@eapol_RSNA_key_header_c@@SAGXZ @ 173 NONAME ; unsigned short eapol_RSNA_key_header_c::get_header_length(void)
-	?get_is_associated@eapol_key_state_c@@QAE_NXZ @ 174 NONAME ; bool eapol_key_state_c::get_is_associated(void)
-	?unload_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 175 NONAME ; enum eap_status_e eapol_core_c::unload_module(class eap_expanded_type_c)
-	?cancel_pmksa_caching_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 176 NONAME ; enum eap_status_e eapol_key_state_c::cancel_pmksa_caching_timeout(void)
-	?state_notification@ethernet_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 177 NONAME ; void ethernet_core_c::state_notification(class abs_eap_state_notification_c const *)
-	?init_pmksa_caching_timeout@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 178 NONAME ; enum eap_status_e eapol_key_state_c::init_pmksa_caching_timeout(void)
-	?save_simple_config_session@eapol_core_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 179 NONAME ; enum eap_status_e eapol_core_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?disassociation@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 180 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::disassociation(class eap_am_network_id_c const *)
-	?start_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@@Z @ 181 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?disassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 182 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociate(class eap_am_network_id_c const *, bool)
-	?packet_process@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 183 NONAME ; enum eap_status_e ethernet_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?get_eapol_packet_type@eapol_RC4_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 184 NONAME ; enum eapol_packet_type_e eapol_RC4_key_header_c::get_eapol_packet_type(void) const
-	?get_is_valid@eapol_key_state_c@@QAE_NXZ @ 185 NONAME ; bool eapol_key_state_c::get_is_valid(void)
-	?packet_send@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 186 NONAME ; enum eap_status_e eapol_key_state_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_EAPOL_key_IV@eapol_RSNA_key_header_c@@QBEPAEXZ @ 187 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_EAPOL_key_IV(void) const
-	??0eapol_RSNA_key_header_c@@QAE@PAVabs_eap_am_tools_c@@_N1PAXK@Z @ 188 NONAME ; eapol_RSNA_key_header_c::eapol_RSNA_key_header_c(class abs_eap_am_tools_c *, bool, bool, void *, unsigned long)
-	?write_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 189 NONAME ; enum eap_status_e ethernet_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@6W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@76@Z @ 190 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
-	?get_key_information_secure@eapol_RSNA_key_header_c@@QBE_NXZ @ 191 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_secure(void) const
-	?start_preauthentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 192 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_preauthentication(class eap_am_network_id_c const *)
-	?get_key_information_request@eapol_RSNA_key_header_c@@QBE_NXZ @ 193 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_request(void) const
-	?complete_association@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 194 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_association(class eap_array_c<class eap_tlv_header_c> const *)
-	?start_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 195 NONAME ; enum eap_status_e eapol_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
-	?process_eapol_key_frame@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 196 NONAME ; enum eap_status_e eapol_key_state_c::process_eapol_key_frame(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?tkip_mic_failure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 197 NONAME ; enum eap_status_e eapol_wlan_authentication_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
-	?get_header_offset@ethernet_core_c@@UAEKPAK0@Z @ 198 NONAME ; unsigned long ethernet_core_c::get_header_offset(unsigned long *, unsigned long *)
-	?increment_authentication_counter@eapol_wlan_authentication_c@@QAEXXZ @ 199 NONAME ; void eapol_wlan_authentication_c::increment_authentication_counter(void)
-	?get_unicast_cipher_suite_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 200 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_unicast_cipher_suite_RSNA_IE(void)
-	?write_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 201 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?remove_pmksa_from_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 202 NONAME ; enum eap_status_e ethernet_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *)
-	?create_state@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 203 NONAME ; enum eap_status_e eapol_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?create_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 204 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?get_is_valid@eapol_core_c@@UAE_NXZ @ 205 NONAME ; bool eapol_core_c::get_is_valid(void)
-	?set_WPXM_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 206 NONAME ; enum eap_status_e eapol_key_state_c::set_WPXM_parameters(class eap_am_network_id_c const *)
-	?start_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 207 NONAME ; enum eap_status_e eapol_key_state_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *)
-	?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4wlan_eap_if_send_status_e@@W4eap_status_e@@@Z @ 208 NONAME ; enum wlan_eap_if_send_status_e wlan_eap_if_send_status_conversion_c::convert(enum eap_status_e)
-	?init_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 209 NONAME ; enum eap_status_e eapol_key_state_c::init_group_key_update_timeout(unsigned long)
-	??1eapol_RC4_key_header_c@@UAE@XZ @ 210 NONAME ; eapol_RC4_key_header_c::~eapol_RC4_key_header_c(void)
-	?load_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 211 NONAME ; enum eap_status_e eapol_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?zero_key_signature@eapol_RC4_key_header_c@@QAEXPAVabs_eap_am_tools_c@@@Z @ 212 NONAME ; void eapol_RC4_key_header_c::zero_key_signature(class abs_eap_am_tools_c *)
-	?eap_acknowledge@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 213 NONAME ; enum eap_status_e ethernet_core_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?save_simple_config_session@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 214 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?get_eapol_key_state_string@eapol_key_state_string_c@@SAPBDW4eapol_key_state_e@@@Z @ 215 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_state_string(enum eapol_key_state_e)
-	?set_is_valid@eapol_core_c@@UAEXXZ @ 216 NONAME ; void eapol_core_c::set_is_valid(void)
-	?get_header_length@eapol_RC4_key_header_c@@SAGXZ @ 217 NONAME ; unsigned short eapol_RC4_key_header_c::get_header_length(void)
-	?create_state@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 218 NONAME ; enum eap_status_e ethernet_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?process_message_type_error@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 219 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message_type_error(class eap_array_c<class eap_tlv_header_c> const *)
-	?create_PMKID@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 220 NONAME ; enum eap_status_e eapol_key_state_c::create_PMKID(void)
-	?process_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 221 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?get_wlan_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 222 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_wlan_configuration(class eap_variable_data_c *)
-	?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 223 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eap_array_c<class eap_variable_data_c> const *)
-	?start_authentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 224 NONAME ; enum eap_status_e ethernet_core_c::start_authentication(class eap_am_network_id_c const *, bool)
-	??1eapol_key_state_string_c@@UAE@XZ @ 225 NONAME ; eapol_key_state_string_c::~eapol_key_state_string_c(void)
-	?unload_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 226 NONAME ; enum eap_status_e eapol_wlan_authentication_c::unload_module(class eap_expanded_type_c)
-	?get_eap_type_list@eapol_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 227 NONAME ; enum eap_status_e eapol_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?remove_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 228 NONAME ; enum eap_status_e eap_core_client_message_if_c::remove_eap_session(bool, class eap_am_network_id_c const *)
-	??0eapol_RC4_key_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 229 NONAME ; eapol_RC4_key_header_c::eapol_RC4_key_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?unload_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 230 NONAME ; enum eap_status_e ethernet_core_c::unload_module(class eap_expanded_type_c)
-	?set_key_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 231 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_length(unsigned short)
-	?reset_cached_pmksa@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 232 NONAME ; enum eap_status_e eapol_key_state_c::reset_cached_pmksa(void)
-	?complete_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 233 NONAME ; enum eap_status_e ethernet_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?set_eap_database_reference_values@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 234 NONAME ; enum eap_status_e eap_core_client_message_if_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?initialize_preauthentication@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 235 NONAME ; enum eap_status_e eapol_key_state_c::initialize_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?get_key_information_key_index@eapol_RSNA_key_header_c@@QBEEXZ @ 236 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_key_index(void) const
-	?set_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 237 NONAME ; enum eap_status_e ethernet_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?set_s_nonce@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 238 NONAME ; enum eap_status_e eapol_key_state_c::set_s_nonce(class eap_variable_data_c const *)
-	?state_notification@eapol_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 239 NONAME ; void eapol_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *)
-	??0eapol_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@PAVeapol_am_wlan_authentication_c@@_N@Z @ 240 NONAME ; eapol_wlan_authentication_c::eapol_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, class eapol_am_wlan_authentication_c *, bool)
-	?set_key_descriptor_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 241 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e)
-	?complete_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 242 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *)
-	?set_eapol_packet_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 243 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e)
-	?read_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 244 NONAME ; enum eap_status_e eapol_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_key_data@eapol_RSNA_key_header_c@@QBEPAEK@Z @ 245 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data(unsigned long) const
-	?create_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 246 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?process_data@eapol_message_wlan_authentication_c@@QAE?AW4wlan_eap_if_send_status_e@@PBXK@Z @ 247 NONAME ; enum wlan_eap_if_send_status_e eapol_message_wlan_authentication_c::process_data(void const *, unsigned long)
-	?complete_disassociation@ethernet_core_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 248 NONAME ; enum eap_status_e ethernet_core_c::complete_disassociation(bool, class eap_am_network_id_c const *)
-	?configure@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@KKK@Z @ 249 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::configure(unsigned long, unsigned long, unsigned long)
-	?configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 250 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::configure(void)
-	??1eapol_am_wlan_authentication_symbian_c@@UAE@XZ @ 251 NONAME ; eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c(void)
-	?start_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0PAVeap_variable_data_c@@PBV4@2@Z @ 252 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_WPXM_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?get_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QBE?AW4key_descriptor_version_e@1@XZ @ 253 NONAME ; enum eapol_RSNA_key_header_c::key_descriptor_version_e eapol_RSNA_key_header_c::get_key_information_key_descriptor_version(void) const
-	??1eapol_wlan_authentication_c@@UAE@XZ @ 254 NONAME ; eapol_wlan_authentication_c::~eapol_wlan_authentication_c(void)
-	?process_4_way_handshake_message_3_payloads_a@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@KPA_N@Z @ 255 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool *)
-	?set_bits_on@eapol_RSNA_key_header_c@@QAEGGGKK@Z @ 256 NONAME ; unsigned short eapol_RSNA_key_header_c::set_bits_on(unsigned short, unsigned short, unsigned long, unsigned long)
-	?init_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 257 NONAME ; enum eap_status_e eapol_key_state_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
-	?start_preauthentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 258 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_preauthentication(class eap_array_c<class eap_tlv_header_c> const *)
-	?asynchronous_start_authentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 259 NONAME ; enum eap_status_e eapol_core_c::asynchronous_start_authentication(class eap_am_network_id_c const *, bool)
-	?get_authenticator_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 260 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_MAC_address(void)
-	?packet_data_session_key@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 261 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
-	?process_group_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 262 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?create_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 263 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?create_eapol_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@_NPAVeap_buf_chain_wr_c@@KPAK2_KW4eapol_protocol_version_e@@@Z @ 264 NONAME ; enum eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0(bool, class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e)
-	?shutdown@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 265 NONAME ; enum eap_status_e eapol_wlan_authentication_c::shutdown(void)
-	?get_is_valid@eap_core_client_message_if_c@@UAE_NXZ @ 266 NONAME ; bool eap_core_client_message_if_c::get_is_valid(void)
-	?eap_acknowledge@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 267 NONAME ; enum eap_status_e eapol_core_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?select_minimum@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAPBV3@1@Z @ 268 NONAME ; enum eap_status_e eapol_key_state_c::select_minimum(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const * *, class eap_variable_data_c const * *)
-	?write_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 269 NONAME ; enum eap_status_e eapol_wlan_authentication_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_key_information_key_MIC@eapol_RSNA_key_header_c@@QBE_NXZ @ 270 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_MIC(void) const
-	?check_is_valid_eap_type@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 271 NONAME ; enum eap_status_e ethernet_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	??1eap_core_client_message_if_c@@UAE@XZ @ 272 NONAME ; eap_core_client_message_if_c::~eap_core_client_message_if_c(void)
-	?get_key_information@eapol_RSNA_key_header_c@@QBEGXZ @ 273 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_information(void) const
-	?check_is_valid_eap_type@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 274 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?start_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 275 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_WPXM_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
-	?send_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 276 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_message(class eapol_handle_tlv_message_data_c *)
-	?create_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 277 NONAME ; enum eap_status_e eap_core_client_message_if_c::create_eap_session(class eap_am_network_id_c const *)
-	?get_802_11_authentication_mode@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 278 NONAME ; enum eap_status_e eap_core_client_message_if_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?process_4_way_handshake_message_3_payloads_b@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K_N@Z @ 279 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool)
-	?disassociation@eapol_core_c@@QAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 280 NONAME ; enum eap_status_e eapol_core_c::disassociation(bool, class eap_am_network_id_c const *)
-	?set_eapol_protocol_version@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 281 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e)
-	??0eapol_key_state_string_c@@QAE@XZ @ 282 NONAME ; eapol_key_state_string_c::eapol_key_state_string_c(void)
-	?packet_send@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 283 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?packet_process@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 284 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?add_rogue_ap@eapol_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 285 NONAME ; enum eap_status_e eapol_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?packet_data_session_key@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 286 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
-	?complete_association@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 287 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_association(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?get_current_eap_index@eapol_wlan_authentication_c@@UAEKXZ @ 288 NONAME ; unsigned long eapol_wlan_authentication_c::get_current_eap_index(void)
-	?packet_send@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 289 NONAME ; enum eap_status_e eapol_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 290 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?create_tkip_mic_failure_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@W4eapol_protocol_version_e@@@Z @ 291 NONAME ; enum eap_status_e eapol_key_state_c::create_tkip_mic_failure_message(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e, enum eapol_protocol_version_e)
-	?cancel_all_authentication_sessions@ethernet_core_c@@QAE?AW4eap_status_e@@XZ @ 292 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_authentication_sessions(void)
-	?decrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 293 NONAME ; enum eap_status_e eapol_key_state_c::decrypt_key_data(class eapol_RSNA_key_header_c *)
-	?get_header_offset@eapol_wlan_authentication_c@@UAEKPAK0@Z @ 294 NONAME ; unsigned long eapol_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *)
-	?state_notification@eapol_message_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 295 NONAME ; void eapol_message_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *)
-	?check_is_valid_eap_type@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 296 NONAME ; enum eap_status_e eapol_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?association@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 297 NONAME ; enum eap_status_e ethernet_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
-	?configure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 298 NONAME ; enum eap_status_e eapol_wlan_authentication_c::configure(void)
-	?get_received_PMKID@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 299 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_received_PMKID(void)
-	?set_key_replay_counter@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_K@Z @ 300 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_replay_counter(unsigned long long)
-	?allow_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 301 NONAME ; enum eap_status_e eapol_key_state_c::allow_4_way_handshake(void)
-	?read_reassociation_parameters@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 302 NONAME ; enum eap_status_e ethernet_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?check_pmksa_cache@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@1@Z @ 303 NONAME ; enum eap_status_e eapol_key_state_c::check_pmksa_cache(enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?process_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 304 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?timer_delete_data@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 305 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_delete_data(unsigned long, void *)
-	?resend_packet@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 306 NONAME ; enum eap_status_e eapol_key_state_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_eapol_packet_body_length@eapol_RC4_key_header_c@@QBEGXZ @ 307 NONAME ; unsigned short eapol_RC4_key_header_c::get_eapol_packet_body_length(void) const
-	?read_reassociation_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 308 NONAME ; enum eap_status_e eapol_key_state_c::read_reassociation_parameters(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	??1eapol_key_state_c@@UAE@XZ @ 309 NONAME ; eapol_key_state_c::~eapol_key_state_c(void)
-	?set_key_data_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 310 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_data_length(unsigned short)
-	?increase_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 311 NONAME ; void eapol_key_state_c::increase_key_reply_counter(void)
-	?verify_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 312 NONAME ; enum eap_status_e eapol_key_state_c::verify_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *)
-	??0eapol_handle_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 313 NONAME ; eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c(class abs_eap_am_tools_c *)
-	?get_is_client@eapol_wlan_authentication_c@@UAE_NXZ @ 314 NONAME ; bool eapol_wlan_authentication_c::get_is_client(void)
-	?save_simple_config_session@ethernet_core_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 315 NONAME ; enum eap_status_e ethernet_core_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?restart_authentication@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 316 NONAME ; enum eap_status_e eapol_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?started_eap_authentication@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 317 NONAME ; enum eap_status_e eapol_key_state_c::started_eap_authentication(void)
-	?set_key_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 318 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_length(unsigned short)
-	?disassociation@ethernet_core_c@@QAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 319 NONAME ; enum eap_status_e ethernet_core_c::disassociation(bool, class eap_am_network_id_c const *)
-	?get_key_index@eapol_RC4_key_header_c@@QBEEXZ @ 320 NONAME ; unsigned char eapol_RC4_key_header_c::get_key_index(void) const
-	?get_key_flag@eapol_RC4_key_header_c@@QBE?AW4eapol_RC4_key_flags_e@@XZ @ 321 NONAME ; enum eapol_RC4_key_flags_e eapol_RC4_key_header_c::get_key_flag(void) const
-	?eap_acknowledge@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 322 NONAME ; enum eap_status_e eapol_wlan_authentication_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?save_simple_config_session@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 323 NONAME ; enum eap_status_e eapol_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?get_key_replay_counter@eapol_RSNA_key_header_c@@QBE_KXZ @ 324 NONAME ; unsigned long long eapol_RSNA_key_header_c::get_key_replay_counter(void) const
-	?check_pmksa_cache@eapol_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 325 NONAME ; enum eap_status_e eapol_core_c::check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?derive_PTK@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 326 NONAME ; enum eap_status_e eapol_key_state_c::derive_PTK(void)
-	?timer_expired@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 327 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_expired(unsigned long, void *)
-	?get_key_STA_MAC_address@eapol_RSNA_key_header_c@@QBEPAEXZ @ 328 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_STA_MAC_address(void) const
-	?packet_process@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 329 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_process(class eap_array_c<class eap_tlv_header_c> const *)
-	?get_eap_type_list@ethernet_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 330 NONAME ; enum eap_status_e ethernet_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?zero_EAPOL_header_and_Key_descriptor@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 331 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_header_and_Key_descriptor(class abs_eap_am_tools_c *)
-	?get_replay_counter@eapol_RC4_key_header_c@@QAEPAEXZ @ 332 NONAME ; unsigned char * eapol_RC4_key_header_c::get_replay_counter(void)
-	?set_eap_database_reference_values@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 333 NONAME ; enum eap_status_e eapol_core_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?new_eapol_wlan_authentication@eapol_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@_N@Z @ 334 NONAME ; class eapol_wlan_authentication_c * eapol_wlan_authentication_c::new_eapol_wlan_authentication(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, bool)
-	?process_message@eap_core_client_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 335 NONAME ; enum eap_status_e eap_core_client_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?check_pmksa_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 336 NONAME ; enum eap_status_e ethernet_core_c::check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?start_authentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eapol_key_authentication_type_e@@0_NPBVeap_am_network_id_c@@@Z @ 337 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_authentication(class eap_variable_data_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, bool, class eap_am_network_id_c const *)
-	?get_is_encryption_on@eapol_key_state_c@@QAE_NXZ @ 338 NONAME ; bool eapol_key_state_c::get_is_encryption_on(void)
-	?zero_key_RSC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 339 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_RSC(class abs_eap_am_tools_c *)
-	?parse_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@PBVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@W4key_descriptor_version_e@eapol_RSNA_key_header_c@@@Z @ 340 NONAME ; enum eap_status_e eapol_key_state_c::parse_key_data(enum eapol_key_descriptor_type_e, class eapol_rsna_key_data_header_c const *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e, enum eapol_RSNA_key_header_c::key_descriptor_version_e)
-	?eap_acknowledge@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 341 NONAME ; enum eap_status_e eap_core_client_message_if_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?set_am_partner@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eapol_am_wlan_authentication_c@@PAVabs_eap_configuration_if_c@@@Z @ 342 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_am_partner(class abs_eapol_am_wlan_authentication_c *, class abs_eap_configuration_if_c *)
-	?process_4_way_handshake_message_2_payloads@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 343 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?get_eapol_packet_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 344 NONAME ; enum eapol_packet_type_e eapol_RSNA_key_header_c::get_eapol_packet_type(void) const
-	?get_is_valid@eapol_handle_tlv_message_data_c@@QAE_NXZ @ 345 NONAME ; bool eapol_handle_tlv_message_data_c::get_is_valid(void)
-	?send_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 346 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_data(void const *, unsigned long)
-	?get_eapol_packet_length@eapol_RSNA_key_header_c@@QBEGXZ @ 347 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_length(void) const
-	?increase_client_send_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 348 NONAME ; void eapol_key_state_c::increase_client_send_key_reply_counter(void)
-	?unset_marked_removed@eapol_key_state_c@@QAEXXZ @ 349 NONAME ; void eapol_key_state_c::unset_marked_removed(void)
-	?get_ANonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 350 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_ANonce(void)
-	?send_eap_identity_request@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 351 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_eap_identity_request(class eap_am_network_id_c const *)
-	?set_eap_database_reference_values@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 352 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?add_RSN_GTK_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 353 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_GTK_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *)
-	?set_wlan_parameters@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N0W4eapol_key_authentication_type_e@@@Z @ 354 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_wlan_parameters(class eap_variable_data_c const *, bool, class eap_variable_data_c const *, enum eapol_key_authentication_type_e)
-	?packet_data_session_key@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 355 NONAME ; enum eap_status_e eapol_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
-	?set_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 356 NONAME ; enum eap_status_e eapol_wlan_authentication_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?get_key_length@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@PAG@Z @ 357 NONAME ; enum eap_status_e eapol_key_state_c::get_key_length(enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned short *)
-	?reset@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 358 NONAME ; enum eap_status_e eapol_key_state_c::reset(void)
-	?get_is_valid@eapol_am_wlan_authentication_symbian_c@@UAE_NXZ @ 359 NONAME ; bool eapol_am_wlan_authentication_symbian_c::get_is_valid(void)
-	?set_client_send_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 360 NONAME ; void eapol_key_state_c::set_client_send_key_reply_counter(unsigned long long)
-	?eap_acknowledge@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 361 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::eap_acknowledge(class eap_array_c<class eap_tlv_header_c> const *)
-	?complete_disassociation@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 362 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_disassociation(class eap_am_network_id_c const *)
-	?get_is_valid@eapol_message_wlan_authentication_c@@QAE_NXZ @ 363 NONAME ; bool eapol_message_wlan_authentication_c::get_is_valid(void)
-	?process_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 364 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?send_error_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 365 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e)
-	?get_is_WPA@eapol_key_state_c@@AAE_NXZ @ 366 NONAME ; bool eapol_key_state_c::get_is_WPA(void)
-	?packet_data_crypto_keys@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 367 NONAME ; enum eap_status_e eapol_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?remove_eapol_key_state@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 368 NONAME ; enum eap_status_e eapol_core_c::remove_eapol_key_state(class eap_am_network_id_c const *, bool)
-	?timer_delete_data@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 369 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_delete_data(unsigned long, void *)
-	??1eapol_RSNA_key_header_c@@UAE@XZ @ 370 NONAME ; eapol_RSNA_key_header_c::~eapol_RSNA_key_header_c(void)
-	?add_rogue_ap@ethernet_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 371 NONAME ; enum eap_status_e ethernet_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?get_802_11_authentication_mode@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 372 NONAME ; enum eap_status_e eapol_core_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?process_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 373 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message(class eapol_handle_tlv_message_data_c *)
-	?get_and_increment_global_key_counter@eapol_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 374 NONAME ; enum eap_status_e eapol_core_c::get_and_increment_global_key_counter(class eap_variable_data_c *)
-	?set_eapol_protocol_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 375 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e)
-	?load_type@ethernet_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@@Z @ 376 NONAME ; class eap_base_type_c * ethernet_core_c::load_type(class eap_expanded_type_c)
-	?start_preauthentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 377 NONAME ; enum eap_status_e eapol_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?set_key_flag@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_RC4_key_flags_e@@@Z @ 378 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_flag(enum eapol_RC4_key_flags_e)
-	?timer_delete_data@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 379 NONAME ; enum eap_status_e eapol_core_c::timer_delete_data(unsigned long, void *)
-	?shutdown_operation@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 380 NONAME ; enum eap_status_e eapol_core_c::shutdown_operation(class eapol_key_state_c *, class abs_eap_am_tools_c *)
-	?get_key_NONCE@eapol_RSNA_key_header_c@@QBEPAEXZ @ 381 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_NONCE(void) const
-	?complete_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 382 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
-	?process_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 383 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_4(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	?add_rogue_ap@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 384 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?init_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 385 NONAME ; enum eap_status_e eapol_key_state_c::init_handshake_timeout(unsigned long)
-	?check_pmksa_cache@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 386 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::check_pmksa_cache(class eap_array_c<class eap_tlv_header_c> const *)
-	?check_pmksa_cache@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 387 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?parse_generic_key_data_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@@Z @ 388 NONAME ; enum eap_status_e eapol_key_state_c::parse_generic_key_data_payload(enum eapol_key_descriptor_type_e, enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e)
-	?set_eapol_key_state@eapol_key_state_c@@AAEXW4eapol_key_state_e@@@Z @ 389 NONAME ; void eapol_key_state_c::set_eapol_key_state(enum eapol_key_state_e)
-	?asynchronous_init_remove_eapol_key_state@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 390 NONAME ; enum eap_status_e eapol_key_state_c::asynchronous_init_remove_eapol_key_state(void)
-	?get_key_data_length@eapol_RSNA_key_header_c@@QBEGXZ @ 391 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_data_length(void) const
-	?packet_process@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 392 NONAME ; enum eap_status_e eapol_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?set_key_information@eapol_RSNA_key_header_c@@AAE?AW4eap_status_e@@G@Z @ 393 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information(unsigned short)
-	?save_simple_config_session@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 394 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?cancel_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 395 NONAME ; enum eap_status_e eapol_key_state_c::cancel_group_key_update_timeout(void)
-	?packet_process@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 396 NONAME ; enum eap_status_e eap_core_client_message_if_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?state_notification@eapol_am_wlan_authentication_symbian_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 397 NONAME ; void eapol_am_wlan_authentication_symbian_c::state_notification(class abs_eap_state_notification_c const *)
-	?set_eapol_packet_body_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@K@Z @ 398 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_body_length(unsigned long)
-	?create_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 399 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_3(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?start_group_key_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 400 NONAME ; enum eap_status_e eapol_key_state_c::start_group_key_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
-	?process_RC4_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 401 NONAME ; enum eap_status_e eapol_key_state_c::process_RC4_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?update_header_offset@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 402 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_header_offset(class eap_array_c<class eap_tlv_header_c> const *)
-	?tkip_mic_failure@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 403 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::tkip_mic_failure(class eap_array_c<class eap_tlv_header_c> const *)
-	?get_supplicant_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 404 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_RSNA_IE(void)
-	?get_key_descriptor_type@eapol_RC4_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 405 NONAME ; enum eapol_key_descriptor_type_e eapol_RC4_key_header_c::get_key_descriptor_type(void) const
-	?tkip_mic_failure@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 406 NONAME ; enum eap_status_e eapol_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
-	?timer_expired@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 407 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_expired(unsigned long, void *)
-	?timer_expired@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 408 NONAME ; enum eap_status_e eapol_core_c::timer_expired(unsigned long, void *)
-	?get_is_RSNA@eapol_key_state_c@@AAE_NXZ @ 409 NONAME ; bool eapol_key_state_c::get_is_RSNA(void)
-	?cancel_all_timers@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 410 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_all_timers(void)
-	?get_confirmation_KCK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 411 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_confirmation_KCK(void)
-	?get_key_descriptor_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 412 NONAME ; enum eapol_key_descriptor_type_e eapol_RSNA_key_header_c::get_key_descriptor_type(void) const
-	?set_key_information_request@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 413 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_request(bool)
-	?get_key@eapol_RC4_key_header_c@@QBEPAEXZ @ 414 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key(void) const
-	?tkip_mic_failure@eapol_key_state_c@@QAE?AW4eap_status_e@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 415 NONAME ; enum eap_status_e eapol_key_state_c::tkip_mic_failure(bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
-	?set_is_valid@ethernet_core_c@@UAEXXZ @ 416 NONAME ; void ethernet_core_c::set_is_valid(void)
-	?read_reassociation_parameters@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 417 NONAME ; enum eap_status_e eapol_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?disassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 418 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociation(class eap_array_c<class eap_tlv_header_c> const *)
-	?complete_get_802_11_authentication_mode@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 419 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e)
-	?cancel_authentication_session@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 420 NONAME ; enum eap_status_e eapol_core_c::cancel_authentication_session(class eapol_key_state_c *, class abs_eap_am_tools_c *)
-	?cancel_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 421 NONAME ; enum eap_status_e eapol_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?state_notification@eapol_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 422 NONAME ; void eapol_core_c::state_notification(class abs_eap_state_notification_c const *)
-	?set_eapol_packet_body_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 423 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_body_length(unsigned short)
-	?set_key_information_secure@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 424 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_secure(bool)
-	??1eapol_rsna_variable_data_c@@UAE@XZ @ 425 NONAME ; eapol_rsna_variable_data_c::~eapol_rsna_variable_data_c(void)
-	?get_eapol_key_state@eapol_key_state_c@@ABE?AW4eapol_key_state_e@@XZ @ 426 NONAME ; enum eapol_key_state_e eapol_key_state_c::get_eapol_key_state(void) const
-	??0eapol_rsna_key_data_payloads_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 427 NONAME ; eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payloads_c(class abs_eap_am_tools_c *, bool, bool)
-	?set_key_information_key_ack@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 428 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_ack(bool)
-	?configure@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 429 NONAME ; enum eap_status_e eapol_key_state_c::configure(void)
-	??1eapol_handle_tlv_message_data_c@@UAE@XZ @ 430 NONAME ; eapol_handle_tlv_message_data_c::~eapol_handle_tlv_message_data_c(void)
-	?save_parameters@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@1W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 431 NONAME ; enum eap_status_e eapol_key_state_c::save_parameters(enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
-	?timer_expired@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 432 NONAME ; enum eap_status_e eapol_key_state_c::timer_expired(unsigned long, void *)
-	?process_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 433 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
-	??1eapol_am_wlan_authentication_c@@UAE@XZ @ 434 NONAME ; eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c(void)
+	?set_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 43 NONAME ; enum eap_status_e eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	?get_block_size@crypto_md5_c@@UAEKXZ @ 44 NONAME ; unsigned long crypto_md5_c::get_block_size(void)
+	??0crypto_random_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 45 NONAME ; crypto_random_c::crypto_random_c(class abs_eap_am_tools_c *)
+	??0crypto_hmac_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_hash_algorithm_c@@_N@Z @ 46 NONAME ; crypto_hmac_c::crypto_hmac_c(class abs_eap_am_tools_c *, class abs_crypto_hash_algorithm_c *, bool)
+	?get_client_send_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 47 NONAME ; unsigned long long eapol_key_state_c::get_client_send_key_reply_counter(void)
+	?get_eap_header@eapol_header_rd_c@@QBEPAEXZ @ 48 NONAME ; unsigned char * eapol_header_rd_c::get_eap_header(void) const
+	?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 49 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void *, unsigned long)
+	?set_key_information_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 50 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_MIC(bool)
+	?set_length@eap_header_base_c@@QAEXG_N@Z @ 51 NONAME ; void eap_header_base_c::set_length(unsigned short, bool)
+	?read_section@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 52 NONAME ; enum eap_status_e eap_file_config_c::read_section(class abs_eap_am_file_input_c *, class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *)
+	?check_guard_bytes@eap_buf_chain_base_c@@ABE_NPBE@Z @ 53 NONAME ; bool eap_buf_chain_base_c::check_guard_bytes(unsigned char const *) const
+	??1eap_am_crypto_rc4_c@@UAE@XZ @ 54 NONAME ; eap_am_crypto_rc4_c::~eap_am_crypto_rc4_c(void)
+	?get_protocol_string@eap_state_notification_c@@UBEPBDXZ @ 55 NONAME ; char const * eap_state_notification_c::get_protocol_string(void) const
+	?aes_encrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 56 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_encrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
+	?sha_256_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 57 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_init(class eap_variable_data_c *)
+	?get_is_valid@eap_type_selection_c@@QBE_NXZ @ 58 NONAME ; bool eap_type_selection_c::get_is_valid(void) const
+	?get_eapol_key_handshake_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_handshake_type_e@@@Z @ 59 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_handshake_type_string(enum eapol_key_handshake_type_e)
+	?cancel_retransmission@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 60 NONAME ; enum eap_status_e eap_core_c::cancel_retransmission(void)
+	?get_is_valid@eap_am_crypto_sha_256_c@@QAE_NXZ @ 61 NONAME ; bool eap_am_crypto_sha_256_c::get_is_valid(void)
+	?update_wlan_database_reference_values@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 62 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_wlan_database_reference_values(class eap_array_c<class eap_tlv_header_c> const *)
+	?shutdown@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 63 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::shutdown(void)
+	?copy_context@crypto_md4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 64 NONAME ; enum eap_status_e crypto_md4_c::copy_context(class eap_variable_data_c const *)
+	?cbc_copy_block@crypto_cbc_c@@AAEXPAXPBXKK@Z @ 65 NONAME ; void crypto_cbc_c::cbc_copy_block(void *, void const *, unsigned long, unsigned long)
+	?load_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 66 NONAME ; enum eap_status_e eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
+	?get_is_valid@crypto_tls_md5_prf_c@@QAE_NXZ @ 67 NONAME ; bool crypto_tls_md5_prf_c::get_is_valid(void)
+	?cancel_all_timers@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@XZ @ 68 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_all_timers(void)
+	?get_value@eap_tlv_header_c@@QBEPAEK@Z @ 69 NONAME ; unsigned char * eap_tlv_header_c::get_value(unsigned long) const
+	?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBXK@Z @ 70 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(void const *, unsigned long)
+	?set_key_descriptor_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 71 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e)
+	?convert_selected_bytes_to_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE10_N@Z @ 72 NONAME ; void eap_am_tools_c::convert_selected_bytes_to_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned char *, unsigned long *, bool)
+	?shutdown@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 73 NONAME ; enum eap_status_e eap_session_core_c::shutdown(void)
+	??1crypto_hmac_c@@UAE@XZ @ 74 NONAME ; crypto_hmac_c::~crypto_hmac_c(void)
+	?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 75 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void)
+	??1crypto_aes_c@@UAE@XZ @ 76 NONAME ; crypto_aes_c::~crypto_aes_c(void)
+	?set_is_valid@crypto_tls_base_prf_c@@AAEXXZ @ 77 NONAME ; void crypto_tls_base_prf_c::set_is_valid(void)
+	?pulse_timer@eap_am_tools_symbian_c@@UAEKK@Z @ 78 NONAME ; unsigned long eap_am_tools_symbian_c::pulse_timer(unsigned long)
+	?get_key_information_error@eapol_RSNA_key_header_c@@QBE_NXZ @ 79 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_error(void) const
+	?get_message_data_length@eap_tlv_message_data_c@@QBEKXZ @ 80 NONAME ; unsigned long eap_tlv_message_data_c::get_message_data_length(void) const
+	?get_encrypts@crypto_aes_wrap_c@@QAE_NXZ @ 81 NONAME ; bool crypto_aes_wrap_c::get_encrypts(void)
+	?hash_final@crypto_sha1_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 82 NONAME ; enum eap_status_e crypto_sha1_c::hash_final(void *, unsigned long *)
+	?get_block_size@eap_am_crypto_sha1_c@@QAEKXZ @ 83 NONAME ; unsigned long eap_am_crypto_sha1_c::get_block_size(void)
+	?set_type@eapol_ethernet_header_base_c@@QAEXW4eapol_ethernet_type_e@@@Z @ 84 NONAME ; void eapol_ethernet_header_base_c::set_type(enum eapol_ethernet_type_e)
+	?set_mem_guard_bytes@eap_buf_chain_base_c@@AAEXXZ @ 85 NONAME ; void eap_buf_chain_base_c::set_mem_guard_bytes(void)
+	?copy_context@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 86 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *)
+	?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 87 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const
+	?set_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 88 NONAME ; enum eap_status_e eapol_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	?create_uuid_v5@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXK0KPAVeap_variable_data_c@@@Z @ 89 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5(void const *, unsigned long, void const *, unsigned long, class eap_variable_data_c *)
+	?get_key_reserved@eapol_RSNA_key_header_c@@QBEPAEXZ @ 90 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_reserved(void) const
+	?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 91 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void const *, void *, unsigned long)
+	?add_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPBX@Z @ 92 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data(unsigned long, unsigned long, void const *)
+	?get_is_valid@crypto_sha1_c@@UAE_NXZ @ 93 NONAME ; bool crypto_sha1_c::get_is_valid(void)
+	?set_is_invalid@crypto_md5_c@@AAEXXZ @ 94 NONAME ; void crypto_md5_c::set_is_invalid(void)
+	?get_is_reserved@eap_am_mutex_symbian_c@@UBE_NXZ @ 95 NONAME ; bool eap_am_mutex_symbian_c::get_is_reserved(void) const
+	?get_key_RSC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 96 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_RSC(void) const
+	?complete_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 97 NONAME ; enum eap_status_e eapol_key_state_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?get_md5_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 98 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_digest_length(class eap_variable_data_c *)
+	?get_wlan_database_reference_values@eapol_message_wlan_authentication_c@@UBE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 99 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::get_wlan_database_reference_values(class eap_variable_data_c *) const
+	?tkip_mic_failure@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 100 NONAME ; enum eap_status_e ethernet_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
+	??0crypto_rsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 101 NONAME ; crypto_rsa_c::crypto_rsa_c(class abs_eap_am_tools_c *)
+	?get_authenticator_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 102 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_RSNA_IE(void)
+	?rsa_encrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 103 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?get_block_size@crypto_sha_256_c@@UAEKXZ @ 104 NONAME ; unsigned long crypto_sha_256_c::get_block_size(void)
+	??0eapol_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 105 NONAME ; eapol_header_wr_c::eapol_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
+	?send_eap_identity_request@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 106 NONAME ; enum eap_status_e eap_session_core_c::send_eap_identity_request(class eap_am_network_id_c const *)
+	?hash_cleanup@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 107 NONAME ; enum eap_status_e crypto_md4_c::hash_cleanup(void)
+	?get_authentication_counter@eapol_wlan_authentication_c@@QAEKXZ @ 108 NONAME ; unsigned long eapol_wlan_authentication_c::get_authentication_counter(void)
+	?object_decrease_reference_count@eap_tlv_message_data_c@@QAEKXZ @ 109 NONAME ; unsigned long eap_tlv_message_data_c::object_decrease_reference_count(void)
+	?init@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 110 NONAME ; enum eap_status_e crypto_dsa_c::init(void)
+	?create_nonce@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 111 NONAME ; enum eap_status_e eapol_key_state_c::create_nonce(class eap_variable_data_c *, unsigned long)
+	?hmac_set_key@crypto_hmac_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 112 NONAME ; enum eap_status_e crypto_hmac_c::hmac_set_key(class eap_variable_data_c const *)
+	?get_eap_type_list@eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 113 NONAME ; enum eap_status_e eap_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
+	?get_type@eapol_ethernet_header_base_c@@QBEGXZ @ 114 NONAME ; unsigned short eapol_ethernet_header_base_c::get_type(void) const
+	?encrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 115 NONAME ; enum eap_status_e crypto_3des_ede_c::encrypt_block(void const *, void *, unsigned long)
+	?get_length@eap_header_base_c@@QBEGXZ @ 116 NONAME ; unsigned short eap_header_base_c::get_length(void) const
+	?reset@eap_session_core_c@@QAE?AW4eap_status_e@@XZ @ 117 NONAME ; enum eap_status_e eap_session_core_c::reset(void)
+	?set_buffer_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 118 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer_length(unsigned long)
+	?set_is_invalid@crypto_sha1_c@@AAEXXZ @ 119 NONAME ; void crypto_sha1_c::set_is_invalid(void)
+	?dsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 120 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_init(class eap_variable_data_c *)
+	?get_is_valid@crypto_dsa_c@@QAE_NXZ @ 121 NONAME ; bool crypto_dsa_c::get_is_valid(void)
+	?get_SNonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 122 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_SNonce(void)
+	?asynchronous_init_remove_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_network_id_selector_c@@@Z @ 123 NONAME ; enum eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(class eap_network_id_selector_c const *)
+	?unload_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 124 NONAME ; enum eap_status_e eap_core_c::unload_module(class eap_expanded_type_c)
+	?aes_decrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 125 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_decrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
+	?set_do_packet_retransmission@eap_buf_chain_base_c@@QAEX_N@Z @ 126 NONAME ; void eap_buf_chain_base_c::set_do_packet_retransmission(bool)
+	?get_is_valid@crypto_rsa_c@@QAE_NXZ @ 127 NONAME ; bool crypto_rsa_c::get_is_valid(void)
+	?initialize_4_way_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@@Z @ 128 NONAME ; enum eap_status_e eapol_key_state_c::initialize_4_way_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e)
+	??1eapol_header_base_c@@UAE@XZ @ 129 NONAME ; eapol_header_base_c::~eapol_header_base_c(void)
+	??8eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 130 NONAME ; bool eap_expanded_type_c::operator==(enum eap_type_ietf_values_e) const
+	?get_type_partner@eap_base_type_c@@QAEPAVabs_eap_base_type_c@@XZ @ 131 NONAME ; class abs_eap_base_type_c * eap_base_type_c::get_type_partner(void)
+	?cancel_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 132 NONAME ; enum eap_status_e eapol_key_state_c::cancel_handshake_timeout(void)
+	?read_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 133 NONAME ; enum eap_status_e eap_session_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?memory_store_add_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@K@Z @ 134 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *, unsigned long)
+	?get_sha_256_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 135 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_digest_length(class eap_variable_data_c *)
+	?get_key_information_key_ack@eapol_RSNA_key_header_c@@QBE_NXZ @ 136 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_ack(void) const
+	?check_header@eapol_RSNA_key_header_c@@UBE?AW4eap_status_e@@XZ @ 137 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::check_header(void) const
+	??0eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_NPBVeap_am_network_id_c@@2@Z @ 138 NONAME ; eap_core_c::eap_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool, class eap_am_network_id_c const *, bool)
+	?set_decryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 139 NONAME ; enum eap_status_e crypto_aes_c::set_decryption_key(void const *, unsigned long)
+	?get_is_manipulated@eap_buf_chain_base_c@@QAE_NXZ @ 140 NONAME ; bool eap_buf_chain_base_c::get_is_manipulated(void)
+	?get_source@eap_am_network_id_c@@QBEPBEXZ @ 141 NONAME ; unsigned char const * eap_am_network_id_c::get_source(void) const
+	?cancel_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 142 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	??0crypto_3des_ede_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 143 NONAME ; crypto_3des_ede_c::crypto_3des_ede_c(class abs_eap_am_tools_c *)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_am_network_id_c@@@Z @ 144 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_am_network_id_c *)
+	??0eap_am_memory_store_tlv_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 145 NONAME ; eap_am_memory_store_tlv_data_c::eap_am_memory_store_tlv_data_c(class abs_eap_am_tools_c *)
+	??1crypto_md5_c@@UAE@XZ @ 146 NONAME ; crypto_md5_c::~crypto_md5_c(void)
+	?set_trace_file_name@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 147 NONAME ; enum eap_status_e eap_am_tools_symbian_c::set_trace_file_name(class eap_variable_data_c const *)
+	?start_WPXM_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 148 NONAME ; enum eap_status_e eapol_core_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *)
+	?state_notification@ethernet_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 149 NONAME ; void ethernet_core_c::state_notification(class abs_eap_state_notification_c const *)
+	?set_is_valid@crypto_ephemeral_diffie_hellman_c@@QAEXXZ @ 150 NONAME ; void crypto_ephemeral_diffie_hellman_c::set_is_valid(void)
+	?init_pmksa_caching_timeout@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 151 NONAME ; enum eap_status_e eapol_key_state_c::init_pmksa_caching_timeout(void)
+	?disassociation@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 152 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::disassociation(class eap_am_network_id_c const *)
+	??1eap_am_file_input_symbian_c@@UAE@XZ @ 153 NONAME ; eap_am_file_input_symbian_c::~eap_am_file_input_symbian_c(void)
+	?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 154 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W42@@Z @ 155 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(enum eap_status_e)
+	?get_digest_length@crypto_md4_c@@UAEKXZ @ 156 NONAME ; unsigned long crypto_md4_c::get_digest_length(void)
+	?eap_read_u16_t_little_endian_order@@YAGPBXK@Z @ 157 NONAME ; unsigned short eap_read_u16_t_little_endian_order(void const *, unsigned long)
+	?get_EAPOL_key_IV@eapol_RSNA_key_header_c@@QBEPAEXZ @ 158 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_EAPOL_key_IV(void) const
+	?get_vendor_id@eap_expanded_type_c@@QBE?AW4eap_type_vendor_id_e@@XZ @ 159 NONAME ; enum eap_type_vendor_id_e eap_expanded_type_c::get_vendor_id(void) const
+	?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 160 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void const *, void *, unsigned long)
+	?write_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 161 NONAME ; enum eap_status_e ethernet_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?u64_struct_to_u64_t@eap_am_tools_symbian_c@@UAE_KUu64_struct@@@Z @ 162 NONAME ; unsigned long long eap_am_tools_symbian_c::u64_struct_to_u64_t(struct u64_struct)
+	?get_eap_identifier@eap_core_nak_info_c@@QBEEXZ @ 163 NONAME ; unsigned char eap_core_nak_info_c::get_eap_identifier(void) const
+	??0crypto_aes_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 164 NONAME ; crypto_aes_c::crypto_aes_c(class abs_eap_am_tools_c *)
+	?md4_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 165 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
+	?t_prf_init@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 166 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@1G@Z @ 167 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short)
+	??1abs_crypto_block_algorithm_c@@UAE@XZ @ 168 NONAME ; abs_crypto_block_algorithm_c::~abs_crypto_block_algorithm_c(void)
+	?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 169 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, void const *, unsigned long)
+	?create_uuid_v5_from_mac_address@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAVeap_variable_data_c@@@Z @ 170 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5_from_mac_address(unsigned char const *, unsigned long, class eap_variable_data_c *)
+	?shutdown_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 171 NONAME ; enum eap_status_e eap_core_c::shutdown_operation(class eap_base_type_c *, class abs_eap_am_tools_c *)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_expanded_type_c@@@Z @ 172 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_expanded_type_c *)
+	?create_state@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 173 NONAME ; enum eap_status_e eapol_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?stop_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 174 NONAME ; enum eap_status_e eap_am_tools_symbian_c::stop_timer_thread(void)
+	?start_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 175 NONAME ; enum eap_status_e eapol_key_state_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *)
+	?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEXZ @ 176 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(void) const
+	?compare_length@eap_variable_data_c@@QBEJPBV1@K@Z @ 177 NONAME ; long eap_variable_data_c::compare_length(class eap_variable_data_c const *, unsigned long) const
+	??0eap_am_mutex_base_c@@QAE@XZ @ 178 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(void)
+	?cancel_all_timers@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 179 NONAME ; enum eap_status_e eapol_core_c::cancel_all_timers(void)
+	?get_header_buffer_length@eap_general_header_base_c@@QBEKXZ @ 180 NONAME ; unsigned long eap_general_header_base_c::get_header_buffer_length(void) const
+	?get_data_length@eap_variable_data_c@@QBEKXZ @ 181 NONAME ; unsigned long eap_variable_data_c::get_data_length(void) const
+	?restart_authentication@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 182 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PA_K@Z @ 183 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long long *)
+	?add_rand_seed@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBEK@Z @ 184 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed(unsigned char const *, unsigned long)
+	??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 185 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *)
+	?process_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 186 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?set_type@eap_am_network_id_c@@QAEXG@Z @ 187 NONAME ; void eap_am_network_id_c::set_type(unsigned short)
+	?set_is_valid@eap_variable_data_c@@QAEXXZ @ 188 NONAME ; void eap_variable_data_c::set_is_valid(void)
+	?get_trace_mask@eap_am_tools_c@@UBEKXZ @ 189 NONAME ; unsigned long eap_am_tools_c::get_trace_mask(void) const
+	?start_authentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 190 NONAME ; enum eap_status_e ethernet_core_c::start_authentication(class eap_am_network_id_c const *, bool)
+	?get_owner_thread@eap_am_mutex_symbian_c@@QBEPBVRThread@@XZ @ 191 NONAME ; class RThread const * eap_am_mutex_symbian_c::get_owner_thread(void) const
+	?copy@eap_am_crypto_sha_256_c@@QAEPAV1@XZ @ 192 NONAME ; class eap_am_crypto_sha_256_c * eap_am_crypto_sha_256_c::copy(void)
+	??0crypto_md5_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 193 NONAME ; crypto_md5_c::crypto_md5_c(class abs_eap_am_tools_c *)
+	??1eapol_ethernet_header_wr_c@@UAE@XZ @ 194 NONAME ; eapol_ethernet_header_wr_c::~eapol_ethernet_header_wr_c(void)
+	?parse_nai@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1@Z @ 195 NONAME ; enum eap_status_e eap_am_tools_c::parse_nai(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *)
+	?get_eap_type@eap_state_notification_c@@UBE?AVeap_expanded_type_c@@XZ @ 196 NONAME ; class eap_expanded_type_c eap_state_notification_c::get_eap_type(void) const
+	?reset_cached_pmksa@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 197 NONAME ; enum eap_status_e eapol_key_state_c::reset_cached_pmksa(void)
+	?get_header_offset@eap_session_core_c@@UAEKPAK0@Z @ 198 NONAME ; unsigned long eap_session_core_c::get_header_offset(unsigned long *, unsigned long *)
+	?get_key_information_key_index@eapol_RSNA_key_header_c@@QBEEXZ @ 199 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_key_index(void) const
+	?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 200 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void const *, void *, unsigned long)
+	?hmac_128_final@crypto_hmac_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 201 NONAME ; enum eap_status_e crypto_hmac_c::hmac_128_final(void *, unsigned long *)
+	?get_is_valid@crypto_rc4_c@@UAE_NXZ @ 202 NONAME ; bool crypto_rc4_c::get_is_valid(void)
+	?complete_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 203 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *)
+	?new_eapol_wlan_authentication@eapol_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@_NPBVabs_eapol_wlan_database_reference_if_c@@@Z @ 204 NONAME ; class eapol_wlan_authentication_c * eapol_wlan_authentication_c::new_eapol_wlan_authentication(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, bool, class abs_eapol_wlan_database_reference_if_c const *)
+	?set_is_valid@eap_session_core_c@@UAEXXZ @ 205 NONAME ; void eap_session_core_c::set_is_valid(void)
+	?re_activate_timer_queue@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 206 NONAME ; enum eap_status_e eap_am_tools_symbian_c::re_activate_timer_queue(void)
+	?eap_host_to_little_endian_long_long@@YA_K_K@Z @ 207 NONAME ; unsigned long long eap_host_to_little_endian_long_long(unsigned long long)
+	?set_bits_on@eapol_RSNA_key_header_c@@QAEGGGKK@Z @ 208 NONAME ; unsigned short eapol_RSNA_key_header_c::set_bits_on(unsigned short, unsigned short, unsigned long, unsigned long)
+	??1eap_buf_chain_rd_c@@UAE@XZ @ 209 NONAME ; eap_buf_chain_rd_c::~eap_buf_chain_rd_c(void)
+	?set_decryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 210 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_decryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	??0eap_am_mutex_symbian_c@@QAE@PBV0@@Z @ 211 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(class eap_am_mutex_symbian_c const *)
+	?start_preauthentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 212 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_preauthentication(class eap_array_c<class eap_tlv_header_c> const *)
+	?eap_status_return_file_number@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@KKJ@Z @ 213 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return_file_number(bool, enum eap_status_e, unsigned long, unsigned long, long)
+	??1eap_core_c@@UAE@XZ @ 214 NONAME ; eap_core_c::~eap_core_c(void)
+	?create_eapol_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@_NPAVeap_buf_chain_wr_c@@KPAK2_KW4eapol_protocol_version_e@@@Z @ 215 NONAME ; enum eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0(bool, class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e)
+	?copy_context@crypto_sha_256_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 216 NONAME ; enum eap_status_e crypto_sha_256_c::copy_context(class eap_variable_data_c const *)
+	??0eap_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 217 NONAME ; eap_header_wr_c::eap_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
+	?hash_init@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 218 NONAME ; enum eap_status_e crypto_sha1_c::hash_init(void)
+	?check_is_valid_eap_type@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 219 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_is_valid_eap_type(class eap_expanded_type_c)
+	?set_copy_of_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 220 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_network_id(class eap_am_network_id_c const *)
+	?hash@eap_variable_data_c@@QBEKK@Z @ 221 NONAME ; unsigned long eap_variable_data_c::hash(unsigned long) const
+	?get_subsect@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAVeap_variable_data_c@@@Z @ 222 NONAME ; enum eap_status_e eap_file_config_c::get_subsect(class abs_eap_am_file_input_c *, class eap_variable_data_c *)
+	?eap_status_return@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@PBDJ@Z @ 223 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return(bool, enum eap_status_e, char const *, long)
+	?object_increase_reference_count@eap_core_c@@QAEXXZ @ 224 NONAME ; void eap_core_c::object_increase_reference_count(void)
+	?send_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 225 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_message(class eapol_handle_tlv_message_data_c *)
+	?expand_key@crypto_kd_hmac_sha256_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@KPBV3@1@Z @ 226 NONAME ; enum eap_status_e crypto_kd_hmac_sha256_c::expand_key(class eap_variable_data_c *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?set_is_invalid@crypto_tls_sha1_prf_c@@AAEXXZ @ 227 NONAME ; void crypto_tls_sha1_prf_c::set_is_invalid(void)
+	?process_4_way_handshake_message_3_payloads_b@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K_N@Z @ 228 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool)
+	?get_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@QAE_NXZ @ 229 NONAME ; bool crypto_eap_fast_hmac_sha1_prf_c::get_is_valid(void)
+	?copy@eap_rogue_ap_entry_c@@QBEPAV1@XZ @ 230 NONAME ; class eap_rogue_ap_entry_c * eap_rogue_ap_entry_c::copy(void) const
+	?set_is_valid@crypto_cbc_c@@UAEXXZ @ 231 NONAME ; void crypto_cbc_c::set_is_valid(void)
+	?tls_prf_cleanup@crypto_tls_prf_c@@QAE?AW4eap_status_e@@XZ @ 232 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_cleanup(void)
+	?get_packet_type@eapol_header_base_c@@QBE?AW4eapol_packet_type_e@@XZ @ 233 NONAME ; enum eapol_packet_type_e eapol_header_base_c::get_packet_type(void) const
+	?copy@crypto_sha1_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 234 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha1_c::copy(void)
+	?add_rogue_ap@eapol_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 235 NONAME ; enum eap_status_e eapol_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
+	?timer_expired@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 236 NONAME ; enum eap_status_e eap_core_c::timer_expired(unsigned long, void *)
+	?get_data_length@eapol_ethernet_header_base_c@@QBEKXZ @ 237 NONAME ; unsigned long eapol_ethernet_header_base_c::get_data_length(void) const
+	?file_read_line@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 238 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_line(class eap_variable_data_c *)
+	?decrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 239 NONAME ; enum eap_status_e eapol_key_state_c::decrypt_key_data(class eapol_RSNA_key_header_c *)
+	?reset@eap_core_c@@QAE?AW4eap_status_e@@XZ @ 240 NONAME ; enum eap_status_e eap_core_c::reset(void)
+	?state_notification@eapol_message_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 241 NONAME ; void eapol_message_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *)
+	?get_received_PMKID@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 242 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_received_PMKID(void)
+	?eap_host_to_little_endian_short@@YAGG@Z @ 243 NONAME ; unsigned short eap_host_to_little_endian_short(unsigned short)
+	?configure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 244 NONAME ; enum eap_status_e eapol_wlan_authentication_c::configure(void)
+	?get_key_index@eapol_session_key_c@@QBEKXZ @ 245 NONAME ; unsigned long eapol_session_key_c::get_key_index(void) const
+	?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 246 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const
+	??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@PBXK_N2@Z @ 247 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *, void const *, unsigned long, bool, bool)
+	?check_pmksa_cache@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@1@Z @ 248 NONAME ; enum eap_status_e eapol_key_state_c::check_pmksa_cache(enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	??1abs_crypto_stream_algorithm_c@@UAE@XZ @ 249 NONAME ; abs_crypto_stream_algorithm_c::~abs_crypto_stream_algorithm_c(void)
+	??1eapol_ethernet_header_base_c@@UAE@XZ @ 250 NONAME ; eapol_ethernet_header_base_c::~eapol_ethernet_header_base_c(void)
+	?eap_read_u24_t_network_order@@YAKPBXK@Z @ 251 NONAME ; unsigned long eap_read_u24_t_network_order(void const *, unsigned long)
+	??0eapol_am_wlan_authentication_symbian_c@@QAE@PAVabs_eap_am_tools_c@@_NPBVabs_eapol_wlan_database_reference_if_c@@@Z @ 252 NONAME ; eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(class abs_eap_am_tools_c *, bool, class abs_eapol_wlan_database_reference_if_c const *)
+	?set_key_data_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 253 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_data_length(unsigned short)
+	?hash_init@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@XZ @ 254 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_init(void)
+	?cnf_get_string@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1PAW4eap_configure_type_e@@@Z @ 255 NONAME ; enum eap_status_e eap_file_config_c::cnf_get_string(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, enum eap_configure_type_e *)
+	?increase_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 256 NONAME ; void eapol_key_state_c::increase_key_reply_counter(void)
+	?sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 257 NONAME ; void eap_am_tools_symbian_c::sleep(unsigned long)
+	?eap_sha1_process_data_host_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 258 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_host_order(unsigned long const *, unsigned long)
+	?restart_authentication@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 259 NONAME ; enum eap_status_e eapol_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
+	?started_eap_authentication@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 260 NONAME ; enum eap_status_e eapol_key_state_c::started_eap_authentication(void)
+	?get_key_flag@eapol_RC4_key_header_c@@QBE?AW4eapol_RC4_key_flags_e@@XZ @ 261 NONAME ; enum eapol_RC4_key_flags_e eapol_RC4_key_header_c::get_key_flag(void) const
+	?get_data@eapol_header_base_c@@QBEPAEK@Z @ 262 NONAME ; unsigned char * eapol_header_base_c::get_data(unsigned long) const
+	?get_block_size@crypto_sha1_c@@UAEKXZ @ 263 NONAME ; unsigned long crypto_sha1_c::get_block_size(void)
+	?set_is_valid@crypto_tls_sha1_prf_c@@AAEXXZ @ 264 NONAME ; void crypto_tls_sha1_prf_c::set_is_valid(void)
+	?get_clock_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 265 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks(void)
+	?packet_process@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 266 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_process(class eap_array_c<class eap_tlv_header_c> const *)
+	?get_data@eap_buf_chain_base_c@@QBEPAEK@Z @ 267 NONAME ; unsigned char * eap_buf_chain_base_c::get_data(unsigned long) const
+	?zero_EAPOL_header_and_Key_descriptor@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 268 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_header_and_Key_descriptor(class abs_eap_am_tools_c *)
+	?copy@network_key_and_index_c@@QAEPAV1@XZ @ 269 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void)
+	?get_is_encryption_on@eapol_key_state_c@@QAE_NXZ @ 270 NONAME ; bool eapol_key_state_c::get_is_encryption_on(void)
+	?copy@crypto_md5_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 271 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md5_c::copy(void)
+	?get_rand_bytes@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK@Z @ 272 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::get_rand_bytes(unsigned char *, unsigned long)
+	?get_type@eap_am_network_id_c@@QBEGXZ @ 273 NONAME ; unsigned short eap_am_network_id_c::get_type(void) const
+	?get_eap_type@eap_master_session_key_c@@QBE?AVeap_expanded_type_c@@XZ @ 274 NONAME ; class eap_expanded_type_c eap_master_session_key_c::get_eap_type(void) const
+	?get_key_length@crypto_cbc_c@@UAEKXZ @ 275 NONAME ; unsigned long crypto_cbc_c::get_key_length(void)
+	?packet_data_session_key@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 276 NONAME ; enum eap_status_e eapol_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
+	?get_key_length@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@PAG@Z @ 277 NONAME ; enum eap_status_e eapol_key_state_c::get_key_length(enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned short *)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@E@Z @ 278 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned char)
+	?packet_process@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 279 NONAME ; enum eap_status_e eap_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?hash_init@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 280 NONAME ; enum eap_status_e crypto_md5_c::hash_init(void)
+	??0eap_session_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_N@Z @ 281 NONAME ; eap_session_core_c::eap_session_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool)
+	?memmove@eap_am_tools_symbian_c@@UAEXPAXPBXK@Z @ 282 NONAME ; void eap_am_tools_symbian_c::memmove(void *, void const *, unsigned long)
+	?set_marked_removed@eap_core_c@@QAEXXZ @ 283 NONAME ; void eap_core_c::set_marked_removed(void)
+	?get_is_valid@eapol_message_wlan_authentication_c@@QAE_NXZ @ 284 NONAME ; bool eapol_message_wlan_authentication_c::get_is_valid(void)
+	?set_key_type@eapol_session_key_c@@QAEXW4eapol_key_type_e@@@Z @ 285 NONAME ; void eapol_session_key_c::set_key_type(enum eapol_key_type_e)
+	?eap_htonl@@YAKK@Z @ 286 NONAME ; unsigned long eap_htonl(unsigned long)
+	?sha_256_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 287 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	?eap_md4_transform_host_order@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 288 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_transform_host_order(unsigned long const *, unsigned long)
+	?add_rogue_ap@ethernet_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 289 NONAME ; enum eap_status_e ethernet_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
+	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 290 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *)
+	?get_is_valid@eap_am_crypto_rc4_c@@QAE_NXZ @ 291 NONAME ; bool eap_am_crypto_rc4_c::get_is_valid(void)
+	?get_and_increment_global_key_counter@eapol_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 292 NONAME ; enum eap_status_e eapol_core_c::get_and_increment_global_key_counter(class eap_variable_data_c *)
+	?set_version@eapol_header_base_c@@QAEXW4eapol_protocol_version_e@@@Z @ 293 NONAME ; void eapol_header_base_c::set_version(enum eapol_protocol_version_e)
+	?set_encryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 294 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_encryption_key(void const *, unsigned long)
+	?start_preauthentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 295 NONAME ; enum eap_status_e eapol_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?write_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 296 NONAME ; enum eap_status_e eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?cleanup@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 297 NONAME ; enum eap_status_e crypto_rsa_c::cleanup(void)
+	?object_decrease_reference_count@eap_base_type_c@@QAEKXZ @ 298 NONAME ; unsigned long eap_base_type_c::object_decrease_reference_count(void)
+	?get_is_valid@crypto_md4_c@@UAE_NXZ @ 299 NONAME ; bool crypto_md4_c::get_is_valid(void)
+	??1eap_header_rd_c@@UAE@XZ @ 300 NONAME ; eap_header_rd_c::~eap_header_rd_c(void)
+	?allocate_message_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAPAX@Z @ 301 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_buffer(unsigned long, unsigned long, void * *)
+	?hash_cleanup@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 302 NONAME ; enum eap_status_e crypto_sha1_c::hash_cleanup(void)
+	?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 303 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(void const *, unsigned long, class eap_variable_data_c *)
+	?check_pmksa_cache@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 304 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?parse_generic_key_data_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@@Z @ 305 NONAME ; enum eap_status_e eapol_key_state_c::parse_generic_key_data_payload(enum eapol_key_descriptor_type_e, enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e)
+	?hash_update@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PBXK@Z @ 306 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_update(void const *, unsigned long)
+	?set_key_information@eapol_RSNA_key_header_c@@AAE?AW4eap_status_e@@G@Z @ 307 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information(unsigned short)
+	?get_is_reserved@eap_am_mutex_base_c@@QBE_NXZ @ 308 NONAME ; bool eap_am_mutex_base_c::get_is_reserved(void) const
+	?start_group_key_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 309 NONAME ; enum eap_status_e eapol_key_state_c::start_group_key_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?process_RC4_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 310 NONAME ; enum eap_status_e eapol_key_state_c::process_RC4_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?hash_init@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@XZ @ 311 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_init(void)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 312 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<class simple_config_credential_c> *)
+	?get_is_valid@crypto_cbc_c@@UAE_NXZ @ 313 NONAME ; bool crypto_cbc_c::get_is_valid(void)
+	?convert_bytes_to_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 314 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
+	?copy@eap_network_id_selector_c@@QBEPAV1@XZ @ 315 NONAME ; class eap_network_id_selector_c * eap_network_id_selector_c::copy(void) const
+	?get_mem_guard_length@eap_buf_chain_base_c@@QAEKXZ @ 316 NONAME ; unsigned long eap_buf_chain_base_c::get_mem_guard_length(void)
+	?get_key_descriptor_type@eapol_RC4_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 317 NONAME ; enum eapol_key_descriptor_type_e eapol_RC4_key_header_c::get_key_descriptor_type(void) const
+	?eap_write_u16_t_little_endian_order@@YA?AW4eap_status_e@@PAXKG@Z @ 318 NONAME ; enum eap_status_e eap_write_u16_t_little_endian_order(void *, unsigned long, unsigned short)
+	?timer_expired@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 319 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_expired(unsigned long, void *)
+	??1crypto_3des_ede_c@@UAE@XZ @ 320 NONAME ; crypto_3des_ede_c::~crypto_3des_ede_c(void)
+	?timer_expired@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 321 NONAME ; enum eap_status_e eapol_core_c::timer_expired(unsigned long, void *)
+	?get_saved_eap_identity@eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 322 NONAME ; enum eap_status_e eap_core_c::get_saved_eap_identity(class eap_variable_data_c *)
+	?convert_ascii_to_uppercase@eap_am_tools_c@@UAE?AW4eap_status_e@@PAEK@Z @ 323 NONAME ; enum eap_status_e eap_am_tools_c::convert_ascii_to_uppercase(unsigned char *, unsigned long)
+	?decrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 324 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?cancel_all_timers@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 325 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_all_timers(void)
+	?tls_prf_output@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 326 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_output(void *, unsigned long)
+	?get_is_writable@eap_variable_data_c@@QBE_NXZ @ 327 NONAME ; bool eap_variable_data_c::get_is_writable(void) const
+	?convert_eap_type_to_u64_t@@YA_KVeap_expanded_type_c@@@Z @ 328 NONAME ; unsigned long long convert_eap_type_to_u64_t(class eap_expanded_type_c)
+	?hash_cleanup@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 329 NONAME ; enum eap_status_e crypto_sha_256_c::hash_cleanup(void)
+	?get_vendor_type@eap_expanded_type_c@@QBEKXZ @ 330 NONAME ; unsigned long eap_expanded_type_c::get_vendor_type(void) const
+	?get_expanded_ietf_type_offset@eap_header_base_c@@SAKXZ @ 331 NONAME ; unsigned long eap_header_base_c::get_expanded_ietf_type_offset(void)
+	?get_data@eap_variable_data_c@@QBEPAEK@Z @ 332 NONAME ; unsigned char * eap_variable_data_c::get_data(unsigned long) const
+	?dublicate_mutex@eap_am_mutex_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 333 NONAME ; class abs_eap_am_mutex_c * eap_am_mutex_symbian_c::dublicate_mutex(void)
+	?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 334 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void const *, void *, unsigned long)
+	?disassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 335 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociation(class eap_array_c<class eap_tlv_header_c> const *)
+	?cancel_authentication_session@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 336 NONAME ; enum eap_status_e eapol_core_c::cancel_authentication_session(class eapol_key_state_c *, class abs_eap_am_tools_c *)
+	?hmac_cleanup@crypto_hmac_c@@UAE?AW4eap_status_e@@XZ @ 337 NONAME ; enum eap_status_e crypto_hmac_c::hmac_cleanup(void)
+	??1eapol_rsna_variable_data_c@@UAE@XZ @ 338 NONAME ; eapol_rsna_variable_data_c::~eapol_rsna_variable_data_c(void)
+	?configure@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 339 NONAME ; enum eap_status_e eapol_key_state_c::configure(void)
+	?set_copy@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 340 NONAME ; enum eap_status_e eap_master_session_key_c::set_copy(class eap_master_session_key_c const *)
+	?hash_init@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@XZ @ 341 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_init(void)
+	?get_send_network_id@eap_core_retransmission_c@@QAEPAVeap_am_network_id_c@@XZ @ 342 NONAME ; class eap_am_network_id_c * eap_core_retransmission_c::get_send_network_id(void)
+	?get_eapol_packet_body_length@eapol_RSNA_key_header_c@@QBEGXZ @ 343 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_body_length(void) const
+	?get_is_valid@eapol_session_key_c@@QBE_NXZ @ 344 NONAME ; bool eapol_session_key_c::get_is_valid(void) const
+	?get_ietf_type_field_length@eap_header_base_c@@SAKXZ @ 345 NONAME ; unsigned long eap_header_base_c::get_ietf_type_field_length(void)
+	?rsa_encrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 346 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	??0crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 347 NONAME ; crypto_sha_256_c::crypto_sha_256_c(class abs_eap_am_tools_c *)
+	??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 348 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long)
+	?eap_read_u64_t_little_endian_order@@YA_KPBXK@Z @ 349 NONAME ; unsigned long long eap_read_u64_t_little_endian_order(void const *, unsigned long)
+	?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 350 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void *, unsigned long)
+	?get_is_valid@crypto_wpa_psk_password_hash_c@@QAE_NXZ @ 351 NONAME ; bool crypto_wpa_psk_password_hash_c::get_is_valid(void)
+	??1ethernet_core_c@@UAE@XZ @ 352 NONAME ; ethernet_core_c::~ethernet_core_c(void)
+	?eap_acknowledge@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 353 NONAME ; enum eap_status_e eap_session_core_c::eap_acknowledge(class eap_am_network_id_c const *)
+	?get_key_information_key_type@eapol_RSNA_key_header_c@@QBE_NXZ @ 354 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_type(void) const
+	??1crypto_aes_wrap_c@@UAE@XZ @ 355 NONAME ; crypto_aes_wrap_c::~crypto_aes_wrap_c(void)
+	?get_status_string@eap_status_string_c@@SAPBDW4eap_status_e@@@Z @ 356 NONAME ; char const * eap_status_string_c::get_status_string(enum eap_status_e)
+	?get_is_valid@crypto_md5_c@@UAE_NXZ @ 357 NONAME ; bool crypto_md5_c::get_is_valid(void)
+	?get_timer_queue_is_empty@eap_am_tools_symbian_c@@UAE_NXZ @ 358 NONAME ; bool eap_am_tools_symbian_c::get_timer_queue_is_empty(void)
+	?compare_u64@eap_am_tools_c@@UAEJ_K0@Z @ 359 NONAME ; long eap_am_tools_c::compare_u64(unsigned long long, unsigned long long)
+	?enter_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 360 NONAME ; void eap_am_tools_symbian_c::enter_crypto_cs(void)
+	??0crypto_nt_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 361 NONAME ; crypto_nt_hash_c::crypto_nt_hash_c(class abs_eap_am_tools_c *)
+	?md5_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 362 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
+	??0crypto_tls_md5_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 363 NONAME ; crypto_tls_md5_prf_c::crypto_tls_md5_prf_c(class abs_eap_am_tools_c *)
+	?object_increase_reference_count@eap_am_memory_store_tlv_data_c@@QAEXXZ @ 364 NONAME ; void eap_am_memory_store_tlv_data_c::object_increase_reference_count(void)
+	?get_gmt_unix_time@eap_am_tools_symbian_c@@UAEKXZ @ 365 NONAME ; unsigned long eap_am_tools_symbian_c::get_gmt_unix_time(void)
+	?cleanup@eap_am_crypto_rc4_c@@AAE?AW4eap_status_e@@XZ @ 366 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::cleanup(void)
+	?file_copy@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 367 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_copy(class eap_variable_data_c const *, class eap_variable_data_c const *)
+	??1eap_am_crypto_symbian_c@@UAE@XZ @ 368 NONAME ; eap_am_crypto_symbian_c::~eap_am_crypto_symbian_c(void)
+	?cancel_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 369 NONAME ; enum eap_status_e eapol_key_state_c::cancel_retransmission(void)
+	?get_use_seconds_timestamp_in_traces@eap_am_tools_c@@QAE_NXZ @ 370 NONAME ; bool eap_am_tools_c::get_use_seconds_timestamp_in_traces(void)
+	?get_master_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 371 NONAME ; enum eap_status_e crypto_nt_hash_c::get_master_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
+	?start_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 372 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
+	?packet_data_crypto_keys@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 373 NONAME ; enum eap_status_e eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
+	?get_protocol_layer_string@eap_state_notification_c@@SAPBDK@Z @ 374 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(unsigned long)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAW4eapol_tlv_message_type_function_e@@@Z @ 375 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, enum eapol_tlv_message_type_function_e *)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPAVnetwork_key_and_index_c@@@Z @ 376 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class network_key_and_index_c *) const
+	?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 377 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void)
+	?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 378 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void *, unsigned long)
+	?add_rand_seed_hw_ticks@crypto_random_c@@QAE?AW4eap_status_e@@XZ @ 379 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed_hw_ticks(void)
+	?set_is_valid@eap_am_crypto_symbian_c@@UAEXXZ @ 380 NONAME ; void eap_am_crypto_symbian_c::set_is_valid(void)
+	?set_buffer_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 381 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_buffer_length(unsigned long)
+	?check_header@eapol_RC4_key_header_c@@UBE?AW4eap_status_e@@XZ @ 382 NONAME ; enum eap_status_e eapol_RC4_key_header_c::check_header(void) const
+	?set_is_valid@crypto_hmac_c@@UAEXXZ @ 383 NONAME ; void crypto_hmac_c::set_is_valid(void)
+	?get_previous_state@eap_state_notification_c@@UBEKXZ @ 384 NONAME ; unsigned long eap_state_notification_c::get_previous_state(void) const
+	?packet_send@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 385 NONAME ; enum eap_status_e eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?cancel_authentication_session@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 386 NONAME ; enum eap_status_e eapol_key_state_c::cancel_authentication_session(void)
+	?read_hex_byte@eap_file_config_c@@AAEPAEPAEPBE0@Z @ 387 NONAME ; unsigned char * eap_file_config_c::read_hex_byte(unsigned char *, unsigned char const *, unsigned char *)
+	?read_configure@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@_N@Z @ 388 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *, class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *, bool)
+	?get_md5_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 389 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_block_size(class eap_variable_data_c *)
+	??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 390 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long)
+	??1eap_core_retransmission_c@@UAE@XZ @ 391 NONAME ; eap_core_retransmission_c::~eap_core_retransmission_c(void)
+	?set_session_timeout@eapol_core_c@@UAE?AW4eap_status_e@@K@Z @ 392 NONAME ; enum eap_status_e eapol_core_c::set_session_timeout(unsigned long)
+	??1eap_tlv_message_data_c@@UAE@XZ @ 393 NONAME ; eap_tlv_message_data_c::~eap_tlv_message_data_c(void)
+	?hash_init@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 394 NONAME ; enum eap_status_e crypto_md4_c::hash_init(void)
+	?encrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 395 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::encrypt_data(void const *, void *, unsigned long)
+	?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 396 NONAME ; enum eap_status_e eap_variable_data_c::add_data(class eap_variable_data_c const *)
+	?read_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 397 NONAME ; enum eap_status_e eapol_wlan_authentication_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?configure@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 398 NONAME ; enum eap_status_e eap_session_core_c::configure(void)
+	?get_destination_length@eap_am_network_id_c@@QBEKXZ @ 399 NONAME ; unsigned long eap_am_network_id_c::get_destination_length(void) const
+	?tls_prf_init@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 400 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?get_timer_id@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 401 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_timer_id(void) const
+	?get_is_valid@eapol_wlan_authentication_c@@QAE_NXZ @ 402 NONAME ; bool eapol_wlan_authentication_c::get_is_valid(void)
+	??9eap_expanded_type_c@@QBE_NABV0@@Z @ 403 NONAME ; bool eap_expanded_type_c::operator!=(class eap_expanded_type_c const &) const
+	?trace_eapol_key_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBDPAVeapol_RSNA_key_header_c@@@Z @ 404 NONAME ; enum eap_status_e eapol_key_state_c::trace_eapol_key_message(char const *, class eapol_RSNA_key_header_c *)
+	?eap_acknowledge@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 405 NONAME ; enum eap_status_e eap_core_c::eap_acknowledge(class eap_am_network_id_c const *)
+	?md4_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 406 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_init(class eap_variable_data_c *)
+	?get_is_tunneled_eap@eap_core_c@@UBE_NXZ @ 407 NONAME ; bool eap_core_c::get_is_tunneled_eap(void) const
+	??1crypto_tls_base_prf_c@@UAE@XZ @ 408 NONAME ; crypto_tls_base_prf_c::~crypto_tls_base_prf_c(void)
+	?complete_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 409 NONAME ; enum eap_status_e ethernet_core_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
+	?octet_to_ascii@eap_am_tools_c@@UAEEJ@Z @ 410 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii(long)
+	?get_is_valid_data@eap_buf_chain_base_c@@QBE_NXZ @ 411 NONAME ; bool eap_buf_chain_base_c::get_is_valid_data(void) const
+	??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 412 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long)
+	?process_group_key_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 413 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?load_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 414 NONAME ; enum eap_status_e ethernet_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
+	?get_is_valid@eap_am_crypto_md4_c@@QAE_NXZ @ 415 NONAME ; bool eap_am_crypto_md4_c::get_is_valid(void)
+	?get_next_retransmission_counter@eap_core_retransmission_c@@QAEKXZ @ 416 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_counter(void)
+	?hash_final@crypto_md5_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 417 NONAME ; enum eap_status_e crypto_md5_c::hash_final(void *, unsigned long *)
+	?get_eap_type_list@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 418 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@G@Z @ 419 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned short)
+	?dh_cleanup@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 420 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::dh_cleanup(class eap_variable_data_c const *)
+	?send_eap_failure@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 421 NONAME ; enum eap_status_e eap_core_c::send_eap_failure(class eap_am_network_id_c const *, unsigned char)
+	?set_sequence_number@eapol_session_key_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 422 NONAME ; enum eap_status_e eapol_session_key_c::set_sequence_number(class eap_variable_data_c *)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@_N@Z @ 423 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(bool)
+	?get_send_packet_index@eap_buf_chain_base_c@@QAEKXZ @ 424 NONAME ; unsigned long eap_buf_chain_base_c::get_send_packet_index(void)
+	?packet_send@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 425 NONAME ; enum eap_status_e eap_session_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?set_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 426 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_descriptor_version(unsigned char)
+	?reset_eap_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 427 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_configuration(void)
+	?get_state_string@eap_state_notification_c@@SAPBDKK@Z @ 428 NONAME ; char const * eap_state_notification_c::get_state_string(unsigned long, unsigned long)
+	?copy_context@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK2@Z @ 429 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *)
+	?get_network_index@simple_config_credential_c@@QAEEXZ @ 430 NONAME ; unsigned char simple_config_credential_c::get_network_index(void)
+	?shutdown@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 431 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::shutdown(void)
+	?get_is_valid@ethernet_core_c@@UAE_NXZ @ 432 NONAME ; bool ethernet_core_c::get_is_valid(void)
+	?create_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_K_NW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 433 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_4(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?initialize_pad@crypto_hmac_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 434 NONAME ; enum eap_status_e crypto_hmac_c::initialize_pad(class eap_variable_data_c *, unsigned char)
+	?sha_256_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 435 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_cleanup(class eap_variable_data_c *)
+	?aligned_data_length@crypto_cbc_c@@UAEKK@Z @ 436 NONAME ; unsigned long crypto_cbc_c::aligned_data_length(unsigned long)
+	?reset_start_offset_and_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 437 NONAME ; enum eap_status_e eap_variable_data_c::reset_start_offset_and_data_length(void)
+	?begin_db_transaction@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbNamedDatabase@@@Z @ 438 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_transaction(class RDbNamedDatabase &)
+	?eap_shift_left_64_bit@@YA_K_KK@Z @ 439 NONAME ; unsigned long long eap_shift_left_64_bit(unsigned long long, unsigned long)
+	?complete_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 440 NONAME ; enum eap_status_e eapol_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?trace_configuration@eap_am_tools_c@@UAEXW4eap_status_e@@PBVeap_configuration_field_c@@PBVeap_variable_data_c@@@Z @ 441 NONAME ; void eap_am_tools_c::trace_configuration(enum eap_status_e, class eap_configuration_field_c const *, class eap_variable_data_c const *)
+	?get_identifier@eap_header_base_c@@QBEEXZ @ 442 NONAME ; unsigned char eap_header_base_c::get_identifier(void) const
+	?configure@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 443 NONAME ; enum eap_status_e eap_am_tools_symbian_c::configure(void)
+	?copy_message_digest@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 444 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_message_digest(void *, unsigned long *)
+	?get_data_length@eapol_header_base_c@@QBEGXZ @ 445 NONAME ; unsigned short eapol_header_base_c::get_data_length(void) const
+	?get_block_size@eap_am_crypto_sha_256_c@@QAEKXZ @ 446 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_block_size(void)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVsimple_config_credential_c@@@Z @ 447 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class simple_config_credential_c *)
+	?object_increase_reference_count@eap_base_type_c@@QAEXXZ @ 448 NONAME ; void eap_base_type_c::object_increase_reference_count(void)
+	?file_exists@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 449 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_exists(class eap_variable_data_c const *)
+	??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 450 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool)
+	?get_do_length_checks@eap_buf_chain_base_c@@QBE_NXZ @ 451 NONAME ; bool eap_buf_chain_base_c::get_do_length_checks(void) const
+	?get_key_type@eapol_session_key_c@@QBE?AW4eapol_key_type_e@@XZ @ 452 NONAME ; enum eapol_key_type_e eapol_session_key_c::get_key_type(void) const
+	??1eap_file_config_c@@UAE@XZ @ 453 NONAME ; eap_file_config_c::~eap_file_config_c(void)
+	?trace_data@eap_am_tools_c@@UAEXPBDPBXK@Z @ 454 NONAME ; void eap_am_tools_c::trace_data(char const *, void const *, unsigned long)
+	?get_key_length@eapol_RSNA_key_header_c@@QBEGXZ @ 455 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_length(void) const
+	?object_increase_reference_count@eap_tlv_message_data_c@@QAEXXZ @ 456 NONAME ; void eap_tlv_message_data_c::object_increase_reference_count(void)
+	?hash_final@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 457 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_final(void *, unsigned long *)
+	?set_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAEX_N@Z @ 458 NONAME ; void eap_am_tools_symbian_c::set_use_eap_milli_second_timer(bool)
+	?restart_authentication@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 459 NONAME ; enum eap_status_e eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool)
+	?get_is_valid_data@eap_am_network_id_c@@QBE_NXZ @ 460 NONAME ; bool eap_am_network_id_c::get_is_valid_data(void) const
+	?set_is_manipulated@eap_buf_chain_base_c@@QAEXXZ @ 461 NONAME ; void eap_buf_chain_base_c::set_is_manipulated(void)
+	?get_eapol_protocol_version@eapol_RC4_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 462 NONAME ; enum eapol_protocol_version_e eapol_RC4_key_header_c::get_eapol_protocol_version(void) const
+	?dh_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 463 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dh_cleanup(class eap_variable_data_c const *)
+	?get_encryption_KEK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 464 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_encryption_KEK(void)
+	?process_RSNA_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 465 NONAME ; enum eap_status_e eapol_key_state_c::process_RSNA_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?hash_cleanup@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@XZ @ 466 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_cleanup(void)
+	?get_data@eap_variable_data_c@@QBEPAEXZ @ 467 NONAME ; unsigned char * eap_variable_data_c::get_data(void) const
+	?get_key_MIC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 468 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_MIC(void) const
+	?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEPAE@Z @ 469 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(unsigned char *) const
+	?set_is_valid@eap_core_c@@UAEXXZ @ 470 NONAME ; void eap_core_c::set_is_valid(void)
+	?get_sha1_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 471 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_block_size(class eap_variable_data_c *)
+	?read_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 472 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?process_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 473 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?get_eapol_header@eapol_ethernet_header_rd_c@@QBEPAEXZ @ 474 NONAME ; unsigned char * eapol_ethernet_header_rd_c::get_eapol_header(void) const
+	?decrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 475 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::decrypt_data(void const *, void *, unsigned long)
+	?eap_read_u16_t_network_order@@YAGPBXK@Z @ 476 NONAME ; unsigned short eap_read_u16_t_network_order(void const *, unsigned long)
+	?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 477 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
+	?send_logoff@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 478 NONAME ; enum eap_status_e ethernet_core_c::send_logoff(class eap_am_network_id_c const *)
+	?rsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 479 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?add_padding_bytes@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PAXK@Z @ 480 NONAME ; enum eap_status_e crypto_aes_wrap_c::add_padding_bytes(void *, unsigned long)
+	?check_header@eapol_header_base_c@@UBE?AW4eap_status_e@@XZ @ 481 NONAME ; enum eap_status_e eapol_header_base_c::check_header(void) const
+	?send_RC4_eapol_key_messages@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 482 NONAME ; enum eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages(void)
+	?send_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 483 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_response(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char)
+	?copy@eapol_key_state_c@@QAEPAV1@PBVeap_am_network_id_c@@@Z @ 484 NONAME ; class eapol_key_state_c * eapol_key_state_c::copy(class eap_am_network_id_c const *)
+	?association@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 485 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::association(class eap_am_network_id_c const *)
+	?get_timer_resolution_ms@eap_am_tools_symbian_c@@UAEKXZ @ 486 NONAME ; unsigned long eap_am_tools_symbian_c::get_timer_resolution_ms(void)
+	?set_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 487 NONAME ; void eapol_key_state_c::set_key_reply_counter(unsigned long long)
+	?set_is_invalid@crypto_tls_md5_prf_c@@AAEXXZ @ 488 NONAME ; void crypto_tls_md5_prf_c::set_is_invalid(void)
+	?reassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 489 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::reassociate(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
+	?octet_to_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 490 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii_armor(unsigned char)
+	?set_is_valid@crypto_tls_md5_prf_c@@AAEXXZ @ 491 NONAME ; void crypto_tls_md5_prf_c::set_is_valid(void)
+	?get_is_valid@eap_am_mutex_symbian_c@@UBE_NXZ @ 492 NONAME ; bool eap_am_mutex_symbian_c::get_is_valid(void) const
+	??0crypto_ephemeral_diffie_hellman_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 493 NONAME ; crypto_ephemeral_diffie_hellman_c::crypto_ephemeral_diffie_hellman_c(class abs_eap_am_tools_c *)
+	?get_source@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 494 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_source(void)
+	?set_key@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 495 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::set_key(class eap_variable_data_c const *)
+	?set_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 496 NONAME ; enum eap_status_e eap_session_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	??1crypto_random_c@@UAE@XZ @ 497 NONAME ; crypto_random_c::~crypto_random_c(void)
+	??1eap_am_mutex_symbian_c@@UAE@XZ @ 498 NONAME ; eap_am_mutex_symbian_c::~eap_am_mutex_symbian_c(void)
+	?get_header_length@eapol_RSNA_key_header_c@@SAGXZ @ 499 NONAME ; unsigned short eapol_RSNA_key_header_c::get_header_length(void)
+	?read_configure@eap_file_config_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 500 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?delete_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAXPAV1@@Z @ 501 NONAME ; void abs_eap_am_tools_c::delete_abs_eap_am_tools_c(class abs_eap_am_tools_c *)
+	?get_clock_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 502 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks_of_second(void)
+	??0crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 503 NONAME ; crypto_md4_c::crypto_md4_c(class abs_eap_am_tools_c *)
+	?set_packet_type@eapol_header_base_c@@QAEXW4eapol_packet_type_e@@@Z @ 504 NONAME ; void eapol_header_base_c::set_packet_type(enum eapol_packet_type_e)
+	?get_header_length@eap_header_base_c@@SAKXZ @ 505 NONAME ; unsigned long eap_header_base_c::get_header_length(void)
+	?packet_process@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 506 NONAME ; enum eap_status_e ethernet_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?rc4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 507 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_cleanup(class eap_variable_data_c *)
+	?get_is_valid@eapol_key_state_c@@QAE_NXZ @ 508 NONAME ; bool eapol_key_state_c::get_is_valid(void)
+	??0eap_am_mutex_reference_c@@QAE@XZ @ 509 NONAME ; eap_am_mutex_reference_c::eap_am_mutex_reference_c(void)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 510 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_array_c<class simple_config_credential_c> const *)
+	??Ieap_expanded_type_c@@QBEPBV0@XZ @ 511 NONAME ; class eap_expanded_type_c const * eap_expanded_type_c::operator&(void) const
+	?get_expanded_type_field_length@eap_header_base_c@@SAKXZ @ 512 NONAME ; unsigned long eap_header_base_c::get_expanded_type_field_length(void)
+	?sha1_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 513 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_cleanup(class eap_variable_data_c *)
+	??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@6W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@76@Z @ 514 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
+	?dsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 515 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?get_retransmission_counter@eap_core_retransmission_c@@QBEKXZ @ 516 NONAME ; unsigned long eap_core_retransmission_c::get_retransmission_counter(void) const
+	?get_header_length@eapol_ethernet_header_base_c@@SAGXZ @ 517 NONAME ; unsigned short eapol_ethernet_header_base_c::get_header_length(void)
+	?start_preauthentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 518 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_preauthentication(class eap_am_network_id_c const *)
+	?get_key_information_request@eapol_RSNA_key_header_c@@QBE_NXZ @ 519 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_request(void) const
+	?start_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 520 NONAME ; enum eap_status_e eapol_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
+	?eap_write_u64_t_little_endian_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 521 NONAME ; enum eap_status_e eap_write_u64_t_little_endian_order(void *, unsigned long, unsigned long long)
+	?set_eap_type@eap_master_session_key_c@@QAEXVeap_expanded_type_c@@@Z @ 522 NONAME ; void eap_master_session_key_c::set_eap_type(class eap_expanded_type_c)
+	?check_guards@eap_buf_chain_base_c@@QBE_NXZ @ 523 NONAME ; bool eap_buf_chain_base_c::check_guards(void) const
+	??1eap_am_tools_symbian_c@@UAE@XZ @ 524 NONAME ; eap_am_tools_symbian_c::~eap_am_tools_symbian_c(void)
+	?tkip_mic_failure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 525 NONAME ; enum eap_status_e eapol_wlan_authentication_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
+	?get_header_offset@ethernet_core_c@@UAEKPAK0@Z @ 526 NONAME ; unsigned long ethernet_core_c::get_header_offset(unsigned long *, unsigned long *)
+	?set_type@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 527 NONAME ; enum eap_status_e eap_tlv_header_c::set_type(unsigned long)
+	?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 528 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e)
+	?increment_authentication_counter@eapol_wlan_authentication_c@@QAEXXZ @ 529 NONAME ; void eapol_wlan_authentication_c::increment_authentication_counter(void)
+	?get_is_valid@crypto_tls_prf_c@@QAE_NXZ @ 530 NONAME ; bool crypto_tls_prf_c::get_is_valid(void)
+	?get_unicast_cipher_suite_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 531 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_unicast_cipher_suite_RSNA_IE(void)
+	??0eap_rogue_ap_entry_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 532 NONAME ; eap_rogue_ap_entry_c::eap_rogue_ap_entry_c(class abs_eap_am_tools_c *)
+	??0eap_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 533 NONAME ; eap_tlv_message_data_c::eap_tlv_message_data_c(class abs_eap_am_tools_c *)
+	?force_inheritance@eap_buf_chain_rd_c@@EAEXXZ @ 534 NONAME ; void eap_buf_chain_rd_c::force_inheritance(void)
+	?get_is_valid@eapol_core_c@@UAE_NXZ @ 535 NONAME ; bool eapol_core_c::get_is_valid(void)
+	?get_ethernet_header@eap_buf_chain_rd_c@@QBEPBEXZ @ 536 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_ethernet_header(void) const
+	?get_destination_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 537 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_destination_id(void) const
+	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 538 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *)
+	?synchronous_remove_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 539 NONAME ; enum eap_status_e eap_session_core_c::synchronous_remove_eap_session(class eap_am_network_id_c const *)
+	??1eapol_RC4_key_header_c@@UAE@XZ @ 540 NONAME ; eapol_RC4_key_header_c::~eapol_RC4_key_header_c(void)
+	?eap_acknowledge@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 541 NONAME ; enum eap_status_e ethernet_core_c::eap_acknowledge(class eap_am_network_id_c const *)
+	?save_simple_config_session@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 542 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
+	?mutex_leave@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 543 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_leave(class abs_eap_am_tools_c *)
+	??0crypto_cbc_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_block_algorithm_c@@_N@Z @ 544 NONAME ; crypto_cbc_c::crypto_cbc_c(class abs_eap_am_tools_c *, class abs_crypto_block_algorithm_c *, bool)
+	?number_string_to_u32@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAK@Z @ 545 NONAME ; enum eap_status_e eap_am_tools_c::number_string_to_u32(unsigned char const *, unsigned long, unsigned long *)
+	?remove_eapol_key_state@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 546 NONAME ; enum eap_status_e eapol_core_c::remove_eapol_key_state(class eap_am_network_id_c const *)
+	?get_type_string@eapol_header_base_c@@QBEPBDXZ @ 547 NONAME ; char const * eapol_header_base_c::get_type_string(void) const
+	?get_sha1_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 548 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_digest_length(class eap_variable_data_c *)
+	??1eap_buf_chain_base_c@@UAE@XZ @ 549 NONAME ; eap_buf_chain_base_c::~eap_buf_chain_base_c(void)
+	??1eap_am_tools_c@@UAE@XZ @ 550 NONAME ; eap_am_tools_c::~eap_am_tools_c(void)
+	?resend_packet@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKK@Z @ 551 NONAME ; enum eap_status_e eap_core_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long)
+	?create_state@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 552 NONAME ; enum eap_status_e ethernet_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?process_message_type_error@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 553 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message_type_error(class eap_array_c<class eap_tlv_header_c> const *)
+	?get_wlan_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 554 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_wlan_configuration(class eap_variable_data_c *)
+	?get_digest_length@crypto_hmac_c@@UAEKXZ @ 555 NONAME ; unsigned long crypto_hmac_c::get_digest_length(void)
+	??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 556 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool)
+	?unload_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 557 NONAME ; enum eap_status_e eapol_wlan_authentication_c::unload_module(class eap_expanded_type_c)
+	?get_eap_type_list@eapol_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 558 NONAME ; enum eap_status_e eapol_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
+	?eap_sha1_dss_G_function@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXKPAXPAK@Z @ 559 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_dss_G_function(void const *, unsigned long, void *, unsigned long *)
+	?send_eap_nak_response@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 560 NONAME ; enum eap_status_e eap_core_c::send_eap_nak_response(class eap_am_network_id_c const *, unsigned char, class eap_array_c<class eap_expanded_type_c> const *)
+	?get_reference_count@eap_am_mutex_reference_c@@QAEKXZ @ 561 NONAME ; unsigned long eap_am_mutex_reference_c::get_reference_count(void)
+	??0eapol_RC4_key_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 562 NONAME ; eapol_RC4_key_header_c::eapol_RC4_key_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
+	?set_key_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 563 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_length(unsigned short)
+	?complete_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 564 NONAME ; enum eap_status_e ethernet_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?rsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 565 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_init(class eap_variable_data_c *)
+	?convert_eap_type_to_u32_t@@YAKVeap_expanded_type_c@@@Z @ 566 NONAME ; unsigned long convert_eap_type_to_u32_t(class eap_expanded_type_c)
+	?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PAXK_N1@Z @ 567 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void *, unsigned long, bool, bool)
+	?set_s_nonce@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 568 NONAME ; enum eap_status_e eapol_key_state_c::set_s_nonce(class eap_variable_data_c const *)
+	?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 569 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void *, unsigned long)
+	??1eapol_session_key_c@@UAE@XZ @ 570 NONAME ; eapol_session_key_c::~eapol_session_key_c(void)
+	?file_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 571 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_close(void)
+	?tls_prf_init@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 572 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?t_prf_output@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PAXG@Z @ 573 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_output(void *, unsigned short)
+	?set_eapol_packet_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 574 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e)
+	?hash_nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 575 NONAME ; enum eap_status_e crypto_nt_hash_c::hash_nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
+	?get_key_data@eapol_RSNA_key_header_c@@QBEPAEK@Z @ 576 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data(unsigned long) const
+	?get_encrypts@crypto_cbc_c@@UAE_NXZ @ 577 NONAME ; bool crypto_cbc_c::get_encrypts(void)
+	?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 578 NONAME ; bool network_key_and_index_c::get_is_valid_data(void)
+	??1eap_type_selection_c@@UAE@XZ @ 579 NONAME ; eap_type_selection_c::~eap_type_selection_c(void)
+	??0eap_am_mutex_base_c@@QAE@PBV0@@Z @ 580 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(class eap_am_mutex_base_c const *)
+	?configure@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@KKK@Z @ 581 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::configure(unsigned long, unsigned long, unsigned long)
+	??1eap_rogue_ap_entry_c@@UAE@XZ @ 582 NONAME ; eap_rogue_ap_entry_c::~eap_rogue_ap_entry_c(void)
+	??1eapol_am_wlan_authentication_symbian_c@@UAE@XZ @ 583 NONAME ; eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c(void)
+	?get_is_valid_data@eap_variable_data_c@@QBE_NXZ @ 584 NONAME ; bool eap_variable_data_c::get_is_valid_data(void) const
+	?reset_header@eapol_ethernet_header_wr_c@@QAEXW4eapol_ethernet_type_e@@G@Z @ 585 NONAME ; void eapol_ethernet_header_wr_c::reset_header(enum eapol_ethernet_type_e, unsigned short)
+	??1crypto_sha1_c@@UAE@XZ @ 586 NONAME ; crypto_sha1_c::~crypto_sha1_c(void)
+	?check_header@eap_header_base_c@@UBE?AW4eap_status_e@@XZ @ 587 NONAME ; enum eap_status_e eap_header_base_c::check_header(void) const
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_tlv_message_type_function_e@@@Z @ 588 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(enum eapol_tlv_message_type_function_e)
+	?set_type@eap_header_base_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@_N@Z @ 589 NONAME ; enum eap_status_e eap_header_base_c::set_type(class eap_expanded_type_c, bool)
+	?get_is_valid@eap_buf_chain_base_c@@QBE_NXZ @ 590 NONAME ; bool eap_buf_chain_base_c::get_is_valid(void) const
+	?process_4_way_handshake_message_3_payloads_a@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@KPA_N@Z @ 591 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool *)
+	?copy@eap_variable_data_c@@QBEPAV1@XZ @ 592 NONAME ; class eap_variable_data_c * eap_variable_data_c::copy(void) const
+	?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 593 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(void const *, unsigned long, class eap_variable_data_c *)
+	?set_is_invalid@crypto_sha_256_c@@AAEXXZ @ 594 NONAME ; void crypto_sha_256_c::set_is_invalid(void)
+	?sprint@eap_am_tools_symbian_c@@AAAXAAVTDes16@@PBDZZ @ 595 NONAME ; void eap_am_tools_symbian_c::sprint(class TDes16 &, char const *, ...)
+	?init_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 596 NONAME ; enum eap_status_e eapol_key_state_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
+	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBXK1KG_N2@Z @ 597 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, void const *, unsigned long, void const *, unsigned long, unsigned short, bool, bool)
+	??0eap_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 598 NONAME ; eap_header_base_c::eap_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
+	?config_strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 599 NONAME ; unsigned long eap_am_tools_symbian_c::config_strlen(char const *)
+	?get_authenticator_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 600 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_MAC_address(void)
+	?asynchronous_start_authentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 601 NONAME ; enum eap_status_e eapol_core_c::asynchronous_start_authentication(class eap_am_network_id_c const *, bool)
+	?encrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 602 NONAME ; enum eap_status_e crypto_aes_c::encrypt_block(void const *, void *, unsigned long)
+	?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAXK@Z @ 603 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(void *, unsigned long)
+	?find_rvalue@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PA_NPAV3@2@Z @ 604 NONAME ; enum eap_status_e eap_file_config_c::find_rvalue(class eap_variable_data_c const *, bool *, class eap_variable_data_c *, class eap_variable_data_c *)
+	?select_minimum@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAPBV3@1@Z @ 605 NONAME ; enum eap_status_e eapol_key_state_c::select_minimum(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const * *, class eap_variable_data_c const * *)
+	?write_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 606 NONAME ; enum eap_status_e eapol_wlan_authentication_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?get_key_information_key_MIC@eapol_RSNA_key_header_c@@QBE_NXZ @ 607 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_MIC(void) const
+	?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 608 NONAME ; enum eap_status_e eap_variable_data_c::add_data(void const *, unsigned long)
+	?get_destination@eap_am_network_id_c@@QBEPBEXZ @ 609 NONAME ; unsigned char const * eap_am_network_id_c::get_destination(void) const
+	?get_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 610 NONAME ; unsigned char * eap_header_base_c::get_data_offset(unsigned long, unsigned long) const
+	?disassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 611 NONAME ; enum eap_status_e ethernet_core_c::disassociation(class eap_am_network_id_c const *)
+	??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 612 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool)
+	?get_thread_stopped@eap_am_tools_c@@UAE_NXZ @ 613 NONAME ; bool eap_am_tools_c::get_thread_stopped(void)
+	??1eap_tlv_header_c@@UAE@XZ @ 614 NONAME ; eap_tlv_header_c::~eap_tlv_header_c(void)
+	??0eapol_key_state_string_c@@QAE@XZ @ 615 NONAME ; eapol_key_state_string_c::eapol_key_state_string_c(void)
+	?getenv@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@@Z @ 616 NONAME ; enum eap_status_e eap_am_tools_symbian_c::getenv(class eap_variable_data_c const *, class eap_variable_data_c *)
+	?eap_read_u64_t_network_order@@YA_KPBXK@Z @ 617 NONAME ; unsigned long long eap_read_u64_t_network_order(void const *, unsigned long)
+	?complete_association@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 618 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_association(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 619 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void const *, void *, unsigned long)
+	??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 620 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?aes_set_decryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 621 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_decryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	?timer_expired@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 622 NONAME ; enum eap_status_e eap_session_core_c::timer_expired(unsigned long, void *)
+	??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@@Z @ 623 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *)
+	?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 624 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(class eap_variable_data_c *, unsigned long)
+	?get_is_valid@crypto_tls_base_prf_c@@QAE_NXZ @ 625 NONAME ; bool crypto_tls_base_prf_c::get_is_valid(void)
+	?set_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 626 NONAME ; void eap_am_tools_c::set_activate_trace_on_error(void)
+	?get_eap_identifier@eap_state_notification_c@@UBEEXZ @ 627 NONAME ; unsigned char eap_state_notification_c::get_eap_identifier(void) const
+	?check_is_valid_eap_type@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 628 NONAME ; enum eap_status_e eapol_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
+	?set_decryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 629 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_decryption_key(void const *, unsigned long)
+	?association@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 630 NONAME ; enum eap_status_e ethernet_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
+	?copy@eap_type_selection_c@@QBEPAV1@XZ @ 631 NONAME ; class eap_type_selection_c * eap_type_selection_c::copy(void) const
+	?create_upper_stack@eapol_wlan_authentication_c@@AAE?AW4eap_status_e@@XZ @ 632 NONAME ; enum eap_status_e eapol_wlan_authentication_c::create_upper_stack(void)
+	??0crypto_kd_hmac_sha256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 633 NONAME ; crypto_kd_hmac_sha256_c::crypto_kd_hmac_sha256_c(class abs_eap_am_tools_c *)
+	?timer_delete_data@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 634 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_delete_data(unsigned long, void *)
+	?sign@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 635 NONAME ; enum eap_status_e crypto_rsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?get_key@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 636 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_key(void) const
+	?get_eapol_packet_body_length@eapol_RC4_key_header_c@@QBEGXZ @ 637 NONAME ; unsigned short eapol_RC4_key_header_c::get_eapol_packet_body_length(void) const
+	?get_header_buffer@eap_general_header_base_c@@QBEPAEK@Z @ 638 NONAME ; unsigned char * eap_general_header_base_c::get_header_buffer(unsigned long) const
+	??0abs_eap_am_memory_store_data_c@@QAE@XZ @ 639 NONAME ; abs_eap_am_memory_store_data_c::abs_eap_am_memory_store_data_c(void)
+	??1abs_crypto_hmac_algorithm_c@@UAE@XZ @ 640 NONAME ; abs_crypto_hmac_algorithm_c::~abs_crypto_hmac_algorithm_c(void)
+	??1crypto_tls_sha1_prf_c@@UAE@XZ @ 641 NONAME ; crypto_tls_sha1_prf_c::~crypto_tls_sha1_prf_c(void)
+	?get_type_string@eap_header_base_c@@QBEPBDXZ @ 642 NONAME ; char const * eap_header_base_c::get_type_string(void) const
+	?verify_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 643 NONAME ; enum eap_status_e eapol_key_state_c::verify_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *)
+	?get_proposed_eap_type@eap_core_nak_info_c@@QBE?AVeap_expanded_type_c@@XZ @ 644 NONAME ; class eap_expanded_type_c eap_core_nak_info_c::get_proposed_eap_type(void) const
+	?save_simple_config_session@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 645 NONAME ; enum eap_status_e eapol_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
+	?get_is_valid@crypto_hmac_c@@UAE_NXZ @ 646 NONAME ; bool crypto_hmac_c::get_is_valid(void)
+	?get_encrypt@eap_buf_chain_base_c@@QBE_NXZ @ 647 NONAME ; bool eap_buf_chain_base_c::get_encrypt(void) const
+	?is_ietf_type@eap_expanded_type_c@@SA_NV1@@Z @ 648 NONAME ; bool eap_expanded_type_c::is_ietf_type(class eap_expanded_type_c)
+	?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 649 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, void const *, unsigned long)
+	?derive_PTK@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 650 NONAME ; enum eap_status_e eapol_key_state_c::derive_PTK(void)
+	?timer_expired@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 651 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_expired(unsigned long, void *)
+	?init@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 652 NONAME ; enum eap_status_e crypto_rsa_c::init(void)
+	?set_session_timeout@eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 653 NONAME ; enum eap_status_e eap_core_c::set_session_timeout(unsigned long)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 654 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eap_array_c<class network_key_and_index_c> const *) const
+	?compare@eap_variable_data_c@@QBEJPBV1@@Z @ 655 NONAME ; long eap_variable_data_c::compare(class eap_variable_data_c const *) const
+	?set_encryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 656 NONAME ; enum eap_status_e crypto_cbc_c::set_encryption_key(void const *, unsigned long, void const *, unsigned long)
+	?copy_leap_password@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 657 NONAME ; enum eap_status_e eap_master_session_key_c::copy_leap_password(class eap_variable_data_c const *)
+	?zero_key_RSC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 658 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_RSC(class abs_eap_am_tools_c *)
+	?verify@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00000@Z @ 659 NONAME ; enum eap_status_e crypto_dsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?timer_sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 660 NONAME ; void eap_am_tools_symbian_c::timer_sleep(unsigned long)
+	?process_4_way_handshake_message_2_payloads@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 661 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	??0crypto_aes_wrap_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 662 NONAME ; crypto_aes_wrap_c::crypto_aes_wrap_c(class abs_eap_am_tools_c *)
+	?get_reference@eap_am_mutex_base_c@@QBEPAVeap_am_mutex_reference_c@@XZ @ 663 NONAME ; class eap_am_mutex_reference_c * eap_am_mutex_base_c::get_reference(void) const
+	??1eap_buf_chain_wr_c@@UAE@XZ @ 664 NONAME ; eap_buf_chain_wr_c::~eap_buf_chain_wr_c(void)
+	?get_expanded_vendor_type_offset@eap_header_base_c@@SAKXZ @ 665 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_type_offset(void)
+	?unset_marked_removed@eapol_key_state_c@@QAEXXZ @ 666 NONAME ; void eapol_key_state_c::unset_marked_removed(void)
+	?md5_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 667 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_cleanup(class eap_variable_data_c *)
+	?add_RSN_GTK_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 668 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_GTK_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *)
+	?encrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 669 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?set_is_invalid@eap_am_crypto_md4_c@@AAEXXZ @ 670 NONAME ; void eap_am_crypto_md4_c::set_is_invalid(void)
+	?get_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@@Z @ 671 NONAME ; enum eap_status_e eap_expanded_type_c::get_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c *)
+	?get_data@eap_buf_chain_rd_c@@QBEPBEK@Z @ 672 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data(unsigned long) const
+	?reset@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 673 NONAME ; enum eap_status_e eapol_key_state_c::reset(void)
+	?get_partner@eap_session_core_c@@QAEPAVabs_eap_core_c@@XZ @ 674 NONAME ; class abs_eap_core_c * eap_session_core_c::get_partner(void)
+	?get_type@eap_static_expanded_type_c@@QBEABVeap_expanded_type_c@@XZ @ 675 NONAME ; class eap_expanded_type_c const & eap_static_expanded_type_c::get_type(void) const
+	?configure@eap_file_config_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@@Z @ 676 NONAME ; enum eap_status_e eap_file_config_c::configure(class abs_eap_am_file_input_c *)
+	?copy@eap_am_crypto_md4_c@@QAEPAV1@XZ @ 677 NONAME ; class eap_am_crypto_md4_c * eap_am_crypto_md4_c::copy(void)
+	?set_rogue_reason@eap_rogue_ap_entry_c@@QAEXW4eap_rogue_ap_reason_e@@@Z @ 678 NONAME ; void eap_rogue_ap_entry_c::set_rogue_reason(enum eap_rogue_ap_reason_e)
+	?get_data_length@eap_buf_chain_base_c@@QBEKXZ @ 679 NONAME ; unsigned long eap_buf_chain_base_c::get_data_length(void) const
+	??1eap_header_string_c@@UAE@XZ @ 680 NONAME ; eap_header_string_c::~eap_header_string_c(void)
+	?decrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 681 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::decrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
+	?get_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAW4eap_type_ietf_values_e@@@Z @ 682 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, enum eap_type_ietf_values_e *)
+	?get_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAV1@@Z @ 683 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, class eap_expanded_type_c *)
+	??1crypto_nt_hash_c@@UAE@XZ @ 684 NONAME ; crypto_nt_hash_c::~crypto_nt_hash_c(void)
+	?tls_prf_cleanup@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 685 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_cleanup(void)
+	?get_data_offset@eap_buf_chain_base_c@@QBEPAEKK@Z @ 686 NONAME ; unsigned char * eap_buf_chain_base_c::get_data_offset(unsigned long, unsigned long) const
+	?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 687 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(void const *, unsigned long)
+	?get_is_WPA@eapol_key_state_c@@AAE_NXZ @ 688 NONAME ; bool eapol_key_state_c::get_is_WPA(void)
+	?set_is_invalid@crypto_tls_prf_c@@AAEXXZ @ 689 NONAME ; void crypto_tls_prf_c::set_is_invalid(void)
+	?check_header@eapol_ethernet_header_base_c@@UBE?AW4eap_status_e@@XZ @ 690 NONAME ; enum eap_status_e eapol_ethernet_header_base_c::check_header(void) const
+	?timer_delete_data@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 691 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_delete_data(unsigned long, void *)
+	?restore_bytes_from_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 692 NONAME ; enum eap_status_e eap_am_tools_c::restore_bytes_from_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
+	??1eap_master_session_key_c@@UAE@XZ @ 693 NONAME ; eap_master_session_key_c::~eap_master_session_key_c(void)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 694 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_variable_data_c const *)
+	?allocate_message_data_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 695 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_data_buffer(unsigned long)
+	??0eapol_ethernet_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 696 NONAME ; eapol_ethernet_header_rd_c::eapol_ethernet_header_rd_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long)
+	??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@@Z @ 697 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *)
+	?load_type@ethernet_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@@Z @ 698 NONAME ; class eap_base_type_c * ethernet_core_c::load_type(class eap_expanded_type_c)
+	?get_block_size@eap_am_crypto_md4_c@@QAEKXZ @ 699 NONAME ; unsigned long eap_am_crypto_md4_c::get_block_size(void)
+	??0eap_am_crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 700 NONAME ; eap_am_crypto_rc4_c::eap_am_crypto_rc4_c(class abs_eap_am_tools_c *)
+	??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 701 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long)
+	?get_is_valid@eap_am_crypto_symbian_c@@UBE_NXZ @ 702 NONAME ; bool eap_am_crypto_symbian_c::get_is_valid(void) const
+	?shutdown_operation@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 703 NONAME ; enum eap_status_e eapol_core_c::shutdown_operation(class eapol_key_state_c *, class abs_eap_am_tools_c *)
+	?formatted_print@eap_am_tools_symbian_c@@UAAXPBDZZ @ 704 NONAME ; void eap_am_tools_symbian_c::formatted_print(char const *, ...)
+	?get_is_valid@eap_am_file_input_symbian_c@@UAE_NXZ @ 705 NONAME ; bool eap_am_file_input_symbian_c::get_is_valid(void)
+	?get_digest_length@crypto_md5_c@@UAEKXZ @ 706 NONAME ; unsigned long crypto_md5_c::get_digest_length(void)
+	?compare_network_id@eap_am_network_id_c@@QBE_NPBV1@@Z @ 707 NONAME ; bool eap_am_network_id_c::compare_network_id(class eap_am_network_id_c const *) const
+	?get_mutex@eap_am_mutex_symbian_c@@QBEPBVRMutex@@XZ @ 708 NONAME ; class RMutex const * eap_am_mutex_symbian_c::get_mutex(void) const
+	?get_eapol_key_type_string@eapol_session_key_c@@SAPBDW4eapol_key_type_e@@@Z @ 709 NONAME ; char const * eapol_session_key_c::get_eapol_key_type_string(enum eapol_key_type_e)
+	?trace_eap_packet@eap_core_c@@QAEXPBDPBVeap_header_wr_c@@@Z @ 710 NONAME ; void eap_core_c::trace_eap_packet(char const *, class eap_header_wr_c const *)
+	?hash_init@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 711 NONAME ; enum eap_status_e crypto_sha_256_c::hash_init(void)
+	??1abs_eap_am_memory_store_data_c@@UAE@XZ @ 712 NONAME ; abs_eap_am_memory_store_data_c::~abs_eap_am_memory_store_data_c(void)
+	?get_protocol@eap_state_notification_c@@UBEKXZ @ 713 NONAME ; unsigned long eap_state_notification_c::get_protocol(void) const
+	?get_key_data_length@eapol_RSNA_key_header_c@@QBEGXZ @ 714 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_data_length(void) const
+	??0eap_am_tools_symbian_c@@QAE@PBD@Z @ 715 NONAME ; eap_am_tools_symbian_c::eap_am_tools_symbian_c(char const *)
+	??1abs_crypto_hash_algorithm_c@@UAE@XZ @ 716 NONAME ; abs_crypto_hash_algorithm_c::~abs_crypto_hash_algorithm_c(void)
+	?asynchronous_init_remove_eapol_key_state@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 717 NONAME ; enum eap_status_e eapol_key_state_c::asynchronous_init_remove_eapol_key_state(void)
+	?packet_process@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 718 NONAME ; enum eap_status_e eapol_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?object_decrease_reference_count@eapol_handle_tlv_message_data_c@@QAEKXZ @ 719 NONAME ; unsigned long eapol_handle_tlv_message_data_c::object_decrease_reference_count(void)
+	?restart_authentication@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 720 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool)
+	?state_notification@eapol_am_wlan_authentication_symbian_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 721 NONAME ; void eapol_am_wlan_authentication_symbian_c::state_notification(class abs_eap_state_notification_c const *)
+	?get_sha_256_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 722 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_block_size(class eap_variable_data_c *)
+	?get_supplicant_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 723 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_RSNA_IE(void)
+	?tkip_mic_failure@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 724 NONAME ; enum eap_status_e eapol_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
+	?get_block_size@crypto_cbc_c@@UAEKXZ @ 725 NONAME ; unsigned long crypto_cbc_c::get_block_size(void)
+	?cnf_parse_value@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAW4eap_configure_type_e@@PAV3@_N@Z @ 726 NONAME ; enum eap_status_e eap_file_config_c::cnf_parse_value(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_configure_type_e *, class eap_variable_data_c *, bool)
+	?packet_process_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 727 NONAME ; enum eap_status_e eap_core_c::packet_process_type(class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	??0eap_master_session_key_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@@Z @ 728 NONAME ; eap_master_session_key_c::eap_master_session_key_c(class abs_eap_am_tools_c *, class eap_expanded_type_c)
+	?get_value_offset@eap_tlv_header_c@@QBEPAEKK@Z @ 729 NONAME ; unsigned char * eap_tlv_header_c::get_value_offset(unsigned long, unsigned long) const
+	?get_source_length@eap_am_network_id_c@@QBEKXZ @ 730 NONAME ; unsigned long eap_am_network_id_c::get_source_length(void) const
+	?get_source@eapol_ethernet_header_base_c@@QBEPAEXZ @ 731 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_source(void) const
+	?get_confirmation_KCK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 732 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_confirmation_KCK(void)
+	??1eap_am_crypto_sha1_c@@UAE@XZ @ 733 NONAME ; eap_am_crypto_sha1_c::~eap_am_crypto_sha1_c(void)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 734 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned long)
+	?set_key_information_request@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 735 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_request(bool)
+	??0eap_type_selection_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@_N@Z @ 736 NONAME ; eap_type_selection_c::eap_type_selection_c(class abs_eap_am_tools_c *, class eap_expanded_type_c, bool)
+	?set_is_valid@ethernet_core_c@@UAEXXZ @ 737 NONAME ; void ethernet_core_c::set_is_valid(void)
+	?get_is_valid@crypto_aes_wrap_c@@QAE_NXZ @ 738 NONAME ; bool crypto_aes_wrap_c::get_is_valid(void)
+	?read_reassociation_parameters@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 739 NONAME ; enum eap_status_e eapol_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?get_eap_header@eapol_header_wr_c@@QAEPAEXZ @ 740 NONAME ; unsigned char * eapol_header_wr_c::get_eap_header(void)
+	?dsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 741 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_cleanup(class eap_variable_data_c *)
+	?get_key_tx_bit@eapol_session_key_c@@QBE_NXZ @ 742 NONAME ; bool eapol_session_key_c::get_key_tx_bit(void) const
+	?get_current_state@eap_state_notification_c@@UBEKXZ @ 743 NONAME ; unsigned long eap_state_notification_c::get_current_state(void) const
+	?block_size_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 744 NONAME ; unsigned long eap_am_crypto_symbian_c::block_size_3des_ede(void)
+	?timer_expired@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 745 NONAME ; enum eap_status_e eapol_key_state_c::timer_expired(unsigned long, void *)
+	?process_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 746 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?cancel_all_authentication_sessions@eapol_core_c@@QAE?AW4eap_status_e@@XZ @ 747 NONAME ; enum eap_status_e eapol_core_c::cancel_all_authentication_sessions(void)
+	?disassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 748 NONAME ; enum eap_status_e eapol_core_c::disassociation(class eap_am_network_id_c const *)
+	?get_is_valid@eap_general_header_base_c@@QBE_NXZ @ 749 NONAME ; bool eap_general_header_base_c::get_is_valid(void) const
+	??8eap_expanded_type_c@@QBE_NABV0@@Z @ 750 NONAME ; bool eap_expanded_type_c::operator==(class eap_expanded_type_c const &) const
+	?packet_data_session_key@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 751 NONAME ; enum eap_status_e ethernet_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
+	?set_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@@Z @ 752 NONAME ; enum eap_status_e eap_expanded_type_c::set_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c const *)
+	?create_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 753 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?read_u32_t@eap_file_config_c@@AAEPAEPAEPBEPAK@Z @ 754 NONAME ; unsigned char * eap_file_config_c::read_u32_t(unsigned char *, unsigned char const *, unsigned long *)
+	??0crypto_tls_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 755 NONAME ; crypto_tls_prf_c::crypto_tls_prf_c(class abs_eap_am_tools_c *)
+	?start_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 756 NONAME ; enum eap_status_e eap_am_tools_symbian_c::start_timer_thread(void)
+	?store_configure@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PBVeap_variable_data_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 757 NONAME ; enum eap_status_e eap_file_config_c::store_configure(class abs_eap_am_file_input_c *, class eap_variable_data_c const *, class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *)
+	?get_eap_type_list@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 758 NONAME ; enum eap_status_e eapol_wlan_authentication_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
+	?packet_send@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 759 NONAME ; enum eap_status_e ethernet_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?is_expanded_type@eap_expanded_type_c@@SA_NW4eap_type_ietf_values_e@@@Z @ 760 NONAME ; bool eap_expanded_type_c::is_expanded_type(enum eap_type_ietf_values_e)
+	?add_RSN_IE_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 761 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_IE_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *)
+	?leave_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 762 NONAME ; void eap_am_tools_symbian_c::leave_crypto_cs(void)
+	??1abs_eap_am_mutex_c@@UAE@XZ @ 763 NONAME ; abs_eap_am_mutex_c::~abs_eap_am_mutex_c(void)
+	?load_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 764 NONAME ; enum eap_status_e eapol_wlan_authentication_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
+	?hash_final@crypto_md4_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 765 NONAME ; enum eap_status_e crypto_md4_c::hash_final(void *, unsigned long *)
+	?get_am_tools@eap_general_header_base_c@@QBEPAVabs_eap_am_tools_c@@XZ @ 766 NONAME ; class abs_eap_am_tools_c * eap_general_header_base_c::get_am_tools(void) const
+	??1eap_header_wr_c@@UAE@XZ @ 767 NONAME ; eap_header_wr_c::~eap_header_wr_c(void)
+	?handle_eap_identity_request@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@EPBVeap_am_network_id_c@@@Z @ 768 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_request(class eap_expanded_type_c, unsigned char, class eap_am_network_id_c const *)
+	?md4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 769 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_cleanup(class eap_variable_data_c *)
+	?association@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 770 NONAME ; enum eap_status_e eapol_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *)
+	?load_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 771 NONAME ; enum eap_status_e eap_session_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
+	?add_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXKE@Z @ 772 NONAME ; enum eap_status_e crypto_cbc_c::add_padding_bytes(void *, unsigned long, unsigned char)
+	?get_key_length@crypto_3des_ede_c@@UAEKXZ @ 773 NONAME ; unsigned long crypto_3des_ede_c::get_key_length(void)
+	?send_logoff@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 774 NONAME ; enum eap_status_e eapol_core_c::send_logoff(class eap_am_network_id_c const *)
+	?md5_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 775 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	??0eapol_message_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_message_wlan_authentication_c@@@Z @ 776 NONAME ; eapol_message_wlan_authentication_c::eapol_message_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_message_wlan_authentication_c *)
+	?initialize_members@eap_variable_data_c@@AAE?AW4eap_status_e@@XZ @ 777 NONAME ; enum eap_status_e eap_variable_data_c::initialize_members(void)
+	?copy_message_data@eap_am_memory_store_tlv_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_message_data_c@@K@Z @ 778 NONAME ; enum eap_status_e eap_am_memory_store_tlv_data_c::copy_message_data(class eap_tlv_message_data_c const *, unsigned long)
+	?set_key_information_install@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 779 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_install(bool)
+	?hash_update@crypto_sha_256_c@@UAE?AW4eap_status_e@@PBXK@Z @ 780 NONAME ; enum eap_status_e crypto_sha_256_c::hash_update(void const *, unsigned long)
+	?get_do_packet_retransmission@eap_buf_chain_base_c@@QAE_NXZ @ 781 NONAME ; bool eap_buf_chain_base_c::get_do_packet_retransmission(void)
+	?enter_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 782 NONAME ; void eap_am_tools_symbian_c::enter_global_mutex(void)
+	?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBV1@@Z @ 783 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *)
+	?encrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 784 NONAME ; enum eap_status_e eapol_key_state_c::encrypt_key_data(class eapol_RSNA_key_header_c *)
+	?hash_cleanup@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@XZ @ 785 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_cleanup(void)
+	?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 786 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?hash_update@crypto_md5_c@@UAE?AW4eap_status_e@@PBXK@Z @ 787 NONAME ; enum eap_status_e crypto_md5_c::hash_update(void const *, unsigned long)
+	?set_start_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 788 NONAME ; enum eap_status_e eap_variable_data_c::set_start_offset(unsigned long)
+	??1eap_simple_config_trace_string_c@@UAE@XZ @ 789 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void)
+	??1eapol_header_rd_c@@UAE@XZ @ 790 NONAME ; eapol_header_rd_c::~eapol_header_rd_c(void)
+	?set_is_invalid@eap_am_crypto_sha_256_c@@AAEXXZ @ 791 NONAME ; void eap_am_crypto_sha_256_c::set_is_invalid(void)
+	?zero_key_STA_MAC_address@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 792 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_STA_MAC_address(class abs_eap_am_tools_c *)
+	?u64_t_to_u64_struct@eap_am_tools_symbian_c@@UAE?AUu64_struct@@_K@Z @ 793 NONAME ; struct u64_struct eap_am_tools_symbian_c::u64_t_to_u64_struct(unsigned long long)
+	?set_key_information_error@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 794 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_error(bool)
+	?process_4_way_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 795 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?copy@crypto_sha_256_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 796 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha_256_c::copy(void)
+	?hash_update@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXK@Z @ 797 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_update(void const *, unsigned long)
+	?shutdown_am_tools@eap_am_tools_c@@QAE?AW4eap_status_e@@XZ @ 798 NONAME ; enum eap_status_e eap_am_tools_c::shutdown_am_tools(void)
+	?read_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 799 NONAME ; enum eap_status_e ethernet_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?set_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 800 NONAME ; enum eap_status_e eap_tlv_message_data_c::set_message_data(unsigned long, void const *)
+	?set_is_invalid@eap_am_crypto_rc4_c@@AAEXXZ @ 801 NONAME ; void eap_am_crypto_rc4_c::set_is_invalid(void)
+	?password_hash@crypto_wpa_psk_password_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PAXP6A?AW42@2K@Z@Z @ 802 NONAME ; enum eap_status_e crypto_wpa_psk_password_hash_c::password_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void *, enum eap_status_e (*)(void *, unsigned long))
+	?create_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 803 NONAME ; enum eap_status_e eapol_key_state_c::create_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *)
+	?get_eap_type_list@eap_session_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 804 NONAME ; enum eap_status_e eap_session_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 805 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<class network_key_and_index_c> *)
+	?hash_cleanup@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@XZ @ 806 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_cleanup(void)
+	?state_notification@eap_session_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 807 NONAME ; void eap_session_core_c::state_notification(class abs_eap_state_notification_c const *)
+	??0eapol_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 808 NONAME ; eapol_header_rd_c::eapol_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
+	?process_4_way_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 809 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?get_type@eap_header_base_c@@QBE?AVeap_expanded_type_c@@XZ @ 810 NONAME ; class eap_expanded_type_c eap_header_base_c::get_type(void) const
+	?shutdown@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 811 NONAME ; enum eap_status_e eapol_key_state_c::shutdown(void)
+	?set_is_valid@crypto_dsa_c@@AAEXXZ @ 812 NONAME ; void crypto_dsa_c::set_is_valid(void)
+	?aes_set_encryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 813 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_encryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	?set_is_valid@eapol_key_state_c@@AAEXXZ @ 814 NONAME ; void eapol_key_state_c::set_is_valid(void)
+	??1crypto_cbc_c@@UAE@XZ @ 815 NONAME ; crypto_cbc_c::~crypto_cbc_c(void)
+	?leave_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 816 NONAME ; void eap_am_tools_symbian_c::leave_global_mutex(void)
+	?set_key_information_key_index@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 817 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_index(unsigned char)
+	?set_is_valid@crypto_md4_c@@EAEXXZ @ 818 NONAME ; void crypto_md4_c::set_is_valid(void)
+	?get_code@eap_header_base_c@@QBE?AW4eap_code_value_e@@XZ @ 819 NONAME ; enum eap_code_value_e eap_header_base_c::get_code(void) const
+	??Ieap_expanded_type_c@@QAEPAV0@XZ @ 820 NONAME ; class eap_expanded_type_c * eap_expanded_type_c::operator&(void)
+	?md4_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 821 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
+	?get_key_information_install@eapol_RSNA_key_header_c@@QBE_NXZ @ 822 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_install(void) const
+	?packet_send@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 823 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	??4eap_expanded_type_c@@QAEAAV0@W4eap_type_ietf_values_e@@@Z @ 824 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(enum eap_type_ietf_values_e)
+	?eap_write_u16_t_network_order@@YA?AW4eap_status_e@@PAXKG@Z @ 825 NONAME ; enum eap_status_e eap_write_u16_t_network_order(void *, unsigned long, unsigned short)
+	?strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 826 NONAME ; unsigned long eap_am_tools_symbian_c::strlen(char const *)
+	?get_previous_state_string@eap_state_notification_c@@UBEPBDXZ @ 827 NONAME ; char const * eap_state_notification_c::get_previous_state_string(void) const
+	?get_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 828 NONAME ; unsigned long long eapol_key_state_c::get_key_reply_counter(void)
+	?get_marked_removed@eapol_key_state_c@@QAE_NXZ @ 829 NONAME ; bool eapol_key_state_c::get_marked_removed(void)
+	?cancel_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 830 NONAME ; enum eap_status_e ethernet_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVabs_eap_state_notification_c@@@Z @ 831 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class abs_eap_state_notification_c const *)
+	?get_block_size@crypto_3des_ede_c@@UAEKXZ @ 832 NONAME ; unsigned long crypto_3des_ede_c::get_block_size(void)
+	?get_type_data_start_offset@eap_header_base_c@@SAK_N@Z @ 833 NONAME ; unsigned long eap_header_base_c::get_type_data_start_offset(bool)
+	??0eap_am_crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 834 NONAME ; eap_am_crypto_sha1_c::eap_am_crypto_sha1_c(class abs_eap_am_tools_c *)
+	?convert_value@eap_file_config_c@@AAE?AW4eap_status_e@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@PBVeap_variable_data_c@@W4eap_configure_type_e@@PAV4@@Z @ 835 NONAME ; enum eap_status_e eap_file_config_c::convert_value(class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *, class eap_variable_data_c const *, enum eap_configure_type_e, class eap_variable_data_c *)
+	?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 836 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
+	?set_authentication_role@eap_core_c@@UAE?AW4eap_status_e@@_N@Z @ 837 NONAME ; enum eap_status_e eap_core_c::set_authentication_role(bool)
+	?start_authentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 838 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_authentication(class eap_array_c<class eap_tlv_header_c> const *)
+	?eap_write_u32_t_little_endian_order@@YA?AW4eap_status_e@@PAXKK@Z @ 839 NONAME ; enum eap_status_e eap_write_u32_t_little_endian_order(void *, unsigned long, unsigned long)
+	?set_data_length@eapol_header_base_c@@QAEXG@Z @ 840 NONAME ; void eapol_header_base_c::set_data_length(unsigned short)
+	?get_digest_length@crypto_sha_256_c@@UAEKXZ @ 841 NONAME ; unsigned long crypto_sha_256_c::get_digest_length(void)
+	?reset@eap_am_network_id_c@@QAEXXZ @ 842 NONAME ; void eap_am_network_id_c::reset(void)
+	??0abs_eap_am_mutex_c@@QAE@XZ @ 843 NONAME ; abs_eap_am_mutex_c::abs_eap_am_mutex_c(void)
+	?configure@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 844 NONAME ; enum eap_status_e eap_core_c::configure(void)
+	?get_is_valid@eap_session_core_c@@UAE_NXZ @ 845 NONAME ; bool eap_session_core_c::get_is_valid(void)
+	?get_rand_integer@crypto_random_c@@QAEKKK@Z @ 846 NONAME ; unsigned long crypto_random_c::get_rand_integer(unsigned long, unsigned long)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 847 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_expanded_type_c)
+	?authentication_finished@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@_NVeap_expanded_type_c@@W4eapol_key_authentication_type_e@@@Z @ 848 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::authentication_finished(bool, class eap_expanded_type_c, enum eapol_key_authentication_type_e)
+	?object_increase_reference_count@eapol_key_state_c@@QAEXXZ @ 849 NONAME ; void eapol_key_state_c::object_increase_reference_count(void)
+	?check_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 850 NONAME ; void eap_am_tools_c::check_activate_trace_on_error(void)
+	?get_sent_packet@eap_core_retransmission_c@@QBEPAVeap_buf_chain_wr_c@@XZ @ 851 NONAME ; class eap_buf_chain_wr_c * eap_core_retransmission_c::get_sent_packet(void) const
+	??0eapol_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_core_c@@_N@Z @ 852 NONAME ; eapol_core_c::eapol_core_c(class abs_eap_am_tools_c *, class abs_eapol_core_c *, bool)
+	?asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 853 NONAME ; enum eap_status_e eap_core_c::asynchronous_init_remove_eap_session(void)
+	?get_eapol_key_authentication_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_authentication_type_e@@@Z @ 854 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_authentication_type_string(enum eapol_key_authentication_type_e)
+	?zero_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 855 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_MIC(class abs_eap_am_tools_c *)
+	?get_type_data_length@eap_header_base_c@@QBEGXZ @ 856 NONAME ; unsigned short eap_header_base_c::get_type_data_length(void) const
+	??1eap_core_nak_info_c@@UAE@XZ @ 857 NONAME ; eap_core_nak_info_c::~eap_core_nak_info_c(void)
+	?start_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 858 NONAME ; enum eap_status_e ethernet_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
+	?get_asymmetric_start_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K_N2@Z @ 859 NONAME ; enum eap_status_e crypto_nt_hash_c::get_asymmetric_start_key(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long, bool, bool)
+	?get_is_valid@eap_am_network_id_c@@QBE_NXZ @ 860 NONAME ; bool eap_am_network_id_c::get_is_valid(void) const
+	?set_is_valid@eap_am_crypto_md4_c@@AAEXXZ @ 861 NONAME ; void eap_am_crypto_md4_c::set_is_valid(void)
+	??1eap_am_mutex_reference_c@@UAE@XZ @ 862 NONAME ; eap_am_mutex_reference_c::~eap_am_mutex_reference_c(void)
+	??0ethernet_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_ethernet_core_c@@_N@Z @ 863 NONAME ; ethernet_core_c::ethernet_core_c(class abs_eap_am_tools_c *, class abs_ethernet_core_c *, bool)
+	?set_key_information_key_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 864 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_type(bool)
+	?check_is_valid_eap_type@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 865 NONAME ; enum eap_status_e eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
+	?get_is_valid@eap_tlv_message_data_c@@QAE_NXZ @ 866 NONAME ; bool eap_tlv_message_data_c::get_is_valid(void)
+	?get_buffer_offset@eap_variable_data_c@@QBEPAEKK@Z @ 867 NONAME ; unsigned char * eap_variable_data_c::get_buffer_offset(unsigned long, unsigned long) const
+	?get_encrypts@crypto_3des_ede_c@@UAE_NXZ @ 868 NONAME ; bool crypto_3des_ede_c::get_encrypts(void)
+	?add_end_null@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 869 NONAME ; enum eap_status_e eap_variable_data_c::add_end_null(void)
+	?shutdown@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 870 NONAME ; enum eap_status_e eapol_core_c::shutdown(void)
+	?initialize_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 871 NONAME ; enum eap_status_e eap_core_c::initialize_session_timeout(unsigned long)
+	?get_is_valid@crypto_nt_hash_c@@QAE_NXZ @ 872 NONAME ; bool crypto_nt_hash_c::get_is_valid(void)
+	?get_key_length@eapol_RC4_key_header_c@@QBEGXZ @ 873 NONAME ; unsigned short eapol_RC4_key_header_c::get_key_length(void) const
+	?get_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAE_NXZ @ 874 NONAME ; bool eap_am_tools_symbian_c::get_use_eap_milli_second_timer(void)
+	??1crypto_eap_fast_hmac_sha1_prf_c@@UAE@XZ @ 875 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::~crypto_eap_fast_hmac_sha1_prf_c(void)
+	?set_mac_address@eap_rogue_ap_entry_c@@QAEXPBE@Z @ 876 NONAME ; void eap_rogue_ap_entry_c::set_mac_address(unsigned char const *)
+	?copy@eap_am_network_id_c@@QBEPAV1@XZ @ 877 NONAME ; class eap_am_network_id_c * eap_am_network_id_c::copy(void) const
+	?set_marked_removed@eapol_key_state_c@@QAEXXZ @ 878 NONAME ; void eapol_key_state_c::set_marked_removed(void)
+	?start_preauthentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 879 NONAME ; enum eap_status_e ethernet_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?set_eapol_packet_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 880 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e)
+	??0eap_header_string_c@@QAE@XZ @ 881 NONAME ; eap_header_string_c::eap_header_string_c(void)
+	?get_supplicant_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 882 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_MAC_address(void)
+	?get_type_data@eap_header_base_c@@QBEPAEK@Z @ 883 NONAME ; unsigned char * eap_header_base_c::get_type_data(unsigned long) const
+	?eap_write_u64_t_network_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 884 NONAME ; enum eap_status_e eap_write_u64_t_network_order(void *, unsigned long, unsigned long long)
+	?get_tmp_IV@crypto_cbc_c@@UAEPBVeap_variable_data_c@@XZ @ 885 NONAME ; class eap_variable_data_c const * crypto_cbc_c::get_tmp_IV(void)
+	?eap_sha1_process_data_network_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 886 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_network_order(unsigned long const *, unsigned long)
+	?load_type@eap_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@0PBVeap_am_network_id_c@@@Z @ 887 NONAME ; class eap_base_type_c * eap_core_c::load_type(class eap_expanded_type_c, class eap_expanded_type_c, class eap_am_network_id_c const *)
+	?convert_unicode_to_utf8@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 888 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &)
+	?encrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 889 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::encrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
+	?set_buffer@eapol_rsna_variable_data_c@@QAE?AW4eap_status_e@@PBVeapol_rsna_key_data_header_c@@PAEK_N2@Z @ 890 NONAME ; enum eap_status_e eapol_rsna_variable_data_c::set_buffer(class eapol_rsna_key_data_header_c const *, unsigned char *, unsigned long, bool, bool)
+	?eapol_indication@eapol_wlan_authentication_c@@EAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_wlan_authentication_state_e@@@Z @ 891 NONAME ; enum eap_status_e eapol_wlan_authentication_c::eapol_indication(class eap_am_network_id_c const *, enum eapol_wlan_authentication_state_e)
+	?send_eap_success@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 892 NONAME ; enum eap_status_e eap_core_c::send_eap_success(class eap_am_network_id_c const *, unsigned char)
+	?sha1_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 893 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
+	?set_pairwise_PMK@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@@Z @ 894 NONAME ; enum eap_status_e eapol_key_state_c::set_pairwise_PMK(class eap_variable_data_c const *, class eap_am_network_id_c const *)
+	?eap_htons@@YAGG@Z @ 895 NONAME ; unsigned short eap_htons(unsigned short)
+	?reset@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 896 NONAME ; enum eap_status_e eap_variable_data_c::reset(void)
+	?get_key_length@crypto_aes_wrap_c@@QAEKXZ @ 897 NONAME ; unsigned long crypto_aes_wrap_c::get_key_length(void)
+	?get_crypto@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_crypto_c@@XZ @ 898 NONAME ; class abs_eap_am_crypto_c * eap_am_tools_symbian_c::get_crypto(void)
+	?eap_sha_256_process_data_network_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 899 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_network_order(unsigned long const *, unsigned long)
+	?set_network_index@simple_config_credential_c@@QAEXE@Z @ 900 NONAME ; void simple_config_credential_c::set_network_index(unsigned char)
+	?get_needs_confirmation_from_user@eap_state_notification_c@@UBE_NXZ @ 901 NONAME ; bool eap_state_notification_c::get_needs_confirmation_from_user(void) const
+	?start_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@@Z @ 902 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?set_value_length@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 903 NONAME ; enum eap_status_e eap_tlv_header_c::set_value_length(unsigned long)
+	?get_digest_length@eap_am_crypto_sha1_c@@QAEKXZ @ 904 NONAME ; unsigned long eap_am_crypto_sha1_c::get_digest_length(void)
+	?generate_diffie_hellman_keys@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBEK1K@Z @ 905 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long)
+	?get_eapol_packet_type@eapol_RC4_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 906 NONAME ; enum eapol_packet_type_e eapol_RC4_key_header_c::get_eapol_packet_type(void) const
+	?get_is_valid@crypto_kd_hmac_sha256_c@@QAE_NXZ @ 907 NONAME ; bool crypto_kd_hmac_sha256_c::get_is_valid(void)
+	?packet_send@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 908 NONAME ; enum eap_status_e eapol_key_state_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?expand_environment_variables@eap_file_config_c@@AAE?AW4eap_status_e@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@PBVeap_variable_data_c@@PAV4@@Z @ 909 NONAME ; enum eap_status_e eap_file_config_c::expand_environment_variables(class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?hash_final@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 910 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_final(void *, unsigned long *)
+	?eap_sha_256_process_data_host_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 911 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_host_order(unsigned long const *, unsigned long)
+	?mutex_enter@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@XZ @ 912 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_enter(void)
+	?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 913 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(class eap_variable_data_c const *)
+	?derive_WPXM_WPXK1_WPXK2@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 914 NONAME ; enum eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2(void)
+	?file_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 915 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read(class eap_variable_data_c *)
+	?write_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 916 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?eap_htonll@@YA_K_K@Z @ 917 NONAME ; unsigned long long eap_htonll(unsigned long long)
+	??0eap_am_mutex_symbian_c@@QAE@XZ @ 918 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(void)
+	?set_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 919 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_valid(void)
+	?set_WPXM_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 920 NONAME ; enum eap_status_e eapol_key_state_c::set_WPXM_parameters(class eap_am_network_id_c const *)
+	?get_is_timer_thread_active@eap_am_tools_symbian_c@@UAE_NXZ @ 921 NONAME ; bool eap_am_tools_symbian_c::get_is_timer_thread_active(void)
+	?object_decrease_reference_count@eap_core_c@@QAEKXZ @ 922 NONAME ; unsigned long eap_core_c::object_decrease_reference_count(void)
+	?init_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 923 NONAME ; enum eap_status_e eapol_key_state_c::init_group_key_update_timeout(unsigned long)
+	?discard_stream@crypto_rc4_c@@UAE?AW4eap_status_e@@K@Z @ 924 NONAME ; enum eap_status_e crypto_rc4_c::discard_stream(unsigned long)
+	?load_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 925 NONAME ; enum eap_status_e eapol_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
+	?zero_key_signature@eapol_RC4_key_header_c@@QAEXPAVabs_eap_am_tools_c@@@Z @ 926 NONAME ; void eapol_RC4_key_header_c::zero_key_signature(class abs_eap_am_tools_c *)
+	?set_is_valid@eapol_core_c@@UAEXXZ @ 927 NONAME ; void eapol_core_c::set_is_valid(void)
+	?generic_convert_unicode_to_utf8@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 928 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &)
+	?restore_selected_bytes_from_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE0_N@Z @ 929 NONAME ; void eap_am_tools_c::restore_selected_bytes_from_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned long *, bool)
+	??1eap_expanded_type_c@@QAE@XZ @ 930 NONAME ; eap_expanded_type_c::~eap_expanded_type_c(void)
+	?shutdown_operation@eap_session_core_c@@CA?AW4eap_status_e@@PAVeap_core_c@@PAVabs_eap_am_tools_c@@@Z @ 931 NONAME ; enum eap_status_e eap_session_core_c::shutdown_operation(class eap_core_c *, class abs_eap_am_tools_c *)
+	?set_copy_of_am_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBXK0KG@Z @ 932 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_am_network_id(void const *, unsigned long, void const *, unsigned long, unsigned short)
+	?get_eapol_header@eapol_ethernet_header_wr_c@@QBEPAEXZ @ 933 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_eapol_header(void) const
+	?memrchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 934 NONAME ; void * eap_am_tools_symbian_c::memrchr(void const *, unsigned char, unsigned long)
+	?create_PMKID@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 935 NONAME ; enum eap_status_e eapol_key_state_c::create_PMKID(void)
+	?encrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 936 NONAME ; enum eap_status_e crypto_aes_wrap_c::encrypt_block(void const *, unsigned long, void *, unsigned long)
+	?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 937 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eap_array_c<class eap_variable_data_c> const *)
+	??0eap_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 938 NONAME ; eap_header_rd_c::eap_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
+	?rsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 939 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_cleanup(class eap_variable_data_c *)
+	??1eapol_key_state_string_c@@UAE@XZ @ 940 NONAME ; eapol_key_state_string_c::~eapol_key_state_string_c(void)
+	?rsa_decrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 941 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?set_is_valid@crypto_random_c@@QAEXXZ @ 942 NONAME ; void crypto_random_c::set_is_valid(void)
+	?ascii_to_octet@eap_am_tools_c@@UAEEJ@Z @ 943 NONAME ; unsigned char eap_am_tools_c::ascii_to_octet(long)
+	?convert_utf8_to_unicode@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 944 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &)
+	?set_is_valid@eap_am_network_id_c@@AAEXXZ @ 945 NONAME ; void eap_am_network_id_c::set_is_valid(void)
+	?hash_update@crypto_sha1_c@@UAE?AW4eap_status_e@@PBXK@Z @ 946 NONAME ; enum eap_status_e crypto_sha1_c::hash_update(void const *, unsigned long)
+	?verify@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 947 NONAME ; enum eap_status_e crypto_rsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?get_block_size@crypto_aes_wrap_c@@QAEKXZ @ 948 NONAME ; unsigned long crypto_aes_wrap_c::get_block_size(void)
+	?write_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 949 NONAME ; enum eap_status_e eap_session_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?unload_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 950 NONAME ; enum eap_status_e ethernet_core_c::unload_module(class eap_expanded_type_c)
+	?get_expanded_vendor_id_offset@eap_header_base_c@@SAKXZ @ 951 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_id_offset(void)
+	?use_test_random@eap_am_crypto_symbian_c@@UAEXPBEK_N@Z @ 952 NONAME ; void eap_am_crypto_symbian_c::use_test_random(unsigned char const *, unsigned long, bool)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAE@Z @ 953 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned char *)
+	?set_is_valid@crypto_rc4_c@@EAEXXZ @ 954 NONAME ; void crypto_rc4_c::set_is_valid(void)
+	?memset@eap_am_tools_symbian_c@@UAEXPAXJK@Z @ 955 NONAME ; void eap_am_tools_symbian_c::memset(void *, long, unsigned long)
+	?set_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 956 NONAME ; enum eap_status_e ethernet_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	?initialize_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 957 NONAME ; enum eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session(unsigned long)
+	?aes_key_length@eap_am_crypto_symbian_c@@UAEKXZ @ 958 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_key_length(void)
+	?get_is_valid@crypto_aes_c@@UAE_NXZ @ 959 NONAME ; bool crypto_aes_c::get_is_valid(void)
+	?reset_header@eap_tlv_header_c@@QAE?AW4eap_status_e@@KK@Z @ 960 NONAME ; enum eap_status_e eap_tlv_header_c::reset_header(unsigned long, unsigned long)
+	?add_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_tlv_message_data_c@@K@Z @ 961 NONAME ; enum eap_status_e eap_am_memory_store_c::add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c const *, unsigned long)
+	?read_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 962 NONAME ; enum eap_status_e eapol_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?get_is_valid@eap_variable_data_c@@QBE_NXZ @ 963 NONAME ; bool eap_variable_data_c::get_is_valid(void) const
+	?set_is_invalid@crypto_dsa_c@@AAEXXZ @ 964 NONAME ; void crypto_dsa_c::set_is_invalid(void)
+	?read_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPBXKPAV1@@Z @ 965 NONAME ; enum eap_status_e eap_expanded_type_c::read_type(class abs_eap_am_tools_c *, unsigned long, void const *, unsigned long, class eap_expanded_type_c *)
+	??1eap_header_base_c@@UAE@XZ @ 966 NONAME ; eap_header_base_c::~eap_header_base_c(void)
+	?create_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 967 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?get_message_data_length@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 968 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_message_data_length(void) const
+	?process_data@eapol_message_wlan_authentication_c@@QAE?AW4wlan_eap_if_send_status_e@@PBXK@Z @ 969 NONAME ; enum wlan_eap_if_send_status_e eapol_message_wlan_authentication_c::process_data(void const *, unsigned long)
+	?load_module@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 970 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
+	?configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 971 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::configure(void)
+	??1simple_config_credential_c@@UAE@XZ @ 972 NONAME ; simple_config_credential_c::~simple_config_credential_c(void)
+	?set_timer_resolution_ms@eap_am_tools_symbian_c@@UAEXK@Z @ 973 NONAME ; void eap_am_tools_symbian_c::set_timer_resolution_ms(unsigned long)
+	?get_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QBE?AW4key_descriptor_version_e@1@XZ @ 974 NONAME ; enum eapol_RSNA_key_header_c::key_descriptor_version_e eapol_RSNA_key_header_c::get_key_information_key_descriptor_version(void) const
+	??1eapol_wlan_authentication_c@@UAE@XZ @ 975 NONAME ; eapol_wlan_authentication_c::~eapol_wlan_authentication_c(void)
+	??0eap_file_config_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 976 NONAME ; eap_file_config_c::eap_file_config_c(class abs_eap_am_tools_c *)
+	?get_header_length@eapol_header_base_c@@SAKXZ @ 977 NONAME ; unsigned long eapol_header_base_c::get_header_length(void)
+	?am_cancel_all_timers@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 978 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_all_timers(void)
+	?get_md4_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 979 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_block_size(class eap_variable_data_c *)
+	?set_encryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 980 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_encryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	?set_stack_address@eap_buf_chain_base_c@@QAEXPBX@Z @ 981 NONAME ; void eap_buf_chain_base_c::set_stack_address(void const *)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@_K@Z @ 982 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned long long)
+	?read_configure@eap_file_config_c@@AAE?AW4eap_status_e@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@PAW4eap_configure_type_e@@_N@Z @ 983 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *, class eap_configuration_field_c const *, class eap_variable_data_c *, enum eap_configure_type_e *, bool)
+	?nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 984 NONAME ; enum eap_status_e crypto_nt_hash_c::nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
+	?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 985 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void *, unsigned long)
+	?get_code_string@eap_header_base_c@@QBEPBDXZ @ 986 NONAME ; char const * eap_header_base_c::get_code_string(void) const
+	?remove_reference@eap_am_mutex_reference_c@@QAEXXZ @ 987 NONAME ; void eap_am_mutex_reference_c::remove_reference(void)
+	?rsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11@Z @ 988 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?eap_acknowledge@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 989 NONAME ; enum eap_status_e eapol_core_c::eap_acknowledge(class eap_am_network_id_c const *)
+	?open_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 990 NONAME ; void eap_am_crypto_symbian_c::open_crypto_memory_leaks(void)
+	?set_is_valid@eap_am_crypto_rc4_c@@AAEXXZ @ 991 NONAME ; void eap_am_crypto_rc4_c::set_is_valid(void)
+	?force_inheritance@eap_buf_chain_wr_c@@EAEXXZ @ 992 NONAME ; void eap_buf_chain_wr_c::force_inheritance(void)
+	?set_is_client@eap_buf_chain_base_c@@QAEX_N@Z @ 993 NONAME ; void eap_buf_chain_base_c::set_is_client(bool)
+	?check_is_valid_eap_type@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 994 NONAME ; enum eap_status_e ethernet_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
+	?get_key_information@eapol_RSNA_key_header_c@@QBEGXZ @ 995 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_information(void) const
+	?set_is_valid@crypto_aes_c@@UAEXXZ @ 996 NONAME ; void crypto_aes_c::set_is_valid(void)
+	?set_is_invalid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 997 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_invalid(void)
+	?set_partner@eap_core_c@@QAEXPAVabs_eap_core_c@@@Z @ 998 NONAME ; void eap_core_c::set_partner(class abs_eap_core_c *)
+	?get_version@eapol_header_base_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 999 NONAME ; enum eapol_protocol_version_e eapol_header_base_c::get_version(void) const
+	??0crypto_tls_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1000 NONAME ; crypto_tls_sha1_prf_c::crypto_tls_sha1_prf_c(class abs_eap_am_tools_c *)
+	?get_block_size@crypto_md4_c@@UAEKXZ @ 1001 NONAME ; unsigned long crypto_md4_c::get_block_size(void)
+	?timer_thread_function@eap_am_tools_c@@UAE?AW4eap_status_e@@XZ @ 1002 NONAME ; enum eap_status_e eap_am_tools_c::timer_thread_function(void)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPAVsimple_config_credential_c@@@Z @ 1003 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class simple_config_credential_c *) const
+	?set_eapol_protocol_version@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 1004 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e)
+	?packet_send@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 1005 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?packet_process@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1006 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?begin_db_update@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 1007 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_update(class RDbView &)
+	?generic_convert_utf8_to_unicode@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 1008 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &)
+	?packet_data_session_key@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 1009 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
+	?packet_send@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 1010 NONAME ; enum eap_status_e eapol_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?add_rogue_ap@eap_session_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1011 NONAME ; enum eap_status_e eap_session_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
+	?get_current_eap_index@eapol_wlan_authentication_c@@UAEKXZ @ 1012 NONAME ; unsigned long eapol_wlan_authentication_c::get_current_eap_index(void)
+	?set_key@crypto_rc4_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1013 NONAME ; enum eap_status_e crypto_rc4_c::set_key(class eap_variable_data_c const *)
+	?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 1014 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void *, unsigned long)
+	??0eapol_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1015 NONAME ; eapol_header_base_c::eapol_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
+	?get_is_valid@crypto_ephemeral_diffie_hellman_c@@QAE_NXZ @ 1016 NONAME ; bool crypto_ephemeral_diffie_hellman_c::get_is_valid(void)
+	?complete_WPXM_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 1017 NONAME ; enum eap_status_e eapol_core_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
+	?get_is_valid@eap_core_retransmission_c@@QBE_NXZ @ 1018 NONAME ; bool eap_core_retransmission_c::get_is_valid(void) const
+	?read_reassociation_parameters@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 1019 NONAME ; enum eap_status_e ethernet_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	??1crypto_dsa_c@@UAE@XZ @ 1020 NONAME ; crypto_dsa_c::~crypto_dsa_c(void)
+	?resend_packet@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 1021 NONAME ; enum eap_status_e eapol_key_state_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_variable_data_c@@@Z @ 1022 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_variable_data_c *)
+	?set_is_valid@crypto_sha_256_c@@EAEXXZ @ 1023 NONAME ; void crypto_sha_256_c::set_is_valid(void)
+	??1eapol_key_state_c@@UAE@XZ @ 1024 NONAME ; eapol_key_state_c::~eapol_key_state_c(void)
+	??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1025 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *)
+	?get_trace_mutex@eap_am_tools_symbian_c@@QAEPAVabs_eap_am_mutex_c@@XZ @ 1026 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_trace_mutex(void)
+	?object_increase_reference_count@eapol_handle_tlv_message_data_c@@QAEXXZ @ 1027 NONAME ; void eapol_handle_tlv_message_data_c::object_increase_reference_count(void)
+	?decrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 1028 NONAME ; enum eap_status_e crypto_aes_wrap_c::decrypt_block(void const *, unsigned long, void *, unsigned long)
+	?file_delete@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1029 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_delete(class eap_variable_data_c const *)
+	?get_eap_type_string@eap_header_string_c@@SAPBDVeap_expanded_type_c@@@Z @ 1030 NONAME ; char const * eap_header_string_c::get_eap_type_string(class eap_expanded_type_c)
+	??0eapol_handle_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1031 NONAME ; eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c(class abs_eap_am_tools_c *)
+	??1eap_state_notification_c@@UAE@XZ @ 1032 NONAME ; eap_state_notification_c::~eap_state_notification_c(void)
+	?hmac_final@crypto_hmac_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 1033 NONAME ; enum eap_status_e crypto_hmac_c::hmac_final(void *, unsigned long *)
+	?file_read_line@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAVeap_variable_data_c@@@Z @ 1034 NONAME ; enum eap_status_e eap_file_config_c::file_read_line(class abs_eap_am_file_input_c *, class eap_variable_data_c *)
+	?get_is_client@eap_state_notification_c@@UBE_NXZ @ 1035 NONAME ; bool eap_state_notification_c::get_is_client(void) const
+	??0crypto_wpa_psk_password_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1036 NONAME ; crypto_wpa_psk_password_hash_c::crypto_wpa_psk_password_hash_c(class abs_eap_am_tools_c *)
+	??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1037 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *)
+	?get_header_offset@eap_general_header_base_c@@QBEPAEKK@Z @ 1038 NONAME ; unsigned char * eap_general_header_base_c::get_header_offset(unsigned long, unsigned long) const
+	?check_pmksa_cache@eapol_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 1039 NONAME ; enum eap_status_e eapol_core_c::check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?get_key_STA_MAC_address@eapol_RSNA_key_header_c@@QBEPAEXZ @ 1040 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_STA_MAC_address(void) const
+	?cancel_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1041 NONAME ; enum eap_status_e eap_core_c::cancel_eap_failure_timeout(void)
+	?get_protocol_layer@eap_state_notification_c@@UBE?AW4eap_protocol_layer_e@@XZ @ 1042 NONAME ; enum eap_protocol_layer_e eap_state_notification_c::get_protocol_layer(void) const
+	?get_replay_counter@eapol_RC4_key_header_c@@QAEPAEXZ @ 1043 NONAME ; unsigned char * eapol_RC4_key_header_c::get_replay_counter(void)
+	?set_do_length_checks@eap_buf_chain_base_c@@QAEX_N@Z @ 1044 NONAME ; void eap_buf_chain_base_c::set_do_length_checks(bool)
+	?get_buffer_length@eap_buf_chain_base_c@@QBEKXZ @ 1045 NONAME ; unsigned long eap_buf_chain_base_c::get_buffer_length(void) const
+	?set_encryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1046 NONAME ; enum eap_status_e crypto_3des_ede_c::set_encryption_key(void const *, unsigned long)
+	??0eap_general_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1047 NONAME ; eap_general_header_base_c::eap_general_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
+	?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 1048 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const
+	?start_authentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eapol_key_authentication_type_e@@0_NPBVeap_am_network_id_c@@@Z @ 1049 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_authentication(class eap_variable_data_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, bool, class eap_am_network_id_c const *)
+	?get_type_string@eapol_handle_tlv_message_data_c@@QAEPBDW4eapol_tlv_message_type_e@@@Z @ 1050 NONAME ; char const * eapol_handle_tlv_message_data_c::get_type_string(enum eapol_tlv_message_type_e)
+	?parse_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@PBVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@W4key_descriptor_version_e@eapol_RSNA_key_header_c@@@Z @ 1051 NONAME ; enum eap_status_e eapol_key_state_c::parse_key_data(enum eapol_key_descriptor_type_e, class eapol_rsna_key_data_header_c const *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e, enum eapol_RSNA_key_header_c::key_descriptor_version_e)
+	?get_data@eap_header_base_c@@QBEPAEK@Z @ 1052 NONAME ; unsigned char * eap_header_base_c::get_data(unsigned long) const
+	?reset_header@eapol_header_wr_c@@QAEXG@Z @ 1053 NONAME ; void eapol_header_wr_c::reset_header(unsigned short)
+	?get_eapol_packet_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 1054 NONAME ; enum eapol_packet_type_e eapol_RSNA_key_header_c::get_eapol_packet_type(void) const
+	?get_is_valid@eapol_handle_tlv_message_data_c@@QAE_NXZ @ 1055 NONAME ; bool eapol_handle_tlv_message_data_c::get_is_valid(void)
+	?xor_u64@eap_am_tools_c@@UAE_K_K0@Z @ 1056 NONAME ; unsigned long long eap_am_tools_c::xor_u64(unsigned long long, unsigned long long)
+	?swap@eap_am_crypto_rc4_c@@AAEXPAE0@Z @ 1057 NONAME ; void eap_am_crypto_rc4_c::swap(unsigned char *, unsigned char *)
+	?eap_read_u32_t_network_order@@YAKPBXK@Z @ 1058 NONAME ; unsigned long eap_read_u32_t_network_order(void const *, unsigned long)
+	?get_key_length@crypto_aes_c@@UAEKXZ @ 1059 NONAME ; unsigned long crypto_aes_c::get_key_length(void)
+	?get_partner@eap_core_c@@QAEPAVabs_eap_core_c@@XZ @ 1060 NONAME ; class abs_eap_core_c * eap_core_c::get_partner(void)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeapol_session_key_c@@@Z @ 1061 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eapol_session_key_c const *)
+	??1eap_am_memory_store_tlv_data_c@@UAE@XZ @ 1062 NONAME ; eap_am_memory_store_tlv_data_c::~eap_am_memory_store_tlv_data_c(void)
+	?set_is_valid@crypto_rsa_c@@AAEXXZ @ 1063 NONAME ; void crypto_rsa_c::set_is_valid(void)
+	?set_max_trace_file_size@eap_am_tools_symbian_c@@UAEXK@Z @ 1064 NONAME ; void eap_am_tools_symbian_c::set_max_trace_file_size(unsigned long)
+	?set_is_invalid@crypto_md4_c@@AAEXXZ @ 1065 NONAME ; void crypto_md4_c::set_is_invalid(void)
+	?set_wlan_parameters@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N0W4eapol_key_authentication_type_e@@@Z @ 1066 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_wlan_parameters(class eap_variable_data_c const *, bool, class eap_variable_data_c const *, enum eapol_key_authentication_type_e)
+	?set_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1067 NONAME ; enum eap_status_e eapol_wlan_authentication_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	?enter_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 1068 NONAME ; void eap_am_tools_symbian_c::enter_trace_mutex(void)
+	?md4_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 1069 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	??0eap_expanded_type_c@@QAE@W4eap_type_ietf_values_e@@@Z @ 1070 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_ietf_values_e)
+	?get_is_valid@eapol_am_wlan_authentication_symbian_c@@UAE_NXZ @ 1071 NONAME ; bool eapol_am_wlan_authentication_symbian_c::get_is_valid(void)
+	?allocate_buffer@eap_variable_data_c@@AAE?AW4eap_status_e@@K@Z @ 1072 NONAME ; enum eap_status_e eap_variable_data_c::allocate_buffer(unsigned long)
+	?derive_WPXM_PTK@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 1073 NONAME ; enum eap_status_e eapol_key_state_c::derive_WPXM_PTK(unsigned long)
+	?get_md4_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 1074 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_digest_length(class eap_variable_data_c *)
+	?set_authentication_error@eap_state_notification_c@@UAEXW4eap_status_e@@@Z @ 1075 NONAME ; void eap_state_notification_c::set_authentication_error(enum eap_status_e)
+	?set_client_send_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 1076 NONAME ; void eapol_key_state_c::set_client_send_key_reply_counter(unsigned long long)
+	?eap_acknowledge@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1077 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::eap_acknowledge(class eap_array_c<class eap_tlv_header_c> const *)
+	?rc4_set_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1078 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_set_key(class eap_variable_data_c *, class eap_variable_data_c const *)
+	?process_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1079 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?get_header_length@eap_tlv_header_c@@SAKXZ @ 1080 NONAME ; unsigned long eap_tlv_header_c::get_header_length(void)
+	?initialize@eap_buf_chain_base_c@@AAE?AW4eap_status_e@@K@Z @ 1081 NONAME ; enum eap_status_e eap_buf_chain_base_c::initialize(unsigned long)
+	??0eap_expanded_type_c@@QAE@XZ @ 1082 NONAME ; eap_expanded_type_c::eap_expanded_type_c(void)
+	??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 1083 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool)
+	?copy@eap_am_crypto_sha1_c@@QAEPAV1@XZ @ 1084 NONAME ; class eap_am_crypto_sha1_c * eap_am_crypto_sha1_c::copy(void)
+	??1eap_variable_data_c@@UAE@XZ @ 1085 NONAME ; eap_variable_data_c::~eap_variable_data_c(void)
+	?object_decrease_reference_count@eap_am_memory_store_tlv_data_c@@QAEKXZ @ 1086 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::object_decrease_reference_count(void)
+	?restart_with_new_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@E@Z @ 1087 NONAME ; enum eap_status_e eap_core_c::restart_with_new_type(class eap_expanded_type_c, class eap_am_network_id_c const *, unsigned char)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBVabs_eap_state_notification_c@@@Z @ 1088 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class abs_eap_state_notification_c const *) const
+	??0eap_core_retransmission_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 1089 NONAME ; eap_core_retransmission_c::eap_core_retransmission_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
+	?init@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 1090 NONAME ; enum eap_status_e eap_variable_data_c::init(unsigned long)
+	?get_eap_code_string@eap_header_string_c@@SAPBDW4eap_code_value_e@@@Z @ 1091 NONAME ; char const * eap_header_string_c::get_eap_code_string(enum eap_code_value_e)
+	??1network_key_and_index_c@@UAE@XZ @ 1092 NONAME ; network_key_and_index_c::~network_key_and_index_c(void)
+	?copy_context@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 1093 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *)
+	??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1094 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *)
+	?compare@eap_variable_data_c@@QBEJPBXK@Z @ 1095 NONAME ; long eap_variable_data_c::compare(void const *, unsigned long) const
+	?copy@crypto_md4_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 1096 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md4_c::copy(void)
+	?generate_g_power_to_xy@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBEK2K@Z @ 1097 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long)
+	?directory_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Vabs_eap_file_stat_c@@@@@Z @ 1098 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_read(class eap_array_c<class abs_eap_file_stat_c> *)
+	?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 1099 NONAME ; bool simple_config_credential_c::get_is_valid(void)
+	?set_trace_mask@eap_am_tools_c@@UAEXK@Z @ 1100 NONAME ; void eap_am_tools_c::set_trace_mask(unsigned long)
+	?dsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11111@Z @ 1101 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?file_read_word@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1102 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_word(class eap_variable_data_c *)
+	?set_is_valid@eap_am_memory_store_c@@AAEXXZ @ 1103 NONAME ; void eap_am_memory_store_c::set_is_valid(void)
+	?process_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1104 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_4(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 1105 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(class eap_variable_data_c const *)
+	?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 1106 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void)
+	?handle_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_base_type_c@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 1107 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_response(class eap_base_type_c *, class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
+	?init_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 1108 NONAME ; enum eap_status_e eapol_key_state_c::init_handshake_timeout(unsigned long)
+	?set_eapol_key_state@eapol_key_state_c@@AAEXW4eapol_key_state_e@@@Z @ 1109 NONAME ; void eapol_key_state_c::set_eapol_key_state(enum eapol_key_state_e)
+	?set_type_data_length@eap_header_base_c@@QAEXG_N@Z @ 1110 NONAME ; void eap_header_base_c::set_type_data_length(unsigned short, bool)
+	?get_eap_expanded_type_size@eap_expanded_type_c@@SAKXZ @ 1111 NONAME ; unsigned long eap_expanded_type_c::get_eap_expanded_type_size(void)
+	?init_retransmission@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 1112 NONAME ; enum eap_status_e eap_core_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
+	?cancel_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 1113 NONAME ; enum eap_status_e eapol_key_state_c::cancel_group_key_update_timeout(void)
+	?set_eapol_packet_body_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@K@Z @ 1114 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_body_length(unsigned long)
+	?new_eapol_am_wlan_authentication@eapol_am_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@_NPBVabs_eapol_wlan_database_reference_if_c@@@Z @ 1115 NONAME ; class eapol_am_wlan_authentication_c * eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication(class abs_eap_am_tools_c *, bool, class abs_eapol_wlan_database_reference_if_c const *)
+	?create_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1116 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_3(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?update_header_offset@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1117 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_header_offset(class eap_array_c<class eap_tlv_header_c> const *)
+	?asynchronous_init_remove_eap_session@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1118 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *)
+	??1crypto_md4_c@@UAE@XZ @ 1119 NONAME ; crypto_md4_c::~crypto_md4_c(void)
+	?leave_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 1120 NONAME ; void eap_am_tools_symbian_c::leave_trace_mutex(void)
+	?get_is_valid@eap_am_memory_store_c@@QAE_NXZ @ 1121 NONAME ; bool eap_am_memory_store_c::get_is_valid(void)
+	?cancel_all_timers@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 1122 NONAME ; enum eap_status_e eap_core_c::cancel_all_timers(void)
+	?get_digest_length@crypto_sha1_c@@UAEKXZ @ 1123 NONAME ; unsigned long crypto_sha1_c::get_digest_length(void)
+	?remove_leading_spaces@eap_file_config_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1124 NONAME ; enum eap_status_e eap_file_config_c::remove_leading_spaces(class eap_variable_data_c *)
+	?timer_delete_data@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1125 NONAME ; enum eap_status_e eap_core_c::timer_delete_data(unsigned long, void *)
+	??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 1126 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAG@Z @ 1127 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned short *)
+	?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 1128 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e)
+	?get_is_RSNA@eapol_key_state_c@@AAE_NXZ @ 1129 NONAME ; bool eapol_key_state_c::get_is_RSNA(void)
+	??0eap_am_file_input_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1130 NONAME ; eap_am_file_input_symbian_c::eap_am_file_input_symbian_c(class abs_eap_am_tools_c *)
+	?get_ethernet_header@eap_buf_chain_wr_c@@QAEPAEXZ @ 1131 NONAME ; unsigned char * eap_buf_chain_wr_c::get_ethernet_header(void)
+	?tls_prf_A_value@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PAVeap_variable_data_c@@11@Z @ 1132 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_A_value(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
+	?convert_eapol_error_to_am_error@eap_am_tools_symbian_c@@UAEJW4eap_status_e@@@Z @ 1133 NONAME ; long eap_am_tools_symbian_c::convert_eapol_error_to_am_error(enum eap_status_e)
+	?get_key_descriptor_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 1134 NONAME ; enum eapol_key_descriptor_type_e eapol_RSNA_key_header_c::get_key_descriptor_type(void) const
+	?get_current_state_string@eap_state_notification_c@@UBEPBDXZ @ 1135 NONAME ; char const * eap_state_notification_c::get_current_state_string(void) const
+	?get_key@eapol_RC4_key_header_c@@QBEPAEXZ @ 1136 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key(void) const
+	?set_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 1137 NONAME ; enum eap_status_e eap_variable_data_c::set_data_length(unsigned long)
+	?tkip_mic_failure@eapol_key_state_c@@QAE?AW4eap_status_e@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 1138 NONAME ; enum eap_status_e eapol_key_state_c::tkip_mic_failure(bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e)
+	?set_key_tx_bit@eapol_session_key_c@@QAEX_N@Z @ 1139 NONAME ; void eapol_session_key_c::set_key_tx_bit(bool)
+	?aes_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1140 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_cleanup(class eap_variable_data_c *)
+	?get_data_offset@eap_buf_chain_rd_c@@QBEPBEKK@Z @ 1141 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data_offset(unsigned long, unsigned long) const
+	?cancel_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1142 NONAME ; enum eap_status_e eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	??0eapol_ethernet_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1143 NONAME ; eapol_ethernet_header_base_c::eapol_ethernet_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
+	?get_data_offset@eap_variable_data_c@@QBEPAEKK@Z @ 1144 NONAME ; unsigned char * eap_variable_data_c::get_data_offset(unsigned long, unsigned long) const
+	?sha1_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1145 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
+	?cancel_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1146 NONAME ; enum eap_status_e eapol_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	?state_notification@eapol_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1147 NONAME ; void eapol_core_c::state_notification(class abs_eap_state_notification_c const *)
+	??0crypto_eap_fast_hmac_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1148 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::crypto_eap_fast_hmac_sha1_prf_c(class abs_eap_am_tools_c *)
+	?tls_prf_cleanup@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@XZ @ 1149 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_cleanup(void)
+	?set_key_information_secure@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 1150 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_secure(bool)
+	?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 1151 NONAME ; bool network_key_and_index_c::get_is_valid(void)
+	?internal_encrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 1152 NONAME ; enum eap_status_e crypto_cbc_c::internal_encrypt_data(void const *, void *, unsigned long)
+	??0eap_simple_config_trace_string_c@@QAE@XZ @ 1153 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void)
+	??1eapol_handle_tlv_message_data_c@@UAE@XZ @ 1154 NONAME ; eapol_handle_tlv_message_data_c::~eapol_handle_tlv_message_data_c(void)
+	?set_encryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1155 NONAME ; enum eap_status_e crypto_aes_c::set_encryption_key(void const *, unsigned long)
+	?save_parameters@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@1W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 1156 NONAME ; enum eap_status_e eapol_key_state_c::save_parameters(enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	??1eap_am_crypto_sha_256_c@@UAE@XZ @ 1157 NONAME ; eap_am_crypto_sha_256_c::~eap_am_crypto_sha_256_c(void)
+	?get_new_key_from_sha@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 1158 NONAME ; enum eap_status_e crypto_nt_hash_c::get_new_key_from_sha(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
+	?configure@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 1159 NONAME ; enum eap_status_e ethernet_core_c::configure(void)
+	?shutdown@eap_am_memory_store_c@@QAE?AW4eap_status_e@@XZ @ 1160 NONAME ; enum eap_status_e eap_am_memory_store_c::shutdown(void)
+	?reset_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 1161 NONAME ; enum eap_status_e eap_core_c::reset_operation(class eap_base_type_c *, class abs_eap_am_tools_c *)
+	?cbc_xor_block@crypto_cbc_c@@AAEXPBXPAXKK@Z @ 1162 NONAME ; void crypto_cbc_c::cbc_xor_block(void const *, void *, unsigned long, unsigned long)
+	?close_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 1163 NONAME ; void eap_am_crypto_symbian_c::close_crypto_memory_leaks(void)
+	?check_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 1164 NONAME ; enum eap_status_e eapol_key_state_c::check_padding(unsigned char const *, unsigned long)
+	?unset_marked_removed@eap_core_c@@QAEXXZ @ 1165 NONAME ; void eap_core_c::unset_marked_removed(void)
+	?directory_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1166 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_open(class eap_variable_data_c const *)
+	?memory_store_remove_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1167 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_remove_data(class eap_variable_data_c const *)
+	?set_is_reserved@eap_am_mutex_reference_c@@QAEX_N@Z @ 1168 NONAME ; void eap_am_mutex_reference_c::set_is_reserved(bool)
+	?synchronous_cancel_all_eap_sessions@eap_session_core_c@@QAE?AW4eap_status_e@@XZ @ 1169 NONAME ; enum eap_status_e eap_session_core_c::synchronous_cancel_all_eap_sessions(void)
+	?associate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 1170 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::associate(enum eapol_key_802_11_authentication_mode_e)
+	?asynchronous_init_remove_eapol_key_state@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1171 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state(class eap_am_network_id_c const *)
+	?get_key_information_reserved_a@eapol_RSNA_key_header_c@@QBEEXZ @ 1172 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_reserved_a(void) const
+	?start_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1173 NONAME ; enum eap_status_e eapol_key_state_c::start_4_way_handshake(class eap_am_network_id_c const *)
+	?hash_update@crypto_md4_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1174 NONAME ; enum eap_status_e crypto_md4_c::hash_update(void const *, unsigned long)
+	?rsna_prf@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00KPAV3@@Z @ 1175 NONAME ; enum eap_status_e eapol_key_state_c::rsna_prf(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c *)
+	?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4eap_status_e@@W4wlan_eap_if_send_status_e@@@Z @ 1176 NONAME ; enum eap_status_e wlan_eap_if_send_status_conversion_c::convert(enum wlan_eap_if_send_status_e)
+	?set_encrypt@eap_buf_chain_base_c@@QAEX_N@Z @ 1177 NONAME ; void eap_buf_chain_base_c::set_encrypt(bool)
+	?set_code@eap_header_base_c@@QAEXW4eap_code_value_e@@@Z @ 1178 NONAME ; void eap_header_base_c::set_code(enum eap_code_value_e)
+	?reset_header@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@EW4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@1@_K_N33333333W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1179 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::reset_header(unsigned char, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned long long, bool, bool, bool, bool, bool, bool, bool, bool, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?parse_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1180 NONAME ; enum eap_status_e eap_tlv_message_data_c::parse_message_data(class eap_array_c<class eap_tlv_header_c> *)
+	?directory_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1181 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_close(void)
+	??1crypto_kd_hmac_sha256_c@@UAE@XZ @ 1182 NONAME ; crypto_kd_hmac_sha256_c::~crypto_kd_hmac_sha256_c(void)
+	?check_header@eap_tlv_header_c@@UBE?AW4eap_status_e@@XZ @ 1183 NONAME ; enum eap_status_e eap_tlv_header_c::check_header(void) const
+	?new_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAPAV1@XZ @ 1184 NONAME ; class abs_eap_am_tools_c * abs_eap_am_tools_c::new_abs_eap_am_tools_c(void)
+	?eap_write_u24_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 1185 NONAME ; enum eap_status_e eap_write_u24_t_network_order(void *, unsigned long, unsigned long)
+	?get_is_valid@crypto_sha_256_c@@UAE_NXZ @ 1186 NONAME ; bool crypto_sha_256_c::get_is_valid(void)
+	?get_header_offset@eapol_core_c@@UAEKPAK0@Z @ 1187 NONAME ; unsigned long eapol_core_c::get_header_offset(unsigned long *, unsigned long *)
+	??1eapol_message_wlan_authentication_c@@UAE@XZ @ 1188 NONAME ; eapol_message_wlan_authentication_c::~eapol_message_wlan_authentication_c(void)
+	?check_payloads@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@000@Z @ 1189 NONAME ; bool eapol_rsna_key_data_payloads_c::check_payloads(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e)
+	?copy_message_digest@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 1190 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_message_digest(void *, unsigned long *)
+	?timer_delete_data@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1191 NONAME ; enum eap_status_e eap_session_core_c::timer_delete_data(unsigned long, void *)
+	?convert_am_error_to_eapol_error@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@J@Z @ 1192 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(long)
+	??1eapol_rsna_key_data_payloads_c@@UAE@XZ @ 1193 NONAME ; eapol_rsna_key_data_payloads_c::~eapol_rsna_key_data_payloads_c(void)
+	?sha_256_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 1194 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
+	??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1195 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *)
+	?copy_context@crypto_md5_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1196 NONAME ; enum eap_status_e crypto_md5_c::copy_context(class eap_variable_data_c const *)
+	?get_destination_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1197 NONAME ; unsigned long eapol_ethernet_header_base_c::get_destination_length(void) const
+	?get_key_IV@eapol_RC4_key_header_c@@QAEPAEXZ @ 1198 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_IV(void)
+	?get_key_data_offset@eapol_RSNA_key_header_c@@QBEPAEKK@Z @ 1199 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data_offset(unsigned long, unsigned long) const
+	?eap_host_to_little_endian_long@@YAKK@Z @ 1200 NONAME ; unsigned long eap_host_to_little_endian_long(unsigned long)
+	?timer_delete_data@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1201 NONAME ; enum eap_status_e eapol_key_state_c::timer_delete_data(unsigned long, void *)
+	?get_eapol_protocol_version@eapol_RSNA_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 1202 NONAME ; enum eapol_protocol_version_e eapol_RSNA_key_header_c::get_eapol_protocol_version(void) const
+	?zero_EAPOL_key_IV@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 1203 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_key_IV(class abs_eap_am_tools_c *)
+	?set_is_valid@crypto_tls_prf_c@@AAEXXZ @ 1204 NONAME ; void crypto_tls_prf_c::set_is_valid(void)
+	?set_is_invalid@crypto_rc4_c@@AAEXXZ @ 1205 NONAME ; void crypto_rc4_c::set_is_invalid(void)
+	?indicate_eapol_key_state_started_eap_authentication@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1206 NONAME ; enum eap_status_e eapol_core_c::indicate_eapol_key_state_started_eap_authentication(class eap_am_network_id_c const *)
+	??1eap_network_id_selector_c@@UAE@XZ @ 1207 NONAME ; eap_network_id_selector_c::~eap_network_id_selector_c(void)
+	?get_allow_send_eap_success@eap_state_notification_c@@UBE_NXZ @ 1208 NONAME ; bool eap_state_notification_c::get_allow_send_eap_success(void) const
+	?get_type@eap_type_selection_c@@QBE?AVeap_expanded_type_c@@XZ @ 1209 NONAME ; class eap_expanded_type_c eap_type_selection_c::get_type(void) const
+	?get_authentication_error@eap_state_notification_c@@UBE?AW4eap_status_e@@XZ @ 1210 NONAME ; enum eap_status_e eap_state_notification_c::get_authentication_error(void) const
+	?zero_key_reserved@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 1211 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_reserved(class abs_eap_am_tools_c *)
+	?get_key_signature@eapol_RC4_key_header_c@@QBEPAEXZ @ 1212 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_signature(void) const
+	?get_source_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 1213 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_source_id(void) const
+	?set_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 1214 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_encrypted_key_data(bool)
+	?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBVeapol_rsna_variable_data_c@@@Z @ 1215 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eapol_rsna_variable_data_c const *)
+	?get_protocol_string@eap_state_notification_c@@SAPBDKK@Z @ 1216 NONAME ; char const * eap_state_notification_c::get_protocol_string(unsigned long, unsigned long)
+	?start_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 1217 NONAME ; enum eap_status_e ethernet_core_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *)
+	?client_proposes_eap_types@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1218 NONAME ; enum eap_status_e eap_core_c::client_proposes_eap_types(class eap_am_network_id_c const *, unsigned char)
+	??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@W4eapol_key_type_e@@K_NPBEK@Z @ 1219 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *, class eap_variable_data_c *, enum eapol_key_type_e, unsigned long, bool, unsigned char const *, unsigned long)
+	?get_is_reserved@eap_am_mutex_reference_c@@QAE_NXZ @ 1220 NONAME ; bool eap_am_mutex_reference_c::get_is_reserved(void)
+	?set_key@eapol_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1221 NONAME ; enum eap_status_e eapol_session_key_c::set_key(class eap_variable_data_c const *)
+	?set_is_invalid@crypto_rsa_c@@AAEXXZ @ 1222 NONAME ; void crypto_rsa_c::set_is_invalid(void)
+	?complete_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 1223 NONAME ; enum eap_status_e eapol_key_state_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *)
+	?eap_write_u32_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 1224 NONAME ; enum eap_status_e eap_write_u32_t_network_order(void *, unsigned long, unsigned long)
+	?get_hardware_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 1225 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks_of_second(void)
+	?get_header_offset@eapol_message_wlan_authentication_c@@UAEKPAK0@Z @ 1226 NONAME ; unsigned long eapol_message_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *)
+	?get_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 1227 NONAME ; enum eap_status_e eap_am_memory_store_c::get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *)
+	?aes_block_size@eap_am_crypto_symbian_c@@UAEKXZ @ 1228 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_block_size(void)
+	?add_structured_parameter_header@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_tlv_message_type_e@@K@Z @ 1229 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_structured_parameter_header(enum eapol_tlv_message_type_e, unsigned long)
+	?get_global_mutex@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 1230 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_global_mutex(void)
+	?check_is_aes_key_wrap_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@K@Z @ 1231 NONAME ; enum eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding(enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long)
+	?get_encrypts@crypto_aes_c@@UAE_NXZ @ 1232 NONAME ; bool crypto_aes_c::get_encrypts(void)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBVeapol_session_key_c@@@Z @ 1233 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eapol_session_key_c const *) const
+	?check_is_valid_eap_type@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1234 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type(class eap_expanded_type_c)
+	?get_eapol_key_descriptor_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_descriptor_type_e@@@Z @ 1235 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_descriptor_type_string(enum eapol_key_descriptor_type_e)
+	?eap_shift_right_64_bit@@YA_K_KK@Z @ 1236 NONAME ; unsigned long long eap_shift_right_64_bit(unsigned long long, unsigned long)
+	?add_rogue_ap@eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1237 NONAME ; enum eap_status_e eap_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
+	?timer_expired@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1238 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_expired(unsigned long, void *)
+	?add_rogue_ap@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1239 NONAME ; enum eap_status_e eapol_wlan_authentication_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
+	??9eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 1240 NONAME ; bool eap_expanded_type_c::operator!=(enum eap_type_ietf_values_e) const
+	?get_sequence_number@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 1241 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_sequence_number(void) const
+	?tls_prf_one_round@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PBVeap_variable_data_c@@PAV4@2PAXK@Z @ 1242 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_one_round(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, void *, unsigned long)
+	?memchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 1243 NONAME ; void * eap_am_tools_symbian_c::memchr(void const *, unsigned char, unsigned long)
+	??1crypto_rc4_c@@UAE@XZ @ 1244 NONAME ; crypto_rc4_c::~crypto_rc4_c(void)
+	??1eap_status_string_c@@UAE@XZ @ 1245 NONAME ; eap_status_string_c::~eap_status_string_c(void)
+	?get_buffer@eap_variable_data_c@@QBEPAEK@Z @ 1246 NONAME ; unsigned char * eap_variable_data_c::get_buffer(unsigned long) const
+	?packet_data_crypto_keys@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 1247 NONAME ; enum eap_status_e eap_session_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
+	?cancel_all_timers@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 1248 NONAME ; enum eap_status_e eap_session_core_c::cancel_all_timers(void)
+	??1eapol_header_wr_c@@UAE@XZ @ 1249 NONAME ; eapol_header_wr_c::~eapol_header_wr_c(void)
+	?get_is_WPXM@eapol_key_state_c@@AAE_NXZ @ 1250 NONAME ; bool eapol_key_state_c::get_is_WPXM(void)
+	?send_eap_identity_request@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1251 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_request(class eap_am_network_id_c const *)
+	?get_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QBE_NXZ @ 1252 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_encrypted_key_data(void) const
+	?set_key_index@eapol_session_key_c@@QAEXK@Z @ 1253 NONAME ; void eapol_session_key_c::set_key_index(unsigned long)
+	?get_next_retransmission_time@eap_core_retransmission_c@@QAEKXZ @ 1254 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_time(void)
+	??1crypto_rsa_c@@UAE@XZ @ 1255 NONAME ; crypto_rsa_c::~crypto_rsa_c(void)
+	?get_eap_type@eap_core_retransmission_c@@QBE?AVeap_expanded_type_c@@XZ @ 1256 NONAME ; class eap_expanded_type_c eap_core_retransmission_c::get_eap_type(void) const
+	?get_marked_removed@eap_core_c@@QAE_NXZ @ 1257 NONAME ; bool eap_core_c::get_marked_removed(void)
+	?complete_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 1258 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?sign@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1259 NONAME ; enum eap_status_e crypto_dsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 1260 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_network_id_selector_c const *)
+	?get_buffer_length@eap_variable_data_c@@QBEKXZ @ 1261 NONAME ; unsigned long eap_variable_data_c::get_buffer_length(void) const
+	?set_is_valid@crypto_sha1_c@@EAEXXZ @ 1262 NONAME ; void crypto_sha1_c::set_is_valid(void)
+	?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK_N1@Z @ 1263 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void const *, unsigned long, bool, bool)
+	?write_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPAXK_NV1@@Z @ 1264 NONAME ; enum eap_status_e eap_expanded_type_c::write_type(class abs_eap_am_tools_c *, unsigned long, void *, unsigned long, bool, class eap_expanded_type_c)
+	?shutdown@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 1265 NONAME ; enum eap_status_e ethernet_core_c::shutdown(void)
+	?sha1_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 1266 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_buf_chain_wr_c@@@Z @ 1267 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_buf_chain_wr_c const *)
+	?decrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1268 NONAME ; enum eap_status_e crypto_3des_ede_c::decrypt_block(void const *, void *, unsigned long)
+	??0eap_am_memory_store_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1269 NONAME ; eap_am_memory_store_c::eap_am_memory_store_c(class abs_eap_am_tools_c *)
+	?get_is_valid@eap_core_c@@UAE_NXZ @ 1270 NONAME ; bool eap_core_c::get_is_valid(void)
+	?remove_pmksa_from_cache@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1271 NONAME ; enum eap_status_e eapol_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *)
+	?get_random_error_type@eap_buf_chain_base_c@@QAE?AW4eap_random_error_type@@XZ @ 1272 NONAME ; enum eap_random_error_type eap_buf_chain_base_c::get_random_error_type(void)
+	?set_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1273 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	?tls_prf_output@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1274 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_output(void *, unsigned long)
+	??0eapol_rsna_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 1275 NONAME ; eapol_rsna_variable_data_c::eapol_rsna_variable_data_c(class abs_eap_am_tools_c *, bool, bool)
+	??1eapol_ethernet_header_rd_c@@UAE@XZ @ 1276 NONAME ; eapol_ethernet_header_rd_c::~eapol_ethernet_header_rd_c(void)
+	??0crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1277 NONAME ; crypto_rc4_c::crypto_rc4_c(class abs_eap_am_tools_c *)
+	?read_subsections@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 1278 NONAME ; enum eap_status_e eap_file_config_c::read_subsections(class abs_eap_am_file_input_c *, class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *)
+	?cancel_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1279 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	??0eap_base_type_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@@Z @ 1280 NONAME ; eap_base_type_c::eap_base_type_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *)
+	?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 1281 NONAME ; class eap_array_c<class network_key_and_index_c> * simple_config_credential_c::get_network_keys(void)
+	?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBVeap_variable_data_c@@@Z @ 1282 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *)
+	?state_notification@eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1283 NONAME ; void eap_core_c::state_notification(class abs_eap_state_notification_c const *)
+	?set_key_index@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 1284 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_index(unsigned char)
+	??1crypto_sha_256_c@@UAE@XZ @ 1285 NONAME ; crypto_sha_256_c::~crypto_sha_256_c(void)
+	?get_original_header@eapol_rsna_variable_data_c@@QBEPBVeapol_rsna_key_data_header_c@@XZ @ 1286 NONAME ; class eapol_rsna_key_data_header_c const * eapol_rsna_variable_data_c::get_original_header(void) const
+	?ignore_notifications@eap_core_c@@QAEXXZ @ 1287 NONAME ; void eap_core_c::ignore_notifications(void)
+	?set_is_valid@eapol_wlan_authentication_c@@QAEXXZ @ 1288 NONAME ; void eapol_wlan_authentication_c::set_is_valid(void)
+	?get_digest_length@eap_am_crypto_md4_c@@QAEKXZ @ 1289 NONAME ; unsigned long eap_am_crypto_md4_c::get_digest_length(void)
+	?write_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 1290 NONAME ; enum eap_status_e eapol_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?send_eap_notification_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1291 NONAME ; enum eap_status_e eap_core_c::send_eap_notification_response(class eap_am_network_id_c const *, unsigned char)
+	?get_header_offset@eap_core_retransmission_c@@QBEKXZ @ 1292 NONAME ; unsigned long eap_core_retransmission_c::get_header_offset(void) const
+	?verify_field_is_zero@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 1293 NONAME ; enum eap_status_e eapol_key_state_c::verify_field_is_zero(unsigned char const *, unsigned long)
+	?get_is_associated@eapol_key_state_c@@QAE_NXZ @ 1294 NONAME ; bool eapol_key_state_c::get_is_associated(void)
+	?unload_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1295 NONAME ; enum eap_status_e eapol_core_c::unload_module(class eap_expanded_type_c)
+	?cancel_pmksa_caching_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 1296 NONAME ; enum eap_status_e eapol_key_state_c::cancel_pmksa_caching_timeout(void)
+	?get_destination@eapol_ethernet_header_base_c@@QBEPAEXZ @ 1297 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_destination(void) const
+	?set_is_valid@crypto_3des_ede_c@@UAEXXZ @ 1298 NONAME ; void crypto_3des_ede_c::set_is_valid(void)
+	?eap_md4_process_data@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 1299 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_process_data(unsigned long const *, unsigned long)
+	?disassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 1300 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociate(class eap_am_network_id_c const *, bool)
+	?get_message_data@eap_tlv_message_data_c@@QBEPAXXZ @ 1301 NONAME ; void * eap_tlv_message_data_c::get_message_data(void) const
+	?set_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1302 NONAME ; enum eap_status_e eap_core_c::set_eap_failure_timeout(void)
+	?snprintf@eap_am_tools_symbian_c@@UAAKPAEKPBDZZ @ 1303 NONAME ; unsigned long eap_am_tools_symbian_c::snprintf(unsigned char *, unsigned long, char const *, ...)
+	?set_random_error_type@eap_buf_chain_base_c@@QAEXW4eap_random_error_type@@@Z @ 1304 NONAME ; void eap_buf_chain_base_c::set_random_error_type(enum eap_random_error_type)
+	?create_new_session@eap_session_core_c@@AAEPAVeap_core_c@@PBVeap_am_network_id_c@@@Z @ 1305 NONAME ; class eap_core_c * eap_session_core_c::create_new_session(class eap_am_network_id_c const *)
+	??0eapol_RSNA_key_header_c@@QAE@PAVabs_eap_am_tools_c@@_N1PAXK@Z @ 1306 NONAME ; eapol_RSNA_key_header_c::eapol_RSNA_key_header_c(class abs_eap_am_tools_c *, bool, bool, void *, unsigned long)
+	?copy_context@crypto_sha1_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1307 NONAME ; enum eap_status_e crypto_sha1_c::copy_context(class eap_variable_data_c const *)
+	?cleanup@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 1308 NONAME ; enum eap_status_e crypto_dsa_c::cleanup(void)
+	?rsa_decrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 1309 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?check_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXKE@Z @ 1310 NONAME ; enum eap_status_e crypto_cbc_c::check_padding_bytes(void const *, unsigned long, unsigned char)
+	?get_key_information_secure@eapol_RSNA_key_header_c@@QBE_NXZ @ 1311 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_secure(void) const
+	?decrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1312 NONAME ; enum eap_status_e crypto_aes_c::decrypt_block(void const *, void *, unsigned long)
+	?complete_association@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1313 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_association(class eap_array_c<class eap_tlv_header_c> const *)
+	?process_eapol_key_frame@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1314 NONAME ; enum eap_status_e eapol_key_state_c::process_eapol_key_frame(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?remove_pmksa_from_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1315 NONAME ; enum eap_status_e ethernet_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *)
+	?tls_prf_output@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1316 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_output(void *, unsigned long)
+	?create_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1317 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?get_buffer_size@eap_core_retransmission_c@@QBEKXZ @ 1318 NONAME ; unsigned long eap_core_retransmission_c::get_buffer_size(void) const
+	?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4wlan_eap_if_send_status_e@@W4eap_status_e@@@Z @ 1319 NONAME ; enum wlan_eap_if_send_status_e wlan_eap_if_send_status_conversion_c::convert(enum eap_status_e)
+	?get_type_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 1320 NONAME ; unsigned char * eap_header_base_c::get_type_data_offset(unsigned long, unsigned long) const
+	?get_eapol_key_state_string@eapol_key_state_string_c@@SAPBDW4eapol_key_state_e@@@Z @ 1321 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_state_string(enum eapol_key_state_e)
+	?get_header_offset@eap_core_c@@UAEKPAK0@Z @ 1322 NONAME ; unsigned long eap_core_c::get_header_offset(unsigned long *, unsigned long *)
+	?get_is_valid@eap_am_tools_symbian_c@@UBE_NXZ @ 1323 NONAME ; bool eap_am_tools_symbian_c::get_is_valid(void) const
+	?remove_spaces@eap_file_config_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1324 NONAME ; enum eap_status_e eap_file_config_c::remove_spaces(class eap_variable_data_c *)
+	?cancel_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1325 NONAME ; enum eap_status_e eap_session_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	?get_header_length@eapol_RC4_key_header_c@@SAGXZ @ 1326 NONAME ; unsigned short eapol_RC4_key_header_c::get_header_length(void)
+	?send_error_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@W42@W4eapol_tlv_message_type_function_e@@@Z @ 1327 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_error_message(enum eap_status_e, enum eapol_tlv_message_type_function_e)
+	??1eap_general_header_base_c@@UAE@XZ @ 1328 NONAME ; eap_general_header_base_c::~eap_general_header_base_c(void)
+	?get_type_data_offset@eap_header_wr_c@@QBEPAEKK@Z @ 1329 NONAME ; unsigned char * eap_header_wr_c::get_type_data_offset(unsigned long, unsigned long) const
+	?complete_eap_identity_query@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 1330 NONAME ; enum eap_status_e eap_core_c::complete_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1331 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_am_network_id_c const *)
+	?set_is_invalid@eap_am_crypto_sha1_c@@AAEXXZ @ 1332 NONAME ; void eap_am_crypto_sha1_c::set_is_invalid(void)
+	?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1333 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void const *, void *, unsigned long)
+	?synchronous_create_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1334 NONAME ; enum eap_status_e eap_session_core_c::synchronous_create_eap_session(class eap_am_network_id_c const *)
+	?set_is_valid@eap_am_crypto_sha1_c@@AAEXXZ @ 1335 NONAME ; void eap_am_crypto_sha1_c::set_is_valid(void)
+	?get_selected_eap_types@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_type_selection_c@@@@@Z @ 1336 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(class eap_array_c<class eap_type_selection_c> *)
+	?set_header_buffer@eap_general_header_base_c@@QAEXPAEK@Z @ 1337 NONAME ; void eap_general_header_base_c::set_header_buffer(unsigned char *, unsigned long)
+	?configure@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1338 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::configure(void)
+	?am_cancel_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1339 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_timer(class abs_eap_base_timer_c *, unsigned long)
+	?get_value_length@eap_tlv_header_c@@QBEKXZ @ 1340 NONAME ; unsigned long eap_tlv_header_c::get_value_length(void) const
+	?get_is_valid@eap_am_crypto_sha1_c@@QAE_NXZ @ 1341 NONAME ; bool eap_am_crypto_sha1_c::get_is_valid(void)
+	?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 1342 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(class eap_variable_data_c const *)
+	??1crypto_ephemeral_diffie_hellman_c@@UAE@XZ @ 1343 NONAME ; crypto_ephemeral_diffie_hellman_c::~crypto_ephemeral_diffie_hellman_c(void)
+	?set_send_packet_index@eap_buf_chain_base_c@@QAEXK@Z @ 1344 NONAME ; void eap_buf_chain_base_c::set_send_packet_index(unsigned long)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_tlv_message_type_e@@K@Z @ 1345 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(enum eapol_tlv_message_type_e, unsigned long)
+	?copy_message_digest@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 1346 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_message_digest(void *, unsigned long *)
+	?initialize_preauthentication@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 1347 NONAME ; enum eap_status_e eapol_key_state_c::initialize_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
+	?get_network_key_index@network_key_and_index_c@@QAEEXZ @ 1348 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void)
+	?reset_header@eap_header_wr_c@@QAEXG_N@Z @ 1349 NONAME ; void eap_header_wr_c::reset_header(unsigned short, bool)
+	?get_ietf_type@eap_header_base_c@@QBE?AW4eap_type_ietf_values_e@@XZ @ 1350 NONAME ; enum eap_type_ietf_values_e eap_header_base_c::get_ietf_type(void) const
+	?state_notification@eapol_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1351 NONAME ; void eapol_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *)
+	?cleanup_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1352 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::cleanup_3des_ede(class eap_variable_data_c *)
+	?get_eap_code@eap_core_retransmission_c@@QBE?AW4eap_code_value_e@@XZ @ 1353 NONAME ; enum eap_code_value_e eap_core_retransmission_c::get_eap_code(void) const
+	??0eapol_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@PAVeapol_am_wlan_authentication_c@@_N@Z @ 1354 NONAME ; eapol_wlan_authentication_c::eapol_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, class eapol_am_wlan_authentication_c *, bool)
+	?finalize_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@XZ @ 1355 NONAME ; enum eap_status_e crypto_cbc_c::finalize_non_aligned(void)
+	?set_key_descriptor_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 1356 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e)
+	?decrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1357 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
+	?get_destination@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 1358 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_destination(void)
+	?tls_prf_cleanup@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@XZ @ 1359 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_cleanup(void)
+	?isspace@eap_am_tools_symbian_c@@UAE_NE@Z @ 1360 NONAME ; bool eap_am_tools_symbian_c::isspace(unsigned char)
+	?set_decryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 1361 NONAME ; enum eap_status_e crypto_cbc_c::set_decryption_key(void const *, unsigned long, void const *, unsigned long)
+	?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_general_header_base_c@@@Z @ 1362 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_general_header_base_c const *)
+	?set_decryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1363 NONAME ; enum eap_status_e crypto_3des_ede_c::set_decryption_key(void const *, unsigned long)
+	?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 1364 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char)
+	?start_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0PAVeap_variable_data_c@@PBV4@2@Z @ 1365 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_WPXM_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?set_notification_string@eap_state_notification_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 1366 NONAME ; enum eap_status_e eap_state_notification_c::set_notification_string(class eap_variable_data_c const *, bool)
+	?copy_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 1367 NONAME ; enum eap_status_e eap_tlv_message_data_c::copy_message_data(unsigned long, void const *)
+	?add_reference@eap_am_mutex_reference_c@@QAEXXZ @ 1368 NONAME ; void eap_am_mutex_reference_c::add_reference(void)
+	??1crypto_tls_prf_c@@UAE@XZ @ 1369 NONAME ; crypto_tls_prf_c::~crypto_tls_prf_c(void)
+	?get_am_tools@eap_buf_chain_base_c@@IAEPAVabs_eap_am_tools_c@@XZ @ 1370 NONAME ; class abs_eap_am_tools_c * eap_buf_chain_base_c::get_am_tools(void)
+	?get_hardware_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 1371 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks(void)
+	?get_type_data@eap_header_wr_c@@QBEPAEK@Z @ 1372 NONAME ; unsigned char * eap_header_wr_c::get_type_data(unsigned long) const
+	?packet_data_session_key@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 1373 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *)
+	?process_group_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1374 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?create_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1375 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e)
+	?shutdown@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 1376 NONAME ; enum eap_status_e eapol_wlan_authentication_c::shutdown(void)
+	?get_message_data@eap_am_memory_store_tlv_data_c@@QBEPAXXZ @ 1377 NONAME ; void * eap_am_memory_store_tlv_data_c::get_message_data(void) const
+	?multiply_u64@eap_am_tools_c@@UAE_K_K0@Z @ 1378 NONAME ; unsigned long long eap_am_tools_c::multiply_u64(unsigned long long, unsigned long long)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeapol_session_key_c@@@Z @ 1379 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eapol_session_key_c *)
+	?hash_final@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 1380 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_final(void *, unsigned long *)
+	?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1381 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void const *, void *, unsigned long)
+	?start_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1382 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_WPXM_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
+	?set_is_valid@crypto_md5_c@@EAEXXZ @ 1383 NONAME ; void crypto_md5_c::set_is_valid(void)
+	?get_is_client@eap_buf_chain_base_c@@QBE_NXZ @ 1384 NONAME ; bool eap_buf_chain_base_c::get_is_client(void) const
+	?set_session_timeout@eap_session_core_c@@UAE?AW4eap_status_e@@K@Z @ 1385 NONAME ; enum eap_status_e eap_session_core_c::set_session_timeout(unsigned long)
+	?create_tkip_mic_failure_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@W4eapol_protocol_version_e@@@Z @ 1386 NONAME ; enum eap_status_e eapol_key_state_c::create_tkip_mic_failure_message(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e, enum eapol_protocol_version_e)
+	?key_length_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 1387 NONAME ; unsigned long eap_am_crypto_symbian_c::key_length_3des_ede(void)
+	?cancel_all_authentication_sessions@ethernet_core_c@@QAE?AW4eap_status_e@@XZ @ 1388 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_authentication_sessions(void)
+	?read_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 1389 NONAME ; enum eap_status_e eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
+	?get_header_offset@eapol_wlan_authentication_c@@UAEKPAK0@Z @ 1390 NONAME ; unsigned long eapol_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *)
+	?get_notification_string@eap_state_notification_c@@UBEPBVeap_variable_data_c@@XZ @ 1391 NONAME ; class eap_variable_data_c const * eap_state_notification_c::get_notification_string(void) const
+	?set_key_replay_counter@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_K@Z @ 1392 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_replay_counter(unsigned long long)
+	??1crypto_wpa_psk_password_hash_c@@UAE@XZ @ 1393 NONAME ; crypto_wpa_psk_password_hash_c::~crypto_wpa_psk_password_hash_c(void)
+	?add_message_data_array@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 1394 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data_array(unsigned long, unsigned long, class eap_array_c<class eap_variable_data_c> *)
+	?allow_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 1395 NONAME ; enum eap_status_e eapol_key_state_c::allow_4_way_handshake(void)
+	?get_function_string@eapol_handle_tlv_message_data_c@@QAEPBDW4eapol_tlv_message_type_function_e@@@Z @ 1396 NONAME ; char const * eapol_handle_tlv_message_data_c::get_function_string(enum eapol_tlv_message_type_function_e)
+	?get_is_valid@crypto_random_c@@QAE_NXZ @ 1397 NONAME ; bool crypto_random_c::get_is_valid(void)
+	?get_rogue_reason@eap_rogue_ap_entry_c@@QBE?AW4eap_rogue_ap_reason_e@@XZ @ 1398 NONAME ; enum eap_rogue_ap_reason_e eap_rogue_ap_entry_c::get_rogue_reason(void) const
+	?set_is_valid@crypto_aes_wrap_c@@QAEXXZ @ 1399 NONAME ; void crypto_aes_wrap_c::set_is_valid(void)
+	?process_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1400 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long)
+	?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 1401 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
+	?hash_update@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PBXK@Z @ 1402 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_update(void const *, unsigned long)
+	?get_is_valid_data@eap_type_selection_c@@QBE_NXZ @ 1403 NONAME ; bool eap_type_selection_c::get_is_valid_data(void) const
+	?read_reassociation_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 1404 NONAME ; enum eap_status_e eapol_key_state_c::read_reassociation_parameters(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAK@Z @ 1405 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long *)
+	?timer_delete_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1406 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_delete_data(unsigned long, void *)
+	?get_is_client@eapol_wlan_authentication_c@@UAE_NXZ @ 1407 NONAME ; bool eapol_wlan_authentication_c::get_is_client(void)
+	?hmac_update@crypto_hmac_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1408 NONAME ; enum eap_status_e crypto_hmac_c::hmac_update(void const *, unsigned long)
+	?eap_read_u32_t_little_endian_order@@YAKPBXK@Z @ 1409 NONAME ; unsigned long eap_read_u32_t_little_endian_order(void const *, unsigned long)
+	?set_key_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 1410 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_length(unsigned short)
+	?get_key_index@eapol_RC4_key_header_c@@QBEEXZ @ 1411 NONAME ; unsigned char eapol_RC4_key_header_c::get_key_index(void) const
+	?eap_acknowledge@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1412 NONAME ; enum eap_status_e eapol_wlan_authentication_c::eap_acknowledge(class eap_am_network_id_c const *)
+	??1eap_base_type_c@@UAE@XZ @ 1413 NONAME ; eap_base_type_c::~eap_base_type_c(void)
+	?get_key_replay_counter@eapol_RSNA_key_header_c@@QBE_KXZ @ 1414 NONAME ; unsigned long long eapol_RSNA_key_header_c::get_key_replay_counter(void) const
+	?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAPAVeap_state_notification_c@@@Z @ 1415 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_state_notification_c * *)
+	?get_eap_type_list@ethernet_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 1416 NONAME ; enum eap_status_e ethernet_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
+	?unload_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1417 NONAME ; enum eap_status_e eap_session_core_c::unload_module(class eap_expanded_type_c)
+	?packet_process@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1418 NONAME ; enum eap_status_e eap_session_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
+	?begin_db_delete@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 1419 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_delete(class RDbView &)
+	?check_pmksa_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 1420 NONAME ; enum eap_status_e ethernet_core_c::check_pmksa_cache(class eap_array_c<class eap_am_network_id_c> *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e)
+	?set_identifier@eap_header_base_c@@QAEXE@Z @ 1421 NONAME ; void eap_header_base_c::set_identifier(unsigned char)
+	?set_am_partner@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eapol_am_wlan_authentication_c@@PAVabs_eap_configuration_if_c@@@Z @ 1422 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_am_partner(class abs_eapol_am_wlan_authentication_c *, class abs_eap_configuration_if_c *)
+	?am_set_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1423 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
+	?get_eapol_packet_length@eapol_RSNA_key_header_c@@QBEGXZ @ 1424 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_length(void) const
+	?increase_client_send_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 1425 NONAME ; void eapol_key_state_c::increase_client_send_key_reply_counter(void)
+	?get_ANonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 1426 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_ANonce(void)
+	??1eap_am_crypto_md4_c@@UAE@XZ @ 1427 NONAME ; eap_am_crypto_md4_c::~eap_am_crypto_md4_c(void)
+	?reset_or_remove_session@eap_session_core_c@@AAE?AW4eap_status_e@@PAPAVeap_core_c@@PBVeap_network_id_selector_c@@_N@Z @ 1428 NONAME ; enum eap_status_e eap_session_core_c::reset_or_remove_session(class eap_core_c * *, class eap_network_id_selector_c const *, bool)
+	??1crypto_tls_md5_prf_c@@UAE@XZ @ 1429 NONAME ; crypto_tls_md5_prf_c::~crypto_tls_md5_prf_c(void)
+	??4eap_expanded_type_c@@QAEAAV0@ABV0@@Z @ 1430 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(class eap_expanded_type_c const &)
+	?get_type_field_length@eap_header_base_c@@QBEKXZ @ 1431 NONAME ; unsigned long eap_header_base_c::get_type_field_length(void) const
+	?get_eap_identifier@eap_core_retransmission_c@@QBEEXZ @ 1432 NONAME ; unsigned char eap_core_retransmission_c::get_eap_identifier(void) const
+	??0crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1433 NONAME ; crypto_sha1_c::crypto_sha1_c(class abs_eap_am_tools_c *)
+	?sha_256_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1434 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
+	??0eap_tlv_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1435 NONAME ; eap_tlv_header_c::eap_tlv_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
+	??0eap_status_string_c@@QAE@XZ @ 1436 NONAME ; eap_status_string_c::eap_status_string_c(void)
+	??1eap_session_core_c@@UAE@XZ @ 1437 NONAME ; eap_session_core_c::~eap_session_core_c(void)
+	?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 1438 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void *, unsigned long)
+	??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 1439 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long)
+	?compare@eap_expanded_type_c@@QBEJPBV1@@Z @ 1440 NONAME ; long eap_expanded_type_c::compare(class eap_expanded_type_c const *) const
+	?generate_g_power_to_xy@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBXK2K@Z @ 1441 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long)
+	?tls_prf_init@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 1442 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
+	?packet_data_crypto_keys@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 1443 NONAME ; enum eap_status_e eapol_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
+	??1eapol_RSNA_key_header_c@@UAE@XZ @ 1444 NONAME ; eapol_RSNA_key_header_c::~eapol_RSNA_key_header_c(void)
+	?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 1445 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void)
+	?get_stack_address@eap_buf_chain_base_c@@QBEPBXXZ @ 1446 NONAME ; void const * eap_buf_chain_base_c::get_stack_address(void) const
+	??0eap_am_tools_c@@QAE@XZ @ 1447 NONAME ; eap_am_tools_c::eap_am_tools_c(void)
+	?get_protocol_layer_string@eap_state_notification_c@@UBEPBDXZ @ 1448 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(void) const
+	?cancel_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1449 NONAME ; enum eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session(void)
+	?process_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 1450 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message(class eapol_handle_tlv_message_data_c *)
+	??0eap_am_crypto_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1451 NONAME ; eap_am_crypto_symbian_c::eap_am_crypto_symbian_c(class abs_eap_am_tools_c *)
+	?sha1_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1452 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_init(class eap_variable_data_c *)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 1453 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eap_array_c<class simple_config_credential_c> const *) const
+	?create_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_variable_data_c@@E@Z @ 1454 NONAME ; enum eap_status_e eap_core_c::create_eap_identity_response(class eap_buf_chain_wr_c *, class eap_variable_data_c const *, unsigned char)
+	??0crypto_tls_base_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1455 NONAME ; crypto_tls_base_prf_c::crypto_tls_base_prf_c(class abs_eap_am_tools_c *)
+	?file_size@eap_am_file_input_symbian_c@@UAEKXZ @ 1456 NONAME ; unsigned long eap_am_file_input_symbian_c::file_size(void)
+	??1eap_am_memory_store_c@@UAE@XZ @ 1457 NONAME ; eap_am_memory_store_c::~eap_am_memory_store_c(void)
+	?set_eapol_protocol_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 1458 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e)
+	?set_key_flag@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_RC4_key_flags_e@@@Z @ 1459 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_flag(enum eapol_RC4_key_flags_e)
+	?timer_delete_data@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1460 NONAME ; enum eap_status_e eapol_core_c::timer_delete_data(unsigned long, void *)
+	?md5_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1461 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_init(class eap_variable_data_c *)
+	?get_key_NONCE@eapol_RSNA_key_header_c@@QBEPAEXZ @ 1462 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_NONCE(void) const
+	?t_prf_cleanup@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 1463 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_cleanup(void)
+	?complete_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1464 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_reassociation(class eap_array_c<class eap_tlv_header_c> const *)
+	??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 1465 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool)
+	?add_rogue_ap@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1466 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
+	?check_pmksa_cache@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1467 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::check_pmksa_cache(class eap_array_c<class eap_tlv_header_c> const *)
+	??1abs_crypto_cbc_block_algorithm_c@@UAE@XZ @ 1468 NONAME ; abs_crypto_cbc_block_algorithm_c::~abs_crypto_cbc_block_algorithm_c(void)
+	??0eap_am_crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1469 NONAME ; eap_am_crypto_md4_c::eap_am_crypto_md4_c(class abs_eap_am_tools_c *)
+	?internal_decrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 1470 NONAME ; enum eap_status_e crypto_cbc_c::internal_decrypt_data(void const *, void *, unsigned long)
+	?shutdown@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 1471 NONAME ; enum eap_status_e eap_core_c::shutdown(void)
+	?file_write@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1472 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_write(class eap_variable_data_c const *)
+	?compare_length@eap_variable_data_c@@QBEJPBXKK@Z @ 1473 NONAME ; long eap_variable_data_c::compare_length(void const *, unsigned long, unsigned long) const
+	?save_simple_config_session@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 1474 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
+	?hash_final@crypto_sha_256_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 1475 NONAME ; enum eap_status_e crypto_sha_256_c::hash_final(void *, unsigned long *)
+	?memcmp@eap_am_tools_symbian_c@@UAEJPBX0K@Z @ 1476 NONAME ; long eap_am_tools_symbian_c::memcmp(void const *, void const *, unsigned long)
+	?get_block_size@crypto_aes_c@@UAEKXZ @ 1477 NONAME ; unsigned long crypto_aes_c::get_block_size(void)
+	?get_data@eapol_ethernet_header_base_c@@QBEPAEK@Z @ 1478 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_data(unsigned long) const
+	?tkip_mic_failure@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1479 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::tkip_mic_failure(class eap_array_c<class eap_tlv_header_c> const *)
+	?remove_data@eap_am_memory_store_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1480 NONAME ; enum eap_status_e eap_am_memory_store_c::remove_data(class eap_variable_data_c const *)
+	?dss_pseudo_random@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK0K@Z @ 1481 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dss_pseudo_random(unsigned char *, unsigned long, unsigned char *, unsigned long)
+	?generate_diffie_hellman_keys@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBXK1K@Z @ 1482 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long)
+	?get_is_valid@eap_am_mutex_base_c@@QBE_NXZ @ 1483 NONAME ; bool eap_am_mutex_base_c::get_is_valid(void) const
+	?file_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eap_file_io_direction_e@@@Z @ 1484 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_open(class eap_variable_data_c const *, enum eap_file_io_direction_e)
+	?get_source_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1485 NONAME ; unsigned long eapol_ethernet_header_base_c::get_source_length(void) const
+	??1eap_am_mutex_base_c@@UAE@XZ @ 1486 NONAME ; eap_am_mutex_base_c::~eap_am_mutex_base_c(void)
+	?get_is_valid@crypto_tls_sha1_prf_c@@QAE_NXZ @ 1487 NONAME ; bool crypto_tls_sha1_prf_c::get_is_valid(void)
+	?cancel_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1488 NONAME ; enum eap_status_e eap_core_c::cancel_session_timeout(void)
+	?hash_cleanup@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 1489 NONAME ; enum eap_status_e crypto_md5_c::hash_cleanup(void)
+	?add_message_header@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KK@Z @ 1490 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_header(unsigned long, unsigned long)
+	??0eapol_ethernet_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 1491 NONAME ; eapol_ethernet_header_wr_c::eapol_ethernet_header_wr_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long)
+	?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBVeap_am_network_id_c@@@Z @ 1492 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eap_am_network_id_c const *) const
+	?get_is_enabled@eap_type_selection_c@@QBE_NXZ @ 1493 NONAME ; bool eap_type_selection_c::get_is_enabled(void) const
+	?set_eapol_packet_body_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 1494 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_body_length(unsigned short)
+	?shutdown@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1495 NONAME ; enum eap_status_e eap_am_tools_symbian_c::shutdown(void)
+	?get_digest_length@eap_am_crypto_sha_256_c@@QAEKXZ @ 1496 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_digest_length(void)
+	?get_eapol_key_state@eapol_key_state_c@@ABE?AW4eapol_key_state_e@@XZ @ 1497 NONAME ; enum eapol_key_state_e eapol_key_state_c::get_eapol_key_state(void) const
+	??0eapol_rsna_key_data_payloads_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 1498 NONAME ; eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payloads_c(class abs_eap_am_tools_c *, bool, bool)
+	?set_key_information_key_ack@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 1499 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_ack(bool)
+	?octet_from_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 1500 NONAME ; unsigned char eap_am_tools_c::octet_from_ascii_armor(unsigned char)
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/EapAuthServeru.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-EXPORTS
-	?get_is_valid@eap_am_stack_symbian_c@@UAE_NXZ @ 1 NONAME ; bool eap_am_stack_symbian_c::get_is_valid(void)
-	??1eap_core_server_message_if_c@@UAE@XZ @ 2 NONAME ; eap_core_server_message_if_c::~eap_core_server_message_if_c(void)
-	?send_message@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 3 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::send_message(class eap_process_tlv_message_data_c *)
-	?get_eapol_key_authentication_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_authentication_type_e@@@Z @ 4 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_authentication_type_string(enum eapol_key_authentication_type_e)
-	?complete_copy_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 5 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_copy_configuration(class eap_method_settings_c const *)
-	?state_notification@eap_core_server_message_if_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 6 NONAME ; void eap_core_server_message_if_c::state_notification(class abs_eap_state_notification_c const *)
-	?set_eap_database_reference_values@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 7 NONAME ; enum eap_status_e eap_am_stack_symbian_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?get_is_valid@eap_general_settings_server_message_if_c@@UAE_NXZ @ 8 NONAME ; bool eap_general_settings_server_message_if_c::get_is_valid(void)
-	?complete_delete_all_eap_settings@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 9 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_delete_all_eap_settings(class eap_method_settings_c const *)
-	?set_session_timeout@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@K@Z @ 10 NONAME ; enum eap_status_e eap_core_server_message_if_c::set_session_timeout(unsigned long)
-	?cancel_timer@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 11 NONAME ; enum eap_status_e eap_am_stack_symbian_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	??1eapol_key_state_string_c@@UAE@XZ @ 12 NONAME ; eapol_key_state_string_c::~eapol_key_state_string_c(void)
-	?save_simple_config_session@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 13 NONAME ; enum eap_status_e eap_am_stack_symbian_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?process_data@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 14 NONAME ; enum eap_status_e eap_core_server_message_if_c::process_data(void const *, unsigned long)
-	?send_message@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 15 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::send_message(class eap_process_tlv_message_data_c *)
-	?set_partner@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_am_stack_c@@PAVabs_eap_configuration_if_c@@@Z @ 16 NONAME ; enum eap_status_e eap_am_stack_symbian_c::set_partner(class abs_eap_am_stack_c *, class abs_eap_configuration_if_c *)
-	?get_is_valid@eap_core_server_message_if_c@@UAE_NXZ @ 17 NONAME ; bool eap_core_server_message_if_c::get_is_valid(void)
-	??0eap_core_server_message_if_c@@QAE@PAVabs_eap_am_tools_c@@_NK@Z @ 18 NONAME ; eap_core_server_message_if_c::eap_core_server_message_if_c(class abs_eap_am_tools_c *, bool, unsigned long)
-	?process_message@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 19 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?process_data@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 20 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::process_data(void const *, unsigned long)
-	?read_configure@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 21 NONAME ; enum eap_status_e eap_am_stack_symbian_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	??0eap_am_stack_symbian_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 22 NONAME ; eap_am_stack_symbian_c::eap_am_stack_symbian_c(class abs_eap_am_tools_c *, bool)
-	?send_error_message@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 23 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e)
-	?process_message@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 24 NONAME ; enum eap_status_e eap_core_server_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?complete_get_802_11_authentication_mode@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 25 NONAME ; enum eap_status_e eap_core_server_message_if_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e)
-	?check_is_valid_eap_type@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 26 NONAME ; enum eap_status_e eap_am_stack_symbian_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	??1EapClientIf@@UAE@XZ @ 27 NONAME ; EapClientIf::~EapClientIf(void)
-	??0eap_general_settings_server_message_if_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 28 NONAME ; eap_general_settings_server_message_if_c::eap_general_settings_server_message_if_c(class abs_eap_am_tools_c *)
-	?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 29 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *)
-	?read_configure@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 30 NONAME ; enum eap_status_e eap_core_server_message_if_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?packet_send@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 31 NONAME ; enum eap_status_e eap_core_server_message_if_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_eap_type_list@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 32 NONAME ; enum eap_status_e eap_core_server_message_if_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?shutdown@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@XZ @ 33 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::shutdown(void)
-	?complete_delete_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 34 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_delete_configuration(class eap_method_settings_c const *)
-	?complete_get_certificate_lists@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 35 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_get_certificate_lists(class eap_method_settings_c const *)
-	?complete_remove_eap_session@eap_core_server_message_if_c@@EAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 36 NONAME ; enum eap_status_e eap_core_server_message_if_c::complete_remove_eap_session(bool, class eap_am_network_id_c const *)
-	?set_timer@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 37 NONAME ; enum eap_status_e eap_core_server_message_if_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?shutdown@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@XZ @ 38 NONAME ; enum eap_status_e eap_core_server_message_if_c::shutdown(void)
-	?restart_authentication@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 39 NONAME ; enum eap_status_e eap_core_server_message_if_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?get_eap_type_list@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 40 NONAME ; enum eap_status_e eap_am_stack_symbian_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?save_simple_config_session@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 41 NONAME ; enum eap_status_e eap_core_server_message_if_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	??0EapClientIf@@QAE@XZ @ 42 NONAME ; EapClientIf::EapClientIf(void)
-	?shutdown@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@XZ @ 43 NONAME ; enum eap_status_e eap_am_stack_symbian_c::shutdown(void)
-	?timer_delete_data@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 44 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::timer_delete_data(unsigned long, void *)
-	?configure@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 45 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::configure(class eap_variable_data_c const *)
-	?write_configure@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 46 NONAME ; enum eap_status_e eap_core_server_message_if_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?timer_expired@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 47 NONAME ; enum eap_status_e eap_core_server_message_if_c::timer_expired(unsigned long, void *)
-	?process_message_type_error@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 48 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::process_message_type_error(class eap_array_c<class eap_tlv_header_c> const *)
-	?set_is_valid@eap_core_server_message_if_c@@QAEXXZ @ 49 NONAME ; void eap_core_server_message_if_c::set_is_valid(void)
-	?configure@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 50 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::configure(class eap_variable_data_c const *)
-	?set_is_valid@eap_plugin_server_message_if_c@@QAEXXZ @ 51 NONAME ; void eap_plugin_server_message_if_c::set_is_valid(void)
-	?asynchronous_start_authentication@eap_core_server_message_if_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 52 NONAME ; enum eap_status_e eap_core_server_message_if_c::asynchronous_start_authentication(class eap_am_network_id_c const *, bool)
-	?timer_delete_data@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 53 NONAME ; enum eap_status_e eap_core_server_message_if_c::timer_delete_data(unsigned long, void *)
-	?complete_set_index@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 54 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_set_index(class eap_method_settings_c const *)
-	?eap_mtu@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 55 NONAME ; enum eap_status_e eap_core_server_message_if_c::eap_mtu(class eap_array_c<class eap_tlv_header_c> const *)
-	?get_eapol_key_handshake_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_handshake_type_e@@@Z @ 56 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_handshake_type_string(enum eapol_key_handshake_type_e)
-	?get_is_valid@eap_plugin_server_message_if_c@@UAE_NXZ @ 57 NONAME ; bool eap_plugin_server_message_if_c::get_is_valid(void)
-	?add_rogue_ap@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 58 NONAME ; enum eap_status_e eap_core_server_message_if_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?set_timer@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 59 NONAME ; enum eap_status_e eap_am_stack_symbian_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	??1eap_am_stack_symbian_c@@UAE@XZ @ 60 NONAME ; eap_am_stack_symbian_c::~eap_am_stack_symbian_c(void)
-	?check_is_valid_eap_type@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 61 NONAME ; enum eap_status_e eap_core_server_message_if_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?shutdown@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::shutdown(void)
-	?set_partner@eap_core_server_message_if_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 63 NONAME ; void eap_core_server_message_if_c::set_partner(class abs_eap_am_message_if_c *)
-	?complete_get_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 64 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_get_configuration(class eap_method_settings_c const *)
-	?get_802_11_authentication_mode@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 65 NONAME ; enum eap_status_e eap_am_stack_symbian_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e)
-	?packet_data_crypto_keys@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 66 NONAME ; enum eap_status_e eap_core_server_message_if_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?timer_expired@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 67 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::timer_expired(unsigned long, void *)
-	?process_data@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 68 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::process_data(void const *, unsigned long)
-	??0eapol_key_state_string_c@@QAE@XZ @ 69 NONAME ; eapol_key_state_string_c::eapol_key_state_string_c(void)
-	?complete_invoke_ui@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 70 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_invoke_ui(class eap_method_settings_c const *)
-	?get_802_11_authentication_mode@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 71 NONAME ; enum eap_status_e eap_core_server_message_if_c::get_802_11_authentication_mode(class eap_array_c<class eap_tlv_header_c> const *)
-	?load_module@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 72 NONAME ; enum eap_status_e eap_am_stack_symbian_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?unload_module@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 73 NONAME ; enum eap_status_e eap_core_server_message_if_c::unload_module(class eap_expanded_type_c)
-	?process_message_type_error@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 74 NONAME ; enum eap_status_e eap_core_server_message_if_c::process_message_type_error(class eap_array_c<class eap_tlv_header_c> const *)
-	?complete_get_eap_methods@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 75 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_get_eap_methods(class eap_method_settings_c const *)
-	?cancel_timer@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 76 NONAME ; enum eap_status_e eap_core_server_message_if_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?complete_get_type_info@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 77 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_get_type_info(class eap_method_settings_c const *)
-	?send_message@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 78 NONAME ; enum eap_status_e eap_core_server_message_if_c::send_message(class eap_process_tlv_message_data_c *)
-	?complete_set_eap_methods@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 79 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_set_eap_methods(class eap_method_settings_c const *)
-	?configure@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 80 NONAME ; enum eap_status_e eap_am_stack_symbian_c::configure(class eap_variable_data_c const *)
-	?configure@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 81 NONAME ; enum eap_status_e eap_core_server_message_if_c::configure(class eap_variable_data_c const *)
-	?asynchronous_init_remove_eap_session@eap_core_server_message_if_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 82 NONAME ; enum eap_status_e eap_core_server_message_if_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *)
-	?process_message_type_error@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 83 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::process_message_type_error(class eap_array_c<class eap_tlv_header_c> const *)
-	?timer_expired@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 84 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::timer_expired(unsigned long, void *)
-	?set_partner@eap_general_settings_server_message_if_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 85 NONAME ; void eap_general_settings_server_message_if_c::set_partner(class abs_eap_am_message_if_c *)
-	?load_module@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 86 NONAME ; enum eap_status_e eap_core_server_message_if_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?send_error_message@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 87 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e)
-	?LaunchFromClient@CEapScheduler@@SAHV?$TBuf@$0BI@@@@Z @ 88 NONAME ; int CEapScheduler::LaunchFromClient(class TBuf<24>)
-	?ThreadStart@CEapScheduler@@SAHAAVTServerStart@1@@Z @ 89 NONAME ; int CEapScheduler::ThreadStart(class CEapScheduler::TServerStart &)
-	?new_eap_am_stack_c@@YAPAVeap_am_stack_c@@PAVabs_eap_am_tools_c@@_N@Z @ 90 NONAME ; class eap_am_stack_c * new_eap_am_stack_c(class abs_eap_am_tools_c *, bool)
-	?complete_set_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 91 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_set_configuration(class eap_method_settings_c const *)
-	?complete_copy_all_eap_settings@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 92 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_copy_all_eap_settings(class eap_method_settings_c const *)
-	?timer_delete_data@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 93 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::timer_delete_data(unsigned long, void *)
-	?send_error_message@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 94 NONAME ; enum eap_status_e eap_core_server_message_if_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e)
-	?NewL@CEapScheduler@@SAPAV1@XZ @ 95 NONAME ; class CEapScheduler * CEapScheduler::NewL(void)
-	?get_eapol_key_descriptor_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_descriptor_type_e@@@Z @ 96 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_descriptor_type_string(enum eapol_key_descriptor_type_e)
-	?set_is_valid@eap_general_settings_server_message_if_c@@QAEXXZ @ 97 NONAME ; void eap_general_settings_server_message_if_c::set_is_valid(void)
-	??1eap_general_settings_server_message_if_c@@UAE@XZ @ 98 NONAME ; eap_general_settings_server_message_if_c::~eap_general_settings_server_message_if_c(void)
-	??1eap_plugin_server_message_if_c@@UAE@XZ @ 99 NONAME ; eap_plugin_server_message_if_c::~eap_plugin_server_message_if_c(void)
-	?get_eapol_key_state_string@eapol_key_state_string_c@@SAPBDW4eapol_key_state_e@@@Z @ 100 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_state_string(enum eapol_key_state_e)
-	?set_partner@eap_plugin_server_message_if_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 101 NONAME ; void eap_plugin_server_message_if_c::set_partner(class abs_eap_am_message_if_c *)
-	?process_message@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 102 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?get_header_offset@eap_core_server_message_if_c@@UAEKPAK0@Z @ 103 NONAME ; unsigned long eap_core_server_message_if_c::get_header_offset(unsigned long *, unsigned long *)
-	??0eap_plugin_server_message_if_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 104 NONAME ; eap_plugin_server_message_if_c::eap_plugin_server_message_if_c(class abs_eap_am_tools_c *)
-	?eap_acknowledge@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 105 NONAME ; enum eap_status_e eap_core_server_message_if_c::eap_acknowledge(class eap_array_c<class eap_tlv_header_c> const *)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eap_notifieru.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	?Cancel@CEapAuthNotifier@@QAEXXZ @ 1 NONAME ; void CEapAuthNotifier::Cancel(void)
-	?NewL@CEapAuthNotifier@@SAPAV1@AAVMNotificationCallback@@@Z @ 2 NONAME ; class CEapAuthNotifier * CEapAuthNotifier::NewL(class MNotificationCallback &)
-	?StartL@CEapAuthNotifier@@QAEXW4EEapNotifierType@1@PAUTEapDialogInfo@1@AAVTEapExpandedType@@@Z @ 3 NONAME ; void CEapAuthNotifier::StartL(enum CEapAuthNotifier::EEapNotifierType, struct CEapAuthNotifier::TEapDialogInfo *, class TEapExpandedType &)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapakau.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eapakau.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,245 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?send_challenge_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@E@Z @ 2 NONAME ; enum eap_status_e eap_type_aka_c::send_challenge_request_message(unsigned char)
-	?complete_re_syncronization_query@eap_type_aka_c@@EAE?AW4eap_status_e@@EPBVeap_type_aka_authentication_vector_c@@@Z @ 3 NONAME ; enum eap_status_e eap_type_aka_c::complete_re_syncronization_query(unsigned char, class eap_type_aka_authentication_vector_c const *)
-	?add_pseudonym_or_imsi_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 4 NONAME ; enum eap_status_e eap_type_aka_c::add_pseudonym_or_imsi_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e)
-	??1eap_type_aka_authentication_vector_c@@UAE@XZ @ 5 NONAME ; eap_type_aka_authentication_vector_c::~eap_type_aka_authentication_vector_c(void)
-	??1aka_variable_data_c@@UAE@XZ @ 6 NONAME ; aka_variable_data_c::~aka_variable_data_c(void)
-	?finish_successful_authentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 7 NONAME ; enum eap_status_e eap_type_aka_c::finish_successful_authentication(class eap_am_network_id_c const *)
-	?cancel_timer@eap_type_aka_c@@QAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 8 NONAME ; enum eap_status_e eap_type_aka_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?NewL@eap_am_type_aka_symbian_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@W4TIndexType@@HVeap_expanded_type_c@@_NPBVeap_am_network_id_c@@@Z @ 9 NONAME ; class eap_am_type_aka_symbian_c * eap_am_type_aka_symbian_c::NewL(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, enum TIndexType, int, class eap_expanded_type_c, bool, class eap_am_network_id_c const *)
-	??1eap_type_aka_state_notification_c@@UAE@XZ @ 10 NONAME ; eap_type_aka_state_notification_c::~eap_type_aka_state_notification_c(void)
-	??0aka_payload_AT_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 11 NONAME ; aka_payload_AT_header_c::aka_payload_AT_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?get_data_offset@aka_header_c@@QBEPAEKK@Z @ 12 NONAME ; unsigned char * aka_header_c::get_data_offset(unsigned long, unsigned long) const
-	?get_payload_AT_string@aka_payload_AT_header_c@@QBEPBDXZ @ 13 NONAME ; char const * aka_payload_AT_header_c::get_payload_AT_string(void) const
-	?set_reserved@aka_payload_AT_header_c@@QAEXG@Z @ 14 NONAME ; void aka_payload_AT_header_c::set_reserved(unsigned short)
-	?get_header_length@aka_header_c@@QBEKXZ @ 15 NONAME ; unsigned long aka_header_c::get_header_length(void) const
-	?get_state_variable@eap_type_aka_c@@AAEPBVeap_type_aka_state_variable_parameters_c@@XZ @ 16 NONAME ; class eap_type_aka_state_variable_parameters_c const * eap_type_aka_c::get_state_variable(void)
-	?check_initiator@eap_type_aka_state_variable_parameters_c@@QBE_N_N@Z @ 17 NONAME ; bool eap_type_aka_state_variable_parameters_c::check_initiator(bool) const
-	?get_is_valid@eap_am_type_aka_symbian_c@@QAE_NXZ @ 18 NONAME ; bool eap_am_type_aka_symbian_c::get_is_valid(void)
-	?get_header_length@aka_payload_AT_header_c@@SAGXZ @ 19 NONAME ; unsigned short aka_payload_AT_header_c::get_header_length(void)
-	??0eap_type_aka_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_aka_c@@_N3PBVeap_am_network_id_c@@@Z @ 20 NONAME ; eap_type_aka_c::eap_type_aka_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_aka_c *, bool, bool, class eap_am_network_id_c const *)
-	?handle_client_error_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 21 NONAME ; enum eap_status_e eap_type_aka_c::handle_client_error_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	??0aka_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 22 NONAME ; aka_header_c::aka_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?query_AKA_authentication_vector@eap_type_aka_c@@AAE?AW4eap_status_e@@EPAW4eap_type_aka_identity_type@@@Z @ 23 NONAME ; enum eap_status_e eap_type_aka_c::query_AKA_authentication_vector(unsigned char, enum eap_type_aka_identity_type *)
-	?increase_reauth_counter@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 24 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::increase_reauth_counter(void)
-	?cancel_error_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e eap_type_aka_c::cancel_error_message_delay_timer(void)
-	?delete_unused_keys@eap_type_aka_c@@AAEXXZ @ 26 NONAME ; void eap_type_aka_c::delete_unused_keys(void)
-	??1aka_payload_AT_header_c@@UAE@XZ @ 27 NONAME ; aka_payload_AT_header_c::~aka_payload_AT_header_c(void)
-	?get_data_length@aka_payload_AT_header_c@@QBEKXZ @ 28 NONAME ; unsigned long aka_payload_AT_header_c::get_data_length(void) const
-	?get_reserved_pointer@aka_payload_AT_header_c@@QBEPAEK@Z @ 29 NONAME ; unsigned char * aka_payload_AT_header_c::get_reserved_pointer(unsigned long) const
-	?get_AUTN@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 30 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_AUTN(void) const
-	?cancel_imsi_from_username_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_imsi_from_username_query(void)
-	??0aka_fixed_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 32 NONAME ; aka_fixed_data_c::aka_fixed_data_c(class abs_eap_am_tools_c *)
-	?add_AUTS_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 33 NONAME ; enum eap_status_e eap_type_aka_c::add_AUTS_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e)
-	?set_vector_status@eap_type_aka_authentication_vector_c@@QAEXW4eap_status_e@@@Z @ 34 NONAME ; void eap_type_aka_authentication_vector_c::set_vector_status(enum eap_status_e)
-	?handle_synchronization_failure_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 35 NONAME ; enum eap_status_e eap_type_aka_c::handle_synchronization_failure_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?get_eap_type_string@aka_header_c@@QBEPBDXZ @ 36 NONAME ; char const * aka_header_c::get_eap_type_string(void) const
-	?check_challenge_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 37 NONAME ; enum eap_status_e eap_type_aka_c::check_challenge_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?cancel_AKA_authentication_vector_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 38 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_AKA_authentication_vector_query(void)
-	?get_saved_previous_state_string@eap_type_aka_c@@ABEPBDXZ @ 39 NONAME ; char const * eap_type_aka_c::get_saved_previous_state_string(void) const
-	?send_challenge_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 40 NONAME ; enum eap_status_e eap_type_aka_c::send_challenge_response_message(class eap_variable_data_c *)
-	?send_aka_notification_request@eap_type_aka_c@@AAE?AW4eap_status_e@@W4eap_aka_notification_codes_e@@_N@Z @ 41 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_notification_request(enum eap_aka_notification_codes_e, bool)
-	?set_error_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 42 NONAME ; enum eap_status_e eap_type_aka_c::set_error_message_delay_timer(void)
-	?configure@eap_type_aka_c@@UAE?AW4eap_status_e@@XZ @ 43 NONAME ; enum eap_status_e eap_type_aka_c::configure(void)
-	?set_timer@eap_type_aka_c@@QAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 44 NONAME ; enum eap_status_e eap_type_aka_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?get_payload_included@aka_variable_data_c@@QBE_NXZ @ 45 NONAME ; bool aka_variable_data_c::get_payload_included(void) const
-	?reset_header@aka_header_c@@QAEXK_N@Z @ 46 NONAME ; void aka_header_c::reset_header(unsigned long, bool)
-	?get_data@aka_variable_data_c@@QBEPAEK@Z @ 47 NONAME ; unsigned char * aka_variable_data_c::get_data(unsigned long) const
-	?generate_reauth_shared_secred_keys@eap_type_aka_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@K00PAV3@@Z @ 48 NONAME ; enum eap_status_e eap_type_aka_c::generate_reauth_shared_secred_keys(unsigned long, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?add_variable_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 49 NONAME ; enum eap_status_e eap_type_aka_c::add_variable_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e)
-	?query_AKA_RES@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_type_aka_authentication_vector_c@@@Z @ 50 NONAME ; enum eap_status_e eap_type_aka_c::query_AKA_RES(class eap_type_aka_authentication_vector_c *)
-	?handle_reauthentication_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 51 NONAME ; enum eap_status_e eap_type_aka_c::handle_reauthentication_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?get_state_string@eap_type_aka_c@@ABEPBDXZ @ 52 NONAME ; char const * eap_type_aka_c::get_state_string(void) const
-	?add_padding_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111K@Z @ 53 NONAME ; enum eap_status_e eap_type_aka_c::add_padding_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned long)
-	?initialize_notification_message@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 54 NONAME ; enum eap_status_e eap_type_aka_c::initialize_notification_message(void)
-	?handle_error_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 55 NONAME ; enum eap_status_e eap_type_aka_c::handle_error_packet(void)
-	?check_valid_state@eap_type_aka_c@@AAE?AW4eap_status_e@@W4aka_subtype_e@@@Z @ 56 NONAME ; enum eap_status_e eap_type_aka_c::check_valid_state(enum aka_subtype_e)
-	?update_payload_indexes@eap_type_aka_c@@AAEXKKKPAK000@Z @ 57 NONAME ; void eap_type_aka_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *)
-	?set_data_length@aka_header_c@@QAEXK_N@Z @ 58 NONAME ; void aka_header_c::set_data_length(unsigned long, bool)
-	?get_reserved@aka_header_c@@QBEGXZ @ 59 NONAME ; unsigned short aka_header_c::get_reserved(void) const
-	?generate_encryption_IV@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 60 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::generate_encryption_IV(class eap_variable_data_c *, unsigned long)
-	?store_reauthentication_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 61 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::store_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *)
-	?send_aka_notification_response@eap_type_aka_c@@AAE?AW4eap_status_e@@W4eap_aka_notification_codes_e@@_N@Z @ 62 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_notification_response(enum eap_aka_notification_codes_e, bool)
-	?get_includes_other_version_than_1@aka_payloads_c@@QAE_NXZ @ 63 NONAME ; bool aka_payloads_c::get_includes_other_version_than_1(void)
-	?get_reserved@aka_payload_AT_header_c@@QBEGXZ @ 64 NONAME ; unsigned short aka_payload_AT_header_c::get_reserved(void) const
-	??0aka_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 65 NONAME ; aka_variable_data_c::aka_variable_data_c(class abs_eap_am_tools_c *)
-	?generate_shared_secred_keys@eap_type_aka_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@0PAV3@111@Z @ 66 NONAME ; enum eap_status_e eap_type_aka_c::generate_shared_secred_keys(unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?cancel_AKA_RES_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 67 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_AKA_RES_query(void)
-	?query_AKA_IMSI_or_pseudonym_or_reauthentication_id@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@000PAK_NW4aka_payload_AT_type_e@@W4eap_type_aka_complete_e@@E@Z @ 68 NONAME ; enum eap_status_e eap_type_aka_c::query_AKA_IMSI_or_pseudonym_or_reauthentication_id(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, bool, enum aka_payload_AT_type_e, enum eap_type_aka_complete_e, unsigned char)
-	?handle_eap_identity_query@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_variable_data_c@@EPBV4@222K_N@Z @ 69 NONAME ; enum eap_status_e eap_type_aka_c::handle_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c *, unsigned char, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, bool)
-	?complete_AKA_imsi_L@eap_am_type_aka_symbian_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 70 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L(class eap_variable_data_c const *, enum eap_status_e)
-	?set_data_length@aka_payload_AT_header_c@@QAEXG@Z @ 71 NONAME ; void aka_payload_AT_header_c::set_data_length(unsigned short)
-	?get_RES@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 72 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_RES(void) const
-	?send_aka_client_error_response@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 73 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_client_error_response(void)
-	?get_data_length@aka_header_c@@QBEGXZ @ 74 NONAME ; unsigned short aka_header_c::get_data_length(void) const
-	?eap_acknowledge@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 75 NONAME ; enum eap_status_e eap_type_aka_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?check_payloads@aka_payloads_c@@QAE_NW4eap_aka_payload_status_e@1@00000000000000000000@Z @ 76 NONAME ; bool aka_payloads_c::check_payloads(enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e)
-	?handle_aka_identity_response_message_completion@eap_type_aka_c@@AAE?AW4eap_status_e@@EW42@W4eap_type_aka_identity_type@@_N@Z @ 77 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_identity_response_message_completion(unsigned char, enum eap_status_e, enum eap_type_aka_identity_type, bool)
-	?set_data@aka_fixed_data_c@@QAEXPBVaka_payload_AT_header_c@@GG@Z @ 78 NONAME ; void aka_fixed_data_c::set_data(class aka_payload_AT_header_c const *, unsigned short, unsigned short)
-	?get_RAND@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 79 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_RAND(void) const
-	?complete_imsi_from_username@eap_type_aka_c@@UAE?AW4eap_status_e@@EPBVeap_am_network_id_c@@PBVeap_variable_data_c@@1W4eap_type_aka_identity_type@@W42@W4eap_type_aka_complete_e@@@Z @ 80 NONAME ; enum eap_status_e eap_type_aka_c::complete_imsi_from_username(unsigned char, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_type_aka_identity_type, enum eap_status_e, enum eap_type_aka_complete_e)
-	?query_AKA_RES@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_type_aka_authentication_vector_c@@@Z @ 81 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_AKA_RES(class eap_type_aka_authentication_vector_c *)
-	?checkcode_save_message_server@eap_type_aka_c@@AAE?AW4eap_status_e@@PBXK@Z @ 82 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_save_message_server(void const *, unsigned long)
-	?send_reauthentication_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_NE@Z @ 83 NONAME ; enum eap_status_e eap_type_aka_c::send_reauthentication_request_message(class eap_variable_data_c const *, bool, unsigned char)
-	?add_mac_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PAPAE1@Z @ 84 NONAME ; enum eap_status_e eap_type_aka_c::add_mac_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned char * *, unsigned long *)
-	?cancel_notification_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 85 NONAME ; enum eap_status_e eap_type_aka_c::cancel_notification_message_delay_timer(void)
-	?check_message_authentication_code@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVaka_payloads_c@@PBVaka_header_c@@K@Z @ 86 NONAME ; enum eap_status_e eap_type_aka_c::check_message_authentication_code(class eap_variable_data_c const *, class aka_payloads_c *, class aka_header_c const *, unsigned long)
-	?check_valid_types@eap_type_aka_state_variable_parameters_c@@QBE_NW4aka_subtype_e@@@Z @ 87 NONAME ; bool eap_type_aka_state_variable_parameters_c::check_valid_types(enum aka_subtype_e) const
-	??0eap_type_aka_authentication_vector_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 88 NONAME ; eap_type_aka_authentication_vector_c::eap_type_aka_authentication_vector_c(class abs_eap_am_tools_c *)
-	?get_sub_type_offset@aka_header_c@@QBEKXZ @ 89 NONAME ; unsigned long aka_header_c::get_sub_type_offset(void) const
-	?generate_reauthentication_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 90 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?reset@eap_type_aka_authentication_vector_c@@QAEXXZ @ 91 NONAME ; void eap_type_aka_authentication_vector_c::reset(void)
-	?handle_identity_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_header_rd_c@@K@Z @ 92 NONAME ; enum eap_status_e eap_type_aka_c::handle_identity_response_message(class eap_header_rd_c *, unsigned long)
-	?get_data_length@aka_variable_data_c@@QBEKXZ @ 93 NONAME ; unsigned long aka_variable_data_c::get_data_length(void) const
-	??0eap_type_aka_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 94 NONAME ; eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool)
-	?get_data_offset@aka_payload_AT_header_c@@QBEPAEKK@Z @ 95 NONAME ; unsigned char * aka_payload_AT_header_c::get_data_offset(unsigned long, unsigned long) const
-	?get_data@aka_payload_AT_header_c@@QBEPAEK@Z @ 96 NONAME ; unsigned char * aka_payload_AT_header_c::get_data(unsigned long) const
-	?get_original_header@aka_fixed_data_c@@QAEPBVaka_payload_AT_header_c@@XZ @ 97 NONAME ; class aka_payload_AT_header_c const * aka_fixed_data_c::get_original_header(void)
-	?store_identity@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 98 NONAME ; enum eap_status_e eap_type_aka_c::store_identity(class eap_variable_data_c const *, bool)
-	?set_is_valid@eap_type_aka_c@@UAEXXZ @ 99 NONAME ; void eap_type_aka_c::set_is_valid(void)
-	?cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 100 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_query(void)
-	?configure@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 101 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::configure(void)
-	?authentication_finished@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@_NW4eap_aka_authentication_type_e@@W4eap_type_aka_identity_type@@@Z @ 102 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::authentication_finished(bool, enum eap_aka_authentication_type_e, enum eap_type_aka_identity_type)
-	?create_message_authentication_code@eap_type_aka_c@@QAE?AW4eap_status_e@@PAVeap_type_aka_MAC_attributes_c@@W4aka_subtype_e@@W4eap_code_value_e@@PBVeap_variable_data_c@@@Z @ 103 NONAME ; enum eap_status_e eap_type_aka_c::create_message_authentication_code(class eap_type_aka_MAC_attributes_c *, enum aka_subtype_e, enum eap_code_value_e, class eap_variable_data_c const *)
-	?get_max_payload_data_length@aka_payload_AT_header_c@@SAGXZ @ 104 NONAME ; unsigned short aka_payload_AT_header_c::get_max_payload_data_length(void)
-	?initialize_state@eap_type_aka_c@@AAEXW4eap_type_aka_state_variable_e@@_N1W4aka_subtype_e@@2222@Z @ 105 NONAME ; void eap_type_aka_c::initialize_state(enum eap_type_aka_state_variable_e, bool, bool, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e)
-	?add_simple_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111W4aka_payload_AT_type_e@@@Z @ 106 NONAME ; enum eap_status_e eap_type_aka_c::add_simple_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum aka_payload_AT_type_e)
-	?send_aka_synchronization_failure_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@@Z @ 107 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_synchronization_failure_response_message(class eap_type_aka_authentication_vector_c const *)
-	?complete_AKA_authentication_vector_query@eap_type_aka_c@@UAE?AW4eap_status_e@@PAVeap_type_aka_authentication_vector_c@@PBVeap_variable_data_c@@W4eap_aka_authentication_vector_status_e@@W4eap_type_aka_identity_type@@W42@E@Z @ 108 NONAME ; enum eap_status_e eap_type_aka_c::complete_AKA_authentication_vector_query(class eap_type_aka_authentication_vector_c *, class eap_variable_data_c const *, enum eap_aka_authentication_vector_status_e, enum eap_type_aka_identity_type, enum eap_status_e, unsigned char)
-	?set_notification_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 109 NONAME ; enum eap_status_e eap_type_aka_c::set_notification_message_delay_timer(void)
-	?get_is_valid@aka_fixed_data_c@@QBE_NXZ @ 110 NONAME ; bool aka_fixed_data_c::get_is_valid(void) const
-	?get_code_string@aka_header_c@@QBEPBDXZ @ 111 NONAME ; char const * aka_header_c::get_code_string(void) const
-	?handle_notification_response_message_reauthentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 112 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_response_message_reauthentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?init_state@eap_type_aka_state_variable_parameters_c@@QAEX_N0W4aka_subtype_e@@1111@Z @ 113 NONAME ; void eap_type_aka_state_variable_parameters_c::init_state(bool, bool, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e)
-	?add_client_error_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111W4eap_aka_client_error_code_e@@@Z @ 114 NONAME ; enum eap_status_e eap_type_aka_c::add_client_error_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_aka_client_error_code_e)
-	?get_type@aka_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 115 NONAME ; unsigned short aka_fixed_data_c::get_type(class abs_eap_am_tools_c *) const
-	?store_pseudonym_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 116 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::store_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *)
-	?set_is_valid@eap_am_type_aka_symbian_c@@QAEXXZ @ 117 NONAME ; void eap_am_type_aka_symbian_c::set_is_valid(void)
-	?send_aka_identity_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@_NE@Z @ 118 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_identity_request_message(bool, unsigned char)
-	?handle_aka_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 119 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_packet(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?analyse_aka_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 120 NONAME ; enum eap_status_e eap_type_aka_c::analyse_aka_packet(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?update_buffer_indexes@eap_type_aka_c@@AAEXKKPAK0@Z @ 121 NONAME ; void eap_type_aka_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *)
-	?handle_reauthentication_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 122 NONAME ; enum eap_status_e eap_type_aka_c::handle_reauthentication_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?get_is_valid@eap_type_aka_authentication_vector_c@@QBE_NXZ @ 123 NONAME ; bool eap_type_aka_authentication_vector_c::get_is_valid(void) const
-	?get_nai_realm@eap_type_aka_c@@AAEPAVeap_variable_data_c@@XZ @ 124 NONAME ; class eap_variable_data_c * eap_type_aka_c::get_nai_realm(void)
-	??1aka_header_c@@UAE@XZ @ 125 NONAME ; aka_header_c::~aka_header_c(void)
-	?checkcode_verify@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 126 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_verify(class eap_variable_data_c const *)
-	?timer_delete_data@eap_type_aka_c@@UAE?AW4eap_status_e@@KPAX@Z @ 127 NONAME ; enum eap_status_e eap_type_aka_c::timer_delete_data(unsigned long, void *)
-	?checkcode_verify_payloads@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_payloads_c@@@Z @ 128 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_verify_payloads(class aka_payloads_c *)
-	?reset_header@aka_payload_AT_header_c@@QAEXG@Z @ 129 NONAME ; void aka_payload_AT_header_c::reset_header(unsigned short)
-	?check_header@aka_header_c@@UBE?AW4eap_status_e@@XZ @ 130 NONAME ; enum eap_status_e aka_header_c::check_header(void) const
-	?checkcode_init@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 131 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_init(void)
-	?compare_payload_first_is_less@eap_type_aka_c@@CA_NPBW4aka_payload_AT_type_e@@0PAVabs_eap_am_tools_c@@@Z @ 132 NONAME ; bool eap_type_aka_c::compare_payload_first_is_less(enum aka_payload_AT_type_e const *, enum aka_payload_AT_type_e const *, class abs_eap_am_tools_c *)
-	?set_reserved@aka_header_c@@QAEXG@Z @ 133 NONAME ; void aka_header_c::set_reserved(unsigned short)
-	?set_includes_unknown_attribute@aka_payloads_c@@QAEXW4aka_payload_AT_type_e@@@Z @ 134 NONAME ; void aka_payloads_c::set_includes_unknown_attribute(enum aka_payload_AT_type_e)
-	?send_aka_identity_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW4aka_payload_AT_type_e@@PBVeap_variable_data_c@@@Z @ 135 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_identity_response_message(class eap_am_network_id_c const *, unsigned char, enum aka_payload_AT_type_e, class eap_variable_data_c const *)
-	?get_data@aka_header_c@@QBEPAEK@Z @ 136 NONAME ; unsigned char * aka_header_c::get_data(unsigned long) const
-	?get_includes_unknown_attribute@aka_payloads_c@@QAE?AW4aka_payload_AT_type_e@@XZ @ 137 NONAME ; enum aka_payload_AT_type_e aka_payloads_c::get_includes_unknown_attribute(void)
-	?reset@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 138 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::reset(void)
-	??1eap_type_aka_state_variable_parameters_c@@UAE@XZ @ 139 NONAME ; eap_type_aka_state_variable_parameters_c::~eap_type_aka_state_variable_parameters_c(void)
-	?add_counter_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111G@Z @ 140 NONAME ; enum eap_status_e eap_type_aka_c::add_counter_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned short)
-	?check_NAI@eap_type_aka_c@@AAE?AW4eap_status_e@@PBEK0@Z @ 141 NONAME ; enum eap_status_e eap_type_aka_c::check_NAI(unsigned char const *, unsigned long, unsigned char const *)
-	?store_reauth_parameters@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@00K@Z @ 142 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::store_reauth_parameters(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long)
-	?get_is_client@eap_type_aka_c@@UAE_NXZ @ 143 NONAME ; bool eap_type_aka_c::get_is_client(void)
-	?aka_packet_process@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@K_N@Z @ 144 NONAME ; enum eap_status_e eap_type_aka_c::aka_packet_process(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, bool)
-	?random_selection@eap_type_aka_c@@AAE_NXZ @ 145 NONAME ; bool eap_type_aka_c::random_selection(void)
-	?shutdown@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 146 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::shutdown(void)
-	?check_synchronization_failure_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 147 NONAME ; enum eap_status_e eap_type_aka_c::check_synchronization_failure_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?get_payload_buffer@aka_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 148 NONAME ; class eap_variable_data_c * aka_variable_data_c::get_payload_buffer(void)
-	?get_is_valid@aka_variable_data_c@@QBE_NXZ @ 149 NONAME ; bool aka_variable_data_c::get_is_valid(void) const
-	?handle_notification_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 150 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?type_configure_write@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 151 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_subtype_string@aka_header_c@@QBEPBDXZ @ 152 NONAME ; char const * aka_header_c::get_subtype_string(void) const
-	?read_configure@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 153 NONAME ; enum eap_status_e eap_type_aka_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?new_handler@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 154 NONAME ; enum eap_status_e eap_type_aka_c::new_handler(class eap_am_network_id_c const *, bool)
-	?add_RES_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 155 NONAME ; enum eap_status_e eap_type_aka_c::add_RES_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e)
-	?decrypt_DATA_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_payloads_c@@PBVeap_variable_data_c@@@Z @ 156 NONAME ; enum eap_status_e eap_type_aka_c::decrypt_DATA_payload(class aka_payloads_c *, class eap_variable_data_c const *)
-	?query_AKA_IMSI_or_pseudonym_or_reauthentication_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@000PAKW4aka_payload_AT_type_e@@W4eap_type_aka_complete_e@@E@Z @ 157 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_AKA_IMSI_or_pseudonym_or_reauthentication_id(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, enum aka_payload_AT_type_e, enum eap_type_aka_complete_e, unsigned char)
-	?set_initial_eap_identifier@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 158 NONAME ; enum eap_status_e eap_type_aka_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char)
-	?reset@eap_type_aka_c@@UAE?AW4eap_status_e@@XZ @ 159 NONAME ; enum eap_status_e eap_type_aka_c::reset(void)
-	?parse_generic_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@W4aka_payload_AT_type_e@@PBVaka_payload_AT_header_c@@PAVaka_payloads_c@@W4aka_subtype_e@@@Z @ 160 NONAME ; enum eap_status_e eap_type_aka_c::parse_generic_payload(enum aka_payload_AT_type_e, class aka_payload_AT_header_c const *, class aka_payloads_c *, enum aka_subtype_e)
-	?checkcode_update_saved_message@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 161 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_update_saved_message(void)
-	?complete_AKA_IMSI_or_pseudonym_or_reauthentication_id_query@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@000KW4eap_type_aka_complete_e@@EW42@@Z @ 162 NONAME ; enum eap_status_e eap_type_aka_c::complete_AKA_IMSI_or_pseudonym_or_reauthentication_id_query(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, enum eap_type_aka_complete_e, unsigned char, enum eap_status_e)
-	?type_configure_read@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 163 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?send_aka_authentication_reject_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@@Z @ 164 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_authentication_reject_response_message(class eap_type_aka_authentication_vector_c const *)
-	?checkcode_update@eap_type_aka_c@@AAE?AW4eap_status_e@@PBXK@Z @ 165 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_update(void const *, unsigned long)
-	?get_is_valid@eap_type_aka_c@@UAE_NXZ @ 166 NONAME ; bool eap_type_aka_c::get_is_valid(void)
-	?handle_aka_identity_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 167 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_identity_response_message(class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?checkcode_save_message_client@eap_type_aka_c@@AAE?AW4eap_status_e@@PBXKPAVaka_payloads_c@@@Z @ 168 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_save_message_client(void const *, unsigned long, class aka_payloads_c *)
-	?reset@aka_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 169 NONAME ; enum eap_status_e aka_variable_data_c::reset(void)
-	?handle_aka_notification_request_message_full_authentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 170 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_notification_request_message_full_authentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?parse_aka_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 171 NONAME ; enum eap_status_e eap_type_aka_c::parse_aka_packet(class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?extra_message_authentication_code_bytes@eap_type_aka_c@@QAE?AW4eap_status_e@@W4aka_subtype_e@@W4eap_code_value_e@@PAVcrypto_hmac_c@@@Z @ 172 NONAME ; enum eap_status_e eap_type_aka_c::extra_message_authentication_code_bytes(enum aka_subtype_e, enum eap_code_value_e, class crypto_hmac_c *)
-	?handle_aka_identity_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 173 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_identity_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?set_includes_other_version_than_1@aka_payloads_c@@QAEX_N@Z @ 174 NONAME ; void aka_payloads_c::set_includes_other_version_than_1(bool)
-	?get_IK@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 175 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_IK(void) const
-	??0eap_type_aka_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 176 NONAME ; eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool)
-	?query_eap_identity@eap_type_aka_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 177 NONAME ; enum eap_status_e eap_type_aka_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char)
-	?get_AUTS@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 178 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_AUTS(void) const
-	?get_vector_status@eap_type_aka_authentication_vector_c@@QBE?AW4eap_status_e@@XZ @ 179 NONAME ; enum eap_status_e eap_type_aka_authentication_vector_c::get_vector_status(void) const
-	?get_original_header@aka_variable_data_c@@QBEPBVaka_payload_AT_header_c@@XZ @ 180 NONAME ; class aka_payload_AT_header_c const * aka_variable_data_c::get_original_header(void) const
-	?set_subtype@aka_header_c@@QAEXW4aka_subtype_e@@@Z @ 181 NONAME ; void aka_header_c::set_subtype(enum aka_subtype_e)
-	?handle_aka_notification@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@W4eap_aka_notification_codes_e@@@Z @ 182 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::handle_aka_notification(enum eap_aka_notification_codes_e)
-	?handle_notification_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 183 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_packet(void)
-	??1aka_payloads_c@@UAE@XZ @ 184 NONAME ; aka_payloads_c::~aka_payloads_c(void)
-	?handle_aka_notification_request_message_reauthentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 185 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_notification_request_message_reauthentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?data_exp@eap_type_aka_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@PBV3@1@Z @ 186 NONAME ; enum eap_status_e eap_type_aka_c::data_exp(unsigned long, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?query_reauth_parameters@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@00PAK@Z @ 187 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_reauth_parameters(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *)
-	?get_state_string@eap_type_aka_c@@SAPBDW4eap_type_aka_state_variable_e@@@Z @ 188 NONAME ; char const * eap_type_aka_c::get_state_string(enum eap_type_aka_state_variable_e)
-	??0eap_type_aka_state_variable_parameters_c@@QAE@XZ @ 189 NONAME ; eap_type_aka_state_variable_parameters_c::eap_type_aka_state_variable_parameters_c(void)
-	?get_identity_string@eap_type_aka_c@@SAPBDW4eap_type_aka_identity_type@@@Z @ 190 NONAME ; char const * eap_type_aka_c::get_identity_string(enum eap_type_aka_identity_type)
-	?get_header_offset@eap_type_aka_c@@QAEKPAK0@Z @ 191 NONAME ; unsigned long eap_type_aka_c::get_header_offset(unsigned long *, unsigned long *)
-	?handle_DATA_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@W4aka_subtype_e@@PAVaka_payloads_c@@@Z @ 192 NONAME ; enum eap_status_e eap_type_aka_c::handle_DATA_payload(enum aka_subtype_e, class aka_payloads_c *)
-	?copy@eap_type_aka_authentication_vector_c@@QBEPAV1@XZ @ 193 NONAME ; class eap_type_aka_authentication_vector_c * eap_type_aka_authentication_vector_c::copy(void) const
-	?check_one_payload@aka_payloads_c@@QAE_NW4eap_aka_payload_status_e@1@PBVaka_variable_data_c@@@Z @ 194 NONAME ; bool aka_payloads_c::check_one_payload(enum aka_payloads_c::eap_aka_payload_status_e, class aka_variable_data_c const *)
-	?timer_expired@eap_type_aka_c@@UAE?AW4eap_status_e@@KPAX@Z @ 195 NONAME ; enum eap_status_e eap_type_aka_c::timer_expired(unsigned long, void *)
-	?send_reauthentication_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0000GE_N@Z @ 196 NONAME ; enum eap_status_e eap_type_aka_c::send_reauthentication_response_message(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short, unsigned char, bool)
-	?get_next_header@aka_payload_AT_header_c@@QBEPAEXZ @ 197 NONAME ; unsigned char * aka_payload_AT_header_c::get_next_header(void) const
-	?get_CK@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 198 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_CK(void) const
-	?get_subtype@aka_header_c@@QBE?AW4aka_subtype_e@@XZ @ 199 NONAME ; enum aka_subtype_e aka_header_c::get_subtype(void) const
-	?complete_AKA_RES_L@eap_am_type_aka_symbian_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@000W42@1@Z @ 200 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, enum eap_status_e, enum eap_status_e)
-	??0eap_type_aka_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 201 NONAME ; eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool)
-	?randomly_refuse_eap_identity@eap_type_aka_c@@AAE_NXZ @ 202 NONAME ; bool eap_type_aka_c::randomly_refuse_eap_identity(void)
-	?add_notification_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111W4eap_aka_notification_codes_e@@@Z @ 203 NONAME ; enum eap_status_e eap_type_aka_c::add_notification_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_aka_notification_codes_e)
-	?query_SIM_imsi@eap_am_type_aka_symbian_c@@QAE?AW4eap_status_e@@PAEKPAK@Z @ 204 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_SIM_imsi(unsigned char *, unsigned long, unsigned long *)
-	?complete_AKA_RES_query@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@W42@@Z @ 205 NONAME ; enum eap_status_e eap_type_aka_c::complete_AKA_RES_query(class eap_type_aka_authentication_vector_c const *, enum eap_status_e)
-	?shutdown@eap_type_aka_c@@UAE?AW4eap_status_e@@XZ @ 206 NONAME ; enum eap_status_e eap_type_aka_c::shutdown(void)
-	?handle_imsi_from_username@eap_type_aka_c@@QAE?AW4eap_status_e@@EPBVeap_am_network_id_c@@PBVeap_variable_data_c@@1W4eap_type_aka_identity_type@@@Z @ 207 NONAME ; enum eap_status_e eap_type_aka_c::handle_imsi_from_username(unsigned char, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_type_aka_identity_type)
-	?query_imsi_from_username@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@EPBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@PAW4eap_type_aka_identity_type@@W4eap_type_aka_complete_e@@@Z @ 208 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_imsi_from_username(unsigned char, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, enum eap_type_aka_identity_type *, enum eap_type_aka_complete_e)
-	?get_payload_length@aka_payload_AT_header_c@@QBEGXZ @ 209 NONAME ; unsigned short aka_payload_AT_header_c::get_payload_length(void) const
-	?generate_nai@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@_NPBV3@2122K@Z @ 210 NONAME ; enum eap_status_e eap_type_aka_c::generate_nai(class eap_variable_data_c *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long)
-	??1aka_fixed_data_c@@UAE@XZ @ 211 NONAME ; aka_fixed_data_c::~aka_fixed_data_c(void)
-	?process_AKA_kc_sres@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@@Z @ 212 NONAME ; enum eap_status_e eap_type_aka_c::process_AKA_kc_sres(class eap_type_aka_authentication_vector_c const *)
-	?get_payload_AT_string@aka_payload_AT_header_c@@SAPBDW4aka_payload_AT_type_e@@@Z @ 213 NONAME ; char const * aka_payload_AT_header_c::get_payload_AT_string(enum aka_payload_AT_type_e)
-	?set_current_payload@aka_payload_AT_header_c@@QAEXW4aka_payload_AT_type_e@@@Z @ 214 NONAME ; void aka_payload_AT_header_c::set_current_payload(enum aka_payload_AT_type_e)
-	?send_final_notification@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 215 NONAME ; enum eap_status_e eap_type_aka_c::send_final_notification(void)
-	?checkcode_final@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 216 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_final(class eap_variable_data_c *)
-	?check_header@aka_payload_AT_header_c@@UBE?AW4eap_status_e@@XZ @ 217 NONAME ; enum eap_status_e aka_payload_AT_header_c::check_header(void) const
-	?set_buffer@aka_variable_data_c@@QAE?AW4eap_status_e@@PBVaka_payload_AT_header_c@@PAEK_N2@Z @ 218 NONAME ; enum eap_status_e aka_variable_data_c::set_buffer(class aka_payload_AT_header_c const *, unsigned char *, unsigned long, bool, bool)
-	?handle_notification_response_message_full_authentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 219 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_response_message_full_authentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?handle_aka_notification_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 220 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_notification_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	??1eap_type_aka_c@@UAE@XZ @ 221 NONAME ; eap_type_aka_c::~eap_type_aka_c(void)
-	?handle_challenge_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 222 NONAME ; enum eap_status_e eap_type_aka_c::handle_challenge_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?state_notification@eap_type_aka_c@@QAEXPBVabs_eap_state_notification_c@@@Z @ 223 NONAME ; void eap_type_aka_c::state_notification(class abs_eap_state_notification_c const *)
-	??0aka_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 224 NONAME ; aka_payloads_c::aka_payloads_c(class abs_eap_am_tools_c *)
-	?get_data@aka_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 225 NONAME ; unsigned short aka_fixed_data_c::get_data(class abs_eap_am_tools_c *) const
-	?query_AKA_authentication_vector@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@EPAV3@PAVeap_type_aka_authentication_vector_c@@PAW4eap_type_aka_identity_type@@@Z @ 226 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_AKA_authentication_vector(class eap_variable_data_c const *, unsigned char, class eap_variable_data_c *, class eap_type_aka_authentication_vector_c *, enum eap_type_aka_identity_type *)
-	??1eap_am_type_aka_symbian_c@@UAE@XZ @ 227 NONAME ; eap_am_type_aka_symbian_c::~eap_am_type_aka_symbian_c(void)
-	?get_is_valid@aka_payloads_c@@QBE_NXZ @ 228 NONAME ; bool aka_payloads_c::get_is_valid(void) const
-	?parse_identity@eap_type_aka_c@@AAE?AW4eap_status_e@@PBEK@Z @ 229 NONAME ; enum eap_status_e eap_type_aka_c::parse_identity(unsigned char const *, unsigned long)
-	?initialize_error_message@eap_type_aka_c@@AAE?AW4eap_status_e@@W42@@Z @ 230 NONAME ; enum eap_status_e eap_type_aka_c::initialize_error_message(enum eap_status_e)
-	?generate_pseudonym_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 231 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::generate_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?get_current_payload@aka_payload_AT_header_c@@QBE?AW4aka_payload_AT_type_e@@XZ @ 232 NONAME ; enum aka_payload_AT_type_e aka_payload_AT_header_c::get_current_payload(void) const
-	?handle_challenge_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 233 NONAME ; enum eap_status_e eap_type_aka_c::handle_challenge_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *)
-	?generate_nonce@eap_type_aka_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@@Z @ 234 NONAME ; enum eap_status_e eap_type_aka_c::generate_nonce(unsigned long, class eap_variable_data_c *)
-	?encrypt_DATA_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAEKPBVeap_variable_data_c@@1@Z @ 235 NONAME ; enum eap_status_e eap_type_aka_c::encrypt_DATA_payload(unsigned char *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?process_re_syncronization@eap_type_aka_c@@AAE?AW4eap_status_e@@EPBVeap_type_aka_authentication_vector_c@@@Z @ 236 NONAME ; enum eap_status_e eap_type_aka_c::process_re_syncronization(unsigned char, class eap_type_aka_authentication_vector_c const *)
-	?packet_send@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 237 NONAME ; enum eap_status_e eap_type_aka_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?query_re_syncronization@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@EPAVeap_type_aka_authentication_vector_c@@@Z @ 238 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_re_syncronization(unsigned char, class eap_type_aka_authentication_vector_c *)
-	?write_configure@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 239 NONAME ; enum eap_status_e eap_type_aka_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?packet_process@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 240 NONAME ; enum eap_status_e eap_type_aka_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?is_session_valid@eap_am_type_aka_symbian_c@@QAE_NXZ @ 241 NONAME ; bool eap_am_type_aka_symbian_c::is_session_valid(void)
-	?parse_aka_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVaka_payload_AT_header_c@@PAKPAVaka_payloads_c@@W4aka_subtype_e@@@Z @ 242 NONAME ; enum eap_status_e eap_type_aka_c::parse_aka_payload(class aka_payload_AT_header_c const *, unsigned long *, class aka_payloads_c *, enum aka_subtype_e)
-	?packet_trace@eap_type_aka_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 243 NONAME ; void eap_type_aka_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapclientifu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?Close@REapSession@@QAEXXZ @ 1 NONAME ; void REapSession::Close(void)
-	?get_is_valid@REapSession@@QAE_NXZ @ 2 NONAME ; bool REapSession::get_is_valid(void)
-	??1REapSession@@UAE@XZ @ 3 NONAME ; REapSession::~REapSession(void)
-	?ConnectL@REapSession@@QAEXPAVabs_eap_am_tools_c@@PAVMSendPacketHandler@@V?$TBuf@$0BI@@@2PBXHW4TEapRequests@@@Z @ 4 NONAME ; void REapSession::ConnectL(class abs_eap_am_tools_c *, class MSendPacketHandler *, class TBuf<24>, class TBuf<24>, void const *, int, enum TEapRequests)
-	??1EapClientIf@@UAE@XZ @ 5 NONAME ; EapClientIf::~EapClientIf(void)
-	?process_data@REapSession@@QAE?AW4eap_status_e@@W4TEapRequests@@PBXK@Z @ 6 NONAME ; enum eap_status_e REapSession::process_data(enum TEapRequests, void const *, unsigned long)
-	??0EapClientIf@@QAE@XZ @ 7 NONAME ; EapClientIf::EapClientIf(void)
-	?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 8 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceimplementationu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
-	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	??1EapClientIf@@UAE@XZ @ 2 NONAME ; EapClientIf::~EapClientIf(void)
-	?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 3 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *)
-	??0EapClientIf@@QAE@XZ @ 4 NONAME ; EapClientIf::EapClientIf(void)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?process_data@CEapCoreInterface@@UAE?AW4eap_status_e@@PBXK@Z @ 1 NONAME ; enum eap_status_e CEapCoreInterface::process_data(void const *, unsigned long)
-	?set_partner@CEapCoreInterface@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 2 NONAME ; void CEapCoreInterface::set_partner(class abs_eap_am_message_if_c *)
-	?configure@CEapCoreInterface@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 3 NONAME ; enum eap_status_e CEapCoreInterface::configure(class eap_variable_data_c const *)
-	?shutdown@CEapCoreInterface@@UAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e CEapCoreInterface::shutdown(void)
-	?new_eap_am_client_message_if_c@@YAPAVeap_am_message_if_c@@PAVabs_eap_am_tools_c@@_NK@Z @ 5 NONAME ; class eap_am_message_if_c * new_eap_am_client_message_if_c(class abs_eap_am_tools_c *, bool, unsigned long)
-	?get_is_valid@CEapCoreInterface@@UAE_NXZ @ 6 NONAME ; bool CEapCoreInterface::get_is_valid(void)
-	?SendData@CEapCoreInterface@@UAEHPBXH@Z @ 7 NONAME ; int CEapCoreInterface::SendData(void const *, int)
-	?ConstrucL@CEapCoreInterface@@QAEPAVCEapProcessInterface@@PAVabs_eap_am_tools_c@@@Z @ 8 NONAME ; class CEapProcessInterface * CEapCoreInterface::ConstrucL(class abs_eap_am_tools_c *)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapgeneralsettingsu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-EXPORTS
-	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?copy_all_eap_settings@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 2 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::copy_all_eap_settings(class eap_method_settings_c const *)
-	??1eap_general_settings_message_c@@UAE@XZ @ 3 NONAME ; eap_general_settings_message_c::~eap_general_settings_message_c(void)
-	??1eap_general_settings_client_message_if_c@@UAE@XZ @ 4 NONAME ; eap_general_settings_client_message_if_c::~eap_general_settings_client_message_if_c(void)
-	??0eap_general_settings_message_c@@QAE@XZ @ 5 NONAME ; eap_general_settings_message_c::eap_general_settings_message_c(void)
-	?shutdown@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@XZ @ 6 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::shutdown(void)
-	?set_partner@eap_am_message_if_symbian_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 7 NONAME ; void eap_am_message_if_symbian_c::set_partner(class abs_eap_am_message_if_c *)
-	?process_message@eap_general_settings_client_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 8 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?delete_all_eap_settings@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 9 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::delete_all_eap_settings(class eap_method_settings_c const *)
-	?configure@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 10 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::configure(void)
-	?configure@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 11 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::configure(class eap_variable_data_c const *)
-	?process_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBXK@Z @ 12 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::process_data(void const *, unsigned long)
-	?get_is_valid@eap_am_message_if_symbian_c@@UAE_NXZ @ 13 NONAME ; bool eap_am_message_if_symbian_c::get_is_valid(void)
-	?send_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@ABVTDesC8@@@Z @ 14 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::send_data(class TDesC8 const &)
-	?send_data@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 15 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::send_data(void const *, unsigned long)
-	??0EapClientIf@@QAE@XZ @ 16 NONAME ; EapClientIf::EapClientIf(void)
-	??1eap_am_message_if_symbian_c@@UAE@XZ @ 17 NONAME ; eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c(void)
-	?get_certificate_lists@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 18 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::get_certificate_lists(class eap_method_settings_c const *)
-	?get_is_valid@eap_general_settings_client_message_if_c@@UAE_NXZ @ 19 NONAME ; bool eap_general_settings_client_message_if_c::get_is_valid(void)
-	?get_eap_methods@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 20 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::get_eap_methods(class eap_method_settings_c const *)
-	??0eap_am_message_if_symbian_c@@QAE@PAVabs_eap_am_tools_c@@W4TEapRequests@@@Z @ 21 NONAME ; eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(class abs_eap_am_tools_c *, enum TEapRequests)
-	?shutdown@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 22 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::shutdown(void)
-	?reset@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 23 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::reset(void)
-	??1EapClientIf@@UAE@XZ @ 24 NONAME ; EapClientIf::~EapClientIf(void)
-	?set_eap_methods@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 25 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::set_eap_methods(class eap_method_settings_c const *)
-	??0eap_general_settings_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_general_settings_message_c@@@Z @ 26 NONAME ; eap_general_settings_client_message_if_c::eap_general_settings_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_general_settings_message_c *)
-	?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 27 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapgenericu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-EXPORTS
-	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 2 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const
-	?reset@simple_config_message_c@@QAE?AW4eap_status_e@@XZ @ 3 NONAME ; enum eap_status_e simple_config_message_c::reset(void)
-	?configure@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::configure(void)
-	?add_payloads_to_simple_config_authenticator@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVcrypto_hmac_c@@_N@Z @ 5 NONAME ; enum eap_status_e simple_config_payloads_c::add_payloads_to_simple_config_authenticator(class crypto_hmac_c *, bool) const
-	?set_simple_config_message_data@simple_config_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 6 NONAME ; enum eap_status_e simple_config_message_c::set_simple_config_message_data(class eap_variable_data_c *, unsigned char)
-	?reset@simple_config_payloads_c@@QAE?AW4eap_status_e@@XZ @ 7 NONAME ; enum eap_status_e simple_config_payloads_c::reset(void)
-	?process_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBXK@Z @ 8 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::process_data(void const *, unsigned long)
-	?get_is_valid@eap_am_message_if_symbian_c@@UAE_NXZ @ 9 NONAME ; bool eap_am_message_if_symbian_c::get_is_valid(void)
-	?copy_attribute_data@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 10 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute_data(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long)
-	??0eap_plugin_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_plugin_message_c@@@Z @ 11 NONAME ; eap_plugin_client_message_if_c::eap_plugin_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_plugin_message_c *)
-	?get_MAC_address_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 12 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_MAC_address_const(void) const
-	?get_data@simple_config_variable_data_c@@QBEPAEK@Z @ 13 NONAME ; unsigned char * simple_config_variable_data_c::get_data(unsigned long) const
-	?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@@Z @ 14 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e) const
-	?create_simple_config_message@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVsimple_config_message_c@@_N@Z @ 15 NONAME ; enum eap_status_e simple_config_payloads_c::create_simple_config_message(class simple_config_message_c *, bool) const
-	?send_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@ABVTDesC8@@@Z @ 16 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::send_data(class TDesC8 const &)
-	?reset@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 17 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::reset(void)
-	??1eap_plugin_message_base_c@@UAE@XZ @ 18 NONAME ; eap_plugin_message_base_c::~eap_plugin_message_base_c(void)
-	?object_increase_reference_count@simple_config_variable_data_c@@QAEXXZ @ 19 NONAME ; void simple_config_variable_data_c::object_increase_reference_count(void)
-	??1eap_am_message_if_symbian_c@@UAE@XZ @ 20 NONAME ; eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c(void)
-	?add_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAVsimple_config_variable_data_c@@@Z @ 21 NONAME ; enum eap_status_e simple_config_payloads_c::add_attribute(class simple_config_variable_data_c *)
-	?get_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEPAV1@XZ @ 22 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::get_next_payload_with_same_attribute_type(void)
-	?get_type_info@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 23 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::get_type_info(class eap_method_settings_c const *)
-	?get_is_valid@simple_config_payloads_c@@QBE_NXZ @ 24 NONAME ; bool simple_config_payloads_c::get_is_valid(void) const
-	??1simple_config_message_c@@UAE@XZ @ 25 NONAME ; simple_config_message_c::~simple_config_message_c(void)
-	?process_message@eap_plugin_client_message_if_c@@QAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 26 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?parse_simple_config_payloads@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAXPAK1@Z @ 27 NONAME ; enum eap_status_e simple_config_payloads_c::parse_simple_config_payloads(void *, unsigned long *, unsigned long *)
-	?get_is_valid@simple_config_variable_data_c@@QBE_NXZ @ 28 NONAME ; bool simple_config_variable_data_c::get_is_valid(void) const
-	?set_attribute_type@simple_config_variable_data_c@@QAEXW4simple_config_Attribute_Type_e@@@Z @ 29 NONAME ; void simple_config_variable_data_c::set_attribute_type(enum simple_config_Attribute_Type_e)
-	??1EapClientIf@@UAE@XZ @ 30 NONAME ; EapClientIf::~EapClientIf(void)
-	?delete_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 31 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::delete_configuration(class eap_method_settings_c const *)
-	?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 32 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *)
-	?new_eap_plugin_client_message_if_c@eap_plugin_message_base_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_plugin_message_c@@@Z @ 33 NONAME ; class eap_plugin_message_base_c * eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(class abs_eap_am_tools_c *, class abs_eap_plugin_message_c *)
-	?get_network_key_const@network_key_and_index_c@@QBEPBVeap_variable_data_c@@XZ @ 34 NONAME ; class eap_variable_data_c const * network_key_and_index_c::get_network_key_const(void) const
-	?add_padding@simple_config_message_c@@QAE?AW4eap_status_e@@K@Z @ 35 NONAME ; enum eap_status_e simple_config_message_c::add_padding(unsigned long)
-	?verify_padding@simple_config_payloads_c@@AAE?AW4eap_status_e@@PBEK@Z @ 36 NONAME ; enum eap_status_e simple_config_payloads_c::verify_padding(unsigned char const *, unsigned long)
-	?shutdown@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@XZ @ 37 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::shutdown(void)
-	?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 38 NONAME ; bool network_key_and_index_c::get_is_valid_data(void)
-	?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 39 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void)
-	?parse_generic_payload@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PBVsimple_config_tlv_header_c@@@Z @ 40 NONAME ; enum eap_status_e simple_config_payloads_c::parse_generic_payload(enum simple_config_Attribute_Type_e, class simple_config_tlv_header_c const *)
-	?configure@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 41 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::configure(class eap_variable_data_c const *)
-	?get_header@simple_config_variable_data_c@@QAEPAVsimple_config_tlv_header_c@@XZ @ 42 NONAME ; class simple_config_tlv_header_c * simple_config_variable_data_c::get_header(void)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAE@Z @ 43 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned char *) const
-	?get_attribute_count@simple_config_payloads_c@@QBEKXZ @ 44 NONAME ; unsigned long simple_config_payloads_c::get_attribute_count(void) const
-	?get_network_index@simple_config_credential_c@@QBEEXZ @ 45 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) const
-	?get_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 46 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::get_configuration(class eap_method_settings_c const *)
-	?add_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 47 NONAME ; void simple_config_variable_data_c::add_next_payload_with_same_attribute_type(class simple_config_variable_data_c *)
-	?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 48 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char)
-	?get_data_length@simple_config_variable_data_c@@QBEKXZ @ 49 NONAME ; unsigned long simple_config_variable_data_c::get_data_length(void) const
-	?get_attribute_type@simple_config_variable_data_c@@QBE?AW4simple_config_Attribute_Type_e@@XZ @ 50 NONAME ; enum simple_config_Attribute_Type_e simple_config_variable_data_c::get_attribute_type(void) const
-	?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 51 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void)
-	??1simple_config_credential_c@@UAE@XZ @ 52 NONAME ; simple_config_credential_c::~simple_config_credential_c(void)
-	??0EapClientIf@@QAE@XZ @ 53 NONAME ; EapClientIf::EapClientIf(void)
-	??1simple_config_variable_data_c@@UAE@XZ @ 54 NONAME ; simple_config_variable_data_c::~simple_config_variable_data_c(void)
-	??1network_key_and_index_c@@UAE@XZ @ 55 NONAME ; network_key_and_index_c::~network_key_and_index_c(void)
-	?copy@simple_config_payloads_c@@QBEPAV1@XZ @ 56 NONAME ; class simple_config_payloads_c * simple_config_payloads_c::copy(void) const
-	??0eap_plugin_message_base_c@@QAE@XZ @ 57 NONAME ; eap_plugin_message_base_c::eap_plugin_message_base_c(void)
-	?copy_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PBV1@W4simple_config_Attribute_Type_e@@@Z @ 58 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute(class simple_config_payloads_c const *, enum simple_config_Attribute_Type_e)
-	??0eap_am_message_if_symbian_c@@QAE@PAVabs_eap_am_tools_c@@W4TEapRequests@@@Z @ 59 NONAME ; eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(class abs_eap_am_tools_c *, enum TEapRequests)
-	?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 60 NONAME ; class eap_array_c<class network_key_and_index_c> * simple_config_credential_c::get_network_keys(void)
-	??1eap_simple_config_trace_string_c@@UAE@XZ @ 61 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void)
-	?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@K@Z @ 62 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e, unsigned long) const
-	?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 63 NONAME ; bool simple_config_credential_c::get_is_valid(void)
-	??1eap_plugin_client_message_if_c@@UAE@XZ @ 64 NONAME ; eap_plugin_client_message_if_c::~eap_plugin_client_message_if_c(void)
-	?check_mandatory_payloads@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 65 NONAME ; enum eap_status_e simple_config_payloads_c::check_mandatory_payloads(class eap_array_c<enum simple_config_Attribute_Type_e> const *) const
-	?set_partner@eap_am_message_if_symbian_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 66 NONAME ; void eap_am_message_if_symbian_c::set_partner(class abs_eap_am_message_if_c *)
-	?set_copy_of_buffer@simple_config_variable_data_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 67 NONAME ; enum eap_status_e simple_config_variable_data_c::set_copy_of_buffer(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long)
-	?get_network_keys_const@simple_config_credential_c@@QBEPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 68 NONAME ; class eap_array_c<class network_key_and_index_c> const * simple_config_credential_c::get_network_keys_const(void) const
-	?set_network_index@simple_config_credential_c@@QAEXE@Z @ 69 NONAME ; void simple_config_credential_c::set_network_index(unsigned char)
-	?send_data@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 70 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::send_data(void const *, unsigned long)
-	?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 71 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void)
-	?get_simple_config_message_data@simple_config_message_c@@QAEPAVeap_variable_data_c@@XZ @ 72 NONAME ; class eap_variable_data_c * simple_config_message_c::get_simple_config_message_data(void)
-	?get_attribute_data@simple_config_payloads_c@@ABE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAXK@Z @ 73 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, void *, unsigned long) const
-	?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBW4simple_config_Attribute_Type_e@@K@Z @ 74 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(enum simple_config_Attribute_Type_e const *, unsigned long) const
-	?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 75 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void)
-	?get_SSID_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 76 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_SSID_const(void) const
-	?get_attribute@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@K@Z @ 77 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute(unsigned long) const
-	?get_is_mandatory@simple_config_variable_data_c@@QBE_NXZ @ 78 NONAME ; bool simple_config_variable_data_c::get_is_mandatory(void) const
-	?set_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 79 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::set_configuration(class eap_method_settings_c const *)
-	?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 80 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(class eap_array_c<enum simple_config_Attribute_Type_e> const *) const
-	??1simple_config_payloads_c@@UAE@XZ @ 81 NONAME ; simple_config_payloads_c::~simple_config_payloads_c(void)
-	?shutdown@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 82 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::shutdown(void)
-	??0simple_config_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 83 NONAME ; simple_config_message_c::simple_config_message_c(class abs_eap_am_tools_c *, bool)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAVeap_variable_data_c@@@Z @ 84 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, class eap_variable_data_c *) const
-	?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 85 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void)
-	??0simple_config_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 86 NONAME ; simple_config_variable_data_c::simple_config_variable_data_c(class abs_eap_am_tools_c *)
-	?get_network_key_index@network_key_and_index_c@@QBEEXZ @ 87 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) const
-	?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 88 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e)
-	?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 89 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const
-	?add_data@simple_config_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 90 NONAME ; enum eap_status_e simple_config_variable_data_c::add_data(void const *, unsigned long)
-	?set_index@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 91 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::set_index(class eap_method_settings_c const *)
-	?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 92 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e)
-	?set_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 93 NONAME ; void simple_config_variable_data_c::set_next_payload_with_same_attribute_type(class simple_config_variable_data_c *)
-	?get_is_valid@simple_config_message_c@@QAE_NXZ @ 94 NONAME ; bool simple_config_message_c::get_is_valid(void)
-	?get_full_attribute_buffer@simple_config_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 95 NONAME ; class eap_variable_data_c * simple_config_variable_data_c::get_full_attribute_buffer(void)
-	?copy_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 96 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::copy_configuration(class eap_method_settings_c const *)
-	?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 97 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const
-	?copy@simple_config_variable_data_c@@QBEPAV1@XZ @ 98 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::copy(void) const
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAG@Z @ 99 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned short *) const
-	?invoke_ui@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 100 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::invoke_ui(class eap_method_settings_c const *)
-	?get_is_valid@eap_plugin_client_message_if_c@@UAE_NXZ @ 101 NONAME ; bool eap_plugin_client_message_if_c::get_is_valid(void)
-	??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 102 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *)
-	??0simple_config_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 103 NONAME ; simple_config_payloads_c::simple_config_payloads_c(class abs_eap_am_tools_c *)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PA_K@Z @ 104 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long long *) const
-	?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 105 NONAME ; bool network_key_and_index_c::get_is_valid(void)
-	??0eap_simple_config_trace_string_c@@QAE@XZ @ 106 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAK@Z @ 107 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long *) const
-	?copy@network_key_and_index_c@@QAEPAV1@XZ @ 108 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void)
-	??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 109 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *)
-	?get_header_length@simple_config_tlv_header_c@@SAKXZ @ 110 NONAME ; unsigned long simple_config_tlv_header_c::get_header_length(void)
-
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,80 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?set_value_size@mschapv2_challenge_c@@QAEXXZ @ 2 NONAME ; void mschapv2_challenge_c::set_value_size(void)
-	?get_opcode@mschapv2_header_c@@QBE?AW4mschapv2_opcode_e@@XZ @ 3 NONAME ; enum mschapv2_opcode_e mschapv2_header_c::get_opcode(void) const
-	?get_name_length@mschapv2_response_c@@QBEKXZ @ 4 NONAME ; unsigned long mschapv2_response_c::get_name_length(void) const
-	?get_name@mschapv2_challenge_c@@QBEPBEXZ @ 5 NONAME ; unsigned char const * mschapv2_challenge_c::get_name(void) const
-	?update_username_password@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 6 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password(void)
-	?get_memory_store_key@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 7 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::get_memory_store_key(class eap_variable_data_c *)
-	??0mschapv2_change_password_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 8 NONAME ; mschapv2_change_password_c::mschapv2_change_password_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?set_nt_response@mschapv2_response_c@@QAEXPBE@Z @ 9 NONAME ; void mschapv2_response_c::set_nt_response(unsigned char const *)
-	?configure@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 10 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::configure(void)
-	?get_header_minimum_size@mschapv2_response_c@@SAKXZ @ 11 NONAME ; unsigned long mschapv2_response_c::get_header_minimum_size(void)
-	?get_nt_response@mschapv2_response_c@@QBEPBEXZ @ 12 NONAME ; unsigned char const * mschapv2_response_c::get_nt_response(void) const
-	?get_is_valid@eap_am_type_mschapv2_symbian_c@@QAE_NXZ @ 13 NONAME ; bool eap_am_type_mschapv2_symbian_c::get_is_valid(void)
-	?get_nt_response@mschapv2_change_password_c@@QBEPBEXZ @ 14 NONAME ; unsigned char const * mschapv2_change_password_c::get_nt_response(void) const
-	??1mschapv2_response_c@@UAE@XZ @ 15 NONAME ; mschapv2_response_c::~mschapv2_response_c(void)
-	??1eap_type_mschapv2_state_c@@UAE@XZ @ 16 NONAME ; eap_type_mschapv2_state_c::~eap_type_mschapv2_state_c(void)
-	?reset@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 17 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::reset(void)
-	?set_peer_challenge@mschapv2_change_password_c@@QAEXPBE@Z @ 18 NONAME ; void mschapv2_change_password_c::set_peer_challenge(unsigned char const *)
-	?set_is_valid@eap_am_type_mschapv2_symbian_c@@QAEXXZ @ 19 NONAME ; void eap_am_type_mschapv2_symbian_c::set_is_valid(void)
-	?packet_process@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 20 NONAME ; enum eap_status_e eap_type_mschapv2_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?set_challenge@mschapv2_challenge_c@@QAEXPBE@Z @ 21 NONAME ; void mschapv2_challenge_c::set_challenge(unsigned char const *)
-	?set_name@mschapv2_challenge_c@@QAEXPBE@Z @ 22 NONAME ; void mschapv2_challenge_c::set_name(unsigned char const *)
-	?get_challenge@mschapv2_challenge_c@@QBEPBEXZ @ 23 NONAME ; unsigned char const * mschapv2_challenge_c::get_challenge(void) const
-	?set_peer_challenge@mschapv2_response_c@@QAEXPBE@Z @ 24 NONAME ; void mschapv2_response_c::set_peer_challenge(unsigned char const *)
-	?get_peer_challenge@mschapv2_response_c@@QBEPBEXZ @ 25 NONAME ; unsigned char const * mschapv2_response_c::get_peer_challenge(void) const
-	?read_auth_failure_string@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@W4eap_mschapv2_error_e@@AAVeap_variable_data_c@@@Z @ 26 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::read_auth_failure_string(enum eap_mschapv2_error_e, class eap_variable_data_c &)
-	?get_ms_length@mschapv2_header_c@@QBEGXZ @ 27 NONAME ; unsigned short mschapv2_header_c::get_ms_length(void) const
-	??0mschapv2_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 28 NONAME ; mschapv2_header_c::mschapv2_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?set_is_valid@eap_type_mschapv2_c@@UAEXXZ @ 29 NONAME ; void eap_type_mschapv2_c::set_is_valid(void)
-	?get_is_valid@eap_type_mschapv2_c@@UAE_NXZ @ 30 NONAME ; bool eap_type_mschapv2_c::get_is_valid(void)
-	?finish_successful_authentication@eap_type_mschapv2_c@@AAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e eap_type_mschapv2_c::finish_successful_authentication(void)
-	?get_encrypted_pw_block@mschapv2_change_password_c@@QBEPBEXZ @ 32 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_pw_block(void) const
-	?type_configure_write@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 33 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	??1eap_type_mschapv2_c@@UAE@XZ @ 34 NONAME ; eap_type_mschapv2_c::~eap_type_mschapv2_c(void)
-	?get_data@mschapv2_header_c@@QBEPAEXZ @ 35 NONAME ; unsigned char * mschapv2_header_c::get_data(void) const
-	?complete_eap_identity_query@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@XZ @ 36 NONAME ; enum eap_status_e eap_type_mschapv2_c::complete_eap_identity_query(void)
-	?set_name@mschapv2_response_c@@QAEXPBE@Z @ 37 NONAME ; void mschapv2_response_c::set_name(unsigned char const *)
-	?get_header_minimum_size@mschapv2_change_password_c@@SAKXZ @ 38 NONAME ; unsigned long mschapv2_change_password_c::get_header_minimum_size(void)
-	??1mschapv2_header_c@@UAE@XZ @ 39 NONAME ; mschapv2_header_c::~mschapv2_header_c(void)
-	??0eap_type_mschapv2_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_mschapv2_c@@_N3PBVeap_am_network_id_c@@@Z @ 40 NONAME ; eap_type_mschapv2_c::eap_type_mschapv2_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_mschapv2_c *, bool, bool, class eap_am_network_id_c const *)
-	?get_name@mschapv2_response_c@@QBEPBEXZ @ 41 NONAME ; unsigned char const * mschapv2_response_c::get_name(void) const
-	?get_mschapv2_id@mschapv2_header_c@@QBEEXZ @ 42 NONAME ; unsigned char mschapv2_header_c::get_mschapv2_id(void) const
-	?complete_change_password_query@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@XZ @ 43 NONAME ; enum eap_status_e eap_type_mschapv2_c::complete_change_password_query(void)
-	?set_initial_eap_identifier@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 44 NONAME ; enum eap_status_e eap_type_mschapv2_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char)
-	?get_data_length@mschapv2_header_c@@QBEKXZ @ 45 NONAME ; unsigned long mschapv2_header_c::get_data_length(void) const
-	?set_opcode@mschapv2_header_c@@QAEXW4mschapv2_opcode_e@@@Z @ 46 NONAME ; void mschapv2_header_c::set_opcode(enum mschapv2_opcode_e)
-	?handle_identity_response_message@eap_type_mschapv2_c@@AAE?AW4eap_status_e@@XZ @ 47 NONAME ; enum eap_status_e eap_type_mschapv2_c::handle_identity_response_message(void)
-	??1mschapv2_change_password_c@@UAE@XZ @ 48 NONAME ; mschapv2_change_password_c::~mschapv2_change_password_c(void)
-	?check_header@mschapv2_change_password_c@@UBE?AW4eap_status_e@@XZ @ 49 NONAME ; enum eap_status_e mschapv2_change_password_c::check_header(void) const
-	?get_is_client@eap_type_mschapv2_c@@EAE_NXZ @ 50 NONAME ; bool eap_type_mschapv2_c::get_is_client(void)
-	?get_header_minimum_size@mschapv2_challenge_c@@SAKXZ @ 51 NONAME ; unsigned long mschapv2_challenge_c::get_header_minimum_size(void)
-	?query_eap_identity@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 52 NONAME ; enum eap_status_e eap_type_mschapv2_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char)
-	??1eap_am_type_mschapv2_symbian_c@@UAE@XZ @ 53 NONAME ; eap_am_type_mschapv2_symbian_c::~eap_am_type_mschapv2_symbian_c(void)
-	?reset@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@XZ @ 54 NONAME ; enum eap_status_e eap_type_mschapv2_c::reset(void)
-	?configure@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@XZ @ 55 NONAME ; enum eap_status_e eap_type_mschapv2_c::configure(void)
-	?set_mschapv2_id@mschapv2_header_c@@QAEXE@Z @ 56 NONAME ; void mschapv2_header_c::set_mschapv2_id(unsigned char)
-	?check_header@mschapv2_header_c@@UBE?AW4eap_status_e@@XZ @ 57 NONAME ; enum eap_status_e mschapv2_header_c::check_header(void) const
-	?set_constants@mschapv2_response_c@@QAE?AW4eap_status_e@@XZ @ 58 NONAME ; enum eap_status_e mschapv2_response_c::set_constants(void)
-	?set_ms_length@mschapv2_header_c@@QAEXG@Z @ 59 NONAME ; void mschapv2_header_c::set_ms_length(unsigned short)
-	?shutdown@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 60 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::shutdown(void)
-	??1mschapv2_challenge_c@@UAE@XZ @ 61 NONAME ; mschapv2_challenge_c::~mschapv2_challenge_c(void)
-	?check_header@mschapv2_response_c@@UBE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e mschapv2_response_c::check_header(void) const
-	??0mschapv2_response_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 63 NONAME ; mschapv2_response_c::mschapv2_response_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?shutdown@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@XZ @ 64 NONAME ; enum eap_status_e eap_type_mschapv2_c::shutdown(void)
-	?DlgComplete@eap_am_type_mschapv2_symbian_c@@UAEXH@Z @ 65 NONAME ; void eap_am_type_mschapv2_symbian_c::DlgComplete(int)
-	?eap_acknowledge@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 66 NONAME ; enum eap_status_e eap_type_mschapv2_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?set_encrypted_pw_block@mschapv2_change_password_c@@QAEXPBE@Z @ 67 NONAME ; void mschapv2_change_password_c::set_encrypted_pw_block(unsigned char const *)
-	?set_nt_response@mschapv2_change_password_c@@QAEXPBE@Z @ 68 NONAME ; void mschapv2_change_password_c::set_nt_response(unsigned char const *)
-	??0mschapv2_challenge_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 69 NONAME ; mschapv2_challenge_c::mschapv2_challenge_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?set_encrypted_hash@mschapv2_change_password_c@@QAEXPBE@Z @ 70 NONAME ; void mschapv2_change_password_c::set_encrypted_hash(unsigned char const *)
-	?type_configure_read@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 71 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_encrypted_hash@mschapv2_change_password_c@@QBEPBEXZ @ 72 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_hash(void) const
-	?finish_unsuccessful_authentication@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@_N@Z @ 73 NONAME ; enum eap_status_e eap_type_mschapv2_c::finish_unsuccessful_authentication(bool)
-	?set_constants@mschapv2_change_password_c@@QAE?AW4eap_status_e@@XZ @ 74 NONAME ; enum eap_status_e mschapv2_change_password_c::set_constants(void)
-	?complete_failure_retry_response@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@XZ @ 75 NONAME ; enum eap_status_e eap_type_mschapv2_c::complete_failure_retry_response(void)
-	?check_header@mschapv2_challenge_c@@UBE?AW4eap_status_e@@XZ @ 76 NONAME ; enum eap_status_e mschapv2_challenge_c::check_header(void) const
-	?get_peer_challenge@mschapv2_change_password_c@@QBEPBEXZ @ 77 NONAME ; unsigned char const * mschapv2_change_password_c::get_peer_challenge(void) const
-	?get_name_length@mschapv2_challenge_c@@QBEKXZ @ 78 NONAME ; unsigned long mschapv2_challenge_c::get_name_length(void) const
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,292 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?set_type_partner@simple_config_base_record_c@@QAEXPAVabs_simple_config_base_record_c@@@Z @ 2 NONAME ; void simple_config_base_record_c::set_type_partner(class abs_simple_config_base_record_c *)
-	?set_simple_config_message_data@simple_config_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 3 NONAME ; enum eap_status_e simple_config_message_c::set_simple_config_message_data(class eap_variable_data_c *, unsigned char)
-	?eap_simple_config_fragment_send@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e eap_type_simple_config_c::eap_simple_config_fragment_send(void)
-	?verify_nonces_and_authenticator@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00PBVsimple_config_payloads_c@@_N22@Z @ 5 NONAME ; enum eap_status_e simple_config_record_c::verify_nonces_and_authenticator(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class simple_config_payloads_c const *, bool, bool, bool)
-	?copy_attribute_data@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 6 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute_data(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long)
-	?get_is_valid@eap_type_simple_config_c@@UAE_NXZ @ 7 NONAME ; bool eap_type_simple_config_c::get_is_valid(void)
-	?get_failure_message_received@eap_type_simple_config_c@@ABE_NXZ @ 8 NONAME ; bool eap_type_simple_config_c::get_failure_message_received(void) const
-	?get_reassembly_state_string@eap_type_simple_config_c@@ABEPBDXZ @ 9 NONAME ; char const * eap_type_simple_config_c::get_reassembly_state_string(void) const
-	?restart_authentication@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 10 NONAME ; enum eap_status_e eap_type_simple_config_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?get_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEPAV1@XZ @ 11 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::get_next_payload_with_same_attribute_type(void)
-	?set_simple_config_flag_value@eap_simple_config_header_c@@QBEXEKK@Z @ 12 NONAME ; void eap_simple_config_header_c::set_simple_config_flag_value(unsigned char, unsigned long, unsigned long) const
-	?send_M3@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 13 NONAME ; enum eap_status_e simple_config_record_c::send_M3(void)
-	??1simple_config_message_c@@UAE@XZ @ 14 NONAME ; simple_config_message_c::~simple_config_message_c(void)
-	?save_current_reassembly_state@eap_type_simple_config_c@@AAEXXZ @ 15 NONAME ; void eap_type_simple_config_c::save_current_reassembly_state(void)
-	?cancel_M2D_received_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 16 NONAME ; enum eap_status_e simple_config_record_c::cancel_M2D_received_timeout(void)
-	?timer_delete_data@eap_type_simple_config_c@@UAE?AW4eap_status_e@@KPAX@Z @ 17 NONAME ; enum eap_status_e eap_type_simple_config_c::timer_delete_data(unsigned long, void *)
-	?packet_process@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 18 NONAME ; enum eap_status_e eap_type_simple_config_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?get_network_key_const@network_key_and_index_c@@QBEPBVeap_variable_data_c@@XZ @ 19 NONAME ; class eap_variable_data_c const * network_key_and_index_c::get_network_key_const(void) const
-	?get_NAI@eap_type_simple_config_c@@AAEPAVeap_variable_data_c@@XZ @ 20 NONAME ; class eap_variable_data_c * eap_type_simple_config_c::get_NAI(void)
-	?set_data_length@eap_simple_config_header_c@@QAEXK_N@Z @ 21 NONAME ; void eap_simple_config_header_c::set_data_length(unsigned long, bool)
-	?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 22 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void)
-	??1CEapAmProtectedSetupSymbian@@UAE@XZ @ 23 NONAME ; CEapAmProtectedSetupSymbian::~CEapAmProtectedSetupSymbian(void)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAE@Z @ 24 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned char *) const
-	??1eap_type_simple_config_state_notification_c@@UAE@XZ @ 25 NONAME ; eap_type_simple_config_state_notification_c::~eap_type_simple_config_state_notification_c(void)
-	?packet_process@simple_config_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 26 NONAME ; enum eap_status_e simple_config_record_c::packet_process(class eap_variable_data_c *, unsigned char)
-	??0simple_config_completion_c@@QAE@PAVabs_eap_am_tools_c@@W4simple_config_completion_action_e@@@Z @ 27 NONAME ; simple_config_completion_c::simple_config_completion_c(class abs_eap_am_tools_c *, enum simple_config_completion_action_e)
-	??1simple_config_variable_data_c@@UAE@XZ @ 28 NONAME ; simple_config_variable_data_c::~simple_config_variable_data_c(void)
-	?get_simple_config_message_length@eap_simple_config_header_c@@QBE?AW4eap_status_e@@PAK@Z @ 29 NONAME ; enum eap_status_e eap_simple_config_header_c::get_simple_config_message_length(unsigned long *) const
-	?save_current_state@eap_type_simple_config_c@@AAEXXZ @ 30 NONAME ; void eap_type_simple_config_c::save_current_state(void)
-	?unload_module@eap_type_simple_config_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 31 NONAME ; enum eap_status_e eap_type_simple_config_c::unload_module(class eap_expanded_type_c)
-	?copy@simple_config_payloads_c@@QBEPAV1@XZ @ 32 NONAME ; class simple_config_payloads_c * simple_config_payloads_c::copy(void) const
-	?set_eap_code@eap_simple_config_header_c@@QAEXW4eap_code_value_e@@@Z @ 33 NONAME ; void eap_simple_config_header_c::set_eap_code(enum eap_code_value_e)
-	?restore_saved_reassembly_state@eap_type_simple_config_c@@AAEXXZ @ 34 NONAME ; void eap_type_simple_config_c::restore_saved_reassembly_state(void)
-	?get_state_string@eap_type_simple_config_c@@SAPBDW4eap_type_simple_config_state_variable_e@@@Z @ 35 NONAME ; char const * eap_type_simple_config_c::get_state_string(enum eap_type_simple_config_state_variable_e)
-	?get_eap_type_string@eap_simple_config_header_c@@QBEPBDXZ @ 36 NONAME ; char const * eap_simple_config_header_c::get_eap_type_string(void) const
-	?check_NAI@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBEK0@Z @ 37 NONAME ; enum eap_status_e eap_type_simple_config_c::check_NAI(unsigned char const *, unsigned long, unsigned char const *)
-	??1eap_simple_config_trace_string_c@@UAE@XZ @ 38 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void)
-	?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@K@Z @ 39 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e, unsigned long) const
-	?parse_identity@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBEK@Z @ 40 NONAME ; enum eap_status_e eap_type_simple_config_c::parse_identity(unsigned char const *, unsigned long)
-	?set_copy_of_buffer@simple_config_variable_data_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 41 NONAME ; enum eap_status_e simple_config_variable_data_c::set_copy_of_buffer(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long)
-	?read_configure@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 42 NONAME ; enum eap_status_e eap_type_simple_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?packet_data_crypto_keys@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 43 NONAME ; enum eap_status_e eap_type_simple_config_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?get_simple_config_message_data@simple_config_message_c@@QAEPAVeap_variable_data_c@@XZ @ 44 NONAME ; class eap_variable_data_c * simple_config_message_c::get_simple_config_message_data(void)
-	?get_state@eap_type_simple_config_c@@ABE?AW4eap_type_simple_config_state_variable_e@@XZ @ 45 NONAME ; enum eap_type_simple_config_state_variable_e eap_type_simple_config_c::get_state(void) const
-	?get_completion_action@simple_config_completion_c@@QBE?AW4simple_config_completion_action_e@@XZ @ 46 NONAME ; enum simple_config_completion_action_e simple_config_completion_c::get_completion_action(void) const
-	??0CEapAmProtectedSetupSymbian@@IAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@W4TIndexType@@HVeap_expanded_type_c@@3_NPBVeap_am_network_id_c@@PAVabs_eap_configuration_if_c@@@Z @ 47 NONAME ; CEapAmProtectedSetupSymbian::CEapAmProtectedSetupSymbian(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, enum TIndexType, int, class eap_expanded_type_c, class eap_expanded_type_c, bool, class eap_am_network_id_c const *, class abs_eap_configuration_if_c *)
-	?get_simple_config_flag_bit@eap_simple_config_header_c@@QBE_NK@Z @ 48 NONAME ; bool eap_simple_config_header_c::get_simple_config_flag_bit(unsigned long) const
-	??0simple_config_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 49 NONAME ; simple_config_message_c::simple_config_message_c(class abs_eap_am_tools_c *, bool)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAVeap_variable_data_c@@@Z @ 50 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, class eap_variable_data_c *) const
-	?send_M1@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 51 NONAME ; enum eap_status_e simple_config_record_c::send_M1(class simple_config_payloads_c const *)
-	?send_final_notification@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 52 NONAME ; enum eap_status_e eap_type_simple_config_c::send_final_notification(void)
-	?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 53 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void)
-	?process_M4@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 54 NONAME ; enum eap_status_e simple_config_record_c::process_M4(class simple_config_payloads_c const *)
-	?load_module@eap_type_simple_config_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 55 NONAME ; enum eap_status_e eap_type_simple_config_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?get_network_key_index@network_key_and_index_c@@QBEEXZ @ 56 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) const
-	?get_state_string@eap_type_simple_config_c@@ABEPBDXZ @ 57 NONAME ; char const * eap_type_simple_config_c::get_state_string(void) const
-	?get_reassembly_state_string@eap_type_simple_config_c@@SAPBDW4eap_type_simple_config_reassembly_state_e@@@Z @ 58 NONAME ; char const * eap_type_simple_config_c::get_reassembly_state_string(enum eap_type_simple_config_reassembly_state_e)
-	??0simple_config_base_record_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 59 NONAME ; simple_config_base_record_c::simple_config_base_record_c(class abs_eap_am_tools_c *)
-	?add_data@simple_config_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 60 NONAME ; enum eap_status_e simple_config_variable_data_c::add_data(void const *, unsigned long)
-	?send_WSC_ACK@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 61 NONAME ; enum eap_status_e simple_config_record_c::send_WSC_ACK(void)
-	?initalize_error_message_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e simple_config_record_c::initalize_error_message_timeout(void)
-	?get_full_attribute_buffer@simple_config_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 63 NONAME ; class eap_variable_data_c * simple_config_variable_data_c::get_full_attribute_buffer(void)
-	?generate_dhe_keys@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 64 NONAME ; enum eap_status_e simple_config_record_c::generate_dhe_keys(void)
-	?set_state@simple_config_record_c@@AAEXW4simple_config_state_e@@@Z @ 65 NONAME ; void simple_config_record_c::set_state(enum simple_config_state_e)
-	?eap_acknowledge@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 66 NONAME ; enum eap_status_e eap_type_simple_config_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?set_eap_type@eap_simple_config_header_c@@QAEXVeap_expanded_type_c@@_N@Z @ 67 NONAME ; void eap_simple_config_header_c::set_eap_type(class eap_expanded_type_c, bool)
-	?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 68 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const
-	?copy@simple_config_variable_data_c@@QBEPAV1@XZ @ 69 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::copy(void) const
-	?set_timer@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 70 NONAME ; enum eap_status_e eap_type_simple_config_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?set_flag_reserved@eap_simple_config_header_c@@QAEXE@Z @ 71 NONAME ; void eap_simple_config_header_c::set_flag_reserved(unsigned char)
-	??1eap_type_simple_config_c@@UAE@XZ @ 72 NONAME ; eap_type_simple_config_c::~eap_type_simple_config_c(void)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PA_K@Z @ 73 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long long *) const
-	??0simple_config_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 74 NONAME ; simple_config_payloads_c::simple_config_payloads_c(class abs_eap_am_tools_c *)
-	?get_eap_type@eap_simple_config_header_c@@QBE?AVeap_expanded_type_c@@XZ @ 75 NONAME ; class eap_expanded_type_c eap_simple_config_header_c::get_eap_type(void) const
-	?send_M5@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 76 NONAME ; enum eap_status_e simple_config_record_c::send_M5(void)
-	?received_registrar_information@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Vsimple_config_payloads_c@@@@@Z @ 77 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::received_registrar_information(class eap_array_c<class simple_config_payloads_c> const *)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAK@Z @ 78 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long *) const
-	?initialize_M2D_received_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 79 NONAME ; enum eap_status_e simple_config_record_c::initialize_M2D_received_timeout(void)
-	?reset@simple_config_message_c@@QAE?AW4eap_status_e@@XZ @ 80 NONAME ; enum eap_status_e simple_config_message_c::reset(void)
-	??0eap_type_simple_config_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 81 NONAME ; eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool)
-	?check_sent_simple_config_message@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 82 NONAME ; enum eap_status_e simple_config_record_c::check_sent_simple_config_message(void)
-	?create_simple_config_message@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVsimple_config_message_c@@_N@Z @ 83 NONAME ; enum eap_status_e simple_config_payloads_c::create_simple_config_message(class simple_config_message_c *, bool) const
-	?object_increase_reference_count@simple_config_variable_data_c@@QAEXXZ @ 84 NONAME ; void simple_config_variable_data_c::object_increase_reference_count(void)
-	?simple_config_packet_send@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4simple_config_Message_Type_e@@@Z @ 85 NONAME ; enum eap_status_e eap_type_simple_config_c::simple_config_packet_send(class eap_buf_chain_wr_c *, enum simple_config_Message_Type_e)
-	?packet_send@eap_type_simple_config_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 86 NONAME ; enum eap_status_e eap_type_simple_config_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_is_valid@simple_config_payloads_c@@QBE_NXZ @ 87 NONAME ; bool simple_config_payloads_c::get_is_valid(void) const
-	?set_attribute_type@simple_config_variable_data_c@@QAEXW4simple_config_Attribute_Type_e@@@Z @ 88 NONAME ; void simple_config_variable_data_c::set_attribute_type(enum simple_config_Attribute_Type_e)
-	?simple_config_message_process@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_simple_config_header_c@@K@Z @ 89 NONAME ; enum eap_status_e eap_type_simple_config_c::simple_config_message_process(class eap_am_network_id_c const *, class eap_simple_config_header_c *, unsigned long)
-	??0eap_type_simple_config_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 90 NONAME ; eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool)
-	??1eap_simple_config_header_c@@UAE@XZ @ 91 NONAME ; eap_simple_config_header_c::~eap_simple_config_header_c(void)
-	?update_buffer_indexes@eap_type_simple_config_c@@AAEXKKPAK0@Z @ 92 NONAME ; void eap_type_simple_config_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *)
-	?add_padding@simple_config_message_c@@QAE?AW4eap_status_e@@K@Z @ 93 NONAME ; enum eap_status_e simple_config_message_c::add_padding(unsigned long)
-	?verify_padding@simple_config_payloads_c@@AAE?AW4eap_status_e@@PBEK@Z @ 94 NONAME ; enum eap_status_e simple_config_payloads_c::verify_padding(unsigned char const *, unsigned long)
-	?query_eap_identity@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPA_NPAVeap_variable_data_c@@12@Z @ 95 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::query_eap_identity(class eap_am_network_id_c const *, unsigned char, bool *, class eap_variable_data_c *, bool *, class eap_variable_data_c *)
-	??0eap_type_simple_config_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 96 NONAME ; eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool)
-	?reset@simple_config_record_c@@UAE?AW4eap_status_e@@XZ @ 97 NONAME ; enum eap_status_e simple_config_record_c::reset(void)
-	?parse_generic_payload@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PBVsimple_config_tlv_header_c@@@Z @ 98 NONAME ; enum eap_status_e simple_config_payloads_c::parse_generic_payload(enum simple_config_Attribute_Type_e, class simple_config_tlv_header_c const *)
-	?decrypt_payloads@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAVsimple_config_variable_data_c@@PAVsimple_config_payloads_c@@@Z @ 99 NONAME ; enum eap_status_e simple_config_record_c::decrypt_payloads(class eap_variable_data_c const *, class eap_variable_data_c const *, class simple_config_variable_data_c *, class simple_config_payloads_c *)
-	?reset@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 100 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::reset(void)
-	?query_network_and_device_parameters@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@W4simple_config_state_e@@@Z @ 101 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::query_network_and_device_parameters(enum simple_config_state_e)
-	?get_is_valid@CEapAmProtectedSetupSymbian@@UAE_NXZ @ 102 NONAME ; bool CEapAmProtectedSetupSymbian::get_is_valid(void)
-	?get_attribute_count@simple_config_payloads_c@@QBEKXZ @ 103 NONAME ; unsigned long simple_config_payloads_c::get_attribute_count(void) const
-	?add_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 104 NONAME ; void simple_config_variable_data_c::add_next_payload_with_same_attribute_type(class simple_config_variable_data_c *)
-	?get_data_length@simple_config_variable_data_c@@QBEKXZ @ 105 NONAME ; unsigned long simple_config_variable_data_c::get_data_length(void) const
-	?state_notification@eap_type_simple_config_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 106 NONAME ; void eap_type_simple_config_c::state_notification(class abs_eap_state_notification_c const *)
-	?completion_action_check@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 107 NONAME ; enum eap_status_e simple_config_record_c::completion_action_check(void)
-	?generate_er_hashs@simple_config_record_c@@AAE?AW4eap_status_e@@_NPBVeap_variable_data_c@@11PAV3@22222@Z @ 108 NONAME ; enum eap_status_e simple_config_record_c::generate_er_hashs(bool, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?complete_protected_setup_device_paramsL@CEapAmProtectedSetupSymbian@@QAE?AW4eap_status_e@@ABVTMobilePhoneIdentityV1@RMobilePhone@@W42@@Z @ 109 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL(class RMobilePhone::TMobilePhoneIdentityV1 const &, enum eap_status_e)
-	?cancel_identity_query@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 110 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::cancel_identity_query(void)
-	?read_configure@simple_config_record_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 111 NONAME ; enum eap_status_e simple_config_record_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_initial_eap_identifier@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 112 NONAME ; enum eap_status_e eap_type_simple_config_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char)
-	?cancel_timer@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 113 NONAME ; enum eap_status_e eap_type_simple_config_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 114 NONAME ; class eap_array_c<class network_key_and_index_c> * simple_config_credential_c::get_network_keys(void)
-	?timer_expired@eap_type_simple_config_c@@UAE?AW4eap_status_e@@KPAX@Z @ 115 NONAME ; enum eap_status_e eap_type_simple_config_c::timer_expired(unsigned long, void *)
-	?reset@eap_type_simple_config_c@@UAE?AW4eap_status_e@@XZ @ 116 NONAME ; enum eap_status_e eap_type_simple_config_c::reset(void)
-	?NewL@CEapAmProtectedSetupSymbian@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@W4TIndexType@@HVeap_expanded_type_c@@3_NPBVeap_am_network_id_c@@PAVabs_eap_configuration_if_c@@@Z @ 117 NONAME ; class CEapAmProtectedSetupSymbian * CEapAmProtectedSetupSymbian::NewL(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, enum TIndexType, int, class eap_expanded_type_c, class eap_expanded_type_c, bool, class eap_am_network_id_c const *, class abs_eap_configuration_if_c *)
-	?get_code_string@eap_simple_config_header_c@@QBEPBDXZ @ 118 NONAME ; char const * eap_simple_config_header_c::get_code_string(void) const
-	?check_mandatory_payloads@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 119 NONAME ; enum eap_status_e simple_config_payloads_c::check_mandatory_payloads(class eap_array_c<enum simple_config_Attribute_Type_e> const *) const
-	?add_authenticator_attribute@simple_config_record_c@@AAE?AW4eap_status_e@@PAVsimple_config_message_c@@0@Z @ 120 NONAME ; enum eap_status_e simple_config_record_c::add_authenticator_attribute(class simple_config_message_c *, class simple_config_message_c *)
-	?get_is_valid@simple_config_record_c@@UAE_NXZ @ 121 NONAME ; bool simple_config_record_c::get_is_valid(void)
-	?set_network_index@simple_config_credential_c@@QAEXE@Z @ 122 NONAME ; void simple_config_credential_c::set_network_index(unsigned char)
-	?add_rogue_ap@eap_type_simple_config_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 123 NONAME ; enum eap_status_e eap_type_simple_config_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?generate_nonce@simple_config_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 124 NONAME ; enum eap_status_e simple_config_record_c::generate_nonce(class eap_variable_data_c *, unsigned long)
-	?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 125 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void)
-	?get_attribute@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@K@Z @ 126 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute(unsigned long) const
-	?get_is_mandatory@simple_config_variable_data_c@@QBE_NXZ @ 127 NONAME ; bool simple_config_variable_data_c::get_is_mandatory(void) const
-	?indicate_messages_processed@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 128 NONAME ; enum eap_status_e simple_config_record_c::indicate_messages_processed(void)
-	?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 129 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(class eap_array_c<enum simple_config_Attribute_Type_e> const *) const
-	?send_WSC_NACK@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 130 NONAME ; enum eap_status_e simple_config_record_c::send_WSC_NACK(void)
-	?indicate_state_to_lower_layer@simple_config_record_c@@AAE?AW4eap_status_e@@W4simple_config_state_e@@@Z @ 131 NONAME ; enum eap_status_e simple_config_record_c::indicate_state_to_lower_layer(enum simple_config_state_e)
-	?send_sc_frag_ack@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 132 NONAME ; enum eap_status_e eap_type_simple_config_c::send_sc_frag_ack(void)
-	?send_M7@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 133 NONAME ; enum eap_status_e simple_config_record_c::send_M7(void)
-	?write_configure@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 134 NONAME ; enum eap_status_e eap_type_simple_config_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_sc_op_code@eap_simple_config_header_c@@QAEXW4op_code_e@1@@Z @ 135 NONAME ; void eap_simple_config_header_c::set_sc_op_code(enum eap_simple_config_header_c::op_code_e)
-	?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 136 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e)
-	?set_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 137 NONAME ; void simple_config_variable_data_c::set_next_payload_with_same_attribute_type(class simple_config_variable_data_c *)
-	?load_module@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 138 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAG@Z @ 139 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned short *) const
-	?update_payload_indexes@eap_type_simple_config_c@@AAEXKKKPAK000@Z @ 140 NONAME ; void eap_type_simple_config_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *)
-	?eap_identity_response_packet_process@eap_type_simple_config_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 141 NONAME ; enum eap_status_e eap_type_simple_config_c::eap_identity_response_packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?get_eap_code@eap_simple_config_header_c@@QBE?AW4eap_code_value_e@@XZ @ 142 NONAME ; enum eap_code_value_e eap_simple_config_header_c::get_eap_code(void) const
-	?cancel_error_message_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 143 NONAME ; enum eap_status_e simple_config_record_c::cancel_error_message_timeout(void)
-	?set_state@eap_type_simple_config_c@@AAEXW4eap_type_simple_config_state_variable_e@@@Z @ 144 NONAME ; void eap_type_simple_config_c::set_state(enum eap_type_simple_config_state_variable_e)
-	?get_simple_config_flags@eap_simple_config_header_c@@QBEPAEXZ @ 145 NONAME ; unsigned char * eap_simple_config_header_c::get_simple_config_flags(void) const
-	?generate_kdk@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@000PAV3@@Z @ 146 NONAME ; enum eap_status_e simple_config_record_c::generate_kdk(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_flag_simple_config_length_included@eap_simple_config_header_c@@QBE_NXZ @ 147 NONAME ; bool eap_simple_config_header_c::get_flag_simple_config_length_included(void) const
-	?process_M2@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 148 NONAME ; enum eap_status_e simple_config_record_c::process_M2(class simple_config_payloads_c const *)
-	??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 149 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *)
-	?type_configure_write@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 150 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?timer_delete_data@simple_config_record_c@@EAE?AW4eap_status_e@@KPAX@Z @ 151 NONAME ; enum eap_status_e simple_config_record_c::timer_delete_data(unsigned long, void *)
-	?shutdown@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::shutdown(void)
-	?set_am_partner@CEapAmProtectedSetupSymbian@@UAEXPAVabs_eap_am_type_simple_config_c@@@Z @ 153 NONAME ; void CEapAmProtectedSetupSymbian::set_am_partner(class abs_eap_am_type_simple_config_c *)
-	?get_sc_flags_offset@eap_simple_config_header_c@@QBEKXZ @ 154 NONAME ; unsigned long eap_simple_config_header_c::get_sc_flags_offset(void) const
-	?encrypt_payloads@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAVsimple_config_payloads_c@@PAVsimple_config_variable_data_c@@@Z @ 155 NONAME ; enum eap_status_e simple_config_record_c::encrypt_payloads(class eap_variable_data_c const *, class eap_variable_data_c const *, class simple_config_payloads_c *, class simple_config_variable_data_c *)
-	?are_pending_queries_completed@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 156 NONAME ; enum eap_status_e simple_config_record_c::are_pending_queries_completed(void)
-	?write_configure@simple_config_record_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 157 NONAME ; enum eap_status_e simple_config_record_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_simple_config_am_partner@CEapAmProtectedSetupSymbian@@UAEXPAVabs_simple_config_am_services_c@@@Z @ 158 NONAME ; void CEapAmProtectedSetupSymbian::set_simple_config_am_partner(class abs_simple_config_am_services_c *)
-	?process_M8@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 159 NONAME ; enum eap_status_e simple_config_record_c::process_M8(class simple_config_payloads_c const *)
-	?set_failure_message_received@eap_type_simple_config_c@@AAEXXZ @ 160 NONAME ; void eap_type_simple_config_c::set_failure_message_received(void)
-	?set_flag_simple_config_length_included@eap_simple_config_header_c@@QAEX_N@Z @ 161 NONAME ; void eap_simple_config_header_c::set_flag_simple_config_length_included(bool)
-	?get_is_valid@simple_config_variable_data_c@@QBE_NXZ @ 162 NONAME ; bool simple_config_variable_data_c::get_is_valid(void) const
-	?configure@eap_type_simple_config_c@@UAE?AW4eap_status_e@@XZ @ 163 NONAME ; enum eap_status_e eap_type_simple_config_c::configure(void)
-	?start_simple_config_authentication@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 164 NONAME ; enum eap_status_e eap_type_simple_config_c::start_simple_config_authentication(class eap_am_network_id_c const *, class eap_variable_data_c const *)
-	?get_completion_action_string@simple_config_completion_c@@QBEPBDXZ @ 165 NONAME ; char const * simple_config_completion_c::get_completion_action_string(void) const
-	?process_simple_config_attributes@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 166 NONAME ; enum eap_status_e simple_config_record_c::process_simple_config_attributes(class simple_config_payloads_c const *)
-	?get_data_offset@eap_simple_config_header_c@@QBEPAEPAVabs_eap_am_tools_c@@KK@Z @ 167 NONAME ; unsigned char * eap_simple_config_header_c::get_data_offset(class abs_eap_am_tools_c *, unsigned long, unsigned long) const
-	?configure@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 168 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::configure(void)
-	?keyed_hmac@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 169 NONAME ; enum eap_status_e simple_config_record_c::keyed_hmac(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?shutdown@simple_config_record_c@@UAE?AW4eap_status_e@@XZ @ 170 NONAME ; enum eap_status_e simple_config_record_c::shutdown(void)
-	?generate_dhe_shared_secret@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@@Z @ 171 NONAME ; enum eap_status_e simple_config_record_c::generate_dhe_shared_secret(class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 172 NONAME ; bool network_key_and_index_c::get_is_valid_data(void)
-	?set_reassembly_state@eap_type_simple_config_c@@AAEXW4eap_type_simple_config_reassembly_state_e@@@Z @ 173 NONAME ; void eap_type_simple_config_c::set_reassembly_state(enum eap_type_simple_config_reassembly_state_e)
-	?restore_saved_previous_state@eap_type_simple_config_c@@AAEXXZ @ 174 NONAME ; void eap_type_simple_config_c::restore_saved_previous_state(void)
-	?get_header@simple_config_variable_data_c@@QAEPAVsimple_config_tlv_header_c@@XZ @ 175 NONAME ; class simple_config_tlv_header_c * simple_config_variable_data_c::get_header(void)
-	??0simple_config_record_c@@QAE@PAVabs_eap_am_tools_c@@PAVsimple_config_am_services_c@@_N2PBVeap_am_network_id_c@@@Z @ 176 NONAME ; simple_config_record_c::simple_config_record_c(class abs_eap_am_tools_c *, class simple_config_am_services_c *, bool, bool, class eap_am_network_id_c const *)
-	?get_is_client@eap_type_simple_config_c@@UAE_NXZ @ 177 NONAME ; bool eap_type_simple_config_c::get_is_client(void)
-	?get_last_eap_identifier@eap_type_simple_config_c@@ABEEXZ @ 178 NONAME ; unsigned char eap_type_simple_config_c::get_last_eap_identifier(void) const
-	??1simple_config_credential_c@@UAE@XZ @ 179 NONAME ; simple_config_credential_c::~simple_config_credential_c(void)
-	?get_attribute_type@simple_config_variable_data_c@@QBE?AW4simple_config_Attribute_Type_e@@XZ @ 180 NONAME ; enum simple_config_Attribute_Type_e simple_config_variable_data_c::get_attribute_type(void) const
-	?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 181 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char)
-	?get_header_length@eap_simple_config_header_c@@QBEKXZ @ 182 NONAME ; unsigned long eap_simple_config_header_c::get_header_length(void) const
-	?copy_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PBV1@W4simple_config_Attribute_Type_e@@@Z @ 183 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute(class simple_config_payloads_c const *, enum simple_config_Attribute_Type_e)
-	??0eap_type_simple_config_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_simple_config_c@@_NPAVsimple_config_base_record_c@@33Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 184 NONAME ; eap_type_simple_config_c::eap_type_simple_config_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_simple_config_c *, bool, class simple_config_base_record_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *)
-	?generate_erhash@simple_config_record_c@@AAE?AW4eap_status_e@@_NPBVeap_variable_data_c@@11PAV3@22@Z @ 185 NONAME ; enum eap_status_e simple_config_record_c::generate_erhash(bool, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?get_start_offset_of_data@eap_simple_config_header_c@@QBEKXZ @ 186 NONAME ; unsigned long eap_simple_config_header_c::get_start_offset_of_data(void) const
-	?get_flag_reserved@eap_simple_config_header_c@@QBEEXZ @ 187 NONAME ; unsigned char eap_simple_config_header_c::get_flag_reserved(void) const
-	?send_error_notification@simple_config_record_c@@AAEXW4eap_status_e@@@Z @ 188 NONAME ; void simple_config_record_c::send_error_notification(enum eap_status_e)
-	?get_type_partner@simple_config_base_record_c@@QAEPAVabs_simple_config_base_record_c@@XZ @ 189 NONAME ; class abs_simple_config_base_record_c * simple_config_base_record_c::get_type_partner(void)
-	?key_derivation_function@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0KPAV3@@Z @ 190 NONAME ; enum eap_status_e simple_config_record_c::key_derivation_function(class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c *)
-	?unload_module@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 191 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::unload_module(class eap_expanded_type_c)
-	?finish_successful_authentication@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 192 NONAME ; enum eap_status_e eap_type_simple_config_c::finish_successful_authentication(void)
-	?process_simple_config_message@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 193 NONAME ; enum eap_status_e simple_config_record_c::process_simple_config_message(void)
-	?set_is_valid@simple_config_record_c@@EAEXXZ @ 194 NONAME ; void simple_config_record_c::set_is_valid(void)
-	?get_sc_op_code_offset@eap_simple_config_header_c@@QBEKXZ @ 195 NONAME ; unsigned long eap_simple_config_header_c::get_sc_op_code_offset(void) const
-	?process_WSC_NACK@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 196 NONAME ; enum eap_status_e simple_config_record_c::process_WSC_NACK(class simple_config_payloads_c const *)
-	?get_attribute_data@simple_config_payloads_c@@ABE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAXK@Z @ 197 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, void *, unsigned long) const
-	?unset_failure_message_received@eap_type_simple_config_c@@AAEXXZ @ 198 NONAME ; void eap_type_simple_config_c::unset_failure_message_received(void)
-	?get_send_network_id@eap_type_simple_config_c@@AAEPAVeap_am_network_id_c@@XZ @ 199 NONAME ; class eap_am_network_id_c * eap_type_simple_config_c::get_send_network_id(void)
-	?get_eap_length@eap_simple_config_header_c@@QBEGXZ @ 200 NONAME ; unsigned short eap_simple_config_header_c::get_eap_length(void) const
-	?set_simple_config_flag_bit@eap_simple_config_header_c@@QBEX_NK@Z @ 201 NONAME ; void eap_simple_config_header_c::set_simple_config_flag_bit(bool, unsigned long) const
-	?generate_authenticator@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 202 NONAME ; enum eap_status_e simple_config_record_c::generate_authenticator(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?derive_additional_keys@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@11@Z @ 203 NONAME ; enum eap_status_e simple_config_record_c::derive_additional_keys(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?packet_trace@eap_type_simple_config_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 204 NONAME ; void eap_type_simple_config_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?handle_eap_identity_query@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E_NPBVeap_variable_data_c@@12@Z @ 205 NONAME ; enum eap_status_e eap_type_simple_config_c::handle_eap_identity_query(class eap_am_network_id_c const *, unsigned char, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *)
-	??0simple_config_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 206 NONAME ; simple_config_variable_data_c::simple_config_variable_data_c(class abs_eap_am_tools_c *)
-	?check_header@eap_simple_config_header_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@_N@Z @ 207 NONAME ; enum eap_status_e eap_simple_config_header_c::check_header(class abs_eap_am_tools_c *, bool) const
-	?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 208 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const
-	?reset_header@eap_simple_config_header_c@@QAEXPAVabs_eap_am_tools_c@@K_N@Z @ 209 NONAME ; void eap_simple_config_header_c::reset_header(class abs_eap_am_tools_c *, unsigned long, bool)
-	?set_eap_identifier@eap_simple_config_header_c@@QAEXE@Z @ 210 NONAME ; void eap_simple_config_header_c::set_eap_identifier(unsigned char)
-	?get_reassembly_state@eap_type_simple_config_c@@ABE?AW4eap_type_simple_config_reassembly_state_e@@XZ @ 211 NONAME ; enum eap_type_simple_config_reassembly_state_e eap_type_simple_config_c::get_reassembly_state(void) const
-	?save_simple_config_session@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 212 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::save_simple_config_session(enum simple_config_state_e, class eap_array_c<class simple_config_credential_c> const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *)
-	?get_is_valid@simple_config_message_c@@QAE_NXZ @ 213 NONAME ; bool simple_config_message_c::get_is_valid(void)
-	?set_last_eap_identifier@eap_type_simple_config_c@@AAEXE@Z @ 214 NONAME ; void eap_type_simple_config_c::set_last_eap_identifier(unsigned char)
-	??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 215 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *)
-	?send_WSC_Done@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 216 NONAME ; enum eap_status_e simple_config_record_c::send_WSC_Done(void)
-	?verify_state@simple_config_record_c@@AAE_NW4simple_config_state_e@@@Z @ 217 NONAME ; bool simple_config_record_c::verify_state(enum simple_config_state_e)
-	?simple_config_packet_process@eap_type_simple_config_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_simple_config_header_c@@K@Z @ 218 NONAME ; enum eap_status_e eap_type_simple_config_c::simple_config_packet_process(class eap_am_network_id_c const *, class eap_simple_config_header_c *, unsigned long)
-	?start_simple_config_authentication@simple_config_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 219 NONAME ; enum eap_status_e simple_config_record_c::start_simple_config_authentication(class eap_variable_data_c const *)
-	?copy@network_key_and_index_c@@QAEPAV1@XZ @ 220 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void)
-	?check_is_valid_eap_type@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 221 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::check_is_valid_eap_type(class eap_expanded_type_c)
-	?send_simple_config_message@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 222 NONAME ; enum eap_status_e simple_config_record_c::send_simple_config_message(void)
-	?get_sc_op_code_string@eap_simple_config_header_c@@QBEPBDXZ @ 223 NONAME ; char const * eap_simple_config_header_c::get_sc_op_code_string(void) const
-	?get_simple_config_flag_value@eap_simple_config_header_c@@QBEEKK@Z @ 224 NONAME ; unsigned char eap_simple_config_header_c::get_simple_config_flag_value(unsigned long, unsigned long) const
-	?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 225 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const
-	?add_payloads_to_simple_config_authenticator@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVcrypto_hmac_c@@_N@Z @ 226 NONAME ; enum eap_status_e simple_config_payloads_c::add_payloads_to_simple_config_authenticator(class crypto_hmac_c *, bool) const
-	?reset@simple_config_payloads_c@@QAE?AW4eap_status_e@@XZ @ 227 NONAME ; enum eap_status_e simple_config_payloads_c::reset(void)
-	?get_MAC_address_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 228 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_MAC_address_const(void) const
-	?get_data@simple_config_variable_data_c@@QBEPAEK@Z @ 229 NONAME ; unsigned char * simple_config_variable_data_c::get_data(unsigned long) const
-	?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@@Z @ 230 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e) const
-	?completion_action_clenup@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 231 NONAME ; enum eap_status_e simple_config_record_c::completion_action_clenup(void)
-	?type_configure_read@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 232 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_eap_length@eap_simple_config_header_c@@QAEXG_N@Z @ 233 NONAME ; void eap_simple_config_header_c::set_eap_length(unsigned short, bool)
-	?add_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAVsimple_config_variable_data_c@@@Z @ 234 NONAME ; enum eap_status_e simple_config_payloads_c::add_attribute(class simple_config_variable_data_c *)
-	?get_state@simple_config_record_c@@ABE?AW4simple_config_state_e@@XZ @ 235 NONAME ; enum simple_config_state_e simple_config_record_c::get_state(void) const
-	?process_M2D@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 236 NONAME ; enum eap_status_e simple_config_record_c::process_M2D(class simple_config_payloads_c const *)
-	?parse_simple_config_payloads@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAXPAK1@Z @ 237 NONAME ; enum eap_status_e simple_config_payloads_c::parse_simple_config_payloads(void *, unsigned long *, unsigned long *)
-	?set_nai_realm@simple_config_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 238 NONAME ; enum eap_status_e simple_config_record_c::set_nai_realm(class eap_variable_data_c const *)
-	?configure@simple_config_record_c@@UAE?AW4eap_status_e@@XZ @ 239 NONAME ; enum eap_status_e simple_config_record_c::configure(void)
-	?completion_action_add@simple_config_record_c@@AAE?AW4eap_status_e@@W4simple_config_completion_action_e@@@Z @ 240 NONAME ; enum eap_status_e simple_config_record_c::completion_action_add(enum simple_config_completion_action_e)
-	?get_network_index@simple_config_credential_c@@QBEEXZ @ 241 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) const
-	?set_is_valid@eap_type_simple_config_c@@UAEXXZ @ 242 NONAME ; void eap_type_simple_config_c::set_is_valid(void)
-	?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 243 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void)
-	??1network_key_and_index_c@@UAE@XZ @ 244 NONAME ; network_key_and_index_c::~network_key_and_index_c(void)
-	?get_data_length@eap_simple_config_header_c@@QBEGXZ @ 245 NONAME ; unsigned short eap_simple_config_header_c::get_data_length(void) const
-	?process_M6@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 246 NONAME ; enum eap_status_e simple_config_record_c::process_M6(class simple_config_payloads_c const *)
-	?complete_eap_identity_query@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW42@_NPBVeap_variable_data_c@@23@Z @ 247 NONAME ; enum eap_status_e eap_type_simple_config_c::complete_eap_identity_query(class eap_am_network_id_c const *, unsigned char, enum eap_status_e, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *)
-	?set_is_valid@CEapAmProtectedSetupSymbian@@QAEXXZ @ 248 NONAME ; void CEapAmProtectedSetupSymbian::set_is_valid(void)
-	?send_simple_config_start_message@eap_type_simple_config_c@@AAE?AW4eap_status_e@@E@Z @ 249 NONAME ; enum eap_status_e eap_type_simple_config_c::send_simple_config_start_message(unsigned char)
-	?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 250 NONAME ; bool simple_config_credential_c::get_is_valid(void)
-	?set_is_valid@simple_config_completion_c@@AAEXXZ @ 251 NONAME ; void simple_config_completion_c::set_is_valid(void)
-	?get_network_keys_const@simple_config_credential_c@@QBEPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 252 NONAME ; class eap_array_c<class network_key_and_index_c> const * simple_config_credential_c::get_network_keys_const(void) const
-	?get_simple_config_max_header_length@eap_simple_config_header_c@@SAKXZ @ 253 NONAME ; unsigned long eap_simple_config_header_c::get_simple_config_max_header_length(void)
-	?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 254 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void)
-	??0eap_simple_config_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 255 NONAME ; eap_simple_config_header_c::eap_simple_config_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBW4simple_config_Attribute_Type_e@@K@Z @ 256 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(enum simple_config_Attribute_Type_e const *, unsigned long) const
-	?get_SSID_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 257 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_SSID_const(void) const
-	?shutdown@eap_type_simple_config_c@@UAE?AW4eap_status_e@@XZ @ 258 NONAME ; enum eap_status_e eap_type_simple_config_c::shutdown(void)
-	?check_is_valid_eap_type@eap_type_simple_config_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 259 NONAME ; enum eap_status_e eap_type_simple_config_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?set_simple_config_message_length@eap_simple_config_header_c@@QAEXK@Z @ 260 NONAME ; void eap_simple_config_header_c::set_simple_config_message_length(unsigned long)
-	??1simple_config_payloads_c@@UAE@XZ @ 261 NONAME ; simple_config_payloads_c::~simple_config_payloads_c(void)
-	?add_common_attributes@simple_config_record_c@@AAE?AW4eap_status_e@@PAVsimple_config_payloads_c@@W4simple_config_Message_Type_e@@_N2@Z @ 262 NONAME ; enum eap_status_e simple_config_record_c::add_common_attributes(class simple_config_payloads_c *, enum simple_config_Message_Type_e, bool, bool)
-	?get_simple_config_min_header_length@eap_simple_config_header_c@@QBEKXZ @ 263 NONAME ; unsigned long eap_simple_config_header_c::get_simple_config_min_header_length(void) const
-	?set_session_timeout@eap_type_simple_config_c@@UAE?AW4eap_status_e@@K@Z @ 264 NONAME ; enum eap_status_e eap_type_simple_config_c::set_session_timeout(unsigned long)
-	?get_eap_type_list@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 265 NONAME ; enum eap_status_e eap_type_simple_config_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	??1simple_config_base_record_c@@UAE@XZ @ 266 NONAME ; simple_config_base_record_c::~simple_config_base_record_c(void)
-	?cancel_query_network_and_device_parameters@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 267 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::cancel_query_network_and_device_parameters(void)
-	?get_eap_type_list@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 268 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 269 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e)
-	?get_flag_more_fragments@eap_simple_config_header_c@@QBE_NXZ @ 270 NONAME ; bool eap_simple_config_header_c::get_flag_more_fragments(void) const
-	?get_saved_previous_state_string@eap_type_simple_config_c@@ABEPBDXZ @ 271 NONAME ; char const * eap_type_simple_config_c::get_saved_previous_state_string(void) const
-	?authentication_finished@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@_N0@Z @ 272 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::authentication_finished(bool, bool)
-	?complete_query_network_and_device_parameters@simple_config_record_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PAVsimple_config_payloads_c@@W42@@Z @ 273 NONAME ; enum eap_status_e simple_config_record_c::complete_query_network_and_device_parameters(enum simple_config_state_e, class simple_config_payloads_c *, enum eap_status_e)
-	?get_eap_identifier@eap_simple_config_header_c@@QBEEXZ @ 274 NONAME ; unsigned char eap_simple_config_header_c::get_eap_identifier(void) const
-	?set_completion_action@simple_config_completion_c@@QAEXW4simple_config_completion_action_e@@@Z @ 275 NONAME ; void simple_config_completion_c::set_completion_action(enum simple_config_completion_action_e)
-	?get_data@eap_simple_config_header_c@@QBEPAEPAVabs_eap_am_tools_c@@K@Z @ 276 NONAME ; unsigned char * eap_simple_config_header_c::get_data(class abs_eap_am_tools_c *, unsigned long) const
-	?get_is_valid@simple_config_completion_c@@QAE_NXZ @ 277 NONAME ; bool simple_config_completion_c::get_is_valid(void)
-	?get_nai_realm@eap_type_simple_config_c@@AAEPAVeap_variable_data_c@@XZ @ 278 NONAME ; class eap_variable_data_c * eap_type_simple_config_c::get_nai_realm(void)
-	?process_WSC_ACK@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 279 NONAME ; enum eap_status_e simple_config_record_c::process_WSC_ACK(class simple_config_payloads_c const *)
-	?get_header_offset@eap_type_simple_config_c@@UAEKPAK0@Z @ 280 NONAME ; unsigned long eap_type_simple_config_c::get_header_offset(unsigned long *, unsigned long *)
-	?query_eap_identity@eap_type_simple_config_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 281 NONAME ; enum eap_status_e eap_type_simple_config_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char)
-	??1simple_config_completion_c@@UAE@XZ @ 282 NONAME ; simple_config_completion_c::~simple_config_completion_c(void)
-	?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 283 NONAME ; bool network_key_and_index_c::get_is_valid(void)
-	?set_flag_more_fragments@eap_simple_config_header_c@@QAEX_N@Z @ 284 NONAME ; void eap_simple_config_header_c::set_flag_more_fragments(bool)
-	?timer_expired@simple_config_record_c@@EAE?AW4eap_status_e@@KPAX@Z @ 285 NONAME ; enum eap_status_e simple_config_record_c::timer_expired(unsigned long, void *)
-	??1simple_config_record_c@@UAE@XZ @ 286 NONAME ; simple_config_record_c::~simple_config_record_c(void)
-	??0eap_simple_config_trace_string_c@@QAE@XZ @ 287 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void)
-	?get_sc_op_code@eap_simple_config_header_c@@QBE?AW4op_code_e@1@XZ @ 288 NONAME ; enum eap_simple_config_header_c::op_code_e eap_simple_config_header_c::get_sc_op_code(void) const
-	?get_sc_length_offset@eap_simple_config_header_c@@QBEKXZ @ 289 NONAME ; unsigned long eap_simple_config_header_c::get_sc_length_offset(void) const
-	?get_header_length@simple_config_tlv_header_c@@SAKXZ @ 290 NONAME ; unsigned long simple_config_tlv_header_c::get_header_length(void)
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,35 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?get_is_valid@eap_type_securid_c@@UAE_NXZ @ 2 NONAME ; bool eap_type_securid_c::get_is_valid(void)
-	?configure@eap_type_securid_c@@UAE?AW4eap_status_e@@XZ @ 3 NONAME ; enum eap_status_e eap_type_securid_c::configure(void)
-	?client_securid_complete_passcode_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 4 NONAME ; enum eap_status_e eap_type_securid_c::client_securid_complete_passcode_query(class eap_variable_data_c const *)
-	?configure@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@XZ @ 5 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::configure(void)
-	?DlgComplete@eap_am_type_securid_symbian_c@@UAEXH@Z @ 6 NONAME ; void eap_am_type_securid_symbian_c::DlgComplete(int)
-	??1eap_am_type_securid_symbian_c@@UAE@XZ @ 7 NONAME ; eap_am_type_securid_symbian_c::~eap_am_type_securid_symbian_c(void)
-	?read_auth_failure_string@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 8 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::read_auth_failure_string(class eap_variable_data_c *)
-	??0eap_type_securid_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_securid_c@@_NVeap_expanded_type_c@@3PBVeap_am_network_id_c@@@Z @ 9 NONAME ; eap_type_securid_c::eap_type_securid_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_securid_c *, bool, class eap_expanded_type_c, bool, class eap_am_network_id_c const *)
-	?eap_acknowledge@eap_type_securid_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 10 NONAME ; enum eap_status_e eap_type_securid_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?client_gtc_complete_user_input_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 11 NONAME ; enum eap_status_e eap_type_securid_c::client_gtc_complete_user_input_query(class eap_variable_data_c const *)
-	?set_is_valid@eap_type_securid_c@@UAEXXZ @ 12 NONAME ; void eap_type_securid_c::set_is_valid(void)
-	?reset@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@XZ @ 13 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::reset(void)
-	?timer_expired@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 14 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::timer_expired(unsigned long, void *)
-	?type_configure_write@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 15 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_is_valid@eap_am_type_securid_symbian_c@@QAE_NXZ @ 16 NONAME ; bool eap_am_type_securid_symbian_c::get_is_valid(void)
-	?set_initial_eap_identifier@eap_type_securid_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 17 NONAME ; enum eap_status_e eap_type_securid_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char)
-	?client_securid_complete_pincode_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 18 NONAME ; enum eap_status_e eap_type_securid_c::client_securid_complete_pincode_query(class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?remove_username_store@eap_type_securid_c@@AAE?AW4eap_status_e@@XZ @ 19 NONAME ; enum eap_status_e eap_type_securid_c::remove_username_store(void)
-	?timer_delete_data@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 20 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::timer_delete_data(unsigned long, void *)
-	??1eap_type_securid_c@@UAE@XZ @ 21 NONAME ; eap_type_securid_c::~eap_type_securid_c(void)
-	?finish_unsuccessful_authentication@eap_type_securid_c@@EAE?AW4eap_status_e@@_N@Z @ 22 NONAME ; enum eap_status_e eap_type_securid_c::finish_unsuccessful_authentication(bool)
-	?get_is_client@eap_type_securid_c@@EAE_NXZ @ 23 NONAME ; bool eap_type_securid_c::get_is_client(void)
-	?shutdown@eap_type_securid_c@@UAE?AW4eap_status_e@@XZ @ 24 NONAME ; enum eap_status_e eap_type_securid_c::shutdown(void)
-	?shutdown@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::shutdown(void)
-	?complete_eap_identity_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 26 NONAME ; enum eap_status_e eap_type_securid_c::complete_eap_identity_query(class eap_variable_data_c const *)
-	?finish_successful_authentication@eap_type_securid_c@@AAE?AW4eap_status_e@@XZ @ 27 NONAME ; enum eap_status_e eap_type_securid_c::finish_successful_authentication(void)
-	?get_memory_store_key@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 28 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::get_memory_store_key(class eap_variable_data_c *)
-	?reset@eap_type_securid_c@@UAE?AW4eap_status_e@@XZ @ 29 NONAME ; enum eap_status_e eap_type_securid_c::reset(void)
-	?query_eap_identity@eap_type_securid_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 30 NONAME ; enum eap_status_e eap_type_securid_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char)
-	?type_configure_read@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 31 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_is_valid@eap_am_type_securid_symbian_c@@QAEXXZ @ 32 NONAME ; void eap_am_type_securid_symbian_c::set_is_valid(void)
-	?packet_process@eap_type_securid_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 33 NONAME ; enum eap_status_e eap_type_securid_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,233 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?get_payload_AT_string@gsmsim_payload_AT_header_c@@SAPBDW4gsmsim_payload_AT_type_e@@@Z @ 2 NONAME ; char const * gsmsim_payload_AT_header_c::get_payload_AT_string(enum gsmsim_payload_AT_type_e)
-	?get_data_offset@gsmsim_payload_AT_header_c@@QBEPAEKK@Z @ 3 NONAME ; unsigned char * gsmsim_payload_AT_header_c::get_data_offset(unsigned long, unsigned long) const
-	?restore_saved_previous_state@eap_type_gsmsim_c@@AAEXXZ @ 4 NONAME ; void eap_type_gsmsim_c::restore_saved_previous_state(void)
-	?get_is_client@eap_type_gsmsim_c@@UAE_NXZ @ 5 NONAME ; bool eap_type_gsmsim_c::get_is_client(void)
-	?set_data@gsmsim_fixed_data_c@@QAEXPBVgsmsim_payload_AT_header_c@@GG@Z @ 6 NONAME ; void gsmsim_fixed_data_c::set_data(class gsmsim_payload_AT_header_c const *, unsigned short, unsigned short)
-	?query_SIM_IMSI_or_pseudonym_or_reauthentication_id@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@000PAK_NW4gsmsim_payload_AT_type_e@@W4eap_type_gsmsim_complete_e@@E@Z @ 7 NONAME ; enum eap_status_e eap_type_gsmsim_c::query_SIM_IMSI_or_pseudonym_or_reauthentication_id(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, bool, enum gsmsim_payload_AT_type_e, enum eap_type_gsmsim_complete_e, unsigned char)
-	?handle_gsmsim_notification_request_message_reauthentication@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 8 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_notification_request_message_reauthentication(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?state_notification@eap_type_gsmsim_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 9 NONAME ; void eap_type_gsmsim_c::state_notification(class abs_eap_state_notification_c const *)
-	?set_initial_eap_identifier@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 10 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char)
-	?query_reauth_parameters@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@00PAK@Z @ 11 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_reauth_parameters(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *)
-	?get_data_length@gsmsim_header_c@@QBEGXZ @ 12 NONAME ; unsigned short gsmsim_header_c::get_data_length(void) const
-	?handle_gsmsim_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 13 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_packet(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?get_payload_included@gsmsim_variable_data_c@@QBE_NXZ @ 14 NONAME ; bool gsmsim_variable_data_c::get_payload_included(void) const
-	?get_reserved@gsmsim_header_c@@QBEGXZ @ 15 NONAME ; unsigned short gsmsim_header_c::get_reserved(void) const
-	?get_payload_buffer@gsmsim_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 16 NONAME ; class eap_variable_data_c * gsmsim_variable_data_c::get_payload_buffer(void)
-	?get_header_offset@eap_type_gsmsim_c@@UAEKPAK0@Z @ 17 NONAME ; unsigned long eap_type_gsmsim_c::get_header_offset(unsigned long *, unsigned long *)
-	??1gsmsim_payloads_c@@UAE@XZ @ 18 NONAME ; gsmsim_payloads_c::~gsmsim_payloads_c(void)
-	?query_SIM_IMSI_or_pseudonym_or_reauthentication_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@111PAKW4gsmsim_payload_AT_type_e@@W4eap_type_gsmsim_complete_e@@E@Z @ 19 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_IMSI_or_pseudonym_or_reauthentication_id(bool, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, enum gsmsim_payload_AT_type_e, enum eap_type_gsmsim_complete_e, unsigned char)
-	?store_pseudonym_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 20 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::store_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *)
-	?get_state_string@eap_type_gsmsim_c@@SAPBDW4eap_type_gsmsim_state_variable_e@@@Z @ 21 NONAME ; char const * eap_type_gsmsim_c::get_state_string(enum eap_type_gsmsim_state_variable_e)
-	?get_ENCR_DATA@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 22 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_ENCR_DATA(void)
-	?set_triplet@eap_type_sim_triplet_array_c@@QAE?AW4eap_status_e@@KPAVeap_type_saesim_triplet_c@@@Z @ 23 NONAME ; enum eap_status_e eap_type_sim_triplet_array_c::set_triplet(unsigned long, class eap_type_saesim_triplet_c *)
-	?get_original_header@gsmsim_fixed_data_c@@QAEPBVgsmsim_payload_AT_header_c@@XZ @ 24 NONAME ; class gsmsim_payload_AT_header_c const * gsmsim_fixed_data_c::get_original_header(void)
-	?check_message_authentication_code@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVgsmsim_payloads_c@@PBVgsmsim_header_c@@K@Z @ 25 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_message_authentication_code(class eap_variable_data_c const *, class gsmsim_payloads_c *, class gsmsim_header_c const *, unsigned long)
-	?get_identity_string@eap_type_gsmsim_c@@SAPBDW4eap_type_gsmsim_identity_type@@@Z @ 26 NONAME ; char const * eap_type_gsmsim_c::get_identity_string(enum eap_type_gsmsim_identity_type)
-	??0eap_type_gsmsim_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_gsmsim_c@@_N3PBVeap_am_network_id_c@@@Z @ 27 NONAME ; eap_type_gsmsim_c::eap_type_gsmsim_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_gsmsim_c *, bool, bool, class eap_am_network_id_c const *)
-	?generate_reauthentication_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 28 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::generate_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	??0gsmsim_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 29 NONAME ; gsmsim_variable_data_c::gsmsim_variable_data_c(class abs_eap_am_tools_c *)
-	?generate_pseudonym_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 30 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::generate_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?initialize_notification_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e eap_type_gsmsim_c::initialize_notification_message(void)
-	?get_VERSION_LIST@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 32 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_VERSION_LIST(void)
-	?finish_successful_authentication@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 33 NONAME ; enum eap_status_e eap_type_gsmsim_c::finish_successful_authentication(class eap_am_network_id_c const *)
-	?get_data_length@gsmsim_payload_AT_header_c@@QBEKXZ @ 34 NONAME ; unsigned long gsmsim_payload_AT_header_c::get_data_length(void) const
-	?add_mac_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PAPAE1@Z @ 35 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_mac_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned char * *, unsigned long *)
-	?set_includes_unknown_attribute@gsmsim_payloads_c@@QAEXW4gsmsim_payload_AT_type_e@@@Z @ 36 NONAME ; void gsmsim_payloads_c::set_includes_unknown_attribute(enum gsmsim_payload_AT_type_e)
-	?get_ANY_ID_REQ@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 37 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_ANY_ID_REQ(void)
-	?configure@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@XZ @ 38 NONAME ; enum eap_status_e eap_type_gsmsim_c::configure(void)
-	?add_padding_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111K@Z @ 39 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_padding_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned long)
-	?get_CLIENT_ERROR_CODE@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 40 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_CLIENT_ERROR_CODE(void)
-	?extra_message_authentication_code_bytes@eap_type_gsmsim_c@@QAE?AW4eap_status_e@@W4gsmsim_subtype_e@@W4eap_code_value_e@@PAVcrypto_hmac_c@@@Z @ 41 NONAME ; enum eap_status_e eap_type_gsmsim_c::extra_message_authentication_code_bytes(enum gsmsim_subtype_e, enum eap_code_value_e, class crypto_hmac_c *)
-	?get_RESULT_IND@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 42 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_RESULT_IND(void)
-	?check_payloads@gsmsim_payloads_c@@QAE_NW4eap_gsmsim_payload_status_e@1@0000000000000000000@Z @ 43 NONAME ; bool gsmsim_payloads_c::check_payloads(enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e)
-	?query_SIM_imsi@eap_am_type_gsmsim_symbian_c@@QAE?AW4eap_status_e@@PAEKPAK@Z @ 44 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_imsi(unsigned char *, unsigned long, unsigned long *)
-	?create_message_authentication_code@eap_type_gsmsim_c@@QAE?AW4eap_status_e@@PAVeap_type_gsmsim_MAC_attributes_c@@W4gsmsim_subtype_e@@W4eap_code_value_e@@PBVeap_variable_data_c@@@Z @ 45 NONAME ; enum eap_status_e eap_type_gsmsim_c::create_message_authentication_code(class eap_type_gsmsim_MAC_attributes_c *, enum gsmsim_subtype_e, enum eap_code_value_e, class eap_variable_data_c const *)
-	?cancel_imsi_from_username_query@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 46 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query(void)
-	?reset@gsmsim_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 47 NONAME ; enum eap_status_e gsmsim_variable_data_c::reset(void)
-	?set_rand_is_used@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 48 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::set_rand_is_used(class eap_variable_data_c const *)
-	?get_padding_payload@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 49 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_padding_payload(void)
-	?get_counter_too_small@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 50 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_counter_too_small(void)
-	?get_is_valid@eap_am_type_gsmsim_symbian_c@@QAE_NXZ @ 51 NONAME ; bool eap_am_type_gsmsim_symbian_c::get_is_valid(void)
-	?get_FULLAUTH_ID_REQ@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 52 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_FULLAUTH_ID_REQ(void)
-	?set_is_valid@eap_am_type_gsmsim_symbian_c@@QAEXXZ @ 53 NONAME ; void eap_am_type_gsmsim_symbian_c::set_is_valid(void)
-	??0gsmsim_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 54 NONAME ; gsmsim_payloads_c::gsmsim_payloads_c(class abs_eap_am_tools_c *)
-	?add_version_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4eap_gsmsim_version@@@Z @ 55 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_version_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_version)
-	?get_header_length@gsmsim_header_c@@QBEKXZ @ 56 NONAME ; unsigned long gsmsim_header_c::get_header_length(void) const
-	?check_header@gsmsim_header_c@@UBE?AW4eap_status_e@@XZ @ 57 NONAME ; enum eap_status_e gsmsim_header_c::check_header(void) const
-	?check_valid_types@eap_type_gsmsim_state_variable_parameters_c@@QBE_NW4gsmsim_subtype_e@@@Z @ 58 NONAME ; bool eap_type_gsmsim_state_variable_parameters_c::check_valid_types(enum gsmsim_subtype_e) const
-	?get_payload_AT_string@gsmsim_payload_AT_header_c@@QBEPBDXZ @ 59 NONAME ; char const * gsmsim_payload_AT_header_c::get_payload_AT_string(void) const
-	?configure@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 60 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::configure(void)
-	?timer_expired@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@KPAX@Z @ 61 NONAME ; enum eap_status_e eap_type_gsmsim_c::timer_expired(unsigned long, void *)
-	?get_MAC@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 62 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_MAC(void)
-	?query_eap_identity@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 63 NONAME ; enum eap_status_e eap_type_gsmsim_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char)
-	?handle_gsmsim_notification_request_message_full_authentication@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 64 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_notification_request_message_full_authentication(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?get_kc@eap_type_saesim_triplet_c@@QAEPAVeap_variable_data_c@@XZ @ 65 NONAME ; class eap_variable_data_c * eap_type_saesim_triplet_c::get_kc(void)
-	?get_data_offset@gsmsim_header_c@@QBEPAEKK@Z @ 66 NONAME ; unsigned char * gsmsim_header_c::get_data_offset(unsigned long, unsigned long) const
-	?query_SIM_kc_sres@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1@Z @ 67 NONAME ; enum eap_status_e eap_type_gsmsim_c::query_SIM_kc_sres(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?gsmsim_packet_process@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@K_N@Z @ 68 NONAME ; enum eap_status_e eap_type_gsmsim_c::gsmsim_packet_process(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, bool)
-	?get_n_RANDs@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 69 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_n_RANDs(void)
-	?get_NEXT_PSEUDONYM@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 70 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NEXT_PSEUDONYM(void)
-	?random_selection@eap_type_gsmsim_c@@AAE_NXZ @ 71 NONAME ; bool eap_type_gsmsim_c::random_selection(void)
-	??1eap_type_saesim_triplet_c@@UAE@XZ @ 72 NONAME ; eap_type_saesim_triplet_c::~eap_type_saesim_triplet_c(void)
-	??0gsmsim_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 73 NONAME ; gsmsim_header_c::gsmsim_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?add_notification_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4eap_gsmsim_notification_codes_e@@@Z @ 74 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_notification_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_notification_codes_e)
-	?add_version_list@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PBW4eap_gsmsim_version@@KW4gsmsim_payload_AT_type_e@@@Z @ 75 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_version_list(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_version const *, unsigned long, enum gsmsim_payload_AT_type_e)
-	??0eap_type_gsmsim_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 76 NONAME ; eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool)
-	?init_state@eap_type_gsmsim_state_variable_parameters_c@@QAEX_N0W4gsmsim_subtype_e@@111@Z @ 77 NONAME ; void eap_type_gsmsim_state_variable_parameters_c::init_state(bool, bool, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e)
-	??1eap_type_gsmsim_state_variable_parameters_c@@UAE@XZ @ 78 NONAME ; eap_type_gsmsim_state_variable_parameters_c::~eap_type_gsmsim_state_variable_parameters_c(void)
-	?get_data@gsmsim_header_c@@QBEPAEK@Z @ 79 NONAME ; unsigned char * gsmsim_header_c::get_data(unsigned long) const
-	?send_start_response_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW4eap_gsmsim_version@@W4gsmsim_payload_AT_type_e@@PBVeap_variable_data_c@@K@Z @ 80 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_start_response_message(class eap_am_network_id_c const *, unsigned char, enum eap_gsmsim_version, enum gsmsim_payload_AT_type_e, class eap_variable_data_c const *, unsigned long)
-	?get_payload_length@gsmsim_payload_AT_header_c@@QBEGXZ @ 81 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_payload_length(void) const
-	??1eap_type_gsmsim_state_notification_c@@UAE@XZ @ 82 NONAME ; eap_type_gsmsim_state_notification_c::~eap_type_gsmsim_state_notification_c(void)
-	??0gsmsim_fixed_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 83 NONAME ; gsmsim_fixed_data_c::gsmsim_fixed_data_c(class abs_eap_am_tools_c *)
-	?query_SIM_kc_sres@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@_NPBVeap_variable_data_c@@PAV3@2@Z @ 84 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_kc_sres(bool, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?send_gsmsim_client_error_response@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 85 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_gsmsim_client_error_response(void)
-	?check_is_rand_unused@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 86 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::check_is_rand_unused(class eap_variable_data_c const *)
-	?get_rand@eap_type_saesim_triplet_c@@QAEPAVeap_variable_data_c@@XZ @ 87 NONAME ; class eap_variable_data_c * eap_type_saesim_triplet_c::get_rand(void)
-	?get_state_string@eap_type_gsmsim_c@@ABEPBDXZ @ 88 NONAME ; char const * eap_type_gsmsim_c::get_state_string(void) const
-	?shutdown@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 89 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::shutdown(void)
-	?get_sub_type_offset@gsmsim_header_c@@QBEKXZ @ 90 NONAME ; unsigned long gsmsim_header_c::get_sub_type_offset(void) const
-	?set_reserved@gsmsim_header_c@@QAEXG@Z @ 91 NONAME ; void gsmsim_header_c::set_reserved(unsigned short)
-	?get_NEXT_REAUTH_ID@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 92 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NEXT_REAUTH_ID(void)
-	?get_eap_type_string@gsmsim_header_c@@QBEPBDXZ @ 93 NONAME ; char const * gsmsim_header_c::get_eap_type_string(void) const
-	?set_reserved@gsmsim_payload_AT_header_c@@QAEXG@Z @ 94 NONAME ; void gsmsim_payload_AT_header_c::set_reserved(unsigned short)
-	?get_sres@eap_type_saesim_triplet_c@@QAEPAVeap_variable_data_c@@XZ @ 95 NONAME ; class eap_variable_data_c * eap_type_saesim_triplet_c::get_sres(void)
-	?cancel_SIM_kc_sres_query@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 96 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query(void)
-	?initialize_state@eap_type_gsmsim_c@@AAEXW4eap_type_gsmsim_state_variable_e@@_N1W4gsmsim_subtype_e@@222@Z @ 97 NONAME ; void eap_type_gsmsim_c::initialize_state(enum eap_type_gsmsim_state_variable_e, bool, bool, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e)
-	?add_client_error_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4eap_gsmsim_client_error_code_e@@@Z @ 98 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_client_error_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_client_error_code_e)
-	?set_buffer@gsmsim_variable_data_c@@QAE?AW4eap_status_e@@PBVgsmsim_payload_AT_header_c@@PAEK_N2@Z @ 99 NONAME ; enum eap_status_e gsmsim_variable_data_c::set_buffer(class gsmsim_payload_AT_header_c const *, unsigned char *, unsigned long, bool, bool)
-	?handle_start_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 100 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_start_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?type_configure_write@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 101 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?write_configure@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 102 NONAME ; enum eap_status_e eap_type_gsmsim_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?send_reauthentication_response_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0000GE_N@Z @ 103 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_reauthentication_response_message(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short, unsigned char, bool)
-	?send_gsmsim_notification_response@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4eap_gsmsim_notification_codes_e@@_N@Z @ 104 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_gsmsim_notification_response(enum eap_gsmsim_notification_codes_e, bool)
-	?save_version@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBGKW4eap_gsmsim_version@@@Z @ 105 NONAME ; enum eap_status_e eap_type_gsmsim_c::save_version(unsigned short const *, unsigned long, enum eap_gsmsim_version)
-	?get_next_header@gsmsim_payload_AT_header_c@@QBEPAEXZ @ 106 NONAME ; unsigned char * gsmsim_payload_AT_header_c::get_next_header(void) const
-	?get_code_string@gsmsim_header_c@@QBEPBDXZ @ 107 NONAME ; char const * gsmsim_header_c::get_code_string(void) const
-	??0gsmsim_payload_AT_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 108 NONAME ; gsmsim_payload_AT_header_c::gsmsim_payload_AT_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 109 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query(void)
-	?authentication_finished@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@_NW4eap_gsmsim_authentication_type_e@@W4eap_type_gsmsim_identity_type@@@Z @ 110 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished(bool, enum eap_gsmsim_authentication_type_e, enum eap_type_gsmsim_identity_type)
-	?reset_header@gsmsim_payload_AT_header_c@@QAEXG@Z @ 111 NONAME ; void gsmsim_payload_AT_header_c::reset_header(unsigned short)
-	??0eap_type_gsmsim_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 112 NONAME ; eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool)
-	?check_header@gsmsim_payload_AT_header_c@@UBE?AW4eap_status_e@@XZ @ 113 NONAME ; enum eap_status_e gsmsim_payload_AT_header_c::check_header(void) const
-	?handle_DATA_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4gsmsim_subtype_e@@PAVgsmsim_payloads_c@@@Z @ 114 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_DATA_payload(enum gsmsim_subtype_e, class gsmsim_payloads_c *)
-	?get_data@gsmsim_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 115 NONAME ; unsigned short gsmsim_fixed_data_c::get_data(class abs_eap_am_tools_c *) const
-	?increase_reauth_counter@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 116 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::increase_reauth_counter(void)
-	?shutdown@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@XZ @ 117 NONAME ; enum eap_status_e eap_type_gsmsim_c::shutdown(void)
-	?get_subtype@gsmsim_header_c@@QBE?AW4gsmsim_subtype_e@@XZ @ 118 NONAME ; enum gsmsim_subtype_e gsmsim_header_c::get_subtype(void) const
-	??1eap_am_type_gsmsim_symbian_c@@UAE@XZ @ 119 NONAME ; eap_am_type_gsmsim_symbian_c::~eap_am_type_gsmsim_symbian_c(void)
-	??1gsmsim_payload_AT_header_c@@UAE@XZ @ 120 NONAME ; gsmsim_payload_AT_header_c::~gsmsim_payload_AT_header_c(void)
-	??1eap_type_sim_triplet_array_c@@UAE@XZ @ 121 NONAME ; eap_type_sim_triplet_array_c::~eap_type_sim_triplet_array_c(void)
-	?get_header_length@gsmsim_payload_AT_header_c@@SAGXZ @ 122 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_header_length(void)
-	?timer_delete_data@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@KPAX@Z @ 123 NONAME ; enum eap_status_e eap_type_gsmsim_c::timer_delete_data(unsigned long, void *)
-	?handle_challenge_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 124 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_challenge_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?reset_header@gsmsim_header_c@@QAEXK_N@Z @ 125 NONAME ; void gsmsim_header_c::reset_header(unsigned long, bool)
-	?set_data_length@gsmsim_payload_AT_header_c@@QAEXG@Z @ 126 NONAME ; void gsmsim_payload_AT_header_c::set_data_length(unsigned short)
-	?set_notification_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 127 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_notification_message_delay_timer(void)
-	?handle_notification_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 128 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_notification_packet(void)
-	?get_triplet@eap_type_sim_triplet_array_c@@QAEPAVeap_type_saesim_triplet_c@@PAVabs_eap_am_tools_c@@K@Z @ 129 NONAME ; class eap_type_saesim_triplet_c * eap_type_sim_triplet_array_c::get_triplet(class abs_eap_am_tools_c *, unsigned long)
-	?set_timer@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 130 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	??1gsmsim_fixed_data_c@@UAE@XZ @ 131 NONAME ; gsmsim_fixed_data_c::~gsmsim_fixed_data_c(void)
-	?cancel_error_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 132 NONAME ; enum eap_status_e eap_type_gsmsim_c::cancel_error_message_delay_timer(void)
-	?set_error_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 133 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_error_message_delay_timer(void)
-	?generate_reauth_shared_secred_keys@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@K00PAV3@@Z @ 134 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_reauth_shared_secred_keys(unsigned long, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?reset@eap_type_saesim_triplet_c@@QAEXXZ @ 135 NONAME ; void eap_type_saesim_triplet_c::reset(void)
-	?query_SIM_kc_and_sres@eap_am_type_gsmsim_symbian_c@@QAE?AW4eap_status_e@@PBEPAE1@Z @ 136 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_kc_and_sres(unsigned char const *, unsigned char *, unsigned char *)
-	?get_data_length@gsmsim_variable_data_c@@QBEKXZ @ 137 NONAME ; unsigned long gsmsim_variable_data_c::get_data_length(void) const
-	?get_max_payload_data_length@gsmsim_payload_AT_header_c@@SAGXZ @ 138 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_max_payload_data_length(void)
-	?check_one_payload@gsmsim_payloads_c@@QAE_NW4eap_gsmsim_payload_status_e@1@PBVgsmsim_variable_data_c@@@Z @ 139 NONAME ; bool gsmsim_payloads_c::check_one_payload(enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, class gsmsim_variable_data_c const *)
-	?complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_query@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@000KW4eap_type_gsmsim_complete_e@@EW42@@Z @ 140 NONAME ; enum eap_status_e eap_type_gsmsim_c::complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_query(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, enum eap_type_gsmsim_complete_e, unsigned char, enum eap_status_e)
-	?get_includes_other_version_than_1@gsmsim_payloads_c@@QAE_NXZ @ 141 NONAME ; bool gsmsim_payloads_c::get_includes_other_version_than_1(void)
-	?encrypt_DATA_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAEKPBVeap_variable_data_c@@1@Z @ 142 NONAME ; enum eap_status_e eap_type_gsmsim_c::encrypt_DATA_payload(unsigned char *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?get_saved_previous_state_string@eap_type_gsmsim_c@@ABEPBDXZ @ 143 NONAME ; char const * eap_type_gsmsim_c::get_saved_previous_state_string(void) const
-	?add_triplet@eap_type_sim_triplet_array_c@@QAEPAVeap_type_saesim_triplet_c@@XZ @ 144 NONAME ; class eap_type_saesim_triplet_c * eap_type_sim_triplet_array_c::add_triplet(void)
-	?copy@eap_type_sim_triplet_array_c@@QAEPAV1@XZ @ 145 NONAME ; class eap_type_sim_triplet_array_c * eap_type_sim_triplet_array_c::copy(void)
-	?check_version_list@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVgsmsim_payload_AT_header_c@@GPAEPA_N@Z @ 146 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_version_list(class gsmsim_payload_AT_header_c const *, unsigned short, unsigned char *, bool *)
-	??1gsmsim_variable_data_c@@UAE@XZ @ 147 NONAME ; gsmsim_variable_data_c::~gsmsim_variable_data_c(void)
-	?cancel_timer@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 148 NONAME ; enum eap_status_e eap_type_gsmsim_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?send_final_notification@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 149 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_final_notification(void)
-	?copy@eap_type_saesim_triplet_c@@QAEPAV1@PAVabs_eap_am_tools_c@@@Z @ 150 NONAME ; class eap_type_saesim_triplet_c * eap_type_saesim_triplet_c::copy(class abs_eap_am_tools_c *)
-	?set_is_valid@eap_type_gsmsim_c@@UAEXXZ @ 151 NONAME ; void eap_type_gsmsim_c::set_is_valid(void)
-	?reset@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::reset(void)
-	?add_simple_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4gsmsim_payload_AT_type_e@@@Z @ 153 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_simple_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum gsmsim_payload_AT_type_e)
-	?get_data@gsmsim_payload_AT_header_c@@QBEPAEK@Z @ 154 NONAME ; unsigned char * gsmsim_payload_AT_header_c::get_data(unsigned long) const
-	?handle_error_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 155 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_error_packet(void)
-	?get_COUNTER@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 156 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_COUNTER(void)
-	?get_data@gsmsim_variable_data_c@@QBEPAEK@Z @ 157 NONAME ; unsigned char * gsmsim_variable_data_c::get_data(unsigned long) const
-	?store_reauth_parameters@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@00K@Z @ 158 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::store_reauth_parameters(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long)
-	?get_current_payload@gsmsim_payload_AT_header_c@@QBE?AW4gsmsim_payload_AT_type_e@@XZ @ 159 NONAME ; enum gsmsim_payload_AT_type_e gsmsim_payload_AT_header_c::get_current_payload(void) const
-	?initialize_error_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W42@@Z @ 160 NONAME ; enum eap_status_e eap_type_gsmsim_c::initialize_error_message(enum eap_status_e)
-	?get_NOTIFICATION@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 161 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NOTIFICATION(void)
-	?handle_reauthentication_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 162 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_reauthentication_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?get_SELECTED_VERSION@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 163 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_SELECTED_VERSION(void)
-	?set_subtype@gsmsim_header_c@@QAEXW4gsmsim_subtype_e@@@Z @ 164 NONAME ; void gsmsim_header_c::set_subtype(enum gsmsim_subtype_e)
-	??1eap_type_gsmsim_c@@UAE@XZ @ 165 NONAME ; eap_type_gsmsim_c::~eap_type_gsmsim_c(void)
-	?check_initiator@eap_type_gsmsim_state_variable_parameters_c@@QBE_N_N@Z @ 166 NONAME ; bool eap_type_gsmsim_state_variable_parameters_c::check_initiator(bool) const
-	?check_valid_state@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4gsmsim_subtype_e@@@Z @ 167 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_valid_state(enum gsmsim_subtype_e)
-	?reset@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@XZ @ 168 NONAME ; enum eap_status_e eap_type_gsmsim_c::reset(void)
-	?get_PERMANENT_ID_REQ@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 169 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_PERMANENT_ID_REQ(void)
-	?cancel_notification_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 170 NONAME ; enum eap_status_e eap_type_gsmsim_c::cancel_notification_message_delay_timer(void)
-	?reset@eap_type_sim_triplet_array_c@@QAEXXZ @ 171 NONAME ; void eap_type_sim_triplet_array_c::reset(void)
-	??0eap_type_gsmsim_state_variable_parameters_c@@QAE@XZ @ 172 NONAME ; eap_type_gsmsim_state_variable_parameters_c::eap_type_gsmsim_state_variable_parameters_c(void)
-	?set_data_length@gsmsim_header_c@@QAEXK_N@Z @ 173 NONAME ; void gsmsim_header_c::set_data_length(unsigned long, bool)
-	?process_SIM_kc_sres@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 174 NONAME ; enum eap_status_e eap_type_gsmsim_c::process_SIM_kc_sres(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?packet_send@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 175 NONAME ; enum eap_status_e eap_type_gsmsim_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?data_exp@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@PBV3@1@Z @ 176 NONAME ; enum eap_status_e eap_type_gsmsim_c::data_exp(unsigned long, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?generate_shared_secred_keys@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@0PAV3@111@Z @ 177 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_shared_secred_keys(unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?eap_acknowledge@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 178 NONAME ; enum eap_status_e eap_type_gsmsim_c::eap_acknowledge(class eap_am_network_id_c const *)
-	??0eap_type_saesim_triplet_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 179 NONAME ; eap_type_saesim_triplet_c::eap_type_saesim_triplet_c(class abs_eap_am_tools_c *)
-	?get_is_valid@gsmsim_payloads_c@@QBE_NXZ @ 180 NONAME ; bool gsmsim_payloads_c::get_is_valid(void) const
-	?set_is_valid@eap_type_saesim_triplet_c@@QAEXXZ @ 181 NONAME ; void eap_type_saesim_triplet_c::set_is_valid(void)
-	?save_current_state@eap_type_gsmsim_c@@AAEXXZ @ 182 NONAME ; void eap_type_gsmsim_c::save_current_state(void)
-	?parse_gsmsim_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 183 NONAME ; enum eap_status_e eap_type_gsmsim_c::parse_gsmsim_packet(class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	??0eap_type_sim_triplet_array_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 184 NONAME ; eap_type_sim_triplet_array_c::eap_type_sim_triplet_array_c(class abs_eap_am_tools_c *)
-	?set_triplet_count@eap_type_sim_triplet_array_c@@QAE?AW4eap_status_e@@K@Z @ 185 NONAME ; enum eap_status_e eap_type_sim_triplet_array_c::set_triplet_count(unsigned long)
-	?new_handler@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 186 NONAME ; enum eap_status_e eap_type_gsmsim_c::new_handler(class eap_am_network_id_c const *, bool)
-	?analyse_gsmsim_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 187 NONAME ; enum eap_status_e eap_type_gsmsim_c::analyse_gsmsim_packet(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?check_rands@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 188 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_rands(class eap_variable_data_c const *)
-	?get_includes_unknown_attribute@gsmsim_payloads_c@@QAE?AW4gsmsim_payload_AT_type_e@@XZ @ 189 NONAME ; enum gsmsim_payload_AT_type_e gsmsim_payloads_c::get_includes_unknown_attribute(void)
-	?add_counter_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111G@Z @ 190 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_counter_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned short)
-	?get_nai_realm@eap_type_gsmsim_c@@AAEPAVeap_variable_data_c@@XZ @ 191 NONAME ; class eap_variable_data_c * eap_type_gsmsim_c::get_nai_realm(void)
-	?set_includes_other_version_than_1@gsmsim_payloads_c@@QAEX_N@Z @ 192 NONAME ; void gsmsim_payloads_c::set_includes_other_version_than_1(bool)
-	?get_original_header@gsmsim_variable_data_c@@QBEPBVgsmsim_payload_AT_header_c@@XZ @ 193 NONAME ; class gsmsim_payload_AT_header_c const * gsmsim_variable_data_c::get_original_header(void) const
-	?set_triplet@eap_type_saesim_triplet_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@00@Z @ 194 NONAME ; enum eap_status_e eap_type_saesim_triplet_c::set_triplet(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	??1gsmsim_header_c@@UAE@XZ @ 195 NONAME ; gsmsim_header_c::~gsmsim_header_c(void)
-	?select_version@eap_type_gsmsim_c@@AAE?AW4eap_gsmsim_version@@PBVgsmsim_variable_data_c@@PA_N@Z @ 196 NONAME ; enum eap_gsmsim_version eap_type_gsmsim_c::select_version(class gsmsim_variable_data_c const *, bool *)
-	?update_payload_indexes@eap_type_gsmsim_c@@AAEXKKKPAK000@Z @ 197 NONAME ; void eap_type_gsmsim_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *)
-	?set_current_payload@gsmsim_payload_AT_header_c@@QAEXW4gsmsim_payload_AT_type_e@@@Z @ 198 NONAME ; void gsmsim_payload_AT_header_c::set_current_payload(enum gsmsim_payload_AT_type_e)
-	?handle_eap_identity_query@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_variable_data_c@@EPBV4@222K_N@Z @ 199 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c *, unsigned char, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, bool)
-	?generate_nai@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@_NPBV3@2122K@Z @ 200 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_nai(class eap_variable_data_c *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long)
-	?get_is_valid@eap_type_saesim_triplet_c@@QAE_NXZ @ 201 NONAME ; bool eap_type_saesim_triplet_c::get_is_valid(void)
-	?handle_gsmsim_notification@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@W4eap_gsmsim_notification_codes_e@@@Z @ 202 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::handle_gsmsim_notification(enum eap_gsmsim_notification_codes_e)
-	?store_identity@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 203 NONAME ; enum eap_status_e eap_type_gsmsim_c::store_identity(class eap_variable_data_c const *, bool)
-	??0eap_type_gsmsim_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 204 NONAME ; eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool)
-	?store_reauthentication_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 205 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::store_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *)
-	?read_configure@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 206 NONAME ; enum eap_status_e eap_type_gsmsim_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_is_valid@eap_type_gsmsim_c@@UAE_NXZ @ 207 NONAME ; bool eap_type_gsmsim_c::get_is_valid(void)
-	?handle_gsmsim_notification_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 208 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_notification_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *)
-	?get_reserved@gsmsim_payload_AT_header_c@@QBEGXZ @ 209 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_reserved(void) const
-	?complete_SIM_kc_sres@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@00W42@@Z @ 210 NONAME ; enum eap_status_e eap_type_gsmsim_c::complete_SIM_kc_sres(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e)
-	?generate_encryption_IV@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 211 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::generate_encryption_IV(class eap_variable_data_c *, unsigned long)
-	?generate_nonce@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@@Z @ 212 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_nonce(unsigned long, class eap_variable_data_c *)
-	?update_buffer_indexes@eap_type_gsmsim_c@@AAEXKKPAK0@Z @ 213 NONAME ; void eap_type_gsmsim_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *)
-	?parse_generic_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4gsmsim_payload_AT_type_e@@PBVgsmsim_payload_AT_header_c@@PAVgsmsim_payloads_c@@W4gsmsim_subtype_e@@@Z @ 214 NONAME ; enum eap_status_e eap_type_gsmsim_c::parse_generic_payload(enum gsmsim_payload_AT_type_e, class gsmsim_payload_AT_header_c const *, class gsmsim_payloads_c *, enum gsmsim_subtype_e)
-	?add_pseudonym_or_imsi_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PBVeap_variable_data_c@@W4gsmsim_payload_AT_type_e@@@Z @ 215 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_pseudonym_or_imsi_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum gsmsim_payload_AT_type_e)
-	?get_is_valid@gsmsim_fixed_data_c@@QBE_NXZ @ 216 NONAME ; bool gsmsim_fixed_data_c::get_is_valid(void) const
-	?get_triplet_count@eap_type_sim_triplet_array_c@@QAEKXZ @ 217 NONAME ; unsigned long eap_type_sim_triplet_array_c::get_triplet_count(void)
-	?decrypt_DATA_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_payloads_c@@PBVeap_variable_data_c@@@Z @ 218 NONAME ; enum eap_status_e eap_type_gsmsim_c::decrypt_DATA_payload(class gsmsim_payloads_c *, class eap_variable_data_c const *)
-	?get_IV@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 219 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_IV(void)
-	?get_NONCE_S@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 220 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NONCE_S(void)
-	?type_configure_read@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 221 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?parse_gsmsim_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVgsmsim_payload_AT_header_c@@PAKPAVgsmsim_payloads_c@@W4gsmsim_subtype_e@@@Z @ 222 NONAME ; enum eap_status_e eap_type_gsmsim_c::parse_gsmsim_payload(class gsmsim_payload_AT_header_c const *, unsigned long *, class gsmsim_payloads_c *, enum gsmsim_subtype_e)
-	?get_subtype_string@gsmsim_header_c@@QBEPBDXZ @ 223 NONAME ; char const * gsmsim_header_c::get_subtype_string(void) const
-	?add_variable_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PBVeap_variable_data_c@@W4gsmsim_payload_AT_type_e@@@Z @ 224 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_variable_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum gsmsim_payload_AT_type_e)
-	?packet_process@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 225 NONAME ; enum eap_status_e eap_type_gsmsim_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?get_NONCE_MT@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 226 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NONCE_MT(void)
-	?get_IDENTITY_payload@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 227 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_IDENTITY_payload(void)
-	?get_type@gsmsim_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 228 NONAME ; unsigned short gsmsim_fixed_data_c::get_type(class abs_eap_am_tools_c *) const
-	?send_challenge_response_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 229 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_challenge_response_message(class eap_variable_data_c *)
-	?get_state_variable@eap_type_gsmsim_c@@AAEPBVeap_type_gsmsim_state_variable_parameters_c@@XZ @ 230 NONAME ; class eap_type_gsmsim_state_variable_parameters_c const * eap_type_gsmsim_c::get_state_variable(void)
-	?packet_trace@eap_type_gsmsim_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 231 NONAME ; void eap_type_gsmsim_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,741 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?complete_query_ttls_pap_username_and_password@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W42@@Z @ 2 NONAME ; enum eap_status_e tls_application_eap_core_c::complete_query_ttls_pap_username_and_password(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e)
-	??0tls_handshake_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_message_hash_c@@_N@Z @ 3 NONAME ; tls_handshake_message_c::tls_handshake_message_c(class abs_eap_am_tools_c *, class abs_tls_message_hash_c *, bool)
-	?get_eap_type_list@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 4 NONAME ; enum eap_status_e dummy_eap_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?complete_query_dh_parameters@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W42@@Z @ 5 NONAME ; enum eap_status_e tls_record_c::complete_query_dh_parameters(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e)
-	?set_peap_version@eap_am_type_tls_peap_symbian_c@@UAEXW4peap_version_e@@_N1@Z @ 6 NONAME ; void eap_am_type_tls_peap_symbian_c::set_peap_version(enum peap_version_e, bool, bool)
-	?add_payload@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@Veap_diameter_avp_code_c@@_NPBEK111@Z @ 7 NONAME ; enum eap_status_e eap_diameter_payloads_c::add_payload(class eap_diameter_avp_code_c, bool, unsigned char const *, unsigned long, bool, bool, bool)
-	?completion_action_add@tls_record_c@@AAE?AW4eap_status_e@@W4tls_completion_action_e@@@Z @ 8 NONAME ; enum eap_status_e tls_record_c::completion_action_add(enum tls_completion_action_e)
-	?query_dh_parameters@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@W4tls_cipher_suites_e@@@Z @ 9 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_dh_parameters(class eap_array_c<class eap_variable_data_c> const *, enum tls_cipher_suites_e)
-	?get_tls_am_partner@eap_am_type_tls_peap_symbian_c@@EAEPAVabs_tls_am_services_c@@XZ @ 10 NONAME ; class abs_tls_am_services_c * eap_am_type_tls_peap_symbian_c::get_tls_am_partner(void)
-	?get_cipher_suite_applied@tls_record_message_c@@QBE_NXZ @ 11 NONAME ; bool tls_record_message_c::get_cipher_suite_applied(void) const
-	?set_certificate_types@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@E@@@Z @ 12 NONAME ; enum eap_status_e tls_handshake_message_c::set_certificate_types(class eap_array_c<unsigned char> const *)
-	?ignore_notifications@dummy_eap_core_c@@QAEXXZ @ 13 NONAME ; void dummy_eap_core_c::ignore_notifications(void)
-	?get_nt_response@mschapv2_response_c@@QBEPBEXZ @ 14 NONAME ; unsigned char const * mschapv2_response_c::get_nt_response(void) const
-	?get_eap_code@eap_tls_peap_header_c@@QBE?AW4eap_code_value_e@@XZ @ 15 NONAME ; enum eap_code_value_e eap_tls_peap_header_c::get_eap_code(void) const
-	?new_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAPAVtls_record_message_c@@W4tls_record_protocol_e@@@Z @ 16 NONAME ; enum eap_status_e tls_record_c::new_record_message(class tls_record_message_c * *, enum tls_record_protocol_e)
-	?create_ttls_diameter_avp@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@Veap_diameter_avp_code_c@@_N@Z @ 17 NONAME ; enum eap_status_e tls_application_eap_core_c::create_ttls_diameter_avp(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_diameter_avp_code_c, bool)
-	?complete_create_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 18 NONAME ; enum eap_status_e tls_record_c::complete_create_handshake_type_server_key_exchange(void)
-	?get_change_cipher_spec@tls_record_message_c@@QBEPBVtls_change_cipher_spec_message_c@@K@Z @ 19 NONAME ; class tls_change_cipher_spec_message_c const * tls_record_message_c::get_change_cipher_spec(unsigned long) const
-	?cancel_verify_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 20 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_verify_certificate_chain(void)
-	?add_message_data@tls_record_message_c@@QAE?AW4eap_status_e@@XZ @ 21 NONAME ; enum eap_status_e tls_record_message_c::add_message_data(void)
-	?finish_handshake@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 22 NONAME ; enum eap_status_e tls_record_c::finish_handshake(void)
-	?complete_query_certificate_authorities_and_types@tls_record_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@PBV?$eap_array_c@E@@W42@@Z @ 23 NONAME ; enum eap_status_e tls_record_c::complete_query_certificate_authorities_and_types(class eap_array_c<class eap_variable_data_c> const *, class eap_array_c<unsigned char> const *, enum eap_status_e)
-	?verify_tunneled_acknowledge_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 24 NONAME ; enum eap_status_e tls_application_eap_core_c::verify_tunneled_acknowledge_peap_v2(void)
-	?get_next_tls_handshake_message_type@tls_record_c@@EAE?AW4tls_handshake_type_e@@XZ @ 25 NONAME ; enum tls_handshake_type_e tls_record_c::get_next_tls_handshake_message_type(void)
-	?get_record_message_data@tls_record_message_c@@QAEPAVeap_variable_data_c@@XZ @ 26 NONAME ; class eap_variable_data_c * tls_record_message_c::get_record_message_data(void)
-	?get_tls_session_type@eap_type_tls_peap_c@@AAE?AW4tls_session_type_e@@XZ @ 27 NONAME ; enum tls_session_type_e eap_type_tls_peap_c::get_tls_session_type(void)
-	?configure@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 28 NONAME ; enum eap_status_e tls_application_eap_core_c::configure(void)
-	?asynchronous_init_remove_eap_session@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 29 NONAME ; enum eap_status_e tls_application_eap_core_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *)
-	?message_hash_update@tls_record_c@@EAE?AW4eap_status_e@@_NW4tls_handshake_type_e@@PAEK@Z @ 30 NONAME ; enum eap_status_e tls_record_c::message_hash_update(bool, enum tls_handshake_type_e, unsigned char *, unsigned long)
-	?generate_master_secret@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e tls_record_c::generate_master_secret(void)
-	?get_selected_cipher_suite@tls_handshake_message_c@@QBE?AW4tls_cipher_suites_e@@XZ @ 32 NONAME ; enum tls_cipher_suites_e tls_handshake_message_c::get_selected_cipher_suite(void) const
-	?get_reassembly_state@eap_type_tls_peap_c@@ABE?AW4eap_type_tls_peap_reassembly_state_e@@XZ @ 33 NONAME ; enum eap_type_tls_peap_reassembly_state_e eap_type_tls_peap_c::get_reassembly_state(void) const
-	?analyse_handshake_type_client_hello@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 34 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_client_hello(class tls_handshake_message_c const *)
-	?get_ms_length@mschapv2_header_c@@QBEGXZ @ 35 NONAME ; unsigned short mschapv2_header_c::get_ms_length(void) const
-	?check_is_valid_eap_type@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 36 NONAME ; enum eap_status_e eap_type_tls_peap_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?cancel_timer@tls_record_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 37 NONAME ; enum eap_status_e tls_record_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?set_flag_version@eap_tls_peap_header_c@@QAEXE@Z @ 38 NONAME ; void eap_tls_peap_header_c::set_flag_version(unsigned char)
-	?set_payload_code@eap_diameter_variable_data_c@@QAEXVeap_diameter_avp_code_c@@@Z @ 39 NONAME ; void eap_diameter_variable_data_c::set_payload_code(class eap_diameter_avp_code_c)
-	??1tls_record_message_c@@UAE@XZ @ 40 NONAME ; tls_record_message_c::~tls_record_message_c(void)
-	?set_flag_tls_length_included@eap_tls_peap_header_c@@QAEX_N@Z @ 41 NONAME ; void eap_tls_peap_header_c::set_flag_tls_length_included(bool)
-	??1peap_tlv_variable_data_c@@UAE@XZ @ 42 NONAME ; peap_tlv_variable_data_c::~peap_tlv_variable_data_c(void)
-	?set_finished_data@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 43 NONAME ; enum eap_status_e tls_handshake_message_c::set_finished_data(class eap_variable_data_c const *)
-	?get_code@eap_static_diameter_vendor_code_c@@QBEABVeap_diameter_avp_code_c@@XZ @ 44 NONAME ; class eap_diameter_avp_code_c const & eap_static_diameter_vendor_code_c::get_code(void) const
-	?create_eap_success_failure_in_forward_to_tunnel@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eap_code_value_e@@E@Z @ 45 NONAME ; enum eap_status_e tls_application_eap_core_c::create_eap_success_failure_in_forward_to_tunnel(class eap_am_network_id_c const *, enum eap_code_value_e, unsigned char)
-	?set_is_valid@eap_type_tls_peap_c@@UAEXXZ @ 46 NONAME ; void eap_type_tls_peap_c::set_is_valid(void)
-	?query_cipher_suites_and_previous_session@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 47 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_cipher_suites_and_previous_session(void)
-	?apply_receive_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 48 NONAME ; enum eap_status_e tls_record_c::apply_receive_cipher_suite(class eap_variable_data_c *)
-	?cancel_eap_failure_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 49 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_eap_failure_timeout(void)
-	?set_is_valid@tls_change_cipher_spec_message_c@@AAEXXZ @ 50 NONAME ; void tls_change_cipher_spec_message_c::set_is_valid(void)
-	??1tls_completion_c@@UAE@XZ @ 51 NONAME ; tls_completion_c::~tls_completion_c(void)
-	?cancel_timer@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 52 NONAME ; enum eap_status_e eap_type_tls_peap_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?set_eap_type@eap_tls_peap_header_c@@QAEXVeap_expanded_type_c@@_N@Z @ 53 NONAME ; void eap_tls_peap_header_c::set_eap_type(class eap_expanded_type_c, bool)
-	?get_header_minimum_size@mschapv2_challenge_c@@SAKXZ @ 54 NONAME ; unsigned long mschapv2_challenge_c::get_header_minimum_size(void)
-	?ttls_tunneled_message_state_process_error_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 55 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_error_request(class eap_header_wr_c *)
-	??1tls_application_data_message_c@@UAE@XZ @ 56 NONAME ; tls_application_data_message_c::~tls_application_data_message_c(void)
-	?get_last_record_message@tls_message_c@@QBEPAVtls_record_message_c@@XZ @ 57 NONAME ; class tls_record_message_c * tls_message_c::get_last_record_message(void) const
-	?message_hash_create@tls_record_c@@AAE?AW4eap_status_e@@_NW4tls_handshake_type_e@@PAVeap_variable_data_c@@0@Z @ 58 NONAME ; enum eap_status_e tls_record_c::message_hash_create(bool, enum tls_handshake_type_e, class eap_variable_data_c *, bool)
-	??0eap_diameter_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 59 NONAME ; eap_diameter_payloads_c::eap_diameter_payloads_c(class abs_eap_am_tools_c *)
-	?get_marked_removed@dummy_eap_core_c@@QAE_NXZ @ 60 NONAME ; bool dummy_eap_core_c::get_marked_removed(void)
-	?create_change_cipher_spec_type_change_cipher_spec@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 61 NONAME ; enum eap_status_e tls_record_c::create_change_cipher_spec_type_change_cipher_spec(void)
-	?send_tls_peap_start_message@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@EPBVeap_variable_data_c@@@Z @ 62 NONAME ; enum eap_status_e eap_type_tls_peap_c::send_tls_peap_start_message(unsigned char, class eap_variable_data_c const *)
-	?get_record_message@tls_message_c@@QBEPAVtls_record_message_c@@K@Z @ 63 NONAME ; class tls_record_message_c * tls_message_c::get_record_message(unsigned long) const
-	?check_payloads@peap_tlv_payloads_c@@QAE_NW4peap_tlv_payload_status_e@1@0000@Z @ 64 NONAME ; bool peap_tlv_payloads_c::check_payloads(enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e)
-	?check_header@mschapv2_response_c@@UBE?AW4eap_status_e@@XZ @ 65 NONAME ; enum eap_status_e mschapv2_response_c::check_header(void) const
-	?analyse_handshake_type_server_hello_done@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 66 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_server_hello_done(class tls_handshake_message_c const *)
-	?add_handshake_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_handshake_message_c@@_N@Z @ 67 NONAME ; enum eap_status_e tls_record_message_c::add_handshake_message(class tls_handshake_message_c *, bool)
-	?configure@tls_record_c@@UAE?AW4eap_status_e@@XZ @ 68 NONAME ; enum eap_status_e tls_record_c::configure(void)
-	?set_public_dhe_key@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 69 NONAME ; enum eap_status_e tls_handshake_message_c::set_public_dhe_key(class eap_variable_data_c const *)
-	?get_type_partner@tls_base_record_c@@QAEPAVabs_tls_base_record_c@@XZ @ 70 NONAME ; class abs_tls_base_record_c * tls_base_record_c::get_type_partner(void)
-	?create_handshake_type_finished@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 71 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_finished(void)
-	?cipher_suite_is_TLS_DHE_RSA@tls_record_c@@ABE_NXZ @ 72 NONAME ; bool tls_record_c::cipher_suite_is_TLS_DHE_RSA(void) const
-	?get_ttls_implicit_challenge@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 73 NONAME ; enum eap_status_e tls_record_c::get_ttls_implicit_challenge(class eap_variable_data_c *, unsigned long)
-	?get_is_valid@tls_change_cipher_spec_message_c@@QAE_NXZ @ 74 NONAME ; bool tls_change_cipher_spec_message_c::get_is_valid(void)
-	?get_eap_type_list@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 75 NONAME ; enum eap_status_e eap_type_tls_peap_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?parse_handshake_type_server_hello_done@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 76 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_server_hello_done(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?get_alert_level_string@eap_tls_trace_string_c@@SAPBDW4tls_alert_level_e@@@Z @ 77 NONAME ; char const * eap_tls_trace_string_c::get_alert_level_string(enum tls_alert_level_e)
-	?check_sent_tls_message@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 78 NONAME ; enum eap_status_e tls_record_c::check_sent_tls_message(void)
-	??0tls_base_record_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 79 NONAME ; tls_base_record_c::tls_base_record_c(class abs_eap_am_tools_c *)
-	?check_ttls_plain_pap_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@PAW4eap_ttls_tunneled_message_type_e@@@Z @ 80 NONAME ; enum eap_status_e tls_application_eap_core_c::check_ttls_plain_pap_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e *)
-	?get_protocol@tls_record_message_c@@QBE?AW4tls_record_protocol_e@@XZ @ 81 NONAME ; enum tls_record_protocol_e tls_record_message_c::get_protocol(void) const
-	??1tls_record_c@@UAE@XZ @ 82 NONAME ; tls_record_c::~tls_record_c(void)
-	?restore_saved_reassembly_state@eap_type_tls_peap_c@@AAEXXZ @ 83 NONAME ; void eap_type_tls_peap_c::restore_saved_reassembly_state(void)
-	?create_crypto_binding_compound_mac@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVtls_peap_tlv_header_c@@PAV3@@Z @ 84 NONAME ; enum eap_status_e tls_application_eap_core_c::create_crypto_binding_compound_mac(class eap_variable_data_c const *, class tls_peap_tlv_header_c const *, class eap_variable_data_c *)
-	?analyse_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_record_message_c@@@Z @ 85 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_alert(class tls_record_message_c const *)
-	?create_handshake_type_server_hello@tls_record_c@@AAE?AW4eap_status_e@@GE@Z @ 86 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_server_hello(unsigned short, unsigned char)
-	?add_message_data@tls_change_cipher_spec_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 87 NONAME ; enum eap_status_e tls_change_cipher_spec_message_c::add_message_data(class eap_variable_data_c *)
-	?authentication_finished@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@_NW4tls_session_type_e@@@Z @ 88 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::authentication_finished(bool, enum tls_session_type_e)
-	?restart_authentication@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 89 NONAME ; enum eap_status_e dummy_eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool)
-	?set_tls_session_type@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@W4tls_session_type_e@@@Z @ 90 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_tls_session_type(enum tls_session_type_e)
-	?set_tls_message_data@tls_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 91 NONAME ; enum eap_status_e tls_message_c::set_tls_message_data(class eap_variable_data_c *, unsigned char)
-	?complete_create_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 92 NONAME ; enum eap_status_e tls_record_c::complete_create_handshake_type_client_key_exchange(void)
-	?add_rogue_ap@tls_application_eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 93 NONAME ; enum eap_status_e tls_application_eap_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?get_crypto_binding_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 94 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_crypto_binding_tlv(void)
-	?parse_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 95 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_alert(class tls_record_message_c *, class eap_variable_data_c *)
-	?rsa_encrypt_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 96 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::rsa_encrypt_with_public_key(class eap_variable_data_c const *)
-	?verify_state@tls_record_c@@AAE_NW4tls_peap_state_e@@@Z @ 97 NONAME ; bool tls_record_c::verify_state(enum tls_peap_state_e)
-	?get_peap_version_string@eap_tls_trace_string_c@@SAPBDW4peap_version_e@@@Z @ 98 NONAME ; char const * eap_tls_trace_string_c::get_peap_version_string(enum peap_version_e)
-	?packet_send@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KKK@Z @ 99 NONAME ; enum eap_status_e tls_record_c::packet_send(class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	??1mschapv2_response_c@@UAE@XZ @ 100 NONAME ; mschapv2_response_c::~mschapv2_response_c(void)
-	?get_is_analysed@tls_handshake_message_c@@QAE_NXZ @ 101 NONAME ; bool tls_handshake_message_c::get_is_analysed(void)
-	?packet_process_xp_peap_v0@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 102 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_xp_peap_v0(class eap_variable_data_c *, unsigned char, unsigned long *)
-	?parse_tls_protocol_change_cipher_spec@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 103 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_change_cipher_spec(class tls_record_message_c *, class eap_variable_data_c *)
-	?write_configure@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 104 NONAME ; enum eap_status_e tls_record_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?unload_module@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 105 NONAME ; enum eap_status_e eap_type_tls_peap_c::unload_module(class eap_expanded_type_c)
-	?get_tls_record_header_is_included@tls_record_message_c@@QBE_NXZ @ 106 NONAME ; bool tls_record_message_c::get_tls_record_header_is_included(void) const
-	?plain_eap_success_failure_packet_received@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eap_code_value_e@@E@Z @ 107 NONAME ; enum eap_status_e tls_application_eap_core_c::plain_eap_success_failure_packet_received(class eap_am_network_id_c const *, enum eap_code_value_e, unsigned char)
-	?analyse_handshake_type_server_hello@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 108 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_server_hello(class tls_handshake_message_c const *)
-	??0mschapv2_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 109 NONAME ; mschapv2_header_c::mschapv2_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?cancel_identity_query@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 110 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_identity_query(void)
-	?remove_record_message@tls_message_c@@QAE?AW4eap_status_e@@K@Z @ 111 NONAME ; enum eap_status_e tls_message_c::remove_record_message(unsigned long)
-	?packet_process_type@dummy_eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 112 NONAME ; enum eap_status_e dummy_eap_core_c::packet_process_type(class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?get_vendor_id@eap_diameter_avp_code_c@@QBE?AW4eap_diameter_vendor_id_e@@XZ @ 113 NONAME ; enum eap_diameter_vendor_id_e eap_diameter_avp_code_c::get_vendor_id(void) const
-	?get_encrypted_pw_block@mschapv2_change_password_c@@QBEPBEXZ @ 114 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_pw_block(void) const
-	?get_application_data_count@tls_record_message_c@@QBEKXZ @ 115 NONAME ; unsigned long tls_record_message_c::get_application_data_count(void) const
-	?check_one_payload@peap_tlv_payloads_c@@QAE_NW4peap_tlv_payload_status_e@1@PBVpeap_tlv_variable_data_c@@@Z @ 116 NONAME ; bool peap_tlv_payloads_c::check_one_payload(enum peap_tlv_payloads_c::peap_tlv_payload_status_e, class peap_tlv_variable_data_c const *)
-	?set_authentication_role@dummy_eap_core_c@@UAE?AW4eap_status_e@@_N@Z @ 117 NONAME ; enum eap_status_e dummy_eap_core_c::set_authentication_role(bool)
-	?cancel_query_dsa_parameters@eap_am_type_tls_peap_symbian_c@@QAE?AW4eap_status_e@@XZ @ 118 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_dsa_parameters(void)
-	?load_module@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 119 NONAME ; enum eap_status_e eap_type_tls_peap_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?timer_expired@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@KPAX@Z @ 120 NONAME ; enum eap_status_e eap_type_tls_peap_c::timer_expired(unsigned long, void *)
-	?get_header_minimum_size@mschapv2_change_password_c@@SAKXZ @ 121 NONAME ; unsigned long mschapv2_change_password_c::get_header_minimum_size(void)
-	?asynchronous_init_remove_eap_session@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 122 NONAME ; enum eap_status_e dummy_eap_core_c::asynchronous_init_remove_eap_session(void)
-	?u16_t_to_network_order@tls_record_c@@CA?AW4eap_status_e@@PAGPAVabs_eap_am_tools_c@@@Z @ 123 NONAME ; enum eap_status_e tls_record_c::u16_t_to_network_order(unsigned short *, class abs_eap_am_tools_c *)
-	?shutdown_operation@dummy_eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 124 NONAME ; enum eap_status_e dummy_eap_core_c::shutdown_operation(class eap_base_type_c *, class abs_eap_am_tools_c *)
-	?create_handshake_type_certificate@tls_record_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 125 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_certificate(class eap_array_c<class eap_variable_data_c> const *)
-	?complete_select_cipher_suite_and_check_session_id@tls_record_c@@UAE?AW4eap_status_e@@W4tls_session_type_e@@GPBVeap_variable_data_c@@1W42@@Z @ 126 NONAME ; enum eap_status_e tls_record_c::complete_select_cipher_suite_and_check_session_id(enum tls_session_type_e, unsigned short, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e)
-	?set_receive_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 127 NONAME ; enum eap_status_e tls_record_c::set_receive_cipher_suite(enum tls_cipher_suites_e)
-	?set_peap_version@tls_record_c@@UAEXW4peap_version_e@@_N1@Z @ 128 NONAME ; void tls_record_c::set_peap_version(enum peap_version_e, bool, bool)
-	??0eap_type_tls_peap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 129 NONAME ; eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool)
-	?get_state_string@eap_type_tls_peap_c@@ABEPBDXZ @ 130 NONAME ; char const * eap_type_tls_peap_c::get_state_string(void) const
-	?get_tls_identity_privacy_handshake_state_string@eap_tls_trace_string_c@@SAPBDW4tls_identity_privacy_handshake_state_e@@@Z @ 131 NONAME ; char const * eap_tls_trace_string_c::get_tls_identity_privacy_handshake_state_string(enum tls_identity_privacy_handshake_state_e)
-	??1tls_alert_message_c@@UAE@XZ @ 132 NONAME ; tls_alert_message_c::~tls_alert_message_c(void)
-	?cipher_suite_initialization_hmac@tls_record_c@@AAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PBVeap_variable_data_c@@@Z @ 133 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_hmac(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c const *)
-	?analyse_handshake_type_finished@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@E@Z @ 134 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_finished(class tls_handshake_message_c const *, unsigned char)
-	?update_payload_indexes@eap_type_tls_peap_c@@AAEXKKKPAK000@Z @ 135 NONAME ; void eap_type_tls_peap_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *)
-	?add_record_message@tls_message_c@@QAE?AW4eap_status_e@@PAVtls_record_message_c@@_N1@Z @ 136 NONAME ; enum eap_status_e tls_message_c::add_record_message(class tls_record_message_c *, bool, bool)
-	?set_application_data@tls_application_data_message_c@@QAE?AW4eap_status_e@@PBEK@Z @ 137 NONAME ; enum eap_status_e tls_application_data_message_c::set_application_data(unsigned char const *, unsigned long)
-	?get_data_length@tls_record_message_c@@QBEKXZ @ 138 NONAME ; unsigned long tls_record_message_c::get_data_length(void) const
-	?configure@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 139 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::configure(void)
-	?send_eap_identity_request@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 140 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_identity_request(class eap_am_network_id_c const *)
-	??1tls_change_cipher_spec_message_c@@UAE@XZ @ 141 NONAME ; tls_change_cipher_spec_message_c::~tls_change_cipher_spec_message_c(void)
-	?cancel_query_certificate_authorities_and_types@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 142 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_certificate_authorities_and_types(void)
-	??9eap_diameter_avp_code_c@@QBE_NW4eap_diameter_avp_code_of_ietf_e@@@Z @ 143 NONAME ; bool eap_diameter_avp_code_c::operator!=(enum eap_diameter_avp_code_of_ietf_e) const
-	?ttls_server_handles_pap_reply_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 144 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_pap_reply_message(class eap_diameter_payloads_c *, unsigned char)
-	?parse_identity@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBEK@Z @ 145 NONAME ; enum eap_status_e eap_type_tls_peap_c::parse_identity(unsigned char const *, unsigned long)
-	?parse_diameter_payloads@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@PBVeap_diameter_avp_header_c@@PAK@Z @ 146 NONAME ; enum eap_status_e eap_diameter_payloads_c::parse_diameter_payloads(class eap_diameter_avp_header_c const *, unsigned long *)
-	?save_tls_session@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W4tls_cipher_suites_e@@@Z @ 147 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::save_tls_session(class eap_variable_data_c const *, class eap_variable_data_c const *, enum tls_cipher_suites_e)
-	?cancel_asynchronous_init_remove_eap_session@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 148 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_asynchronous_init_remove_eap_session(void)
-	?set_eap_identifier@eap_tls_peap_header_c@@QAEXE@Z @ 149 NONAME ; void eap_tls_peap_header_c::set_eap_identifier(unsigned char)
-	?shutdown@tls_record_c@@UAE?AW4eap_status_e@@XZ @ 150 NONAME ; enum eap_status_e tls_record_c::shutdown(void)
-	??0mschapv2_response_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 151 NONAME ; mschapv2_response_c::mschapv2_response_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?message_hash_final@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@0@Z @ 152 NONAME ; enum eap_status_e tls_record_c::message_hash_final(class eap_variable_data_c *, class eap_variable_data_c *)
-	?completion_action_clenup@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 153 NONAME ; enum eap_status_e tls_record_c::completion_action_clenup(void)
-	?set_eap_length@eap_tls_peap_header_c@@QAEXG_N@Z @ 154 NONAME ; void eap_tls_peap_header_c::set_eap_length(unsigned short, bool)
-	?cipher_suite_is_TLS_DHE_DSS@tls_record_c@@ABE_NXZ @ 155 NONAME ; bool tls_record_c::cipher_suite_is_TLS_DHE_DSS(void) const
-	?get_certificate_type_string@eap_tls_trace_string_c@@SAPBDW4tls_certificate_type_e@@@Z @ 156 NONAME ; char const * eap_tls_trace_string_c::get_certificate_type_string(enum tls_certificate_type_e)
-	?handle_identity_response_message@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_header_rd_c@@K@Z @ 157 NONAME ; enum eap_status_e eap_type_tls_peap_c::handle_identity_response_message(class eap_header_rd_c *, unsigned long)
-	?DlgComplete@eap_am_type_tls_peap_symbian_c@@UAEXH@Z @ 158 NONAME ; void eap_am_type_tls_peap_symbian_c::DlgComplete(int)
-	?set_compression_methods@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@E@@@Z @ 159 NONAME ; enum eap_status_e tls_handshake_message_c::set_compression_methods(class eap_array_c<unsigned char> const *)
-	?packet_process_ttls@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 160 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_ttls(class eap_variable_data_c *, unsigned char, unsigned long *)
-	?apply_receive_stream_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_stream_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 161 NONAME ; enum eap_status_e tls_record_c::apply_receive_stream_cipher_suite(class eap_variable_data_c *, class abs_crypto_stream_algorithm_c *, class abs_crypto_hmac_algorithm_c *)
-	?set_eap_code@eap_tls_peap_header_c@@QAEXW4eap_code_value_e@@@Z @ 162 NONAME ; void eap_tls_peap_header_c::set_eap_code(enum eap_code_value_e)
-	?get_payload@eap_diameter_payloads_c@@QAEPAVeap_diameter_variable_data_c@@Veap_diameter_avp_code_c@@@Z @ 163 NONAME ; class eap_diameter_variable_data_c * eap_diameter_payloads_c::get_payload(class eap_diameter_avp_code_c)
-	?get_name_length@mschapv2_challenge_c@@QBEKXZ @ 164 NONAME ; unsigned long mschapv2_challenge_c::get_name_length(void) const
-	?finish_successfull_authentication_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@E@Z @ 165 NONAME ; enum eap_status_e tls_application_eap_core_c::finish_successfull_authentication_peap_v2(unsigned char)
-	?set_cipher_suites@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@G@@@Z @ 166 NONAME ; enum eap_status_e tls_handshake_message_c::set_cipher_suites(class eap_array_c<unsigned short> const *)
-	?complete_verify_with_public_key@tls_record_c@@UAE?AW4eap_status_e@@W42@@Z @ 167 NONAME ; enum eap_status_e tls_record_c::complete_verify_with_public_key(enum eap_status_e)
-	?send_eap_notification_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 168 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_notification_response(class eap_am_network_id_c const *, unsigned char)
-	?get_tls_message_data@tls_message_c@@QAEPAVeap_variable_data_c@@XZ @ 169 NONAME ; class eap_variable_data_c * tls_message_c::get_tls_message_data(void)
-	?create_nonce@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 170 NONAME ; enum eap_status_e tls_application_eap_core_c::create_nonce(class eap_variable_data_c *)
-	??1eap_tls_peap_header_c@@UAE@XZ @ 171 NONAME ; eap_tls_peap_header_c::~eap_tls_peap_header_c(void)
-	?create_result_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4eap_code_value_e@@EW4tls_peap_tlv_type_e@@@Z @ 172 NONAME ; enum eap_status_e tls_application_eap_core_c::create_result_tlv_message(class eap_buf_chain_wr_c *, enum eap_code_value_e, unsigned char, enum tls_peap_tlv_type_e)
-	?shutdown@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 173 NONAME ; enum eap_status_e tls_application_eap_core_c::shutdown(void)
-	?complete_eap_identity_query@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 174 NONAME ; enum eap_status_e dummy_eap_core_c::complete_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char)
-	??4eap_diameter_avp_code_c@@QAEAAV0@W4eap_diameter_avp_code_of_ietf_e@@@Z @ 175 NONAME ; class eap_diameter_avp_code_c & eap_diameter_avp_code_c::operator=(enum eap_diameter_avp_code_of_ietf_e)
-	??4eap_diameter_avp_code_c@@QAEAAV0@ABV0@@Z @ 176 NONAME ; class eap_diameter_avp_code_c & eap_diameter_avp_code_c::operator=(class eap_diameter_avp_code_c const &)
-	?set_state@eap_type_tls_peap_c@@AAEXW4eap_type_tls_peap_state_variable_e@@@Z @ 177 NONAME ; void eap_type_tls_peap_c::set_state(enum eap_type_tls_peap_state_variable_e)
-	?set_send_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 178 NONAME ; enum eap_status_e tls_record_c::set_send_cipher_suite(enum tls_cipher_suites_e)
-	?packet_process@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 179 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process(class eap_variable_data_c *, unsigned char)
-	?get_nai_realm@eap_type_tls_peap_c@@AAEPAVeap_variable_data_c@@XZ @ 180 NONAME ; class eap_variable_data_c * eap_type_tls_peap_c::get_nai_realm(void)
-	??0mschapv2_change_password_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 181 NONAME ; mschapv2_change_password_c::mschapv2_change_password_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?load_type@dummy_eap_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@0PBVeap_am_network_id_c@@@Z @ 182 NONAME ; class eap_base_type_c * dummy_eap_core_c::load_type(class eap_expanded_type_c, class eap_expanded_type_c, class eap_am_network_id_c const *)
-	?add_rogue_ap@tls_record_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 183 NONAME ; enum eap_status_e tls_record_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?set_flag_more_fragments@eap_tls_peap_header_c@@QAEX_N@Z @ 184 NONAME ; void eap_tls_peap_header_c::set_flag_more_fragments(bool)
-	?timer_expired@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 185 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::timer_expired(unsigned long, void *)
-	?set_flag_start@eap_tls_peap_header_c@@QAEX_N@Z @ 186 NONAME ; void eap_tls_peap_header_c::set_flag_start(bool)
-	?set_tls_flag_bit@eap_tls_peap_header_c@@QBEX_NK@Z @ 187 NONAME ; void eap_tls_peap_header_c::set_tls_flag_bit(bool, unsigned long) const
-	?check_NAI@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBEK0@Z @ 188 NONAME ; enum eap_status_e eap_type_tls_peap_c::check_NAI(unsigned char const *, unsigned long, unsigned char const *)
-	?send_ttls_ms_chapv2_packet@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 189 NONAME ; enum eap_status_e tls_application_eap_core_c::send_ttls_ms_chapv2_packet(class eap_header_wr_c *)
-	?check_selected_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 190 NONAME ; enum eap_status_e tls_record_c::check_selected_cipher_suite(enum tls_cipher_suites_e)
-	?packet_send@eap_type_tls_peap_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 191 NONAME ; enum eap_status_e eap_type_tls_peap_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?set_dhe_prime@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 192 NONAME ; enum eap_status_e tls_handshake_message_c::set_dhe_prime(class eap_variable_data_c const *)
-	?send_tunneled_acknowledge_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@W4eap_code_value_e@@E@Z @ 193 NONAME ; enum eap_status_e tls_application_eap_core_c::send_tunneled_acknowledge_peap_v2(enum eap_code_value_e, unsigned char)
-	?get_alert@tls_record_message_c@@QBEPBVtls_alert_message_c@@K@Z @ 194 NONAME ; class tls_alert_message_c const * tls_record_message_c::get_alert(unsigned long) const
-	?shutdown@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 195 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::shutdown(void)
-	?get_is_valid@tls_record_message_c@@QAE_NXZ @ 196 NONAME ; bool tls_record_message_c::get_is_valid(void)
-	?set_peer_challenge@mschapv2_response_c@@QAEXPBE@Z @ 197 NONAME ; void mschapv2_response_c::set_peer_challenge(unsigned char const *)
-	?set_buffer@peap_tlv_variable_data_c@@QAE?AW4eap_status_e@@PBVtls_peap_tlv_header_c@@PAEK_N2@Z @ 198 NONAME ; enum eap_status_e peap_tlv_variable_data_c::set_buffer(class tls_peap_tlv_header_c const *, unsigned char *, unsigned long, bool, bool)
-	?get_peer_challenge@mschapv2_response_c@@QBEPBEXZ @ 199 NONAME ; unsigned char const * mschapv2_response_c::get_peer_challenge(void) const
-	??0peap_tlv_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 200 NONAME ; peap_tlv_variable_data_c::peap_tlv_variable_data_c(class abs_eap_am_tools_c *)
-	?cancel_query_realm@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 201 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_realm(void)
-	?packet_data_crypto_keys@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 202 NONAME ; enum eap_status_e tls_record_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?type_configure_write@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 203 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?create_handshake_type_hello_request@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 204 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_hello_request(void)
-	?get_start_offset_of_data@eap_tls_peap_header_c@@QBEKXZ @ 205 NONAME ; unsigned long eap_tls_peap_header_c::get_start_offset_of_data(void) const
-	?parse_handshake_type_certificate@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 206 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_certificate(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?parse_generic_payload@tls_application_eap_core_c@@AAE?AW4eap_status_e@@W4tls_peap_tlv_type_e@@PBVtls_peap_tlv_header_c@@PAVpeap_tlv_payloads_c@@@Z @ 207 NONAME ; enum eap_status_e tls_application_eap_core_c::parse_generic_payload(enum tls_peap_tlv_type_e, class tls_peap_tlv_header_c const *, class peap_tlv_payloads_c *)
-	?add_message_data@tls_handshake_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 208 NONAME ; enum eap_status_e tls_handshake_message_c::add_message_data(class eap_variable_data_c *)
-	?get_tls_min_header_length@eap_tls_peap_header_c@@QBEKXZ @ 209 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_min_header_length(void) const
-	?verify_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@W4tls_cipher_suites_e@@@Z @ 210 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::verify_certificate_chain(class eap_array_c<class eap_variable_data_c> const *, enum tls_cipher_suites_e)
-	?get_flag_more_fragments@eap_tls_peap_header_c@@QBE_NXZ @ 211 NONAME ; bool eap_tls_peap_header_c::get_flag_more_fragments(void) const
-	?select_cipher_suite_and_check_session_id@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@G@@PBVeap_variable_data_c@@@Z @ 212 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::select_cipher_suite_and_check_session_id(class eap_array_c<unsigned short> const *, class eap_variable_data_c const *)
-	?packet_send@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 213 NONAME ; enum eap_status_e dummy_eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?ttls_tunneled_message_state_process_identity_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 214 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_identity_request(class eap_header_wr_c *)
-	?analyse_tls_protocol_application_data@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_record_message_c@@E@Z @ 215 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_application_data(class tls_record_message_c const *, unsigned char)
-	?packet_process_peap_v1@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 216 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_peap_v1(class eap_variable_data_c *, unsigned char, unsigned long *)
-	?set_reassembly_state@eap_type_tls_peap_c@@AAEXW4eap_type_tls_peap_reassembly_state_e@@@Z @ 217 NONAME ; void eap_type_tls_peap_c::set_reassembly_state(enum eap_type_tls_peap_reassembly_state_e)
-	?get_eap_type_list@eap_am_type_tls_peap_symbian_c@@EAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 218 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	??1eap_type_tls_peap_c@@UAE@XZ @ 219 NONAME ; eap_type_tls_peap_c::~eap_type_tls_peap_c(void)
-	?ttls_server_handles_ms_chapv2_change_password@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 220 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_ms_chapv2_change_password(class eap_diameter_payloads_c *, unsigned char)
-	??1peap_tlv_payloads_c@@UAE@XZ @ 221 NONAME ; peap_tlv_payloads_c::~peap_tlv_payloads_c(void)
-	?shutdown@dummy_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 222 NONAME ; enum eap_status_e dummy_eap_core_c::shutdown(void)
-	?add_rogue_ap@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 223 NONAME ; enum eap_status_e eap_type_tls_peap_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?set_tls_am_partner@eap_am_type_tls_peap_symbian_c@@UAEXPAVabs_tls_am_services_c@@@Z @ 224 NONAME ; void eap_am_type_tls_peap_symbian_c::set_tls_am_partner(class abs_tls_am_services_c *)
-	??0tls_completion_c@@QAE@PAVabs_eap_am_tools_c@@W4tls_completion_action_e@@@Z @ 225 NONAME ; tls_completion_c::tls_completion_c(class abs_eap_am_tools_c *, enum tls_completion_action_e)
-	?set_peap_version@tls_application_eap_core_c@@UAEXW4peap_version_e@@_N1@Z @ 226 NONAME ; void tls_application_eap_core_c::set_peap_version(enum peap_version_e, bool, bool)
-	?get_send_network_id@eap_type_tls_peap_c@@AAEPAVeap_am_network_id_c@@XZ @ 227 NONAME ; class eap_am_network_id_c * eap_type_tls_peap_c::get_send_network_id(void)
-	?restart_authentication@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 228 NONAME ; enum eap_status_e tls_record_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?packet_send@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 229 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_last_eap_identifier@eap_type_tls_peap_c@@ABEEXZ @ 230 NONAME ; unsigned char eap_type_tls_peap_c::get_last_eap_identifier(void) const
-	?cancel_select_cipher_suite_and_check_session_id@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 231 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_select_cipher_suite_and_check_session_id(void)
-	?read_authority_identity@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 232 NONAME ; enum eap_status_e tls_application_eap_core_c::read_authority_identity(class eap_variable_data_c *)
-	??Ieap_diameter_avp_code_c@@QBEPBV0@XZ @ 233 NONAME ; class eap_diameter_avp_code_c const * eap_diameter_avp_code_c::operator&(void) const
-	?create_eap_identity_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_variable_data_c@@E@Z @ 234 NONAME ; enum eap_status_e dummy_eap_core_c::create_eap_identity_response(class eap_buf_chain_wr_c *, class eap_variable_data_c const *, unsigned char)
-	??1eap_diameter_avp_code_c@@QAE@XZ @ 235 NONAME ; eap_diameter_avp_code_c::~eap_diameter_avp_code_c(void)
-	?select_peap_version@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@K@Z @ 236 NONAME ; enum eap_status_e eap_type_tls_peap_c::select_peap_version(unsigned long)
-	?get_parsed_record@tls_record_message_c@@QBE_NXZ @ 237 NONAME ; bool tls_record_message_c::get_parsed_record(void) const
-	?create_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 238 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_certificate_verify(void)
-	?analyse_tls_protocol_handshake@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@E@Z @ 239 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_handshake(class tls_record_message_c *, unsigned char)
-	?write_configure@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 240 NONAME ; enum eap_status_e tls_application_eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_encrypted_pw_block@mschapv2_change_password_c@@QAEXPBE@Z @ 241 NONAME ; void mschapv2_change_password_c::set_encrypted_pw_block(unsigned char const *)
-	?get_version@tls_record_message_c@@QBE?AW4tls_version_e@@XZ @ 242 NONAME ; enum tls_version_e tls_record_message_c::get_version(void) const
-	??0eap_type_tls_peap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 243 NONAME ; eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool)
-	?set_encrypted_hash@mschapv2_change_password_c@@QAEXPBE@Z @ 244 NONAME ; void mschapv2_change_password_c::set_encrypted_hash(unsigned char const *)
-	?get_flag_start@eap_tls_peap_header_c@@QBE_NXZ @ 245 NONAME ; bool eap_tls_peap_header_c::get_flag_start(void) const
-	?get_encrypted_hash@mschapv2_change_password_c@@QBEPBEXZ @ 246 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_hash(void) const
-	?set_nai_realm@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 247 NONAME ; enum eap_status_e tls_record_c::set_nai_realm(class eap_variable_data_c const *)
-	?unload_module@tls_application_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 248 NONAME ; enum eap_status_e tls_application_eap_core_c::unload_module(class eap_expanded_type_c)
-	?tls_peap_packet_process@eap_type_tls_peap_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 249 NONAME ; enum eap_status_e eap_type_tls_peap_c::tls_peap_packet_process(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long)
-	?add_alert_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_alert_message_c@@_N@Z @ 250 NONAME ; enum eap_status_e tls_record_message_c::add_alert_message(class tls_alert_message_c *, bool)
-	?save_user_authorization_pac_opaque@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVtls_extension_c@@@Z @ 251 NONAME ; enum eap_status_e tls_application_eap_core_c::save_user_authorization_pac_opaque(class tls_extension_c const *)
-	?get_handshake_count@tls_record_message_c@@QBEKXZ @ 252 NONAME ; unsigned long tls_record_message_c::get_handshake_count(void) const
-	?get_eap_type_list@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 253 NONAME ; enum eap_status_e tls_application_eap_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?get_code_data@eap_diameter_avp_code_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAW4eap_diameter_avp_code_of_ietf_e@@@Z @ 254 NONAME ; enum eap_status_e eap_diameter_avp_code_c::get_code_data(class abs_eap_am_tools_c *, enum eap_diameter_avp_code_of_ietf_e *)
-	?get_alert_description_string@eap_tls_trace_string_c@@SAPBDW4tls_alert_description_e@@@Z @ 255 NONAME ; char const * eap_tls_trace_string_c::get_alert_description_string(enum tls_alert_description_e)
-	?get_is_valid@tls_application_eap_core_c@@UAE_NXZ @ 256 NONAME ; bool tls_application_eap_core_c::get_is_valid(void)
-	?get_dhe_prime@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 257 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_dhe_prime(void) const
-	?check_header@eap_tls_peap_header_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@_NW4peap_version_e@@2@Z @ 258 NONAME ; enum eap_status_e eap_tls_peap_header_c::check_header(class abs_eap_am_tools_c *, class eap_expanded_type_c, bool, enum peap_version_e, bool) const
-	?ttls_server_handles_pap_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 259 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_pap_response(class eap_diameter_payloads_c *, unsigned char)
-	?trace_eap_packet@dummy_eap_core_c@@QAEXPBDPBVeap_header_wr_c@@@Z @ 260 NONAME ; void dummy_eap_core_c::trace_eap_packet(char const *, class eap_header_wr_c const *)
-	?send_eap_nak_response@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 261 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_nak_response(class eap_am_network_id_c const *, unsigned char, class eap_array_c<class eap_expanded_type_c> const *)
-	?state_notification@eap_type_tls_peap_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 262 NONAME ; void eap_type_tls_peap_c::state_notification(class abs_eap_state_notification_c const *)
-	??1eap_tls_trace_string_c@@UAE@XZ @ 263 NONAME ; eap_tls_trace_string_c::~eap_tls_trace_string_c(void)
-	?query_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@PBV?$eap_array_c@E@@W4tls_cipher_suites_e@@@Z @ 264 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_certificate_chain(class eap_array_c<class eap_variable_data_c> const *, class eap_array_c<unsigned char> const *, enum tls_cipher_suites_e)
-	?start_peap_tunneled_authentication@tls_record_c@@EAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW4tls_session_type_e@@@Z @ 265 NONAME ; enum eap_status_e tls_record_c::start_peap_tunneled_authentication(class eap_am_network_id_c const *, unsigned char, enum tls_session_type_e)
-	?get_completion_action@tls_completion_c@@QBE?AW4tls_completion_action_e@@XZ @ 266 NONAME ; enum tls_completion_action_e tls_completion_c::get_completion_action(void) const
-	?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_application_data_message_c@@@Z @ 267 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_application_data_message_c *)
-	?get_is_tunneled_eap@dummy_eap_core_c@@UBE_NXZ @ 268 NONAME ; bool dummy_eap_core_c::get_is_tunneled_eap(void) const
-	?set_nt_response@mschapv2_response_c@@QAEXPBE@Z @ 269 NONAME ; void mschapv2_response_c::set_nt_response(unsigned char const *)
-	?start_ttls_tunneled_authentication@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 270 NONAME ; enum eap_status_e tls_application_eap_core_c::start_ttls_tunneled_authentication(class eap_am_network_id_c const *, unsigned char)
-	?object_increase_reference_count@dummy_eap_core_c@@QAEXXZ @ 271 NONAME ; void dummy_eap_core_c::object_increase_reference_count(void)
-	?state_notification@dummy_eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 272 NONAME ; void dummy_eap_core_c::state_notification(class abs_eap_state_notification_c const *)
-	?load_module@tls_application_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 273 NONAME ; enum eap_status_e tls_application_eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?set_certificate_chain@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 274 NONAME ; enum eap_status_e tls_handshake_message_c::set_certificate_chain(class eap_array_c<class eap_variable_data_c> const *)
-	?ttls_tunneled_message_state_process_change_password_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 275 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_change_password_response(class eap_header_wr_c *)
-	?get_original_header@peap_tlv_variable_data_c@@QBEPBVtls_peap_tlv_header_c@@XZ @ 276 NONAME ; class tls_peap_tlv_header_c const * peap_tlv_variable_data_c::get_original_header(void) const
-	?get_alert_count@tls_record_message_c@@QBEKXZ @ 277 NONAME ; unsigned long tls_record_message_c::get_alert_count(void) const
-	?set_parsed_record@tls_record_message_c@@QAEXXZ @ 278 NONAME ; void tls_record_message_c::set_parsed_record(void)
-	?get_saved_previous_state_string@eap_type_tls_peap_c@@ABEPBDXZ @ 279 NONAME ; char const * eap_type_tls_peap_c::get_saved_previous_state_string(void) const
-	?unload_module@tls_record_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 280 NONAME ; enum eap_status_e tls_record_c::unload_module(class eap_expanded_type_c)
-	?get_handshake_type@tls_handshake_message_c@@QBE?AW4tls_handshake_type_e@@XZ @ 281 NONAME ; enum tls_handshake_type_e tls_handshake_message_c::get_handshake_type(void) const
-	?set_state@tls_record_c@@AAEXW4tls_peap_state_e@@@Z @ 282 NONAME ; void tls_record_c::set_state(enum tls_peap_state_e)
-	?get_flag_version@eap_tls_peap_header_c@@QBEEXZ @ 283 NONAME ; unsigned char eap_tls_peap_header_c::get_flag_version(void) const
-	?get_challenge@mschapv2_challenge_c@@QBEPBEXZ @ 284 NONAME ; unsigned char const * mschapv2_challenge_c::get_challenge(void) const
-	?message_hash_save_finished@tls_record_c@@EAE?AW4eap_status_e@@_N@Z @ 285 NONAME ; enum eap_status_e tls_record_c::message_hash_save_finished(bool)
-	?ttls_client_handles_ms_chapv2_error@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 286 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_client_handles_ms_chapv2_error(class eap_diameter_payloads_c *, unsigned char)
-	?query_tunnel_PAC@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_fast_variable_data_c@@@Z @ 287 NONAME ; enum eap_status_e tls_application_eap_core_c::query_tunnel_PAC(class eap_fast_variable_data_c const *)
-	?send_eap_identity_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 288 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_identity_response(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char)
-	?set_selected_cipher_suite@tls_handshake_message_c@@QAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 289 NONAME ; enum eap_status_e tls_handshake_message_c::set_selected_cipher_suite(enum tls_cipher_suites_e)
-	??1tls_base_application_c@@UAE@XZ @ 290 NONAME ; tls_base_application_c::~tls_base_application_c(void)
-	?is_ttls_pap_session_valid@eap_am_type_tls_peap_symbian_c@@UAE_NXZ @ 291 NONAME ; bool eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid(void)
-	?get_analyse_index@tls_message_c@@QBEKXZ @ 292 NONAME ; unsigned long tls_message_c::get_analyse_index(void) const
-	?set_alert_description@tls_alert_message_c@@QAE?AW4eap_status_e@@W4tls_alert_description_e@@@Z @ 293 NONAME ; enum eap_status_e tls_alert_message_c::set_alert_description(enum tls_alert_description_e)
-	?message_hash_create_finished@tls_record_c@@EAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@@Z @ 294 NONAME ; enum eap_status_e tls_record_c::message_hash_create_finished(bool, class eap_variable_data_c *)
-	?packet_process@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 295 NONAME ; enum eap_status_e dummy_eap_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?set_name@mschapv2_response_c@@QAEXPBE@Z @ 296 NONAME ; void mschapv2_response_c::set_name(unsigned char const *)
-	?get_is_valid@tls_record_c@@UAE_NXZ @ 297 NONAME ; bool tls_record_c::get_is_valid(void)
-	?get_tls_flags_offset@eap_tls_peap_header_c@@QBEKXZ @ 298 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_flags_offset(void) const
-	?set_session_timeout@dummy_eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 299 NONAME ; enum eap_status_e dummy_eap_core_c::set_session_timeout(unsigned long)
-	?reset@peap_tlv_payloads_c@@QAEXXZ @ 300 NONAME ; void peap_tlv_payloads_c::reset(void)
-	?reset@tls_record_c@@UAE?AW4eap_status_e@@XZ @ 301 NONAME ; enum eap_status_e tls_record_c::reset(void)
-	?set_opcode@mschapv2_header_c@@QAEXW4mschapv2_opcode_e@@@Z @ 302 NONAME ; void mschapv2_header_c::set_opcode(enum mschapv2_opcode_e)
-	?cancel_rsa_encrypt_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 303 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_rsa_encrypt_with_public_key(void)
-	?set_is_valid@tls_alert_message_c@@AAEXXZ @ 304 NONAME ; void tls_alert_message_c::set_is_valid(void)
-	?get_cipher_suites@tls_handshake_message_c@@QBEPBV?$eap_array_c@G@@XZ @ 305 NONAME ; class eap_array_c<unsigned short> const * tls_handshake_message_c::get_cipher_suites(void) const
-	?handle_eap_identity_request@dummy_eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@EPBVeap_am_network_id_c@@@Z @ 306 NONAME ; enum eap_status_e dummy_eap_core_c::handle_eap_identity_request(class eap_expanded_type_c, unsigned char, class eap_am_network_id_c const *)
-	?query_eap_identity@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBVeap_am_network_id_c@@EPA_N020@Z @ 307 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_eap_identity(class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char, bool *, class eap_variable_data_c *, bool *, class eap_variable_data_c *)
-	?get_intermediate_result_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 308 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_intermediate_result_tlv(void)
-	?check_ttls_eap_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@PAW4eap_ttls_tunneled_message_type_e@@@Z @ 309 NONAME ; enum eap_status_e tls_application_eap_core_c::check_ttls_eap_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e *)
-	?complete_verify_ttls_pap_username_and_password@tls_application_eap_core_c@@UAE?AW4eap_status_e@@W42@PBVeap_variable_data_c@@@Z @ 310 NONAME ; enum eap_status_e tls_application_eap_core_c::complete_verify_ttls_pap_username_and_password(enum eap_status_e, class eap_variable_data_c const *)
-	?handle_eap_identity_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_base_type_c@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 311 NONAME ; enum eap_status_e dummy_eap_core_c::handle_eap_identity_response(class eap_base_type_c *, class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?get_certificate_authorities@tls_handshake_message_c@@QBEPBV?$eap_array_c@Veap_variable_data_c@@@@XZ @ 312 NONAME ; class eap_array_c<class eap_variable_data_c> const * tls_handshake_message_c::get_certificate_authorities(void) const
-	?analyse_tls_peap_packet@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 313 NONAME ; enum eap_status_e eap_type_tls_peap_c::analyse_tls_peap_packet(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long)
-	?get_is_valid@dummy_eap_core_c@@UAE_NXZ @ 314 NONAME ; bool dummy_eap_core_c::get_is_valid(void)
-	?check_header@mschapv2_header_c@@UBE?AW4eap_status_e@@XZ @ 315 NONAME ; enum eap_status_e mschapv2_header_c::check_header(void) const
-	?parse_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 316 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_certificate_verify(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?get_change_cipher_spec_count@tls_record_message_c@@QBEKXZ @ 317 NONAME ; unsigned long tls_record_message_c::get_change_cipher_spec_count(void) const
-	?empty_ack_packet_received@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 318 NONAME ; enum eap_status_e tls_record_c::empty_ack_packet_received(class eap_am_network_id_c const *, unsigned char)
-	?parse_tls_peap_payload@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAK@Z @ 319 NONAME ; enum eap_status_e eap_type_tls_peap_c::parse_tls_peap_payload(unsigned long *)
-	?create_eap_fast_mac_identity@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_variable_data_c@@@Z @ 320 NONAME ; enum eap_status_e eap_type_tls_peap_c::create_eap_fast_mac_identity(class eap_am_network_id_c const *, class eap_variable_data_c *)
-	?object_decrease_reference_count@dummy_eap_core_c@@QAEKXZ @ 321 NONAME ; unsigned long dummy_eap_core_c::object_decrease_reference_count(void)
-	?set_is_valid@tls_handshake_message_c@@AAEXXZ @ 322 NONAME ; void tls_handshake_message_c::set_is_valid(void)
-	?get_vendor_code@eap_diameter_avp_code_c@@QBEKXZ @ 323 NONAME ; unsigned long eap_diameter_avp_code_c::get_vendor_code(void) const
-	?get_state_string@eap_type_tls_peap_c@@SAPBDW4eap_type_tls_peap_state_variable_e@@@Z @ 324 NONAME ; char const * eap_type_tls_peap_c::get_state_string(enum eap_type_tls_peap_state_variable_e)
-	?set_protocol@tls_record_message_c@@QAE?AW4eap_status_e@@W4tls_record_protocol_e@@@Z @ 325 NONAME ; enum eap_status_e tls_record_message_c::set_protocol(enum tls_record_protocol_e)
-	?get_is_valid@peap_tlv_payloads_c@@QBE_NXZ @ 326 NONAME ; bool peap_tlv_payloads_c::get_is_valid(void) const
-	?send_eap_failure@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 327 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_failure(class eap_am_network_id_c const *, unsigned char)
-	?parse_peap_tlv_payload@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAEPAKPAVpeap_tlv_payloads_c@@@Z @ 328 NONAME ; enum eap_status_e tls_application_eap_core_c::parse_peap_tlv_payload(unsigned char *, unsigned long *, class peap_tlv_payloads_c *)
-	?get_encrypted_premaster_secret@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 329 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_encrypted_premaster_secret(void) const
-	??0tls_record_c@@QAE@PAVabs_eap_am_tools_c@@PAVtls_am_services_c@@_NPAVtls_base_application_c@@22Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 330 NONAME ; tls_record_c::tls_record_c(class abs_eap_am_tools_c *, class tls_am_services_c *, bool, class tls_base_application_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *)
-	?get_is_valid@tls_application_data_message_c@@QAE_NXZ @ 331 NONAME ; bool tls_application_data_message_c::get_is_valid(void)
-	?get_data@eap_diameter_variable_data_c@@QBEPAEK@Z @ 332 NONAME ; unsigned char * eap_diameter_variable_data_c::get_data(unsigned long) const
-	?check_header@mschapv2_challenge_c@@UBE?AW4eap_status_e@@XZ @ 333 NONAME ; enum eap_status_e mschapv2_challenge_c::check_header(void) const
-	?get_peer_challenge@mschapv2_change_password_c@@QBEPBEXZ @ 334 NONAME ; unsigned char const * mschapv2_change_password_c::get_peer_challenge(void) const
-	?query_realm@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 335 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_realm(class eap_array_c<class eap_variable_data_c> const *)
-	?set_tls_identity_privacy_handshake_state@tls_record_c@@AAEXW4tls_identity_privacy_handshake_state_e@@@Z @ 336 NONAME ; void tls_record_c::set_tls_identity_privacy_handshake_state(enum tls_identity_privacy_handshake_state_e)
-	?get_cipher_suite_string@eap_tls_trace_string_c@@SAPBDW4tls_cipher_suites_e@@@Z @ 337 NONAME ; char const * eap_tls_trace_string_c::get_cipher_suite_string(enum tls_cipher_suites_e)
-	?set_is_analysed@tls_application_data_message_c@@QAEXXZ @ 338 NONAME ; void tls_application_data_message_c::set_is_analysed(void)
-	?packet_process@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 339 NONAME ; enum eap_status_e eap_type_tls_peap_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?set_timer@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 340 NONAME ; enum eap_status_e dummy_eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?get_header_offset@tls_record_c@@UAEKPAK0@Z @ 341 NONAME ; unsigned long tls_record_c::get_header_offset(unsigned long *, unsigned long *)
-	?send_error_notification@tls_record_c@@AAEXW4eap_status_e@@@Z @ 342 NONAME ; void tls_record_c::send_error_notification(enum eap_status_e)
-	?get_reassembly_state_string@eap_type_tls_peap_c@@ABEPBDXZ @ 343 NONAME ; char const * eap_type_tls_peap_c::get_reassembly_state_string(void) const
-	?set_change_cipher_spec_type@tls_change_cipher_spec_message_c@@QAE?AW4eap_status_e@@W4tls_change_cipher_spec_type_e@@@Z @ 344 NONAME ; enum eap_status_e tls_change_cipher_spec_message_c::set_change_cipher_spec_type(enum tls_change_cipher_spec_type_e)
-	?complete_rsa_encrypt_with_public_key@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 345 NONAME ; enum eap_status_e tls_record_c::complete_rsa_encrypt_with_public_key(class eap_variable_data_c const *, enum eap_status_e)
-	?set_timer@tls_record_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 346 NONAME ; enum eap_status_e tls_record_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?reset_stream_ciphers@tls_record_c@@AAEX_N@Z @ 347 NONAME ; void tls_record_c::reset_stream_ciphers(bool)
-	?trace_tunneled_packet@tls_application_eap_core_c@@AAEXPBDPBVeap_header_wr_c@@@Z @ 348 NONAME ; void tls_application_eap_core_c::trace_tunneled_packet(char const *, class eap_header_wr_c const *)
-	?get_tls_max_header_length@eap_tls_peap_header_c@@SAKXZ @ 349 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_max_header_length(void)
-	?create_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 350 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_server_key_exchange(void)
-	?finish_successful_authentication@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@_N00@Z @ 351 NONAME ; enum eap_status_e eap_type_tls_peap_c::finish_successful_authentication(bool, bool, bool)
-	?handle_ttls_plain_mschapv2_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@W4eap_ttls_tunneled_message_type_e@@E@Z @ 352 NONAME ; enum eap_status_e tls_application_eap_core_c::handle_ttls_plain_mschapv2_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e, unsigned char)
-	?get_analyse_index@tls_record_message_c@@QBEKXZ @ 353 NONAME ; unsigned long tls_record_message_c::get_analyse_index(void) const
-	?get_is_valid@eap_type_tls_peap_c@@UAE_NXZ @ 354 NONAME ; bool eap_type_tls_peap_c::get_is_valid(void)
-	?get_nt_response@mschapv2_change_password_c@@QBEPBEXZ @ 355 NONAME ; unsigned char const * mschapv2_change_password_c::get_nt_response(void) const
-	??0eap_diameter_avp_code_c@@QAE@W4eap_diameter_avp_code_of_ietf_e@@@Z @ 356 NONAME ; eap_diameter_avp_code_c::eap_diameter_avp_code_c(enum eap_diameter_avp_code_of_ietf_e)
-	??0peap_tlv_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 357 NONAME ; peap_tlv_payloads_c::peap_tlv_payloads_c(class abs_eap_am_tools_c *)
-	?set_challenge@mschapv2_challenge_c@@QAEXPBE@Z @ 358 NONAME ; void mschapv2_challenge_c::set_challenge(unsigned char const *)
-	?analyse_handshake_type_certificate_request@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 359 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_certificate_request(class tls_handshake_message_c const *)
-	?get_result_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 360 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_result_tlv(void)
-	?get_compression_method_string@eap_tls_trace_string_c@@SAPBDW4tls_compression_method_e@@@Z @ 361 NONAME ; char const * eap_tls_trace_string_c::get_compression_method_string(enum tls_compression_method_e)
-	?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_alert_message_c@@@Z @ 362 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_alert_message_c *)
-	?get_certificate_types@tls_handshake_message_c@@QBEPBV?$eap_array_c@E@@XZ @ 363 NONAME ; class eap_array_c<unsigned char> const * tls_handshake_message_c::get_certificate_types(void) const
-	?get_is_analysed@tls_application_data_message_c@@QAE_NXZ @ 364 NONAME ; bool tls_application_data_message_c::get_is_analysed(void)
-	?cancel_sign_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 365 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_sign_with_private_key(void)
-	?eap_acknowledge@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 366 NONAME ; enum eap_status_e dummy_eap_core_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?get_eap_payload_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 367 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_eap_payload_tlv(void)
-	?set_failure_message_received@eap_type_tls_peap_c@@AAEXXZ @ 368 NONAME ; void eap_type_tls_peap_c::set_failure_message_received(void)
-	??0eap_diameter_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 369 NONAME ; eap_diameter_variable_data_c::eap_diameter_variable_data_c(class abs_eap_am_tools_c *)
-	?cancel_query_dh_parameters@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 370 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_dh_parameters(void)
-	?notify_configuration_error@eap_am_type_tls_peap_symbian_c@@QAEXW4eap_status_e@@@Z @ 371 NONAME ; void eap_am_type_tls_peap_symbian_c::notify_configuration_error(enum eap_status_e)
-	?create_handshake_type_server_hello_done@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 372 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_server_hello_done(void)
-	??0tls_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_message_hash_c@@PAVabs_tls_apply_cipher_spec_c@@PAVabs_tls_change_cipher_spec_c@@_N@Z @ 373 NONAME ; tls_message_c::tls_message_c(class abs_eap_am_tools_c *, class abs_tls_message_hash_c *, class abs_tls_apply_cipher_spec_c *, class abs_tls_change_cipher_spec_c *, bool)
-	?check_is_valid_eap_type@dummy_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 374 NONAME ; enum eap_status_e dummy_eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?get_is_valid@eap_am_type_tls_peap_symbian_c@@UAE_NXZ @ 375 NONAME ; bool eap_am_type_tls_peap_symbian_c::get_is_valid(void)
-	?cipher_suite_is_3DES_EDE_CBC_SHA@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 376 NONAME ; bool tls_record_c::cipher_suite_is_3DES_EDE_CBC_SHA(enum tls_cipher_suites_e) const
-	?get_compression_methods@tls_handshake_message_c@@QBEPBV?$eap_array_c@E@@XZ @ 377 NONAME ; class eap_array_c<unsigned char> const * tls_handshake_message_c::get_compression_methods(void) const
-	?check_is_valid_eap_type@tls_record_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 378 NONAME ; enum eap_status_e tls_record_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?get_failure_message_received@eap_type_tls_peap_c@@ABE_NXZ @ 379 NONAME ; bool eap_type_tls_peap_c::get_failure_message_received(void) const
-	?set_is_valid@tls_application_data_message_c@@AAEXXZ @ 380 NONAME ; void tls_application_data_message_c::set_is_valid(void)
-	??0eap_tls_peap_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 381 NONAME ; eap_tls_peap_header_c::eap_tls_peap_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?check_payloads_existense@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_diameter_avp_code_c@@@@@Z @ 382 NONAME ; enum eap_status_e eap_diameter_payloads_c::check_payloads_existense(class eap_array_c<class eap_diameter_avp_code_c> const *)
-	?set_completion_action@tls_completion_c@@QAEXW4tls_completion_action_e@@@Z @ 383 NONAME ; void tls_completion_c::set_completion_action(enum tls_completion_action_e)
-	?get_key_expansion_size@tls_record_c@@QAEKPAK0000@Z @ 384 NONAME ; unsigned long tls_record_c::get_key_expansion_size(unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned long *)
-	?reset_header@eap_tls_peap_header_c@@QAEXPAVabs_eap_am_tools_c@@Veap_expanded_type_c@@KW4peap_version_e@@_N@Z @ 385 NONAME ; void eap_tls_peap_header_c::reset_header(class abs_eap_am_tools_c *, class eap_expanded_type_c, unsigned long, enum peap_version_e, bool)
-	??1eap_diameter_payloads_c@@UAE@XZ @ 386 NONAME ; eap_diameter_payloads_c::~eap_diameter_payloads_c(void)
-	?parse_tls_peap_packet@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_tls_peap_header_c@@K@Z @ 387 NONAME ; enum eap_status_e eap_type_tls_peap_c::parse_tls_peap_packet(class eap_tls_peap_header_c *, unsigned long)
-	?read_configure@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 388 NONAME ; enum eap_status_e eap_type_tls_peap_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?send_tunneled_acknowledge_xp_peap_v0@tls_application_eap_core_c@@AAE?AW4eap_status_e@@W4eap_code_value_e@@E@Z @ 389 NONAME ; enum eap_status_e tls_application_eap_core_c::send_tunneled_acknowledge_xp_peap_v0(enum eap_code_value_e, unsigned char)
-	?set_tls_record_header_is_included@tls_record_message_c@@QAEX_N@Z @ 390 NONAME ; void tls_record_message_c::set_tls_record_header_is_included(bool)
-	?cancel_verify_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 391 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_verify_with_public_key(void)
-	?add_message_data@tls_alert_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 392 NONAME ; enum eap_status_e tls_alert_message_c::add_message_data(class eap_variable_data_c *)
-	?set_encrypted_premaster_secret@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 393 NONAME ; enum eap_status_e tls_handshake_message_c::set_encrypted_premaster_secret(class eap_variable_data_c const *)
-	?check_header@mschapv2_change_password_c@@UBE?AW4eap_status_e@@XZ @ 394 NONAME ; enum eap_status_e mschapv2_change_password_c::check_header(void) const
-	?create_crypto_binding_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4eap_code_value_e@@EPBVeap_variable_data_c@@E@Z @ 395 NONAME ; enum eap_status_e tls_application_eap_core_c::create_crypto_binding_tlv_message(class eap_buf_chain_wr_c *, enum eap_code_value_e, unsigned char, class eap_variable_data_c const *, unsigned char)
-	?create_handshake_type_certificate_request@tls_record_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@E@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 396 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_certificate_request(class eap_array_c<unsigned char> const *, class eap_array_c<class eap_variable_data_c> const *)
-	?get_selected_compression_method@tls_handshake_message_c@@QBE?AW4tls_compression_method_e@@XZ @ 397 NONAME ; enum tls_compression_method_e tls_handshake_message_c::get_selected_compression_method(void) const
-	?write_configure@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 398 NONAME ; enum eap_status_e dummy_eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?ttls_tunneled_message_state_process_identity_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 399 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_identity_response(class eap_header_wr_c *)
-	?init_retransmission@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 400 NONAME ; enum eap_status_e dummy_eap_core_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
-	?write_configure@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 401 NONAME ; enum eap_status_e eap_type_tls_peap_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_mschapv2_id@mschapv2_header_c@@QAEXE@Z @ 402 NONAME ; void mschapv2_header_c::set_mschapv2_id(unsigned char)
-	??1eap_type_tls_peap_state_notification_c@@UAE@XZ @ 403 NONAME ; eap_type_tls_peap_state_notification_c::~eap_type_tls_peap_state_notification_c(void)
-	?create_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@W4tls_alert_description_e@@W4tls_alert_level_e@@W42@@Z @ 404 NONAME ; enum eap_status_e tls_record_c::create_tls_protocol_alert(enum tls_alert_description_e, enum tls_alert_level_e, enum eap_status_e)
-	?load_module@dummy_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 405 NONAME ; enum eap_status_e dummy_eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?query_certificate_authorities_and_types@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 406 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_certificate_authorities_and_types(void)
-	?complete_eap_identity_query@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@EW42@_N030@Z @ 407 NONAME ; enum eap_status_e eap_type_tls_peap_c::complete_eap_identity_query(class eap_variable_data_c const *, class eap_am_network_id_c const *, unsigned char, enum eap_status_e, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *)
-	?create_intermediate_result_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4eap_code_value_e@@E@Z @ 408 NONAME ; enum eap_status_e tls_application_eap_core_c::create_intermediate_result_tlv_message(class eap_buf_chain_wr_c *, enum eap_code_value_e, unsigned char)
-	?get_data_offset@eap_tls_peap_header_c@@QBEPAEPAVabs_eap_am_tools_c@@KK@Z @ 409 NONAME ; unsigned char * eap_tls_peap_header_c::get_data_offset(class abs_eap_am_tools_c *, unsigned long, unsigned long) const
-	?reassemble_tls_records@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_record_header_c@@@Z @ 410 NONAME ; enum eap_status_e tls_record_c::reassemble_tls_records(class tls_record_message_c *, class tls_record_header_c *)
-	??1mschapv2_challenge_c@@UAE@XZ @ 411 NONAME ; mschapv2_challenge_c::~mschapv2_challenge_c(void)
-	?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_change_cipher_spec_message_c@@@Z @ 412 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_change_cipher_spec_message_c *)
-	?cancel_query_cipher_suites_and_previous_session@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 413 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_cipher_suites_and_previous_session(void)
-	?generate_premaster_secret@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 414 NONAME ; enum eap_status_e tls_record_c::generate_premaster_secret(void)
-	?apply_send_cipher_suite@tls_record_c@@EAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 415 NONAME ; enum eap_status_e tls_record_c::apply_send_cipher_suite(class eap_variable_data_c *)
-	?verify_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 416 NONAME ; enum eap_status_e tls_record_c::verify_ttls_pap_username_and_password(class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?empty_ack_packet_received@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 417 NONAME ; enum eap_status_e tls_application_eap_core_c::empty_ack_packet_received(class eap_am_network_id_c const *, unsigned char)
-	?parse_handshake_type_finished@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 418 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_finished(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?set_is_valid@tls_application_eap_core_c@@EAEXXZ @ 419 NONAME ; void tls_application_eap_core_c::set_is_valid(void)
-	?get_ttls_state_string@eap_tls_trace_string_c@@SAPBDW4eap_ttls_tunneled_message_state_e@@@Z @ 420 NONAME ; char const * eap_tls_trace_string_c::get_ttls_state_string(enum eap_ttls_tunneled_message_state_e)
-	?set_certificate_authorities@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 421 NONAME ; enum eap_status_e tls_handshake_message_c::set_certificate_authorities(class eap_array_c<class eap_variable_data_c> const *)
-	?parse_handshake_type_hello_request@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 422 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_hello_request(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?tls_message_process@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 423 NONAME ; enum eap_status_e eap_type_tls_peap_c::tls_message_process(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long)
-	?set_flag_reserved@eap_tls_peap_header_c@@QAEXE@Z @ 424 NONAME ; void eap_tls_peap_header_c::set_flag_reserved(unsigned char)
-	?complete_create_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 425 NONAME ; enum eap_status_e tls_record_c::complete_create_handshake_type_certificate_verify(void)
-	?get_eap_type_list@tls_record_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 426 NONAME ; enum eap_status_e tls_record_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?eap_status_return_and_create_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@W42@@Z @ 427 NONAME ; enum eap_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert(enum eap_status_e)
-	?get_eap_tls_master_session_key@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@0@Z @ 428 NONAME ; enum eap_status_e tls_record_c::get_eap_tls_master_session_key(class eap_variable_data_c *, class eap_variable_data_c *)
-	?get_payload_buffer@eap_diameter_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 429 NONAME ; class eap_variable_data_c * eap_diameter_variable_data_c::get_payload_buffer(void)
-	?ttls_server_handles_ms_chapv2_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 430 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_ms_chapv2_response(class eap_diameter_payloads_c *, unsigned char)
-	?message_hash_init@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 431 NONAME ; enum eap_status_e tls_record_c::message_hash_init(void)
-	?timer_delete_data@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 432 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::timer_delete_data(unsigned long, void *)
-	?analyse_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 433 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_certificate_verify(class tls_handshake_message_c const *)
-	?set_handshake_header_copy@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVtls_handshake_header_c@@@Z @ 434 NONAME ; enum eap_status_e tls_handshake_message_c::set_handshake_header_copy(class tls_handshake_header_c const *)
-	?get_data_length@eap_diameter_variable_data_c@@QBEKXZ @ 435 NONAME ; unsigned long eap_diameter_variable_data_c::get_data_length(void) const
-	??0tls_alert_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 436 NONAME ; tls_alert_message_c::tls_alert_message_c(class abs_eap_am_tools_c *, bool)
-	?eap_identity_response_packet_process@eap_type_tls_peap_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 437 NONAME ; enum eap_status_e eap_type_tls_peap_c::eap_identity_response_packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?get_flag_reserved@eap_tls_peap_header_c@@QBEEXZ @ 438 NONAME ; unsigned char eap_tls_peap_header_c::get_flag_reserved(void) const
-	?u16_t_to_network_order@tls_handshake_message_c@@CA?AW4eap_status_e@@PAGPAVabs_eap_am_tools_c@@@Z @ 439 NONAME ; enum eap_status_e tls_handshake_message_c::u16_t_to_network_order(unsigned short *, class abs_eap_am_tools_c *)
-	?process_tls_records@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 440 NONAME ; enum eap_status_e tls_record_c::process_tls_records(void)
-	?configure@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 441 NONAME ; enum eap_status_e eap_type_tls_peap_c::configure(void)
-	?ttls_tunneled_message_state_complete_success_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 442 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_complete_success_request(class eap_header_wr_c *)
-	?set_value_size@mschapv2_challenge_c@@QAEXXZ @ 443 NONAME ; void mschapv2_challenge_c::set_value_size(void)
-	?get_is_tunneled_tls@tls_record_c@@QAE_NXZ @ 444 NONAME ; bool tls_record_c::get_is_tunneled_tls(void)
-	?set_application_partner@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_tls_base_application_c@@@Z @ 445 NONAME ; enum eap_status_e tls_application_eap_core_c::set_application_partner(class abs_tls_base_application_c *)
-	?completion_action_check@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 446 NONAME ; enum eap_status_e tls_record_c::completion_action_check(void)
-	?get_completion_action_string@tls_completion_c@@QBEPBDXZ @ 447 NONAME ; char const * tls_completion_c::get_completion_action_string(void) const
-	?get_state@eap_type_tls_peap_c@@ABE?AW4eap_type_tls_peap_state_variable_e@@XZ @ 448 NONAME ; enum eap_type_tls_peap_state_variable_e eap_type_tls_peap_c::get_state(void) const
-	?complete_query_cipher_suites_and_previous_session@tls_record_c@@UAE?AW4eap_status_e@@W4tls_session_type_e@@PBV?$eap_array_c@G@@PBV?$eap_array_c@E@@PBVeap_variable_data_c@@3W4tls_cipher_suites_e@@W42@@Z @ 449 NONAME ; enum eap_status_e tls_record_c::complete_query_cipher_suites_and_previous_session(enum tls_session_type_e, class eap_array_c<unsigned short> const *, class eap_array_c<unsigned char> const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum tls_cipher_suites_e, enum eap_status_e)
-	?get_name@mschapv2_challenge_c@@QBEPBEXZ @ 450 NONAME ; unsigned char const * mschapv2_challenge_c::get_name(void) const
-	?get_tls_flags@eap_tls_peap_header_c@@QBEPAEXZ @ 451 NONAME ; unsigned char * eap_tls_peap_header_c::get_tls_flags(void) const
-	?alert_received@tls_application_eap_core_c@@UAE?AW4eap_status_e@@W4tls_alert_level_e@@W4tls_alert_description_e@@@Z @ 452 NONAME ; enum eap_status_e tls_application_eap_core_c::alert_received(enum tls_alert_level_e, enum tls_alert_description_e)
-	??1eap_diameter_variable_data_c@@UAE@XZ @ 453 NONAME ; eap_diameter_variable_data_c::~eap_diameter_variable_data_c(void)
-	?parse_handshake_type_certificate_request@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 454 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_certificate_request(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?check_version_list@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@GPAE@Z @ 455 NONAME ; enum eap_status_e eap_type_tls_peap_c::check_version_list(unsigned short, unsigned char *)
-	?create_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 456 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_client_key_exchange(void)
-	?packet_data_crypto_keys@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 457 NONAME ; enum eap_status_e dummy_eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?get_extra_padding_length@tls_record_c@@AAEEEK@Z @ 458 NONAME ; unsigned char tls_record_c::get_extra_padding_length(unsigned char, unsigned long)
-	?get_is_mandatory@eap_diameter_variable_data_c@@QBE_NXZ @ 459 NONAME ; bool eap_diameter_variable_data_c::get_is_mandatory(void) const
-	?packet_process_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 460 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_peap_v2(class eap_variable_data_c *, unsigned char, unsigned long *)
-	?client_proposes_eap_types@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 461 NONAME ; enum eap_status_e dummy_eap_core_c::client_proposes_eap_types(class eap_am_network_id_c const *, unsigned char)
-	?get_payload_code@eap_diameter_variable_data_c@@QBE?AVeap_diameter_avp_code_c@@XZ @ 462 NONAME ; class eap_diameter_avp_code_c eap_diameter_variable_data_c::get_payload_code(void) const
-	?get_received_eap_identifier@tls_message_c@@QAEEXZ @ 463 NONAME ; unsigned char tls_message_c::get_received_eap_identifier(void)
-	?parse_handshake_type_server_hello@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 464 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_server_hello(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?restore_saved_previous_state@eap_type_tls_peap_c@@AAEXXZ @ 465 NONAME ; void eap_type_tls_peap_c::restore_saved_previous_state(void)
-	?complete_sign_with_private_key@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 466 NONAME ; enum eap_status_e tls_record_c::complete_sign_with_private_key(class eap_variable_data_c const *, enum eap_status_e)
-	?get_reassembly_state_string@eap_type_tls_peap_c@@SAPBDW4eap_type_tls_peap_reassembly_state_e@@@Z @ 467 NONAME ; char const * eap_type_tls_peap_c::get_reassembly_state_string(enum eap_type_tls_peap_reassembly_state_e)
-	?reset@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@XZ @ 468 NONAME ; enum eap_status_e eap_diameter_payloads_c::reset(void)
-	?get_public_dhe_key@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 469 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_public_dhe_key(void) const
-	?set_last_eap_identifier@eap_type_tls_peap_c@@AAEXE@Z @ 470 NONAME ; void eap_type_tls_peap_c::set_last_eap_identifier(unsigned char)
-	?copy@eap_diameter_variable_data_c@@QBEPAV1@XZ @ 471 NONAME ; class eap_diameter_variable_data_c * eap_diameter_variable_data_c::copy(void) const
-	?initialize_asynchronous_init_remove_eap_session@dummy_eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 472 NONAME ; enum eap_status_e dummy_eap_core_c::initialize_asynchronous_init_remove_eap_session(unsigned long)
-	?get_handshake@tls_record_message_c@@QBEPAVtls_handshake_message_c@@K@Z @ 473 NONAME ; class tls_handshake_message_c * tls_record_message_c::get_handshake(unsigned long) const
-	?reset_operation@dummy_eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 474 NONAME ; enum eap_status_e dummy_eap_core_c::reset_operation(class eap_base_type_c *, class abs_eap_am_tools_c *)
-	?handle_eap_identity_query@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@E_N020@Z @ 475 NONAME ; enum eap_status_e eap_type_tls_peap_c::handle_eap_identity_query(class eap_variable_data_c const *, class eap_am_network_id_c const *, unsigned char, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *)
-	?get_tls_flag_value@eap_tls_peap_header_c@@QBEEKK@Z @ 476 NONAME ; unsigned char eap_tls_peap_header_c::get_tls_flag_value(unsigned long, unsigned long) const
-	?query_ttls_pap_username_and_password@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 477 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(class eap_variable_data_c const *)
-	?reset@dummy_eap_core_c@@QAE?AW4eap_status_e@@XZ @ 478 NONAME ; enum eap_status_e dummy_eap_core_c::reset(void)
-	?get_data_length@eap_tls_peap_header_c@@QBEGXZ @ 479 NONAME ; unsigned short eap_tls_peap_header_c::get_data_length(void) const
-	?packet_data_crypto_keys@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 480 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	??0tls_application_data_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 481 NONAME ; tls_application_data_message_c::tls_application_data_message_c(class abs_eap_am_tools_c *, bool)
-	?send_tls_message@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 482 NONAME ; enum eap_status_e tls_record_c::send_tls_message(void)
-	?cancel_timer@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 483 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?get_is_valid@tls_completion_c@@QAE_NXZ @ 484 NONAME ; bool tls_completion_c::get_is_valid(void)
-	?cipher_suite_is_RC4_128_SHA@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 485 NONAME ; bool tls_record_c::cipher_suite_is_RC4_128_SHA(enum tls_cipher_suites_e) const
-	?set_session_timeout@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@K@Z @ 486 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_session_timeout(unsigned long)
-	?allocate_handshake_message@tls_record_c@@AAE?AW4eap_status_e@@PAPAVtls_handshake_message_c@@PAV?$eap_automatic_variable_c@Vtls_handshake_message_c@@@@W4tls_handshake_type_e@@@Z @ 487 NONAME ; enum eap_status_e tls_record_c::allocate_handshake_message(class tls_handshake_message_c * *, class eap_automatic_variable_c<class tls_handshake_message_c> *, enum tls_handshake_type_e)
-	?get_data@mschapv2_header_c@@QBEPAEXZ @ 488 NONAME ; unsigned char * mschapv2_header_c::get_data(void) const
-	?get_next_tls_record_message_protocol@tls_record_c@@EAE?AW4tls_record_protocol_e@@XZ @ 489 NONAME ; enum tls_record_protocol_e tls_record_c::get_next_tls_record_message_protocol(void)
-	?query_eap_identity@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 490 NONAME ; enum eap_status_e eap_type_tls_peap_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char)
-	??0tls_change_cipher_spec_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_change_cipher_spec_c@@_N@Z @ 491 NONAME ; tls_change_cipher_spec_message_c::tls_change_cipher_spec_message_c(class abs_eap_am_tools_c *, class abs_tls_change_cipher_spec_c *, bool)
-	?cipher_suite_is_AES_128_CBC_SHA@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 492 NONAME ; bool tls_record_c::cipher_suite_is_AES_128_CBC_SHA(enum tls_cipher_suites_e) const
-	?get_mschapv2_id@mschapv2_header_c@@QBEEXZ @ 493 NONAME ; unsigned char mschapv2_header_c::get_mschapv2_id(void) const
-	?check_is_valid_eap_type@tls_application_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 494 NONAME ; enum eap_status_e tls_application_eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?get_tls_flag_bit@eap_tls_peap_header_c@@QBE_NK@Z @ 495 NONAME ; bool eap_tls_peap_header_c::get_tls_flag_bit(unsigned long) const
-	??0eap_type_tls_peap_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_tls_peap_c@@_NPAVtls_base_record_c@@33Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 496 NONAME ; eap_type_tls_peap_c::eap_type_tls_peap_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_tls_peap_c *, bool, class tls_base_record_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *)
-	??0eap_type_tls_peap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 497 NONAME ; eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool)
-	?get_eap_type_string@eap_tls_peap_header_c@@QBEPBDXZ @ 498 NONAME ; char const * eap_tls_peap_header_c::get_eap_type_string(void) const
-	?set_handshake_type@tls_handshake_message_c@@QAE?AW4eap_status_e@@W4tls_handshake_type_e@@@Z @ 499 NONAME ; enum eap_status_e tls_handshake_message_c::set_handshake_type(enum tls_handshake_type_e)
-	?ttls_tunneled_message_state_complete_error_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 500 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_complete_error_request(class eap_header_wr_c *)
-	?add_change_cipher_spec_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_change_cipher_spec_message_c@@_N@Z @ 501 NONAME ; enum eap_status_e tls_record_message_c::add_change_cipher_spec_message(class tls_change_cipher_spec_message_c *, bool)
-	?handle_tls_peap_packet@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 502 NONAME ; enum eap_status_e eap_type_tls_peap_c::handle_tls_peap_packet(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long)
-	?send_empty_eap_ack@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@XZ @ 503 NONAME ; enum eap_status_e eap_type_tls_peap_c::send_empty_eap_ack(void)
-	?get_is_valid@eap_diameter_payloads_c@@QBE_NXZ @ 504 NONAME ; bool eap_diameter_payloads_c::get_is_valid(void) const
-	?set_tls_session_type@tls_record_c@@AAE?AW4eap_status_e@@W4tls_session_type_e@@@Z @ 505 NONAME ; enum eap_status_e tls_record_c::set_tls_session_type(enum tls_session_type_e)
-	?ttls_client_handles_ms_chapv2_success@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 506 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_client_handles_ms_chapv2_success(class eap_diameter_payloads_c *, unsigned char)
-	?get_tls_prf_data@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@000PAV3@K@Z @ 507 NONAME ; enum eap_status_e tls_record_c::get_tls_prf_data(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?get_is_valid@tls_alert_message_c@@QAE_NXZ @ 508 NONAME ; bool tls_alert_message_c::get_is_valid(void)
-	?set_ms_length@mschapv2_header_c@@QAEXG@Z @ 509 NONAME ; void mschapv2_header_c::set_ms_length(unsigned short)
-	??1dummy_eap_core_c@@UAE@XZ @ 510 NONAME ; dummy_eap_core_c::~dummy_eap_core_c(void)
-	?timer_expired@dummy_eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 511 NONAME ; enum eap_status_e dummy_eap_core_c::timer_expired(unsigned long, void *)
-	??1tls_base_record_c@@UAE@XZ @ 512 NONAME ; tls_base_record_c::~tls_base_record_c(void)
-	?reset@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 513 NONAME ; enum eap_status_e tls_application_eap_core_c::reset(void)
-	?analyse_tls_protocol_change_cipher_spec@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_record_message_c@@@Z @ 514 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_change_cipher_spec(class tls_record_message_c const *)
-	?get_state@tls_record_c@@ABE?AW4tls_peap_state_e@@XZ @ 515 NONAME ; enum tls_peap_state_e tls_record_c::get_state(void) const
-	?rsa_decrypt_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 516 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::rsa_decrypt_with_private_key(class eap_variable_data_c const *)
-	?check_ttls_plain_mschapv2_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@PAW4eap_ttls_tunneled_message_type_e@@@Z @ 517 NONAME ; enum eap_status_e tls_application_eap_core_c::check_ttls_plain_mschapv2_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e *)
-	?set_buffer@eap_diameter_variable_data_c@@QAE?AW4eap_status_e@@Veap_diameter_avp_code_c@@_NPBEK11@Z @ 518 NONAME ; enum eap_status_e eap_diameter_variable_data_c::set_buffer(class eap_diameter_avp_code_c, bool, unsigned char const *, unsigned long, bool, bool)
-	?set_alert_level@tls_alert_message_c@@QAE?AW4eap_status_e@@W4tls_alert_level_e@@@Z @ 519 NONAME ; enum eap_status_e tls_alert_message_c::set_alert_level(enum tls_alert_level_e)
-	?set_timer@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 520 NONAME ; enum eap_status_e tls_application_eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?start_tls_peap_authentication@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 521 NONAME ; enum eap_status_e eap_type_tls_peap_c::start_tls_peap_authentication(class eap_variable_data_c const *)
-	?set_nt_response@mschapv2_change_password_c@@QAEXPBE@Z @ 522 NONAME ; void mschapv2_change_password_c::set_nt_response(unsigned char const *)
-	?analyse_handshake_type_hello_request@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 523 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_hello_request(class tls_handshake_message_c const *)
-	??Ieap_diameter_avp_code_c@@QAEPAV0@XZ @ 524 NONAME ; class eap_diameter_avp_code_c * eap_diameter_avp_code_c::operator&(void)
-	?query_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 525 NONAME ; enum eap_status_e tls_record_c::query_ttls_pap_username_and_password(class eap_variable_data_c const *)
-	?change_cipher_spec@tls_record_c@@UAE?AW4eap_status_e@@_N@Z @ 526 NONAME ; enum eap_status_e tls_record_c::change_cipher_spec(bool)
-	?create_compound_session_key_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 527 NONAME ; enum eap_status_e tls_application_eap_core_c::create_compound_session_key_peap_v2(void)
-	?get_partner@dummy_eap_core_c@@QAEPAVabs_eap_core_c@@XZ @ 528 NONAME ; class abs_eap_core_c * dummy_eap_core_c::get_partner(void)
-	?set_constants@mschapv2_change_password_c@@QAE?AW4eap_status_e@@XZ @ 529 NONAME ; enum eap_status_e mschapv2_change_password_c::set_constants(void)
-	?are_pending_queries_completed@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 530 NONAME ; enum eap_status_e tls_record_c::are_pending_queries_completed(void)
-	?plain_eap_success_failure_packet_received@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eap_code_value_e@@E@Z @ 531 NONAME ; enum eap_status_e tls_record_c::plain_eap_success_failure_packet_received(class eap_am_network_id_c const *, enum eap_code_value_e, unsigned char)
-	?generate_key_material@tls_record_c@@QAE?AW4eap_status_e@@XZ @ 532 NONAME ; enum eap_status_e tls_record_c::generate_key_material(void)
-	?peap_tunnel_ready@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 533 NONAME ; enum eap_status_e eap_type_tls_peap_c::peap_tunnel_ready(void)
-	?set_record_header_copy@tls_record_message_c@@QAE?AW4eap_status_e@@PBVtls_record_header_c@@@Z @ 534 NONAME ; enum eap_status_e tls_record_message_c::set_record_header_copy(class tls_record_header_c const *)
-	?read_configure@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 535 NONAME ; enum eap_status_e tls_record_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_code_string@eap_tls_peap_header_c@@QBEPBDXZ @ 536 NONAME ; char const * eap_tls_peap_header_c::get_code_string(void) const
-	?state_notification@tls_application_eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 537 NONAME ; void tls_application_eap_core_c::state_notification(class abs_eap_state_notification_c const *)
-	?set_version@tls_record_message_c@@QAE?AW4eap_status_e@@W4tls_version_e@@@Z @ 538 NONAME ; enum eap_status_e tls_record_message_c::set_version(enum tls_version_e)
-	?get_signed_message_hash@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 539 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_signed_message_hash(void) const
-	?read_authority_identity@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 540 NONAME ; enum eap_status_e tls_record_c::read_authority_identity(class eap_variable_data_c *)
-	?get_change_cipher_spec_type@tls_change_cipher_spec_message_c@@QBE?AW4tls_change_cipher_spec_type_e@@XZ @ 541 NONAME ; enum tls_change_cipher_spec_type_e tls_change_cipher_spec_message_c::get_change_cipher_spec_type(void) const
-	?create_server_key_exchange_md5_hash@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00PAV3@@Z @ 542 NONAME ; enum eap_status_e tls_record_c::create_server_key_exchange_md5_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_certificate_chain@tls_handshake_message_c@@QBEPBV?$eap_array_c@Veap_variable_data_c@@@@XZ @ 543 NONAME ; class eap_array_c<class eap_variable_data_c> const * tls_handshake_message_c::get_certificate_chain(void) const
-	?get_code_data@eap_diameter_avp_code_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAV1@@Z @ 544 NONAME ; enum eap_status_e eap_diameter_avp_code_c::get_code_data(class abs_eap_am_tools_c *, class eap_diameter_avp_code_c *)
-	?get_tls_length_offset@eap_tls_peap_header_c@@QBEKXZ @ 545 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_length_offset(void) const
-	??0tls_record_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_message_hash_c@@_N@Z @ 546 NONAME ; tls_record_message_c::tls_record_message_c(class abs_eap_am_tools_c *, class abs_tls_message_hash_c *, bool)
-	??1tls_application_eap_core_c@@UAE@XZ @ 547 NONAME ; tls_application_eap_core_c::~tls_application_eap_core_c(void)
-	?get_record_message_count@tls_message_c@@QBEKXZ @ 548 NONAME ; unsigned long tls_message_c::get_record_message_count(void) const
-	?get_session_id@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 549 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_session_id(void) const
-	?apply_receive_block_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_cbc_block_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 550 NONAME ; enum eap_status_e tls_record_c::apply_receive_block_cipher_suite(class eap_variable_data_c *, class abs_crypto_cbc_block_algorithm_c *, class abs_crypto_hmac_algorithm_c *)
-	?alert_received@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@W4tls_alert_level_e@@W4tls_alert_description_e@@@Z @ 551 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::alert_received(enum tls_alert_level_e, enum tls_alert_description_e)
-	?set_is_valid@tls_record_c@@EAEXXZ @ 552 NONAME ; void tls_record_c::set_is_valid(void)
-	?get_application_data@tls_record_message_c@@QBEPAVtls_application_data_message_c@@K@Z @ 553 NONAME ; class tls_application_data_message_c * tls_record_message_c::get_application_data(unsigned long) const
-	?u16_t_to_host_order@tls_record_c@@CA?AW4eap_status_e@@PAGPAVabs_eap_am_tools_c@@@Z @ 554 NONAME ; enum eap_status_e tls_record_c::u16_t_to_host_order(unsigned short *, class abs_eap_am_tools_c *)
-	?send_eap_success@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 555 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_success(class eap_am_network_id_c const *, unsigned char)
-	?reset@tls_message_c@@QAE?AW4eap_status_e@@XZ @ 556 NONAME ; enum eap_status_e tls_message_c::reset(void)
-	?complete_query_certificate_chain@tls_record_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@W42@@Z @ 557 NONAME ; enum eap_status_e tls_record_c::complete_query_certificate_chain(class eap_array_c<class eap_variable_data_c> const *, enum eap_status_e)
-	?parse_tls_protocol_application_data@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 558 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_application_data(class tls_record_message_c *, class eap_variable_data_c *)
-	?set_cipher_suite_applied@tls_record_message_c@@QAEXXZ @ 559 NONAME ; void tls_record_message_c::set_cipher_suite_applied(void)
-	?read_configure@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 560 NONAME ; enum eap_status_e tls_application_eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?set_dhe_group_generator@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 561 NONAME ; enum eap_status_e tls_handshake_message_c::set_dhe_group_generator(class eap_variable_data_c const *)
-	?set_tls_master_secret@tls_record_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 562 NONAME ; enum eap_status_e tls_record_c::set_tls_master_secret(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?set_peer_challenge@mschapv2_change_password_c@@QAEXPBE@Z @ 563 NONAME ; void mschapv2_change_password_c::set_peer_challenge(unsigned char const *)
-	?cipher_suite_initialization_stream@tls_record_c@@AAE?AW4eap_status_e@@PAVabs_crypto_stream_algorithm_c@@PBVeap_variable_data_c@@_N@Z @ 564 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_stream(class abs_crypto_stream_algorithm_c *, class eap_variable_data_c const *, bool)
-	?unset_marked_removed@dummy_eap_core_c@@QAEXXZ @ 565 NONAME ; void dummy_eap_core_c::unset_marked_removed(void)
-	?complete_rsa_decrypt_with_private_key@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 566 NONAME ; enum eap_status_e tls_record_c::complete_rsa_decrypt_with_private_key(class eap_variable_data_c const *, enum eap_status_e)
-	?set_copy_of_buffer@peap_tlv_variable_data_c@@QAE?AW4eap_status_e@@PBVtls_peap_tlv_header_c@@@Z @ 567 NONAME ; enum eap_status_e peap_tlv_variable_data_c::set_copy_of_buffer(class tls_peap_tlv_header_c const *)
-	?is_ietf_code@eap_diameter_avp_code_c@@SA_NV1@@Z @ 568 NONAME ; bool eap_diameter_avp_code_c::is_ietf_code(class eap_diameter_avp_code_c)
-	?parse_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 569 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_server_key_exchange(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?get_state_string@eap_tls_trace_string_c@@SAPBDW4tls_peap_state_e@@@Z @ 570 NONAME ; char const * eap_tls_trace_string_c::get_state_string(enum tls_peap_state_e)
-	?analyse_handshake_type_certificate@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 571 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_certificate(class tls_handshake_message_c const *)
-	?add_data_length@tls_record_message_c@@QAE?AW4eap_status_e@@K@Z @ 572 NONAME ; enum eap_status_e tls_record_message_c::add_data_length(unsigned long)
-	?set_record_message_data@tls_record_message_c@@QAE?AW4eap_status_e@@PAXK@Z @ 573 NONAME ; enum eap_status_e tls_record_message_c::set_record_message_data(void *, unsigned long)
-	?analyse_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 574 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_client_key_exchange(class tls_handshake_message_c const *)
-	?create_message_data@tls_handshake_message_c@@QAE?AW4eap_status_e@@XZ @ 575 NONAME ; enum eap_status_e tls_handshake_message_c::create_message_data(void)
-	??8eap_diameter_avp_code_c@@QBE_NABV0@@Z @ 576 NONAME ; bool eap_diameter_avp_code_c::operator==(class eap_diameter_avp_code_c const &) const
-	?add_data@eap_diameter_variable_data_c@@QAE?AW4eap_status_e@@PBEK@Z @ 577 NONAME ; enum eap_status_e eap_diameter_variable_data_c::add_data(unsigned char const *, unsigned long)
-	?convert_eap_diameter_avp_code_to_u32_t@@YAKVeap_diameter_avp_code_c@@@Z @ 578 NONAME ; unsigned long convert_eap_diameter_avp_code_to_u32_t(class eap_diameter_avp_code_c)
-	??0eap_diameter_avp_code_c@@QAE@W4eap_diameter_vendor_id_e@@K@Z @ 579 NONAME ; eap_diameter_avp_code_c::eap_diameter_avp_code_c(enum eap_diameter_vendor_id_e, unsigned long)
-	?get_dhe_group_generator@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 580 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_dhe_group_generator(void) const
-	?parse_tls_protocol_handshake@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 581 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_handshake(class tls_record_message_c *, class eap_variable_data_c *)
-	?cipher_suite_initialization@tls_record_c@@AAE?AW4eap_status_e@@_N@Z @ 582 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization(bool)
-	??9eap_diameter_avp_code_c@@QBE_NABV0@@Z @ 583 NONAME ; bool eap_diameter_avp_code_c::operator!=(class eap_diameter_avp_code_c const &) const
-	?eap_tls_peap_fragment_send@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@XZ @ 584 NONAME ; enum eap_status_e eap_type_tls_peap_c::eap_tls_peap_fragment_send(void)
-	?save_analyse_index@tls_record_message_c@@QAEXK@Z @ 585 NONAME ; void tls_record_message_c::save_analyse_index(unsigned long)
-	?complete_query_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W42@@Z @ 586 NONAME ; enum eap_status_e tls_record_c::complete_query_ttls_pap_username_and_password(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e)
-	?packet_process@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 587 NONAME ; enum eap_status_e tls_record_c::packet_process(class eap_variable_data_c *, unsigned char)
-	?set_eap_failure_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 588 NONAME ; enum eap_status_e dummy_eap_core_c::set_eap_failure_timeout(void)
-	??1mschapv2_header_c@@UAE@XZ @ 589 NONAME ; mschapv2_header_c::~mschapv2_header_c(void)
-	?get_header_offset@dummy_eap_core_c@@UAEKPAK0@Z @ 590 NONAME ; unsigned long dummy_eap_core_c::get_header_offset(unsigned long *, unsigned long *)
-	?get_tls_message_length@eap_tls_peap_header_c@@QBE?AW4eap_status_e@@PAK@Z @ 591 NONAME ; enum eap_status_e eap_tls_peap_header_c::get_tls_message_length(unsigned long *) const
-	?allocate_handshake_message_copy@tls_record_c@@AAE?AW4eap_status_e@@PAPAVtls_handshake_message_c@@PAV?$eap_automatic_variable_c@Vtls_handshake_message_c@@@@PAVtls_handshake_header_c@@@Z @ 592 NONAME ; enum eap_status_e tls_record_c::allocate_handshake_message_copy(class tls_handshake_message_c * *, class eap_automatic_variable_c<class tls_handshake_message_c> *, class tls_handshake_header_c *)
-	?cancel_session_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 593 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_session_timeout(void)
-	?apply_send_stream_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_stream_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 594 NONAME ; enum eap_status_e tls_record_c::apply_send_stream_cipher_suite(class eap_variable_data_c *, class abs_crypto_stream_algorithm_c *, class abs_crypto_hmac_algorithm_c *)
-	?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_handshake_message_c@@@Z @ 595 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_handshake_message_c *)
-	??0eap_diameter_avp_code_c@@QAE@XZ @ 596 NONAME ; eap_diameter_avp_code_c::eap_diameter_avp_code_c(void)
-	?get_tls_session_type_string@eap_tls_trace_string_c@@SAPBDW4tls_session_type_e@@@Z @ 597 NONAME ; char const * eap_tls_trace_string_c::get_tls_session_type_string(enum tls_session_type_e)
-	?set_selected_compression_method@tls_handshake_message_c@@QAE?AW4eap_status_e@@W4tls_compression_method_e@@@Z @ 598 NONAME ; enum eap_status_e tls_handshake_message_c::set_selected_compression_method(enum tls_compression_method_e)
-	?complete_verify_certificate_chain@tls_record_c@@UAE?AW4eap_status_e@@W42@@Z @ 599 NONAME ; enum eap_status_e tls_record_c::complete_verify_certificate_chain(enum eap_status_e)
-	?add_message_data@tls_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@PA_N@Z @ 600 NONAME ; enum eap_status_e tls_message_c::add_message_data(class eap_variable_data_c *, bool *)
-	?complete_verify_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@W42@PBVeap_variable_data_c@@@Z @ 601 NONAME ; enum eap_status_e tls_record_c::complete_verify_ttls_pap_username_and_password(enum eap_status_e, class eap_variable_data_c const *)
-	?unload_module@dummy_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 602 NONAME ; enum eap_status_e dummy_eap_core_c::unload_module(class eap_expanded_type_c)
-	?get_nak_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 603 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_nak_tlv(void)
-	?set_session_id@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 604 NONAME ; enum eap_status_e tls_handshake_message_c::set_session_id(class eap_variable_data_c const *)
-	?get_data@eap_tls_peap_header_c@@QBEPAEPAVabs_eap_am_tools_c@@K@Z @ 605 NONAME ; unsigned char * eap_tls_peap_header_c::get_data(class abs_eap_am_tools_c *, unsigned long) const
-	?set_code_values@eap_diameter_avp_code_c@@QAEXW4eap_diameter_vendor_id_e@@K@Z @ 606 NONAME ; void eap_diameter_avp_code_c::set_code_values(enum eap_diameter_vendor_id_e, unsigned long)
-	??1mschapv2_change_password_c@@UAE@XZ @ 607 NONAME ; mschapv2_change_password_c::~mschapv2_change_password_c(void)
-	?set_session_timeout@tls_application_eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 608 NONAME ; enum eap_status_e tls_application_eap_core_c::set_session_timeout(unsigned long)
-	?create_server_key_exchange_sha1_hash@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00PAV3@@Z @ 609 NONAME ; enum eap_status_e tls_record_c::create_server_key_exchange_sha1_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?analyse_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 610 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_server_key_exchange(class tls_handshake_message_c const *)
-	??1tls_message_c@@UAE@XZ @ 611 NONAME ; tls_message_c::~tls_message_c(void)
-	?ttls_tunneled_message_state_process_success_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 612 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_success_request(class eap_header_wr_c *)
-	?reset_hmac_algorithms@tls_record_c@@AAEX_N@Z @ 613 NONAME ; void tls_record_c::reset_hmac_algorithms(bool)
-	?get_eap_length@eap_tls_peap_header_c@@QBEGXZ @ 614 NONAME ; unsigned short eap_tls_peap_header_c::get_eap_length(void) const
-	?convert_eap_diameter_avp_code_to_u64_t@@YA_KVeap_diameter_avp_code_c@@@Z @ 615 NONAME ; unsigned long long convert_eap_diameter_avp_code_to_u64_t(class eap_diameter_avp_code_c)
-	?set_is_valid@tls_record_message_c@@AAEXXZ @ 616 NONAME ; void tls_record_message_c::set_is_valid(void)
-	?get_header_length@eap_tls_peap_header_c@@QBEKXZ @ 617 NONAME ; unsigned long eap_tls_peap_header_c::get_header_length(void) const
-	?set_is_valid@tls_completion_c@@AAEXXZ @ 618 NONAME ; void tls_completion_c::set_is_valid(void)
-	?generate_nai@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@1@Z @ 619 NONAME ; enum eap_status_e eap_type_tls_peap_c::generate_nai(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?add_rogue_ap@dummy_eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 620 NONAME ; enum eap_status_e dummy_eap_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?reset@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 621 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::reset(void)
-	?restart_with_new_type@dummy_eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@E@Z @ 622 NONAME ; enum eap_status_e dummy_eap_core_c::restart_with_new_type(class eap_expanded_type_c, class eap_am_network_id_c const *, unsigned char)
-	?indicate_state_to_lower_layer@tls_record_c@@AAE?AW4eap_status_e@@W4tls_peap_state_e@@@Z @ 623 NONAME ; enum eap_status_e tls_record_c::indicate_state_to_lower_layer(enum tls_peap_state_e)
-	?start_peap_tunneled_authentication@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NEW4tls_session_type_e@@1@Z @ 624 NONAME ; enum eap_status_e tls_application_eap_core_c::start_peap_tunneled_authentication(class eap_am_network_id_c const *, bool, unsigned char, enum tls_session_type_e, bool)
-	?get_application_partner@tls_application_eap_core_c@@UAEPAVabs_tls_base_application_c@@XZ @ 625 NONAME ; class abs_tls_base_application_c * tls_application_eap_core_c::get_application_partner(void)
-	?get_saved_eap_identity@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 626 NONAME ; enum eap_status_e dummy_eap_core_c::get_saved_eap_identity(class eap_variable_data_c *)
-	?set_data_length@eap_tls_peap_header_c@@QAEXK_N@Z @ 627 NONAME ; void eap_tls_peap_header_c::set_data_length(unsigned long, bool)
-	?generate_dhe_keys@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 628 NONAME ; enum eap_status_e tls_record_c::generate_dhe_keys(void)
-	?cancel_query_tunnel_PAC@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 629 NONAME ; enum eap_status_e tls_application_eap_core_c::cancel_query_tunnel_PAC(void)
-	?configure@dummy_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 630 NONAME ; enum eap_status_e dummy_eap_core_c::configure(void)
-	?create_tls_application_data@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@K@Z @ 631 NONAME ; enum eap_status_e tls_record_c::create_tls_application_data(class eap_buf_chain_wr_c *, unsigned long)
-	?tls_peap_packet_send@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KKK_N@Z @ 632 NONAME ; enum eap_status_e eap_type_tls_peap_c::tls_peap_packet_send(class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, bool)
-	?unset_failure_message_received@eap_type_tls_peap_c@@AAEXXZ @ 633 NONAME ; void eap_type_tls_peap_c::unset_failure_message_received(void)
-	?set_tls_message_length@eap_tls_peap_header_c@@QAEXK@Z @ 634 NONAME ; void eap_tls_peap_header_c::set_tls_message_length(unsigned long)
-	?cancel_timer@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 635 NONAME ; enum eap_status_e tls_application_eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?eap_acknowledge@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 636 NONAME ; enum eap_status_e eap_type_tls_peap_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?create_nonce_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@_N@Z @ 637 NONAME ; enum eap_status_e tls_application_eap_core_c::create_nonce_peap_v2(bool)
-	?store_nonce_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@_NPAVpeap_tlv_payloads_c@@@Z @ 638 NONAME ; enum eap_status_e tls_application_eap_core_c::store_nonce_peap_v2(bool, class peap_tlv_payloads_c *)
-	?sign_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 639 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::sign_with_private_key(class eap_variable_data_c const *)
-	?create_eap_payload_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_header_wr_c@@E@Z @ 640 NONAME ; enum eap_status_e tls_application_eap_core_c::create_eap_payload_tlv_message(class eap_buf_chain_wr_c *, class eap_header_wr_c const *, unsigned char)
-	?set_tunneled_state@tls_application_eap_core_c@@UAEXW4tls_session_type_e@@@Z @ 641 NONAME ; void tls_application_eap_core_c::set_tunneled_state(enum tls_session_type_e)
-	?reset@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 642 NONAME ; enum eap_status_e eap_type_tls_peap_c::reset(void)
-	?get_alert_description@tls_alert_message_c@@QBE?AW4tls_alert_description_e@@XZ @ 643 NONAME ; enum tls_alert_description_e tls_alert_message_c::get_alert_description(void) const
-	?set_signed_message_hash@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 644 NONAME ; enum eap_status_e tls_handshake_message_c::set_signed_message_hash(class eap_variable_data_c const *)
-	?save_current_state@eap_type_tls_peap_c@@AAEXXZ @ 645 NONAME ; void eap_type_tls_peap_c::save_current_state(void)
-	?object_increase_reference_count@eap_diameter_variable_data_c@@QAEXXZ @ 646 NONAME ; void eap_diameter_variable_data_c::object_increase_reference_count(void)
-	?get_name_length@mschapv2_response_c@@QBEKXZ @ 647 NONAME ; unsigned long mschapv2_response_c::get_name_length(void) const
-	?get_opcode@mschapv2_header_c@@QBE?AW4mschapv2_opcode_e@@XZ @ 648 NONAME ; enum mschapv2_opcode_e mschapv2_header_c::get_opcode(void) const
-	?set_selected_cipher_suite@tls_record_c@@AAEXW4tls_cipher_suites_e@@@Z @ 649 NONAME ; void tls_record_c::set_selected_cipher_suite(enum tls_cipher_suites_e)
-	?get_eap_type@eap_tls_peap_header_c@@QBE?AVeap_expanded_type_c@@XZ @ 650 NONAME ; class eap_expanded_type_c eap_tls_peap_header_c::get_eap_type(void) const
-	?cancel_retransmission@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 651 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_retransmission(void)
-	?get_eap_identifier@eap_tls_peap_header_c@@QBEEXZ @ 652 NONAME ; unsigned char eap_tls_peap_header_c::get_eap_identifier(void) const
-	??1eap_am_type_tls_peap_symbian_c@@UAE@XZ @ 653 NONAME ; eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c(void)
-	?send_final_notification@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@XZ @ 654 NONAME ; enum eap_status_e eap_type_tls_peap_c::send_final_notification(void)
-	?set_is_analysed@tls_handshake_message_c@@QAEXXZ @ 655 NONAME ; void tls_handshake_message_c::set_is_analysed(void)
-	?add_message_data@tls_application_data_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 656 NONAME ; enum eap_status_e tls_application_data_message_c::add_message_data(class eap_variable_data_c *)
-	?get_header_minimum_size@mschapv2_response_c@@SAKXZ @ 657 NONAME ; unsigned long mschapv2_response_c::get_header_minimum_size(void)
-	?packet_trace@eap_type_tls_peap_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 658 NONAME ; void eap_type_tls_peap_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?shutdown@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 659 NONAME ; enum eap_status_e eap_type_tls_peap_c::shutdown(void)
-	?get_tls_session_type@tls_record_c@@AAE?AW4tls_session_type_e@@XZ @ 660 NONAME ; enum tls_session_type_e tls_record_c::get_tls_session_type(void)
-	?get_alert_level@tls_alert_message_c@@QBE?AW4tls_alert_level_e@@XZ @ 661 NONAME ; enum tls_alert_level_e tls_alert_message_c::get_alert_level(void) const
-	?process_tls_message@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 662 NONAME ; enum eap_status_e tls_record_c::process_tls_message(void)
-	?cancel_rsa_decrypt_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 663 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_rsa_decrypt_with_private_key(void)
-	?timer_delete_data@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@KPAX@Z @ 664 NONAME ; enum eap_status_e eap_type_tls_peap_c::timer_delete_data(unsigned long, void *)
-	?get_finished_data@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 665 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_finished_data(void) const
-	?peap_tunnel_ready@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 666 NONAME ; enum eap_status_e tls_application_eap_core_c::peap_tunnel_ready(void)
-	?set_initial_eap_identifier@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 667 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char)
-	?check_mandatory_payloads@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_diameter_avp_code_c@@@@@Z @ 668 NONAME ; enum eap_status_e eap_diameter_payloads_c::check_mandatory_payloads(class eap_array_c<class eap_diameter_avp_code_c> const *)
-	?set_name@mschapv2_challenge_c@@QAEXPBE@Z @ 669 NONAME ; void mschapv2_challenge_c::set_name(unsigned char const *)
-	?create_compound_mac_key_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@_N@Z @ 670 NONAME ; enum eap_status_e tls_application_eap_core_c::create_compound_mac_key_peap_v2(bool)
-	?cipher_suite_initialization_cbc@tls_record_c@@AAE?AW4eap_status_e@@PAPAVabs_crypto_cbc_block_algorithm_c@@PAVabs_crypto_block_algorithm_c@@PBVeap_variable_data_c@@2_N@Z @ 671 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_cbc(class abs_crypto_cbc_block_algorithm_c * *, class abs_crypto_block_algorithm_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, bool)
-	?parse_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 672 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_client_key_exchange(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	??0tls_application_eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_core_c@@_N2Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 673 NONAME ; tls_application_eap_core_c::tls_application_eap_core_c(class abs_eap_am_tools_c *, class eap_core_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *)
-	?restart_authentication@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 674 NONAME ; enum eap_status_e tls_application_eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?handle_ttls_plain_pap_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@W4eap_ttls_tunneled_message_type_e@@E@Z @ 675 NONAME ; enum eap_status_e tls_application_eap_core_c::handle_ttls_plain_pap_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e, unsigned char)
-	?cipher_suite_is_TLS_RSA@tls_record_c@@ABE_NXZ @ 676 NONAME ; bool tls_record_c::cipher_suite_is_TLS_RSA(void) const
-	?cipher_suite_initialization_hmac_sha1@tls_record_c@@AAE?AW4eap_status_e@@_N@Z @ 677 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_hmac_sha1(bool)
-	?set_partner@dummy_eap_core_c@@QAEXPAVabs_eap_core_c@@@Z @ 678 NONAME ; void dummy_eap_core_c::set_partner(class abs_eap_core_c *)
-	?packet_data_crypto_keys@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 679 NONAME ; enum eap_status_e eap_type_tls_peap_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?save_analyse_index@tls_message_c@@QAEXK@Z @ 680 NONAME ; void tls_message_c::save_analyse_index(unsigned long)
-	?get_is_client@eap_type_tls_peap_c@@UAE_NXZ @ 681 NONAME ; bool eap_type_tls_peap_c::get_is_client(void)
-	?cipher_suite_is_RC4_128_MD5@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 682 NONAME ; bool tls_record_c::cipher_suite_is_RC4_128_MD5(enum tls_cipher_suites_e) const
-	?packet_forward_to_tunnel@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 683 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_forward_to_tunnel(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?create_random_eap_identity@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 684 NONAME ; enum eap_status_e eap_type_tls_peap_c::create_random_eap_identity(class eap_variable_data_c *)
-	??0eap_tls_trace_string_c@@QAE@XZ @ 685 NONAME ; eap_tls_trace_string_c::eap_tls_trace_string_c(void)
-	?read_configure@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 686 NONAME ; enum eap_status_e dummy_eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?cipher_suite_initialization_hmac_md5@tls_record_c@@AAE?AW4eap_status_e@@_N@Z @ 687 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_hmac_md5(bool)
-	?parse_handshake_type_client_hello@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 688 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_client_hello(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long)
-	?fragment_tls_records@tls_message_c@@QAE?AW4eap_status_e@@PAVtls_record_message_c@@PAV?$eap_array_c@Vtls_record_message_c@@@@@Z @ 689 NONAME ; enum eap_status_e tls_message_c::fragment_tls_records(class tls_record_message_c *, class eap_array_c<class tls_record_message_c> *)
-	?apply_send_block_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_cbc_block_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 690 NONAME ; enum eap_status_e tls_record_c::apply_send_block_cipher_suite(class eap_variable_data_c *, class abs_crypto_cbc_block_algorithm_c *, class abs_crypto_hmac_algorithm_c *)
-	?get_name@mschapv2_response_c@@QBEPBEXZ @ 691 NONAME ; unsigned char const * mschapv2_response_c::get_name(void) const
-	?create_message_data@tls_alert_message_c@@QAE?AW4eap_status_e@@XZ @ 692 NONAME ; enum eap_status_e tls_alert_message_c::create_message_data(void)
-	?state_notification@tls_record_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 693 NONAME ; void tls_record_c::state_notification(class abs_eap_state_notification_c const *)
-	?start_tls_peap_authentication@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 694 NONAME ; enum eap_status_e tls_record_c::start_tls_peap_authentication(class eap_variable_data_c const *)
-	?get_data_length@mschapv2_header_c@@QBEKXZ @ 695 NONAME ; unsigned long mschapv2_header_c::get_data_length(void) const
-	?update_buffer_indexes@eap_type_tls_peap_c@@AAEXKKPAK0@Z @ 696 NONAME ; void eap_type_tls_peap_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *)
-	?initialize_session_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 697 NONAME ; enum eap_status_e dummy_eap_core_c::initialize_session_timeout(unsigned long)
-	?set_type_partner@tls_base_record_c@@QAEXPAVabs_tls_base_record_c@@@Z @ 698 NONAME ; void tls_base_record_c::set_type_partner(class abs_tls_base_record_c *)
-	??0dummy_eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_NPBVeap_am_network_id_c@@2@Z @ 699 NONAME ; dummy_eap_core_c::dummy_eap_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool, class eap_am_network_id_c const *, bool)
-	?restart_authentication@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 700 NONAME ; enum eap_status_e eap_type_tls_peap_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?add_application_data_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_application_data_message_c@@_N@Z @ 701 NONAME ; enum eap_status_e tls_record_message_c::add_application_data_message(class tls_application_data_message_c *, bool)
-	?verify_signature_of_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 702 NONAME ; enum eap_status_e tls_record_c::verify_signature_of_server_key_exchange(class eap_variable_data_c const *)
-	?set_random_value@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 703 NONAME ; enum eap_status_e tls_handshake_message_c::set_random_value(class eap_variable_data_c const *)
-	?set_is_valid@eap_am_type_tls_peap_symbian_c@@QAEXXZ @ 704 NONAME ; void eap_am_type_tls_peap_symbian_c::set_is_valid(void)
-	?message_hash_save_certificate_verify@tls_record_c@@EAE?AW4eap_status_e@@XZ @ 705 NONAME ; enum eap_status_e tls_record_c::message_hash_save_certificate_verify(void)
-	??1tls_handshake_message_c@@UAE@XZ @ 706 NONAME ; tls_handshake_message_c::~tls_handshake_message_c(void)
-	?set_tls_flag_value@eap_tls_peap_header_c@@QBEXEKK@Z @ 707 NONAME ; void eap_tls_peap_header_c::set_tls_flag_value(unsigned char, unsigned long, unsigned long) const
-	?get_NAI@eap_type_tls_peap_c@@AAEPAVeap_variable_data_c@@XZ @ 708 NONAME ; class eap_variable_data_c * eap_type_tls_peap_c::get_NAI(void)
-	?create_message_data@tls_change_cipher_spec_message_c@@QAE?AW4eap_status_e@@XZ @ 709 NONAME ; enum eap_status_e tls_change_cipher_spec_message_c::create_message_data(void)
-	?indicate_messages_processed@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 710 NONAME ; enum eap_status_e tls_record_c::indicate_messages_processed(void)
-	?ttls_tunneled_message_state_process_challenge_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 711 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_challenge_request(class eap_header_wr_c *)
-	?create_handshake_type_client_hello@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 712 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_client_hello(void)
-	??8eap_diameter_avp_code_c@@QBE_NW4eap_diameter_avp_code_of_ietf_e@@@Z @ 713 NONAME ; bool eap_diameter_avp_code_c::operator==(enum eap_diameter_avp_code_of_ietf_e) const
-	?get_application_data@tls_application_data_message_c@@QAEPAVeap_variable_data_c@@XZ @ 714 NONAME ; class eap_variable_data_c * tls_application_data_message_c::get_application_data(void)
-	?save_current_reassembly_state@eap_type_tls_peap_c@@AAEXXZ @ 715 NONAME ; void eap_type_tls_peap_c::save_current_reassembly_state(void)
-	?parse_generic_payload@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@Veap_diameter_avp_code_c@@PBVeap_diameter_avp_header_c@@@Z @ 716 NONAME ; enum eap_status_e eap_diameter_payloads_c::parse_generic_payload(class eap_diameter_avp_code_c, class eap_diameter_avp_header_c const *)
-	?set_constants@mschapv2_response_c@@QAE?AW4eap_status_e@@XZ @ 717 NONAME ; enum eap_status_e mschapv2_response_c::set_constants(void)
-	?ttls_tunneled_message_state_process_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 718 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_response(class eap_header_wr_c *)
-	?set_session_timeout@tls_record_c@@UAE?AW4eap_status_e@@K@Z @ 719 NONAME ; enum eap_status_e tls_record_c::set_session_timeout(unsigned long)
-	?get_flag_tls_length_included@eap_tls_peap_header_c@@QBE_NXZ @ 720 NONAME ; bool eap_tls_peap_header_c::get_flag_tls_length_included(void) const
-	?set_is_valid@dummy_eap_core_c@@UAEXXZ @ 721 NONAME ; void dummy_eap_core_c::set_is_valid(void)
-	?cancel_query_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 722 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_certificate_chain(void)
-	?reset_block_ciphers@tls_record_c@@AAEX_N@Z @ 723 NONAME ; void tls_record_c::reset_block_ciphers(bool)
-	?create_eap_diameter_avp_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_header_wr_c@@E@Z @ 724 NONAME ; enum eap_status_e tls_application_eap_core_c::create_eap_diameter_avp_message(class eap_buf_chain_wr_c *, class eap_header_wr_c const *, unsigned char)
-	?get_random_value@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 725 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_random_value(void) const
-	?set_tls_master_secret@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 726 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_tls_master_secret(class eap_variable_data_c const *)
-	?load_module@tls_record_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 727 NONAME ; enum eap_status_e tls_record_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?timer_delete_data@dummy_eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 728 NONAME ; enum eap_status_e dummy_eap_core_c::timer_delete_data(unsigned long, void *)
-	?complete_query_realm@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 729 NONAME ; enum eap_status_e tls_record_c::complete_query_realm(class eap_variable_data_c const *, enum eap_status_e)
-	??0mschapv2_challenge_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 730 NONAME ; mschapv2_challenge_c::mschapv2_challenge_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?set_timer@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 731 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?verify_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 732 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::verify_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?type_configure_read@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 733 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_header_offset@eap_type_tls_peap_c@@UAEKPAK0@Z @ 734 NONAME ; unsigned long eap_type_tls_peap_c::get_header_offset(unsigned long *, unsigned long *)
-	?check_selected_compression_method@tls_record_c@@AAE?AW4eap_status_e@@W4tls_compression_method_e@@@Z @ 735 NONAME ; enum eap_status_e tls_record_c::check_selected_compression_method(enum tls_compression_method_e)
-	?get_is_valid@tls_handshake_message_c@@QAE_NXZ @ 736 NONAME ; bool tls_handshake_message_c::get_is_valid(void)
-	?get_header_offset@tls_application_eap_core_c@@UAEKPAK0@Z @ 737 NONAME ; unsigned long tls_application_eap_core_c::get_header_offset(unsigned long *, unsigned long *)
-	?resend_packet@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKK@Z @ 738 NONAME ; enum eap_status_e dummy_eap_core_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long)
-	?set_marked_removed@dummy_eap_core_c@@QAEXXZ @ 739 NONAME ; void dummy_eap_core_c::set_marked_removed(void)
 
--- a/eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,30 +1,3 @@
 EXPORTS
 	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?configure@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 2 NONAME ; enum eap_status_e eap_core_client_message_if_c::configure(void)
-	?process_message@eap_core_client_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 3 NONAME ; enum eap_status_e eap_core_client_message_if_c::process_message(class eap_process_tlv_message_data_c *)
-	?timer_expired@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 4 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_expired(unsigned long, void *)
-	?new_eap_am_client_message_if_c@@YAPAVeap_am_message_if_c@@PAVabs_eap_am_tools_c@@_NK@Z @ 5 NONAME ; class eap_am_message_if_c * new_eap_am_client_message_if_c(class abs_eap_am_tools_c *, bool, unsigned long)
-	?eap_acknowledge@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 6 NONAME ; enum eap_status_e eap_core_client_message_if_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?SendData@CEapCoreInterface@@UAEHPBXH@Z @ 7 NONAME ; int CEapCoreInterface::SendData(void const *, int)
-	?send_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 8 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_data(void const *, unsigned long)
-	??1eap_core_client_message_if_c@@UAE@XZ @ 9 NONAME ; eap_core_client_message_if_c::~eap_core_client_message_if_c(void)
-	?reset@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 10 NONAME ; enum eap_status_e eap_core_client_message_if_c::reset(void)
-	?send_eap_identity_request@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 11 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_eap_identity_request(class eap_am_network_id_c const *)
-	?remove_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 12 NONAME ; enum eap_status_e eap_core_client_message_if_c::remove_eap_session(bool, class eap_am_network_id_c const *)
-	?create_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 13 NONAME ; enum eap_status_e eap_core_client_message_if_c::create_eap_session(class eap_am_network_id_c const *)
-	?get_802_11_authentication_mode@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 14 NONAME ; enum eap_status_e eap_core_client_message_if_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?packet_process@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 15 NONAME ; enum eap_status_e eap_core_client_message_if_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?timer_delete_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 16 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_delete_data(unsigned long, void *)
-	?process_data@CEapCoreInterface@@UAE?AW4eap_status_e@@PBXK@Z @ 17 NONAME ; enum eap_status_e CEapCoreInterface::process_data(void const *, unsigned long)
-	?configure@CEapCoreInterface@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 18 NONAME ; enum eap_status_e CEapCoreInterface::configure(class eap_variable_data_c const *)
-	?get_is_valid@CEapCoreInterface@@UAE_NXZ @ 19 NONAME ; bool CEapCoreInterface::get_is_valid(void)
-	?set_is_valid@eap_core_client_message_if_c@@EAEXXZ @ 20 NONAME ; void eap_core_client_message_if_c::set_is_valid(void)
-	?set_eap_database_reference_values@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 21 NONAME ; enum eap_status_e eap_core_client_message_if_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?ConstrucL@CEapCoreInterface@@QAEPAVCEapProcessInterface@@PAVabs_eap_am_tools_c@@@Z @ 22 NONAME ; class CEapProcessInterface * CEapCoreInterface::ConstrucL(class abs_eap_am_tools_c *)
-	??0eap_core_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_session_core_c@@_N@Z @ 23 NONAME ; eap_core_client_message_if_c::eap_core_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_session_core_c *, bool)
-	?set_partner@CEapCoreInterface@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 24 NONAME ; void CEapCoreInterface::set_partner(class abs_eap_am_message_if_c *)
-	?shutdown@CEapCoreInterface@@UAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e CEapCoreInterface::shutdown(void)
-	?cancel_all_eap_sessions@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 26 NONAME ; enum eap_status_e eap_core_client_message_if_c::cancel_all_eap_sessions(void)
-	?shutdown@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 27 NONAME ; enum eap_status_e eap_core_client_message_if_c::shutdown(void)
-	?get_is_valid@eap_core_client_message_if_c@@UAE_NXZ @ 28 NONAME ; bool eap_core_client_message_if_c::get_is_valid(void)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/bwins/wlaneapolifu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
+
--- a/eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF	Wed Sep 01 12:23:57 2010 +0100
@@ -1,604 +1,2043 @@
 EXPORTS
-	_ZN12eapol_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 1 NONAME
-	_ZN12eapol_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 2 NONAME
-	_ZN12eapol_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 3 NONAME
-	_ZN12eapol_core_c11send_logoffEPK19eap_am_network_id_c @ 4 NONAME
-	_ZN12eapol_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 5 NONAME
-	_ZN12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 6 NONAME
-	_ZN12eapol_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 7 NONAME
-	_ZN12eapol_core_c12get_is_validEv @ 8 NONAME
-	_ZN12eapol_core_c12set_is_validEv @ 9 NONAME
-	_ZN12eapol_core_c13timer_expiredEmPv @ 10 NONAME
-	_ZN12eapol_core_c13unload_moduleE19eap_expanded_type_c @ 11 NONAME
-	_ZN12eapol_core_c14disassociationEbPK19eap_am_network_id_c @ 12 NONAME
-	_ZN12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 13 NONAME
-	_ZN12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 14 NONAME
-	_ZN12eapol_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 15 NONAME
-	_ZN12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 16 NONAME
-	_ZN12eapol_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 17 NONAME
-	_ZN12eapol_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 18 NONAME
-	_ZN12eapol_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 19 NONAME
-	_ZN12eapol_core_c17get_header_offsetEPmS0_ @ 20 NONAME
-	_ZN12eapol_core_c17timer_delete_dataEmPv @ 21 NONAME
-	_ZN12eapol_core_c18shutdown_operationEP17eapol_key_state_cP18abs_eap_am_tools_c @ 22 NONAME
-	_ZN12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 23 NONAME
-	_ZN12eapol_core_c19set_session_timeoutEm @ 24 NONAME
-	_ZN12eapol_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 25 NONAME
-	_ZN12eapol_core_c22remove_eapol_key_stateEPK19eap_am_network_id_cb @ 26 NONAME
-	_ZN12eapol_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 27 NONAME
-	_ZN12eapol_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 28 NONAME
-	_ZN12eapol_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 29 NONAME
-	_ZN12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 30 NONAME
-	_ZN12eapol_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 31 NONAME
-	_ZN12eapol_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 32 NONAME
-	_ZN12eapol_core_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 33 NONAME
-	_ZN12eapol_core_c27complete_remove_eap_sessionEbPK19eap_am_network_id_c @ 34 NONAME
-	_ZN12eapol_core_c29cancel_authentication_sessionEP17eapol_key_state_cP18abs_eap_am_tools_c @ 35 NONAME
-	_ZN12eapol_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 36 NONAME
-	_ZN12eapol_core_c33asynchronous_start_authenticationEPK19eap_am_network_id_cb @ 37 NONAME
-	_ZN12eapol_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 38 NONAME
-	_ZN12eapol_core_c34cancel_all_authentication_sessionsEv @ 39 NONAME
-	_ZN12eapol_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 40 NONAME
-	_ZN12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 41 NONAME
-	_ZN12eapol_core_c36init_eapol_key_pmksa_caching_timeoutEPK19eap_am_network_id_c @ 42 NONAME
-	_ZN12eapol_core_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 43 NONAME
-	_ZN12eapol_core_c51indicate_eapol_key_state_started_eap_authenticationEPK19eap_am_network_id_c @ 44 NONAME
-	_ZN12eapol_core_c8shutdownEv @ 45 NONAME
-	_ZN12eapol_core_c9configureEv @ 46 NONAME
-	_ZN12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 47 NONAME
-	_ZN12eapol_core_cC1EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 48 NONAME
-	_ZN12eapol_core_cC2EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 49 NONAME
-	_ZN12eapol_core_cD0Ev @ 50 NONAME
-	_ZN12eapol_core_cD1Ev @ 51 NONAME
-	_ZN12eapol_core_cD2Ev @ 52 NONAME
-	_ZN15ethernet_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 53 NONAME
-	_ZN15ethernet_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 54 NONAME
-	_ZN15ethernet_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 55 NONAME
-	_ZN15ethernet_core_c11send_logoffEPK19eap_am_network_id_c @ 56 NONAME
-	_ZN15ethernet_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 57 NONAME
-	_ZN15ethernet_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 58 NONAME
-	_ZN15ethernet_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 59 NONAME
-	_ZN15ethernet_core_c12get_is_validEv @ 60 NONAME
-	_ZN15ethernet_core_c12set_is_validEv @ 61 NONAME
-	_ZN15ethernet_core_c13unload_moduleE19eap_expanded_type_c @ 62 NONAME
-	_ZN15ethernet_core_c14disassociationEbPK19eap_am_network_id_c @ 63 NONAME
-	_ZN15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 64 NONAME
-	_ZN15ethernet_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 65 NONAME
-	_ZN15ethernet_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 66 NONAME
-	_ZN15ethernet_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 67 NONAME
-	_ZN15ethernet_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 68 NONAME
-	_ZN15ethernet_core_c17cancel_all_timersEv @ 69 NONAME
-	_ZN15ethernet_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 70 NONAME
-	_ZN15ethernet_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 71 NONAME
-	_ZN15ethernet_core_c17get_header_offsetEPmS0_ @ 72 NONAME
-	_ZN15ethernet_core_c18state_notificationEPK28abs_eap_state_notification_c @ 73 NONAME
-	_ZN15ethernet_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 74 NONAME
-	_ZN15ethernet_core_c20start_authenticationEPK19eap_am_network_id_cb @ 75 NONAME
-	_ZN15ethernet_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 76 NONAME
-	_ZN15ethernet_core_c23complete_disassociationEbPK19eap_am_network_id_c @ 77 NONAME
-	_ZN15ethernet_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 78 NONAME
-	_ZN15ethernet_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 79 NONAME
-	_ZN15ethernet_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 80 NONAME
-	_ZN15ethernet_core_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 81 NONAME
-	_ZN15ethernet_core_c26complete_check_pmksa_cacheEPK11eap_array_cI19eap_am_network_id_cE @ 82 NONAME
-	_ZN15ethernet_core_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 83 NONAME
-	_ZN15ethernet_core_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 84 NONAME
-	_ZN15ethernet_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 85 NONAME
-	_ZN15ethernet_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 86 NONAME
-	_ZN15ethernet_core_c34cancel_all_authentication_sessionsEv @ 87 NONAME
-	_ZN15ethernet_core_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 88 NONAME
-	_ZN15ethernet_core_c8shutdownEv @ 89 NONAME
-	_ZN15ethernet_core_c9configureEv @ 90 NONAME
-	_ZN15ethernet_core_c9load_typeE19eap_expanded_type_c @ 91 NONAME
-	_ZN15ethernet_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 92 NONAME
-	_ZN15ethernet_core_cC1EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 93 NONAME
-	_ZN15ethernet_core_cC2EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 94 NONAME
-	_ZN15ethernet_core_cD0Ev @ 95 NONAME
-	_ZN15ethernet_core_cD1Ev @ 96 NONAME
-	_ZN15ethernet_core_cD2Ev @ 97 NONAME
-	_ZN17eapol_key_state_c10get_ANonceEv @ 98 NONAME
-	_ZN17eapol_key_state_c10get_SNonceEv @ 99 NONAME
-	_ZN17eapol_key_state_c10get_is_WPAEv @ 100 NONAME
-	_ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 101 NONAME
-	_ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 102 NONAME
-	_ZN17eapol_key_state_c11get_is_RSNAEv @ 103 NONAME
-	_ZN17eapol_key_state_c11get_is_WPXMEv @ 104 NONAME
-	_ZN17eapol_key_state_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 105 NONAME
-	_ZN17eapol_key_state_c11set_s_nonceEPK19eap_variable_data_c @ 106 NONAME
-	_ZN17eapol_key_state_c12get_is_validEv @ 107 NONAME
-	_ZN17eapol_key_state_c12set_is_validEv @ 108 NONAME
-	_ZN17eapol_key_state_c13check_paddingEPKhm @ 109 NONAME
-	_ZN17eapol_key_state_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 110 NONAME
-	_ZN17eapol_key_state_c13timer_expiredEmPv @ 111 NONAME
-	_ZN17eapol_key_state_c15save_parametersE31eapol_key_authentication_type_ePK19eap_variable_data_cS3_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES5_ @ 112 NONAME
-	_ZN17eapol_key_state_c16set_pairwise_PMKEPK19eap_variable_data_cPK19eap_am_network_id_c @ 113 NONAME
-	_ZN17eapol_key_state_c16tkip_mic_failureEbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 114 NONAME
-	_ZN17eapol_key_state_c17check_pmksa_cacheE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES2_ @ 115 NONAME
-	_ZN17eapol_key_state_c17get_is_associatedEv @ 116 NONAME
-	_ZN17eapol_key_state_c17timer_delete_dataEmPv @ 117 NONAME
-	_ZN17eapol_key_state_c18add_RSN_IE_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 118 NONAME
-	_ZN17eapol_key_state_c18get_encryption_KEKEv @ 119 NONAME
-	_ZN17eapol_key_state_c18get_marked_removedEv @ 120 NONAME
-	_ZN17eapol_key_state_c18get_received_PMKIDEv @ 121 NONAME
-	_ZN17eapol_key_state_c18reset_cached_pmksaEv @ 122 NONAME
-	_ZN17eapol_key_state_c18set_marked_removedEv @ 123 NONAME
-	_ZN17eapol_key_state_c19add_RSN_GTK_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 124 NONAME
-	_ZN17eapol_key_state_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 125 NONAME
-	_ZN17eapol_key_state_c19set_WPXM_parametersEPK19eap_am_network_id_c @ 126 NONAME
-	_ZN17eapol_key_state_c19set_eapol_key_stateE17eapol_key_state_e @ 127 NONAME
-	_ZN17eapol_key_state_c20get_confirmation_KCKEv @ 128 NONAME
-	_ZN17eapol_key_state_c20get_is_encryption_onEv @ 129 NONAME
-	_ZN17eapol_key_state_c20unset_marked_removedEv @ 130 NONAME
-	_ZN17eapol_key_state_c20verify_field_is_zeroEPKhm @ 131 NONAME
-	_ZN17eapol_key_state_c21cancel_retransmissionEv @ 132 NONAME
-	_ZN17eapol_key_state_c21get_key_reply_counterEv @ 133 NONAME
-	_ZN17eapol_key_state_c21set_key_reply_counterEy @ 134 NONAME
-	_ZN17eapol_key_state_c22get_supplicant_RSNA_IEEv @ 135 NONAME
-	_ZN17eapol_key_state_c22init_handshake_timeoutEm @ 136 NONAME
-	_ZN17eapol_key_state_c23process_eapol_key_frameEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 137 NONAME
-	_ZN17eapol_key_state_c23trace_eapol_key_messageEPKcP23eapol_RSNA_key_header_c @ 138 NONAME
-	_ZN17eapol_key_state_c24cancel_handshake_timeoutEv @ 139 NONAME
-	_ZN17eapol_key_state_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 140 NONAME
-	_ZN17eapol_key_state_c25get_authenticator_RSNA_IEEv @ 141 NONAME
-	_ZN17eapol_key_state_c26get_supplicant_MAC_addressEv @ 142 NONAME
-	_ZN17eapol_key_state_c26increase_key_reply_counterEv @ 143 NONAME
-	_ZN17eapol_key_state_c26init_pmksa_caching_timeoutEv @ 144 NONAME
-	_ZN17eapol_key_state_c26started_eap_authenticationEv @ 145 NONAME
-	_ZN17eapol_key_state_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 146 NONAME
-	_ZN17eapol_key_state_c28cancel_pmksa_caching_timeoutEv @ 147 NONAME
-	_ZN17eapol_key_state_c28initialize_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 148 NONAME
-	_ZN17eapol_key_state_c29cancel_authentication_sessionEv @ 149 NONAME
-	_ZN17eapol_key_state_c29get_authenticator_MAC_addressEv @ 150 NONAME
-	_ZN17eapol_key_state_c29init_group_key_update_timeoutEm @ 151 NONAME
-	_ZN17eapol_key_state_c29read_reassociation_parametersEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 152 NONAME
-	_ZN17eapol_key_state_c31cancel_group_key_update_timeoutEv @ 153 NONAME
-	_ZN17eapol_key_state_c31object_decrease_reference_countEv @ 154 NONAME
-	_ZN17eapol_key_state_c31object_increase_reference_countEv @ 155 NONAME
-	_ZN17eapol_key_state_c32get_unicast_cipher_suite_RSNA_IEEv @ 156 NONAME
-	_ZN17eapol_key_state_c33get_client_send_key_reply_counterEv @ 157 NONAME
-	_ZN17eapol_key_state_c33set_client_send_key_reply_counterEy @ 158 NONAME
-	_ZN17eapol_key_state_c38increase_client_send_key_reply_counterEv @ 159 NONAME
-	_ZN17eapol_key_state_c40asynchronous_init_remove_eapol_key_stateEv @ 160 NONAME
-	_ZN17eapol_key_state_c4copyEPK19eap_am_network_id_c @ 161 NONAME
-	_ZN17eapol_key_state_c5resetEv @ 162 NONAME
-	_ZN17eapol_key_state_c8shutdownEv @ 163 NONAME
-	_ZN17eapol_key_state_c9configureEv @ 164 NONAME
-	_ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 165 NONAME
-	_ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 166 NONAME
-	_ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 167 NONAME
-	_ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 168 NONAME
-	_ZN17eapol_key_state_cD0Ev @ 169 NONAME
-	_ZN17eapol_key_state_cD1Ev @ 170 NONAME
-	_ZN17eapol_key_state_cD2Ev @ 171 NONAME
-	_ZN22eapol_RC4_key_header_c10get_key_IVEv @ 172 NONAME
-	_ZN22eapol_RC4_key_header_c12set_key_flagE21eapol_RC4_key_flags_e @ 173 NONAME
-	_ZN22eapol_RC4_key_header_c13set_key_indexEh @ 174 NONAME
-	_ZN22eapol_RC4_key_header_c14set_key_lengthEt @ 175 NONAME
-	_ZN22eapol_RC4_key_header_c17get_header_lengthEv @ 176 NONAME
-	_ZN22eapol_RC4_key_header_c18get_replay_counterEv @ 177 NONAME
-	_ZN22eapol_RC4_key_header_c18zero_key_signatureEP18abs_eap_am_tools_c @ 178 NONAME
-	_ZN22eapol_RC4_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 179 NONAME
-	_ZN22eapol_RC4_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 180 NONAME
-	_ZN22eapol_RC4_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 181 NONAME
-	_ZN22eapol_RC4_key_header_c28set_eapol_packet_body_lengthEt @ 182 NONAME
-	_ZN22eapol_RC4_key_header_cC1EP18abs_eap_am_tools_cPvm @ 183 NONAME
-	_ZN22eapol_RC4_key_header_cC2EP18abs_eap_am_tools_cPvm @ 184 NONAME
-	_ZN22eapol_RC4_key_header_cD0Ev @ 185 NONAME
-	_ZN22eapol_RC4_key_header_cD1Ev @ 186 NONAME
-	_ZN22eapol_RC4_key_header_cD2Ev @ 187 NONAME
-	_ZN23eapol_RSNA_key_header_c11set_bits_onEttmm @ 188 NONAME
-	_ZN23eapol_RSNA_key_header_c12reset_headerEh31eapol_key_authentication_type_eNS_19eapol_RSNA_cipher_eEybbbbbbbbb24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 189 NONAME
-	_ZN23eapol_RSNA_key_header_c12zero_key_MICEP18abs_eap_am_tools_c @ 190 NONAME
-	_ZN23eapol_RSNA_key_header_c12zero_key_RSCEP18abs_eap_am_tools_c @ 191 NONAME
-	_ZN23eapol_RSNA_key_header_c14set_key_lengthEt @ 192 NONAME
-	_ZN23eapol_RSNA_key_header_c14zero_key_NONCEEP18abs_eap_am_tools_c @ 193 NONAME
-	_ZN23eapol_RSNA_key_header_c17get_header_lengthEv @ 194 NONAME
-	_ZN23eapol_RSNA_key_header_c17zero_EAPOL_key_IVEP18abs_eap_am_tools_c @ 195 NONAME
-	_ZN23eapol_RSNA_key_header_c17zero_key_reservedEP18abs_eap_am_tools_c @ 196 NONAME
-	_ZN23eapol_RSNA_key_header_c19set_key_data_lengthEt @ 197 NONAME
-	_ZN23eapol_RSNA_key_header_c19set_key_informationEt @ 198 NONAME
-	_ZN23eapol_RSNA_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 199 NONAME
-	_ZN23eapol_RSNA_key_header_c22set_key_replay_counterEy @ 200 NONAME
-	_ZN23eapol_RSNA_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 201 NONAME
-	_ZN23eapol_RSNA_key_header_c24zero_key_STA_MAC_addressEP18abs_eap_am_tools_c @ 202 NONAME
-	_ZN23eapol_RSNA_key_header_c25set_key_information_errorEb @ 203 NONAME
-	_ZN23eapol_RSNA_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 204 NONAME
-	_ZN23eapol_RSNA_key_header_c26set_key_information_secureEb @ 205 NONAME
-	_ZN23eapol_RSNA_key_header_c27set_key_information_installEb @ 206 NONAME
-	_ZN23eapol_RSNA_key_header_c27set_key_information_key_MICEb @ 207 NONAME
-	_ZN23eapol_RSNA_key_header_c27set_key_information_key_ackEb @ 208 NONAME
-	_ZN23eapol_RSNA_key_header_c27set_key_information_requestEb @ 209 NONAME
-	_ZN23eapol_RSNA_key_header_c28set_eapol_packet_body_lengthEm @ 210 NONAME
-	_ZN23eapol_RSNA_key_header_c28set_key_information_key_typeEb @ 211 NONAME
-	_ZN23eapol_RSNA_key_header_c29set_key_information_key_indexEh @ 212 NONAME
-	_ZN23eapol_RSNA_key_header_c36zero_EAPOL_header_and_Key_descriptorEP18abs_eap_am_tools_c @ 213 NONAME
-	_ZN23eapol_RSNA_key_header_c38set_key_information_encrypted_key_dataEb @ 214 NONAME
-	_ZN23eapol_RSNA_key_header_c42set_key_information_key_descriptor_versionEh @ 215 NONAME
-	_ZN23eapol_RSNA_key_header_cC1EP18abs_eap_am_tools_cbbPvm @ 216 NONAME
-	_ZN23eapol_RSNA_key_header_cC2EP18abs_eap_am_tools_cbbPvm @ 217 NONAME
-	_ZN23eapol_RSNA_key_header_cD0Ev @ 218 NONAME
-	_ZN23eapol_RSNA_key_header_cD1Ev @ 219 NONAME
-	_ZN23eapol_RSNA_key_header_cD2Ev @ 220 NONAME
-	_ZN24eapol_key_state_string_c26get_eapol_key_state_stringE17eapol_key_state_e @ 221 NONAME
-	_ZN24eapol_key_state_string_c35get_eapol_key_handshake_type_stringE26eapol_key_handshake_type_e @ 222 NONAME
-	_ZN24eapol_key_state_string_c36get_eapol_key_descriptor_type_stringE27eapol_key_descriptor_type_e @ 223 NONAME
-	_ZN24eapol_key_state_string_c40get_eapol_key_authentication_type_stringE31eapol_key_authentication_type_e @ 224 NONAME
-	_ZN24eapol_key_state_string_cC1Ev @ 225 NONAME
-	_ZN24eapol_key_state_string_cC2Ev @ 226 NONAME
-	_ZN24eapol_key_state_string_cD0Ev @ 227 NONAME
-	_ZN24eapol_key_state_string_cD1Ev @ 228 NONAME
-	_ZN24eapol_key_state_string_cD2Ev @ 229 NONAME
-	_ZN26eapol_rsna_variable_data_c10set_bufferEPK28eapol_rsna_key_data_header_cPhmbb @ 230 NONAME
-	_ZN26eapol_rsna_variable_data_cC1EP18abs_eap_am_tools_cbb @ 231 NONAME
-	_ZN26eapol_rsna_variable_data_cC2EP18abs_eap_am_tools_cbb @ 232 NONAME
-	_ZN26eapol_rsna_variable_data_cD0Ev @ 233 NONAME
-	_ZN26eapol_rsna_variable_data_cD1Ev @ 234 NONAME
-	_ZN26eapol_rsna_variable_data_cD2Ev @ 235 NONAME
-	_ZN27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 236 NONAME
-	_ZN27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 237 NONAME
-	_ZN27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 238 NONAME
-	_ZN27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 239 NONAME
-	_ZN27eapol_wlan_authentication_c12get_is_validEv @ 240 NONAME
-	_ZN27eapol_wlan_authentication_c12set_is_validEv @ 241 NONAME
-	_ZN27eapol_wlan_authentication_c13get_is_clientEv @ 242 NONAME
-	_ZN27eapol_wlan_authentication_c13timer_expiredEmPv @ 243 NONAME
-	_ZN27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 244 NONAME
-	_ZN27eapol_wlan_authentication_c14disassociationEPK19eap_am_network_id_c @ 245 NONAME
-	_ZN27eapol_wlan_authentication_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 246 NONAME
-	_ZN27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 247 NONAME
-	_ZN27eapol_wlan_authentication_c15eap_acknowledgeEPK19eap_am_network_id_c @ 248 NONAME
-	_ZN27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 249 NONAME
-	_ZN27eapol_wlan_authentication_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 250 NONAME
-	_ZN27eapol_wlan_authentication_c17cancel_all_timersEv @ 251 NONAME
-	_ZN27eapol_wlan_authentication_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 252 NONAME
-	_ZN27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 253 NONAME
-	_ZN27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 254 NONAME
-	_ZN27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 255 NONAME
-	_ZN27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 256 NONAME
-	_ZN27eapol_wlan_authentication_c19start_reassociationEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_e @ 257 NONAME
-	_ZN27eapol_wlan_authentication_c20complete_associationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 258 NONAME
-	_ZN27eapol_wlan_authentication_c20start_authenticationEPK19eap_variable_data_c31eapol_key_authentication_type_eS2_bPK19eap_am_network_id_c @ 259 NONAME
-	_ZN27eapol_wlan_authentication_c21get_current_eap_indexEv @ 260 NONAME
-	_ZN27eapol_wlan_authentication_c21set_current_eap_indexEm @ 261 NONAME
-	_ZN27eapol_wlan_authentication_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 262 NONAME
-	_ZN27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 263 NONAME
-	_ZN27eapol_wlan_authentication_c23complete_disassociationEbPK19eap_am_network_id_c @ 264 NONAME
-	_ZN27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 265 NONAME
-	_ZN27eapol_wlan_authentication_c23start_preauthenticationEPK19eap_am_network_id_c @ 266 NONAME
-	_ZN27eapol_wlan_authentication_c24start_WPXM_reassociationEPK19eap_am_network_id_cS2_P19eap_variable_data_cPKS3_S6_ @ 267 NONAME
-	_ZN27eapol_wlan_authentication_c26get_authentication_counterEv @ 268 NONAME
-	_ZN27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 269 NONAME
-	_ZN27eapol_wlan_authentication_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_c @ 270 NONAME
-	_ZN27eapol_wlan_authentication_c29new_eapol_wlan_authenticationEP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cb @ 271 NONAME
-	_ZN27eapol_wlan_authentication_c32increment_authentication_counterEv @ 272 NONAME
-	_ZN27eapol_wlan_authentication_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 273 NONAME
-	_ZN27eapol_wlan_authentication_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 274 NONAME
-	_ZN27eapol_wlan_authentication_c8shutdownEv @ 275 NONAME
-	_ZN27eapol_wlan_authentication_c9configureEv @ 276 NONAME
-	_ZN27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 277 NONAME
-	_ZN27eapol_wlan_authentication_cC1EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 278 NONAME
-	_ZN27eapol_wlan_authentication_cC2EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 279 NONAME
-	_ZN27eapol_wlan_authentication_cD0Ev @ 280 NONAME
-	_ZN27eapol_wlan_authentication_cD1Ev @ 281 NONAME
-	_ZN27eapol_wlan_authentication_cD2Ev @ 282 NONAME
-	_ZN28eap_core_client_message_if_c12get_is_validEv @ 283 NONAME
-	_ZN28eap_core_client_message_if_c12set_is_validEv @ 284 NONAME
-	_ZN28eap_core_client_message_if_c13timer_expiredEmPv @ 285 NONAME
-	_ZN28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 286 NONAME
-	_ZN28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 287 NONAME
-	_ZN28eap_core_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 288 NONAME
-	_ZN28eap_core_client_message_if_c17timer_delete_dataEmPv @ 289 NONAME
-	_ZN28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 290 NONAME
-	_ZN28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 291 NONAME
-	_ZN28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 292 NONAME
-	_ZN28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 293 NONAME
-	_ZN28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 294 NONAME
-	_ZN28eap_core_client_message_if_c5resetEv @ 295 NONAME
-	_ZN28eap_core_client_message_if_c8shutdownEv @ 296 NONAME
-	_ZN28eap_core_client_message_if_c9configureEv @ 297 NONAME
-	_ZN28eap_core_client_message_if_c9send_dataEPKvm @ 298 NONAME
-	_ZN28eap_core_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 299 NONAME
-	_ZN28eap_core_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 300 NONAME
-	_ZN28eap_core_client_message_if_cD0Ev @ 301 NONAME
-	_ZN28eap_core_client_message_if_cD1Ev @ 302 NONAME
-	_ZN28eap_core_client_message_if_cD2Ev @ 303 NONAME
-	_ZN30eapol_am_wlan_authentication_c32new_eapol_am_wlan_authenticationEP18abs_eap_am_tools_cb @ 304 NONAME
-	_ZN30eapol_rsna_key_data_payloads_c14check_payloadsENS_36eapol_rsna_key_data_payload_status_eES0_S0_S0_ @ 305 NONAME
-	_ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK11eap_array_cI19eap_variable_data_cE @ 306 NONAME
-	_ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK26eapol_rsna_variable_data_c @ 307 NONAME
-	_ZN30eapol_rsna_key_data_payloads_cC1EP18abs_eap_am_tools_cbb @ 308 NONAME
-	_ZN30eapol_rsna_key_data_payloads_cC2EP18abs_eap_am_tools_cbb @ 309 NONAME
-	_ZN30eapol_rsna_key_data_payloads_cD0Ev @ 310 NONAME
-	_ZN30eapol_rsna_key_data_payloads_cD1Ev @ 311 NONAME
-	_ZN30eapol_rsna_key_data_payloads_cD2Ev @ 312 NONAME
-	_ZN31eapol_handle_tlv_message_data_c12get_is_validEv @ 313 NONAME
-	_ZN31eapol_handle_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 314 NONAME
-	_ZN31eapol_handle_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 315 NONAME
-	_ZN31eapol_handle_tlv_message_data_cD0Ev @ 316 NONAME
-	_ZN31eapol_handle_tlv_message_data_cD1Ev @ 317 NONAME
-	_ZN31eapol_handle_tlv_message_data_cD2Ev @ 318 NONAME
-	_ZN35eapol_message_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 319 NONAME
-	_ZN35eapol_message_wlan_authentication_c11reassociateEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 320 NONAME
-	_ZN35eapol_message_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 321 NONAME
-	_ZN35eapol_message_wlan_authentication_c12disassociateEPK19eap_am_network_id_cb @ 322 NONAME
-	_ZN35eapol_message_wlan_authentication_c12get_is_validEv @ 323 NONAME
-	_ZN35eapol_message_wlan_authentication_c12process_dataEPKvm @ 324 NONAME
-	_ZN35eapol_message_wlan_authentication_c12send_messageEP31eapol_handle_tlv_message_data_c @ 325 NONAME
-	_ZN35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 326 NONAME
-	_ZN35eapol_message_wlan_authentication_c14disassociationEPK11eap_array_cI16eap_tlv_header_cE @ 327 NONAME
-	_ZN35eapol_message_wlan_authentication_c14packet_processEPK11eap_array_cI16eap_tlv_header_cE @ 328 NONAME
-	_ZN35eapol_message_wlan_authentication_c15eap_acknowledgeEPK11eap_array_cI16eap_tlv_header_cE @ 329 NONAME
-	_ZN35eapol_message_wlan_authentication_c15process_messageEP31eapol_handle_tlv_message_data_c @ 330 NONAME
-	_ZN35eapol_message_wlan_authentication_c16tkip_mic_failureEPK11eap_array_cI16eap_tlv_header_cE @ 331 NONAME
-	_ZN35eapol_message_wlan_authentication_c17check_pmksa_cacheEPK11eap_array_cI16eap_tlv_header_cE @ 332 NONAME
-	_ZN35eapol_message_wlan_authentication_c17get_header_offsetEPmS0_ @ 333 NONAME
-	_ZN35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 334 NONAME
-	_ZN35eapol_message_wlan_authentication_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 335 NONAME
-	_ZN35eapol_message_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 336 NONAME
-	_ZN35eapol_message_wlan_authentication_c19start_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 337 NONAME
-	_ZN35eapol_message_wlan_authentication_c20complete_associationEPK11eap_array_cI16eap_tlv_header_cE @ 338 NONAME
-	_ZN35eapol_message_wlan_authentication_c20start_authenticationEPK11eap_array_cI16eap_tlv_header_cE @ 339 NONAME
-	_ZN35eapol_message_wlan_authentication_c20update_header_offsetEPK11eap_array_cI16eap_tlv_header_cE @ 340 NONAME
-	_ZN35eapol_message_wlan_authentication_c22complete_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 341 NONAME
-	_ZN35eapol_message_wlan_authentication_c23complete_disassociationEPK19eap_am_network_id_c @ 342 NONAME
-	_ZN35eapol_message_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 343 NONAME
-	_ZN35eapol_message_wlan_authentication_c23start_preauthenticationEPK11eap_array_cI16eap_tlv_header_cE @ 344 NONAME
-	_ZN35eapol_message_wlan_authentication_c24start_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 345 NONAME
-	_ZN35eapol_message_wlan_authentication_c26complete_check_pmksa_cacheEPK11eap_array_cI19eap_am_network_id_cE @ 346 NONAME
-	_ZN35eapol_message_wlan_authentication_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 347 NONAME
-	_ZN35eapol_message_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 348 NONAME
-	_ZN35eapol_message_wlan_authentication_c27complete_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 349 NONAME
-	_ZN35eapol_message_wlan_authentication_c37update_wlan_database_reference_valuesEPK11eap_array_cI16eap_tlv_header_cE @ 350 NONAME
-	_ZN35eapol_message_wlan_authentication_c8shutdownEv @ 351 NONAME
-	_ZN35eapol_message_wlan_authentication_c9associateE38eapol_key_802_11_authentication_mode_e @ 352 NONAME
-	_ZN35eapol_message_wlan_authentication_c9configureEmmm @ 353 NONAME
-	_ZN35eapol_message_wlan_authentication_cC1EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 354 NONAME
-	_ZN35eapol_message_wlan_authentication_cC2EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 355 NONAME
-	_ZN35eapol_message_wlan_authentication_cD0Ev @ 356 NONAME
-	_ZN35eapol_message_wlan_authentication_cD1Ev @ 357 NONAME
-	_ZN35eapol_message_wlan_authentication_cD2Ev @ 358 NONAME
-	_ZN36wlan_eap_if_send_status_conversion_c7convertE12eap_status_e @ 359 NONAME
-	_ZN36wlan_eap_if_send_status_conversion_c7convertE25wlan_eap_if_send_status_e @ 360 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c11associationEPK19eap_am_network_id_c @ 361 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 362 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c12get_is_validEv @ 363 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c14disassociationEPK19eap_am_network_id_c @ 364 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 365 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c14set_am_partnerEP34abs_eapol_am_wlan_authentication_cP26abs_eap_configuration_if_c @ 366 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 367 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c17cancel_all_timersEv @ 368 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c19set_wlan_parametersEPK19eap_variable_data_cbS2_31eapol_key_authentication_type_e @ 369 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c22get_wlan_configurationEP19eap_variable_data_c @ 370 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c23authentication_finishedEb19eap_expanded_type_c31eapol_key_authentication_type_e @ 371 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c23reset_wpa_configurationEv @ 372 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 373 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 374 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c8shutdownEv @ 375 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c9configureEv @ 376 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 377 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_cC1EP18abs_eap_am_tools_cb @ 378 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_cC2EP18abs_eap_am_tools_cb @ 379 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_cD0Ev @ 380 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_cD1Ev @ 381 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_cD2Ev @ 382 NONAME
-	_ZNK17eapol_key_state_c19get_eapol_key_stateEv @ 383 NONAME
-	_ZNK22eapol_RC4_key_header_c12check_headerEv @ 384 NONAME
-	_ZNK22eapol_RC4_key_header_c12get_key_flagEv @ 385 NONAME
-	_ZNK22eapol_RC4_key_header_c13get_key_indexEv @ 386 NONAME
-	_ZNK22eapol_RC4_key_header_c14get_key_lengthEv @ 387 NONAME
-	_ZNK22eapol_RC4_key_header_c17get_key_signatureEv @ 388 NONAME
-	_ZNK22eapol_RC4_key_header_c21get_eapol_packet_typeEv @ 389 NONAME
-	_ZNK22eapol_RC4_key_header_c23get_key_descriptor_typeEv @ 390 NONAME
-	_ZNK22eapol_RC4_key_header_c26get_eapol_protocol_versionEv @ 391 NONAME
-	_ZNK22eapol_RC4_key_header_c28get_eapol_packet_body_lengthEv @ 392 NONAME
-	_ZNK22eapol_RC4_key_header_c7get_keyEv @ 393 NONAME
-	_ZNK23eapol_RSNA_key_header_c11get_key_MICEv @ 394 NONAME
-	_ZNK23eapol_RSNA_key_header_c11get_key_RSCEv @ 395 NONAME
-	_ZNK23eapol_RSNA_key_header_c12check_headerEv @ 396 NONAME
-	_ZNK23eapol_RSNA_key_header_c12get_key_dataEm @ 397 NONAME
-	_ZNK23eapol_RSNA_key_header_c13get_key_NONCEEv @ 398 NONAME
-	_ZNK23eapol_RSNA_key_header_c14get_key_lengthEv @ 399 NONAME
-	_ZNK23eapol_RSNA_key_header_c16get_EAPOL_key_IVEv @ 400 NONAME
-	_ZNK23eapol_RSNA_key_header_c16get_key_reservedEv @ 401 NONAME
-	_ZNK23eapol_RSNA_key_header_c19get_key_data_lengthEv @ 402 NONAME
-	_ZNK23eapol_RSNA_key_header_c19get_key_data_offsetEmm @ 403 NONAME
-	_ZNK23eapol_RSNA_key_header_c19get_key_informationEv @ 404 NONAME
-	_ZNK23eapol_RSNA_key_header_c21get_eapol_packet_typeEv @ 405 NONAME
-	_ZNK23eapol_RSNA_key_header_c22get_key_replay_counterEv @ 406 NONAME
-	_ZNK23eapol_RSNA_key_header_c23get_eapol_packet_lengthEv @ 407 NONAME
-	_ZNK23eapol_RSNA_key_header_c23get_key_STA_MAC_addressEv @ 408 NONAME
-	_ZNK23eapol_RSNA_key_header_c23get_key_descriptor_typeEv @ 409 NONAME
-	_ZNK23eapol_RSNA_key_header_c25get_key_information_errorEv @ 410 NONAME
-	_ZNK23eapol_RSNA_key_header_c26get_eapol_protocol_versionEv @ 411 NONAME
-	_ZNK23eapol_RSNA_key_header_c26get_key_information_secureEv @ 412 NONAME
-	_ZNK23eapol_RSNA_key_header_c27get_key_information_installEv @ 413 NONAME
-	_ZNK23eapol_RSNA_key_header_c27get_key_information_key_MICEv @ 414 NONAME
-	_ZNK23eapol_RSNA_key_header_c27get_key_information_key_ackEv @ 415 NONAME
-	_ZNK23eapol_RSNA_key_header_c27get_key_information_requestEv @ 416 NONAME
-	_ZNK23eapol_RSNA_key_header_c28get_eapol_packet_body_lengthEv @ 417 NONAME
-	_ZNK23eapol_RSNA_key_header_c28get_key_information_key_typeEv @ 418 NONAME
-	_ZNK23eapol_RSNA_key_header_c29get_key_information_key_indexEv @ 419 NONAME
-	_ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_aEv @ 420 NONAME
-	_ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_bEv @ 421 NONAME
-	_ZNK23eapol_RSNA_key_header_c38get_key_information_encrypted_key_dataEv @ 422 NONAME
-	_ZNK23eapol_RSNA_key_header_c42get_key_information_key_descriptor_versionEv @ 423 NONAME
-	_ZNK26eapol_rsna_variable_data_c19get_original_headerEv @ 424 NONAME
-	_ZTI12eapol_core_c @ 425 NONAME
-	_ZTI15ethernet_core_c @ 426 NONAME
-	_ZTI17eapol_key_state_c @ 427 NONAME
-	_ZTI22eapol_RC4_key_header_c @ 428 NONAME
-	_ZTI23eapol_RSNA_key_header_c @ 429 NONAME
-	_ZTI24eapol_key_state_string_c @ 430 NONAME
-	_ZTI26eapol_rsna_variable_data_c @ 431 NONAME
-	_ZTI27eapol_wlan_authentication_c @ 432 NONAME
-	_ZTI28eap_core_client_message_if_c @ 433 NONAME
-	_ZTI28eapol_rsna_key_data_header_c @ 434 NONAME
-	_ZTI30eapol_am_wlan_authentication_c @ 435 NONAME
-	_ZTI30eapol_rsna_key_data_payloads_c @ 436 NONAME
-	_ZTI31eapol_handle_tlv_message_data_c @ 437 NONAME
-	_ZTI32eapol_rsna_key_data_gtk_header_c @ 438 NONAME
-	_ZTI35eapol_message_wlan_authentication_c @ 439 NONAME
-	_ZTI38eapol_am_wlan_authentication_symbian_c @ 440 NONAME
-	_ZTV12eapol_core_c @ 441 NONAME
-	_ZTV15ethernet_core_c @ 442 NONAME
-	_ZTV17eapol_key_state_c @ 443 NONAME
-	_ZTV22eapol_RC4_key_header_c @ 444 NONAME
-	_ZTV23eapol_RSNA_key_header_c @ 445 NONAME
-	_ZTV24eapol_key_state_string_c @ 446 NONAME
-	_ZTV26eapol_rsna_variable_data_c @ 447 NONAME
-	_ZTV27eapol_wlan_authentication_c @ 448 NONAME
-	_ZTV28eap_core_client_message_if_c @ 449 NONAME
-	_ZTV28eapol_rsna_key_data_header_c @ 450 NONAME
-	_ZTV30eapol_am_wlan_authentication_c @ 451 NONAME
-	_ZTV30eapol_rsna_key_data_payloads_c @ 452 NONAME
-	_ZTV31eapol_handle_tlv_message_data_c @ 453 NONAME
-	_ZTV32eapol_rsna_key_data_gtk_header_c @ 454 NONAME
-	_ZTV35eapol_message_wlan_authentication_c @ 455 NONAME
-	_ZTV38eapol_am_wlan_authentication_symbian_c @ 456 NONAME
-	_ZThn12_N12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 457 NONAME
-	_ZThn12_N12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 458 NONAME
-	_ZThn12_N12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 459 NONAME
-	_ZThn12_N12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 460 NONAME
-	_ZThn12_N12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 461 NONAME
-	_ZThn12_N12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 462 NONAME
-	_ZThn12_N12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 463 NONAME
-	_ZThn12_N12eapol_core_cD0Ev @ 464 NONAME
-	_ZThn12_N12eapol_core_cD1Ev @ 465 NONAME
-	_ZThn12_N27eapol_wlan_authentication_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 466 NONAME
-	_ZThn12_N27eapol_wlan_authentication_cD1Ev @ 467 NONAME
-	_ZThn12_N28eap_core_client_message_if_c12get_is_validEv @ 468 NONAME
-	_ZThn12_N28eap_core_client_message_if_c12set_is_validEv @ 469 NONAME
-	_ZThn12_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 470 NONAME
-	_ZThn12_N28eap_core_client_message_if_c8shutdownEv @ 471 NONAME
-	_ZThn12_N28eap_core_client_message_if_c9configureEv @ 472 NONAME
-	_ZThn12_N28eap_core_client_message_if_cD0Ev @ 473 NONAME
-	_ZThn12_N28eap_core_client_message_if_cD1Ev @ 474 NONAME
-	_ZThn16_N12eapol_core_cD0Ev @ 475 NONAME
-	_ZThn16_N12eapol_core_cD1Ev @ 476 NONAME
-	_ZThn16_N27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 477 NONAME
-	_ZThn16_N27eapol_wlan_authentication_cD1Ev @ 478 NONAME
-	_ZThn20_N12eapol_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 479 NONAME
-	_ZThn20_N12eapol_core_cD0Ev @ 480 NONAME
-	_ZThn20_N12eapol_core_cD1Ev @ 481 NONAME
-	_ZThn4_N12eapol_core_c13timer_expiredEmPv @ 482 NONAME
-	_ZThn4_N12eapol_core_c17timer_delete_dataEmPv @ 483 NONAME
-	_ZThn4_N12eapol_core_cD0Ev @ 484 NONAME
-	_ZThn4_N12eapol_core_cD1Ev @ 485 NONAME
-	_ZThn4_N15ethernet_core_c12get_is_validEv @ 486 NONAME
-	_ZThn4_N15ethernet_core_c12set_is_validEv @ 487 NONAME
-	_ZThn4_N15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 488 NONAME
-	_ZThn4_N15ethernet_core_c8shutdownEv @ 489 NONAME
-	_ZThn4_N15ethernet_core_c9configureEv @ 490 NONAME
-	_ZThn4_N15ethernet_core_cD0Ev @ 491 NONAME
-	_ZThn4_N15ethernet_core_cD1Ev @ 492 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 493 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 494 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 495 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 496 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c13get_is_clientEv @ 497 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 498 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 499 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 500 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c17cancel_all_timersEv @ 501 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 502 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 503 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 504 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 505 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c23complete_disassociationEbPK19eap_am_network_id_c @ 506 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 507 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 508 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 509 NONAME
-	_ZThn4_N27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 510 NONAME
-	_ZThn4_N27eapol_wlan_authentication_cD1Ev @ 511 NONAME
-	_ZThn4_N28eap_core_client_message_if_c12get_is_validEv @ 512 NONAME
-	_ZThn4_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 513 NONAME
-	_ZThn4_N28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 514 NONAME
-	_ZThn4_N28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 515 NONAME
-	_ZThn4_N28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 516 NONAME
-	_ZThn4_N28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 517 NONAME
-	_ZThn4_N28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 518 NONAME
-	_ZThn4_N28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 519 NONAME
-	_ZThn4_N28eap_core_client_message_if_c5resetEv @ 520 NONAME
-	_ZThn4_N28eap_core_client_message_if_c8shutdownEv @ 521 NONAME
-	_ZThn4_N28eap_core_client_message_if_c9configureEv @ 522 NONAME
-	_ZThn4_N28eap_core_client_message_if_cD0Ev @ 523 NONAME
-	_ZThn4_N28eap_core_client_message_if_cD1Ev @ 524 NONAME
-	_ZThn4_N35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 525 NONAME
-	_ZThn4_N35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 526 NONAME
-	_ZThn4_N35eapol_message_wlan_authentication_cD0Ev @ 527 NONAME
-	_ZThn4_N35eapol_message_wlan_authentication_cD1Ev @ 528 NONAME
-	_ZThn4_N38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 529 NONAME
-	_ZThn4_N38eapol_am_wlan_authentication_symbian_cD0Ev @ 530 NONAME
-	_ZThn4_N38eapol_am_wlan_authentication_symbian_cD1Ev @ 531 NONAME
-	_ZThn8_N12eapol_core_c12get_is_validEv @ 532 NONAME
-	_ZThn8_N12eapol_core_c12set_is_validEv @ 533 NONAME
-	_ZThn8_N12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 534 NONAME
-	_ZThn8_N12eapol_core_c8shutdownEv @ 535 NONAME
-	_ZThn8_N12eapol_core_c9configureEv @ 536 NONAME
-	_ZThn8_N12eapol_core_cD0Ev @ 537 NONAME
-	_ZThn8_N12eapol_core_cD1Ev @ 538 NONAME
-	_ZThn8_N15ethernet_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 539 NONAME
-	_ZThn8_N15ethernet_core_cD0Ev @ 540 NONAME
-	_ZThn8_N15ethernet_core_cD1Ev @ 541 NONAME
-	_ZThn8_N27eapol_wlan_authentication_c13timer_expiredEmPv @ 542 NONAME
-	_ZThn8_N27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 543 NONAME
-	_ZThn8_N27eapol_wlan_authentication_cD1Ev @ 544 NONAME
-	_ZThn8_N28eap_core_client_message_if_c13timer_expiredEmPv @ 545 NONAME
-	_ZThn8_N28eap_core_client_message_if_c17timer_delete_dataEmPv @ 546 NONAME
-	_ZThn8_N28eap_core_client_message_if_cD0Ev @ 547 NONAME
-	_ZThn8_N28eap_core_client_message_if_cD1Ev @ 548 NONAME
-	_ZN12eapol_core_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS7_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES9_ @ 549 NONAME
-	_ZN12eapol_core_c29read_reassociation_parametersEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 550 NONAME
-	_ZN12eapol_core_c40asynchronous_init_remove_eapol_key_stateEPK19eap_am_network_id_c @ 551 NONAME
-	_ZN15ethernet_core_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS7_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES9_ @ 552 NONAME
-	_ZN15ethernet_core_c29read_reassociation_parametersEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 553 NONAME
-	_ZN17eapol_key_state_c10derive_PTKEv @ 554 NONAME
-	_ZN17eapol_key_state_c12create_PMKIDEv @ 555 NONAME
-	_ZN17eapol_key_state_c12create_nonceEP19eap_variable_data_cm @ 556 NONAME
-	_ZN17eapol_key_state_c14create_key_micEP23eapol_RSNA_key_header_cPK19eap_variable_data_c @ 557 NONAME
-	_ZN17eapol_key_state_c14get_key_lengthEN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eEPt @ 558 NONAME
-	_ZN17eapol_key_state_c14parse_key_dataE27eapol_key_descriptor_type_ePK28eapol_rsna_key_data_header_cPmP30eapol_rsna_key_data_payloads_c17eapol_key_state_eN23eapol_RSNA_key_header_c24key_descriptor_version_eE @ 559 NONAME
-	_ZN17eapol_key_state_c14select_minimumEPK19eap_variable_data_cS2_PS2_S3_ @ 560 NONAME
-	_ZN17eapol_key_state_c14verify_key_micEP23eapol_RSNA_key_header_cPK19eap_variable_data_c @ 561 NONAME
-	_ZN17eapol_key_state_c16decrypt_key_dataEP23eapol_RSNA_key_header_c @ 562 NONAME
-	_ZN17eapol_key_state_c16encrypt_key_dataEP23eapol_RSNA_key_header_c @ 563 NONAME
-	_ZN17eapol_key_state_c21allow_4_way_handshakeEv @ 564 NONAME
-	_ZN17eapol_key_state_c21start_4_way_handshakeEPK19eap_am_network_id_c @ 565 NONAME
-	_ZN17eapol_key_state_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS7_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES9_ @ 566 NONAME
-	_ZN17eapol_key_state_c25start_group_key_handshakeEPK19eap_am_network_id_c24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 567 NONAME
-	_ZN17eapol_key_state_c26initialize_4_way_handshakeEPK19eap_am_network_id_c24eapol_protocol_version_e @ 568 NONAME
-	_ZN17eapol_key_state_c26process_RC4_key_descriptorEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 569 NONAME
-	_ZN17eapol_key_state_c27process_RSNA_key_descriptorEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 570 NONAME
-	_ZN17eapol_key_state_c27send_RC4_eapol_key_messagesEv @ 571 NONAME
-	_ZN17eapol_key_state_c29check_is_aes_key_wrap_paddingE32eapol_RSNA_key_descriptor_type_eP28eapol_rsna_key_data_header_cm @ 572 NONAME
-	_ZN17eapol_key_state_c30parse_generic_key_data_payloadE27eapol_key_descriptor_type_e32eapol_RSNA_key_descriptor_type_eP28eapol_rsna_key_data_header_cPmP30eapol_rsna_key_data_payloads_c17eapol_key_state_e @ 573 NONAME
-	_ZN17eapol_key_state_c31create_tkip_mic_failure_messageEP18eap_buf_chain_wr_cmPmS2_N23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE24eapol_protocol_version_e @ 574 NONAME
-	_ZN17eapol_key_state_c31process_4_way_handshake_messageEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 575 NONAME
-	_ZN17eapol_key_state_c32create_4_way_handshake_message_1EP18eap_buf_chain_wr_cmPmS2_24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 576 NONAME
-	_ZN17eapol_key_state_c32create_4_way_handshake_message_2EP18eap_buf_chain_wr_cmPmS2_y24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 577 NONAME
-	_ZN17eapol_key_state_c32create_4_way_handshake_message_3EP18eap_buf_chain_wr_cmPmS2_24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 578 NONAME
-	_ZN17eapol_key_state_c32create_4_way_handshake_message_4EP18eap_buf_chain_wr_cmPmS2_yb24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 579 NONAME
-	_ZN17eapol_key_state_c33process_4_way_handshake_message_0EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 580 NONAME
-	_ZN17eapol_key_state_c33process_4_way_handshake_message_1EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 581 NONAME
-	_ZN17eapol_key_state_c33process_4_way_handshake_message_2EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 582 NONAME
-	_ZN17eapol_key_state_c33process_4_way_handshake_message_3EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 583 NONAME
-	_ZN17eapol_key_state_c33process_4_way_handshake_message_4EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 584 NONAME
-	_ZN17eapol_key_state_c35process_group_key_handshake_messageEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 585 NONAME
-	_ZN17eapol_key_state_c36create_eapol_key_handshake_message_0EbP18eap_buf_chain_wr_cmPmS2_y24eapol_protocol_version_e @ 586 NONAME
-	_ZN17eapol_key_state_c36create_group_key_handshake_message_1EP18eap_buf_chain_wr_cmPmS2_24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 587 NONAME
-	_ZN17eapol_key_state_c36create_group_key_handshake_message_2EP18eap_buf_chain_wr_cmPmS2_y24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 588 NONAME
-	_ZN17eapol_key_state_c37process_group_key_handshake_message_0EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 589 NONAME
-	_ZN17eapol_key_state_c37process_group_key_handshake_message_1EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 590 NONAME
-	_ZN17eapol_key_state_c37process_group_key_handshake_message_2EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 591 NONAME
-	_ZN17eapol_key_state_c42process_4_way_handshake_message_2_payloadsEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 592 NONAME
-	_ZN17eapol_key_state_c44process_4_way_handshake_message_3_payloads_aEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cmPb @ 593 NONAME
-	_ZN17eapol_key_state_c44process_4_way_handshake_message_3_payloads_bEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cmb @ 594 NONAME
-	_ZN17eapol_key_state_c8rsna_prfEPK19eap_variable_data_cS2_S2_mPS0_ @ 595 NONAME
-	_ZN28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 596 NONAME
-	_ZN30eapol_am_wlan_authentication_cD0Ev @ 597 NONAME
-	_ZN30eapol_am_wlan_authentication_cD1Ev @ 598 NONAME
-	_ZN30eapol_am_wlan_authentication_cD2Ev @ 599 NONAME
-	_ZN38eapol_am_wlan_authentication_symbian_c18state_notificationEPK28abs_eap_state_notification_c @ 600 NONAME
-	_ZThn12_N12eapol_core_c40asynchronous_init_remove_eapol_key_stateEPK19eap_am_network_id_c @ 601 NONAME
-	_ZThn4_N28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 602 NONAME
+	_Z10eap_htonlly @ 1 NONAME
+	_Z21eap_shift_left_64_bitym @ 2 NONAME
+	_Z22eap_shift_right_64_bitym @ 3 NONAME
+	_Z25convert_eap_type_to_u32_t19eap_expanded_type_c @ 4 NONAME
+	_Z25convert_eap_type_to_u64_t19eap_expanded_type_c @ 5 NONAME
+	_Z28eap_read_u16_t_network_orderPKvm @ 6 NONAME
+	_Z28eap_read_u24_t_network_orderPKvm @ 7 NONAME
+	_Z28eap_read_u32_t_network_orderPKvm @ 8 NONAME
+	_Z28eap_read_u64_t_network_orderPKvm @ 9 NONAME
+	_Z29eap_write_u16_t_network_orderPvmt @ 10 NONAME
+	_Z29eap_write_u24_t_network_orderPvmm @ 11 NONAME
+	_Z29eap_write_u32_t_network_orderPvmm @ 12 NONAME
+	_Z29eap_write_u64_t_network_orderPvmy @ 13 NONAME
+	_Z30eap_host_to_little_endian_longm @ 14 NONAME
+	_Z31eap_host_to_little_endian_shortt @ 15 NONAME
+	_Z34eap_read_u16_t_little_endian_orderPKvm @ 16 NONAME
+	_Z34eap_read_u32_t_little_endian_orderPKvm @ 17 NONAME
+	_Z34eap_read_u64_t_little_endian_orderPKvm @ 18 NONAME
+	_Z35eap_host_to_little_endian_long_longy @ 19 NONAME
+	_Z35eap_write_u16_t_little_endian_orderPvmt @ 20 NONAME
+	_Z35eap_write_u32_t_little_endian_orderPvmm @ 21 NONAME
+	_Z35eap_write_u64_t_little_endian_orderPvmy @ 22 NONAME
+	_Z9eap_htonlm @ 23 NONAME
+	_Z9eap_htonst @ 24 NONAME
+	_ZN10eap_core_c11get_partnerEv @ 25 NONAME
+	_ZN10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 26 NONAME
+	_ZN10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 27 NONAME
+	_ZN10eap_core_c11set_partnerEP14abs_eap_core_c @ 28 NONAME
+	_ZN10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 29 NONAME
+	_ZN10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 30 NONAME
+	_ZN10eap_core_c12get_is_validEv @ 31 NONAME
+	_ZN10eap_core_c12set_is_validEv @ 32 NONAME
+	_ZN10eap_core_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm @ 33 NONAME
+	_ZN10eap_core_c13timer_expiredEmPv @ 34 NONAME
+	_ZN10eap_core_c13unload_moduleE19eap_expanded_type_c @ 35 NONAME
+	_ZN10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 36 NONAME
+	_ZN10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 37 NONAME
+	_ZN10eap_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 38 NONAME
+	_ZN10eap_core_c15reset_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 39 NONAME
+	_ZN10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 40 NONAME
+	_ZN10eap_core_c16send_eap_failureEPK19eap_am_network_id_ch @ 41 NONAME
+	_ZN10eap_core_c16send_eap_successEPK19eap_am_network_id_ch @ 42 NONAME
+	_ZN10eap_core_c16trace_eap_packetEPKcPK15eap_header_wr_c @ 43 NONAME
+	_ZN10eap_core_c17cancel_all_timersEv @ 44 NONAME
+	_ZN10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 45 NONAME
+	_ZN10eap_core_c17get_header_offsetEPmS0_ @ 46 NONAME
+	_ZN10eap_core_c17timer_delete_dataEmPv @ 47 NONAME
+	_ZN10eap_core_c18get_marked_removedEv @ 48 NONAME
+	_ZN10eap_core_c18set_marked_removedEv @ 49 NONAME
+	_ZN10eap_core_c18shutdown_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 50 NONAME
+	_ZN10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 51 NONAME
+	_ZN10eap_core_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 52 NONAME
+	_ZN10eap_core_c19packet_process_typeE19eap_expanded_type_cPK19eap_am_network_id_cP25eap_general_header_base_cm @ 53 NONAME
+	_ZN10eap_core_c19set_session_timeoutEm @ 54 NONAME
+	_ZN10eap_core_c20ignore_notificationsEv @ 55 NONAME
+	_ZN10eap_core_c20unset_marked_removedEv @ 56 NONAME
+	_ZN10eap_core_c21cancel_retransmissionEv @ 57 NONAME
+	_ZN10eap_core_c21restart_with_new_typeE19eap_expanded_type_cPK19eap_am_network_id_ch @ 58 NONAME
+	_ZN10eap_core_c21send_eap_nak_responseEPK19eap_am_network_id_chPK11eap_array_cI19eap_expanded_type_cE @ 59 NONAME
+	_ZN10eap_core_c22cancel_session_timeoutEv @ 60 NONAME
+	_ZN10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 61 NONAME
+	_ZN10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 62 NONAME
+	_ZN10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 63 NONAME
+	_ZN10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 64 NONAME
+	_ZN10eap_core_c23set_authentication_roleEb @ 65 NONAME
+	_ZN10eap_core_c23set_eap_failure_timeoutEv @ 66 NONAME
+	_ZN10eap_core_c25client_proposes_eap_typesEPK19eap_am_network_id_ch @ 67 NONAME
+	_ZN10eap_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 68 NONAME
+	_ZN10eap_core_c26cancel_eap_failure_timeoutEv @ 69 NONAME
+	_ZN10eap_core_c26initialize_session_timeoutEm @ 70 NONAME
+	_ZN10eap_core_c26send_eap_identity_responseEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 71 NONAME
+	_ZN10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 72 NONAME
+	_ZN10eap_core_c27handle_eap_identity_requestE19eap_expanded_type_chPK19eap_am_network_id_c @ 73 NONAME
+	_ZN10eap_core_c28create_eap_identity_responseEP18eap_buf_chain_wr_cPK19eap_variable_data_ch @ 74 NONAME
+	_ZN10eap_core_c28handle_eap_identity_responseEP15eap_base_type_c19eap_expanded_type_cPK19eap_am_network_id_cP15eap_header_wr_cm @ 75 NONAME
+	_ZN10eap_core_c30send_eap_notification_responseEPK19eap_am_network_id_ch @ 76 NONAME
+	_ZN10eap_core_c31object_decrease_reference_countEv @ 77 NONAME
+	_ZN10eap_core_c31object_increase_reference_countEv @ 78 NONAME
+	_ZN10eap_core_c5resetEv @ 79 NONAME
+	_ZN10eap_core_c8shutdownEv @ 80 NONAME
+	_ZN10eap_core_c9configureEv @ 81 NONAME
+	_ZN10eap_core_c9load_typeE19eap_expanded_type_cS0_PK19eap_am_network_id_c @ 82 NONAME
+	_ZN10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 83 NONAME
+	_ZN10eap_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 84 NONAME
+	_ZN10eap_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 85 NONAME
+	_ZN10eap_core_cD0Ev @ 86 NONAME
+	_ZN10eap_core_cD1Ev @ 87 NONAME
+	_ZN10eap_core_cD2Ev @ 88 NONAME
+	_ZN12crypto_aes_c12get_encryptsEv @ 89 NONAME
+	_ZN12crypto_aes_c12get_is_validEv @ 90 NONAME
+	_ZN12crypto_aes_c12set_is_validEv @ 91 NONAME
+	_ZN12crypto_aes_c13decrypt_blockEPKvPvm @ 92 NONAME
+	_ZN12crypto_aes_c13encrypt_blockEPKvPvm @ 93 NONAME
+	_ZN12crypto_aes_c14get_block_sizeEv @ 94 NONAME
+	_ZN12crypto_aes_c14get_key_lengthEv @ 95 NONAME
+	_ZN12crypto_aes_c18set_decryption_keyEPKvm @ 96 NONAME
+	_ZN12crypto_aes_c18set_encryption_keyEPKvm @ 97 NONAME
+	_ZN12crypto_aes_cC1EP18abs_eap_am_tools_c @ 98 NONAME
+	_ZN12crypto_aes_cC2EP18abs_eap_am_tools_c @ 99 NONAME
+	_ZN12crypto_aes_cD0Ev @ 100 NONAME
+	_ZN12crypto_aes_cD1Ev @ 101 NONAME
+	_ZN12crypto_aes_cD2Ev @ 102 NONAME
+	_ZN12crypto_cbc_c10get_tmp_IVEv @ 103 NONAME
+	_ZN12crypto_cbc_c12decrypt_dataEPKvPvm @ 104 NONAME
+	_ZN12crypto_cbc_c12decrypt_dataEPvm @ 105 NONAME
+	_ZN12crypto_cbc_c12encrypt_dataEPKvPvm @ 106 NONAME
+	_ZN12crypto_cbc_c12encrypt_dataEPvm @ 107 NONAME
+	_ZN12crypto_cbc_c12get_encryptsEv @ 108 NONAME
+	_ZN12crypto_cbc_c12get_is_validEv @ 109 NONAME
+	_ZN12crypto_cbc_c12set_is_validEv @ 110 NONAME
+	_ZN12crypto_cbc_c13cbc_xor_blockEPKvPvmm @ 111 NONAME
+	_ZN12crypto_cbc_c14cbc_copy_blockEPvPKvmm @ 112 NONAME
+	_ZN12crypto_cbc_c14get_block_sizeEv @ 113 NONAME
+	_ZN12crypto_cbc_c14get_key_lengthEv @ 114 NONAME
+	_ZN12crypto_cbc_c17add_padding_bytesEPvmh @ 115 NONAME
+	_ZN12crypto_cbc_c18set_decryption_keyEPKvmS1_m @ 116 NONAME
+	_ZN12crypto_cbc_c18set_encryption_keyEPKvmS1_m @ 117 NONAME
+	_ZN12crypto_cbc_c18update_non_alignedEPKvPvm @ 118 NONAME
+	_ZN12crypto_cbc_c18update_non_alignedEPvm @ 119 NONAME
+	_ZN12crypto_cbc_c19aligned_data_lengthEm @ 120 NONAME
+	_ZN12crypto_cbc_c19check_padding_bytesEPKvmh @ 121 NONAME
+	_ZN12crypto_cbc_c20finalize_non_alignedEv @ 122 NONAME
+	_ZN12crypto_cbc_c21internal_decrypt_dataEPKvPvm @ 123 NONAME
+	_ZN12crypto_cbc_c21internal_encrypt_dataEPKvPvm @ 124 NONAME
+	_ZN12crypto_cbc_c5resetEv @ 125 NONAME
+	_ZN12crypto_cbc_cC1EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 126 NONAME
+	_ZN12crypto_cbc_cC2EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 127 NONAME
+	_ZN12crypto_cbc_cD0Ev @ 128 NONAME
+	_ZN12crypto_cbc_cD1Ev @ 129 NONAME
+	_ZN12crypto_cbc_cD2Ev @ 130 NONAME
+	_ZN12crypto_dsa_c12get_is_validEv @ 131 NONAME
+	_ZN12crypto_dsa_c12set_is_validEv @ 132 NONAME
+	_ZN12crypto_dsa_c14set_is_invalidEv @ 133 NONAME
+	_ZN12crypto_dsa_c4initEv @ 134 NONAME
+	_ZN12crypto_dsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 135 NONAME
+	_ZN12crypto_dsa_c6verifyEPK19eap_variable_data_cS2_S2_S2_S2_S2_ @ 136 NONAME
+	_ZN12crypto_dsa_c7cleanupEv @ 137 NONAME
+	_ZN12crypto_dsa_cC1EP18abs_eap_am_tools_c @ 138 NONAME
+	_ZN12crypto_dsa_cC2EP18abs_eap_am_tools_c @ 139 NONAME
+	_ZN12crypto_dsa_cD0Ev @ 140 NONAME
+	_ZN12crypto_dsa_cD1Ev @ 141 NONAME
+	_ZN12crypto_dsa_cD2Ev @ 142 NONAME
+	_ZN12crypto_md4_c10hash_finalEPvPm @ 143 NONAME
+	_ZN12crypto_md4_c11hash_updateEPKvm @ 144 NONAME
+	_ZN12crypto_md4_c12copy_contextEPK19eap_variable_data_c @ 145 NONAME
+	_ZN12crypto_md4_c12get_is_validEv @ 146 NONAME
+	_ZN12crypto_md4_c12hash_cleanupEv @ 147 NONAME
+	_ZN12crypto_md4_c12set_is_validEv @ 148 NONAME
+	_ZN12crypto_md4_c14get_block_sizeEv @ 149 NONAME
+	_ZN12crypto_md4_c14set_is_invalidEv @ 150 NONAME
+	_ZN12crypto_md4_c17get_digest_lengthEv @ 151 NONAME
+	_ZN12crypto_md4_c4copyEv @ 152 NONAME
+	_ZN12crypto_md4_c9hash_initEv @ 153 NONAME
+	_ZN12crypto_md4_cC1EP18abs_eap_am_tools_c @ 154 NONAME
+	_ZN12crypto_md4_cC2EP18abs_eap_am_tools_c @ 155 NONAME
+	_ZN12crypto_md4_cD0Ev @ 156 NONAME
+	_ZN12crypto_md4_cD1Ev @ 157 NONAME
+	_ZN12crypto_md4_cD2Ev @ 158 NONAME
+	_ZN12crypto_md5_c10hash_finalEPvPm @ 159 NONAME
+	_ZN12crypto_md5_c11hash_updateEPKvm @ 160 NONAME
+	_ZN12crypto_md5_c12copy_contextEPK19eap_variable_data_c @ 161 NONAME
+	_ZN12crypto_md5_c12get_is_validEv @ 162 NONAME
+	_ZN12crypto_md5_c12hash_cleanupEv @ 163 NONAME
+	_ZN12crypto_md5_c12set_is_validEv @ 164 NONAME
+	_ZN12crypto_md5_c14get_block_sizeEv @ 165 NONAME
+	_ZN12crypto_md5_c14set_is_invalidEv @ 166 NONAME
+	_ZN12crypto_md5_c17get_digest_lengthEv @ 167 NONAME
+	_ZN12crypto_md5_c4copyEv @ 168 NONAME
+	_ZN12crypto_md5_c9hash_initEv @ 169 NONAME
+	_ZN12crypto_md5_cC1EP18abs_eap_am_tools_c @ 170 NONAME
+	_ZN12crypto_md5_cC2EP18abs_eap_am_tools_c @ 171 NONAME
+	_ZN12crypto_md5_cD0Ev @ 172 NONAME
+	_ZN12crypto_md5_cD1Ev @ 173 NONAME
+	_ZN12crypto_md5_cD2Ev @ 174 NONAME
+	_ZN12crypto_rc4_c12decrypt_dataEPKvPvm @ 175 NONAME
+	_ZN12crypto_rc4_c12decrypt_dataEPvm @ 176 NONAME
+	_ZN12crypto_rc4_c12encrypt_dataEPKvPvm @ 177 NONAME
+	_ZN12crypto_rc4_c12encrypt_dataEPvm @ 178 NONAME
+	_ZN12crypto_rc4_c12get_is_validEv @ 179 NONAME
+	_ZN12crypto_rc4_c12set_is_validEv @ 180 NONAME
+	_ZN12crypto_rc4_c14discard_streamEm @ 181 NONAME
+	_ZN12crypto_rc4_c14set_is_invalidEv @ 182 NONAME
+	_ZN12crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 183 NONAME
+	_ZN12crypto_rc4_cC1EP18abs_eap_am_tools_c @ 184 NONAME
+	_ZN12crypto_rc4_cC2EP18abs_eap_am_tools_c @ 185 NONAME
+	_ZN12crypto_rc4_cD0Ev @ 186 NONAME
+	_ZN12crypto_rc4_cD1Ev @ 187 NONAME
+	_ZN12crypto_rc4_cD2Ev @ 188 NONAME
+	_ZN12crypto_rsa_c12get_is_validEv @ 189 NONAME
+	_ZN12crypto_rsa_c12set_is_validEv @ 190 NONAME
+	_ZN12crypto_rsa_c14set_is_invalidEv @ 191 NONAME
+	_ZN12crypto_rsa_c23decrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 192 NONAME
+	_ZN12crypto_rsa_c23encrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 193 NONAME
+	_ZN12crypto_rsa_c24decrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 194 NONAME
+	_ZN12crypto_rsa_c24encrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 195 NONAME
+	_ZN12crypto_rsa_c4initEv @ 196 NONAME
+	_ZN12crypto_rsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 197 NONAME
+	_ZN12crypto_rsa_c6verifyEPK19eap_variable_data_cS2_S2_ @ 198 NONAME
+	_ZN12crypto_rsa_c7cleanupEv @ 199 NONAME
+	_ZN12crypto_rsa_cC1EP18abs_eap_am_tools_c @ 200 NONAME
+	_ZN12crypto_rsa_cC2EP18abs_eap_am_tools_c @ 201 NONAME
+	_ZN12crypto_rsa_cD0Ev @ 202 NONAME
+	_ZN12crypto_rsa_cD1Ev @ 203 NONAME
+	_ZN12crypto_rsa_cD2Ev @ 204 NONAME
+	_ZN12eapol_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 205 NONAME
+	_ZN12eapol_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 206 NONAME
+	_ZN12eapol_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 207 NONAME
+	_ZN12eapol_core_c11send_logoffEPK19eap_am_network_id_c @ 208 NONAME
+	_ZN12eapol_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 209 NONAME
+	_ZN12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 210 NONAME
+	_ZN12eapol_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 211 NONAME
+	_ZN12eapol_core_c12get_is_validEv @ 212 NONAME
+	_ZN12eapol_core_c12set_is_validEv @ 213 NONAME
+	_ZN12eapol_core_c13timer_expiredEmPv @ 214 NONAME
+	_ZN12eapol_core_c13unload_moduleE19eap_expanded_type_c @ 215 NONAME
+	_ZN12eapol_core_c14disassociationEPK19eap_am_network_id_c @ 216 NONAME
+	_ZN12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 217 NONAME
+	_ZN12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 218 NONAME
+	_ZN12eapol_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 219 NONAME
+	_ZN12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 220 NONAME
+	_ZN12eapol_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 221 NONAME
+	_ZN12eapol_core_c17cancel_all_timersEv @ 222 NONAME
+	_ZN12eapol_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 223 NONAME
+	_ZN12eapol_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 224 NONAME
+	_ZN12eapol_core_c17get_header_offsetEPmS0_ @ 225 NONAME
+	_ZN12eapol_core_c17timer_delete_dataEmPv @ 226 NONAME
+	_ZN12eapol_core_c18shutdown_operationEP17eapol_key_state_cP18abs_eap_am_tools_c @ 227 NONAME
+	_ZN12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 228 NONAME
+	_ZN12eapol_core_c19set_session_timeoutEm @ 229 NONAME
+	_ZN12eapol_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 230 NONAME
+	_ZN12eapol_core_c22remove_eapol_key_stateEPK19eap_am_network_id_c @ 231 NONAME
+	_ZN12eapol_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 232 NONAME
+	_ZN12eapol_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 233 NONAME
+	_ZN12eapol_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 234 NONAME
+	_ZN12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 235 NONAME
+	_ZN12eapol_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 236 NONAME
+	_ZN12eapol_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 237 NONAME
+	_ZN12eapol_core_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 238 NONAME
+	_ZN12eapol_core_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 239 NONAME
+	_ZN12eapol_core_c29cancel_authentication_sessionEP17eapol_key_state_cP18abs_eap_am_tools_c @ 240 NONAME
+	_ZN12eapol_core_c33asynchronous_start_authenticationEPK19eap_am_network_id_cb @ 241 NONAME
+	_ZN12eapol_core_c34cancel_all_authentication_sessionsEv @ 242 NONAME
+	_ZN12eapol_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 243 NONAME
+	_ZN12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 244 NONAME
+	_ZN12eapol_core_c36init_eapol_key_pmksa_caching_timeoutEPK19eap_am_network_id_c @ 245 NONAME
+	_ZN12eapol_core_c51indicate_eapol_key_state_started_eap_authenticationEPK19eap_am_network_id_c @ 246 NONAME
+	_ZN12eapol_core_c8shutdownEv @ 247 NONAME
+	_ZN12eapol_core_c9configureEv @ 248 NONAME
+	_ZN12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 249 NONAME
+	_ZN12eapol_core_cC1EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 250 NONAME
+	_ZN12eapol_core_cC2EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 251 NONAME
+	_ZN12eapol_core_cD0Ev @ 252 NONAME
+	_ZN12eapol_core_cD1Ev @ 253 NONAME
+	_ZN12eapol_core_cD2Ev @ 254 NONAME
+	_ZN13crypto_hmac_c10hmac_finalEPvPm @ 255 NONAME
+	_ZN13crypto_hmac_c11hmac_updateEPKvm @ 256 NONAME
+	_ZN13crypto_hmac_c12get_is_validEv @ 257 NONAME
+	_ZN13crypto_hmac_c12hmac_cleanupEv @ 258 NONAME
+	_ZN13crypto_hmac_c12hmac_set_keyEPK19eap_variable_data_c @ 259 NONAME
+	_ZN13crypto_hmac_c12set_is_validEv @ 260 NONAME
+	_ZN13crypto_hmac_c14hmac_128_finalEPvPm @ 261 NONAME
+	_ZN13crypto_hmac_c14initialize_padEP19eap_variable_data_ch @ 262 NONAME
+	_ZN13crypto_hmac_c17get_digest_lengthEv @ 263 NONAME
+	_ZN13crypto_hmac_cC1EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 264 NONAME
+	_ZN13crypto_hmac_cC2EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 265 NONAME
+	_ZN13crypto_hmac_cD0Ev @ 266 NONAME
+	_ZN13crypto_hmac_cD1Ev @ 267 NONAME
+	_ZN13crypto_hmac_cD2Ev @ 268 NONAME
+	_ZN13crypto_sha1_c10hash_finalEPvPm @ 269 NONAME
+	_ZN13crypto_sha1_c11hash_updateEPKvm @ 270 NONAME
+	_ZN13crypto_sha1_c12copy_contextEPK19eap_variable_data_c @ 271 NONAME
+	_ZN13crypto_sha1_c12get_is_validEv @ 272 NONAME
+	_ZN13crypto_sha1_c12hash_cleanupEv @ 273 NONAME
+	_ZN13crypto_sha1_c12set_is_validEv @ 274 NONAME
+	_ZN13crypto_sha1_c14get_block_sizeEv @ 275 NONAME
+	_ZN13crypto_sha1_c14set_is_invalidEv @ 276 NONAME
+	_ZN13crypto_sha1_c17get_digest_lengthEv @ 277 NONAME
+	_ZN13crypto_sha1_c4copyEv @ 278 NONAME
+	_ZN13crypto_sha1_c9hash_initEv @ 279 NONAME
+	_ZN13crypto_sha1_cC1EP18abs_eap_am_tools_c @ 280 NONAME
+	_ZN13crypto_sha1_cC2EP18abs_eap_am_tools_c @ 281 NONAME
+	_ZN13crypto_sha1_cD0Ev @ 282 NONAME
+	_ZN13crypto_sha1_cD1Ev @ 283 NONAME
+	_ZN13crypto_sha1_cD2Ev @ 284 NONAME
+	_ZN14eap_am_tools_c10trace_dataEPKcPKvm @ 285 NONAME
+	_ZN14eap_am_tools_c11compare_u64Eyy @ 286 NONAME
+	_ZN14eap_am_tools_c12multiply_u64Eyy @ 287 NONAME
+	_ZN14eap_am_tools_c14ascii_to_octetEl @ 288 NONAME
+	_ZN14eap_am_tools_c14create_uuid_v5EPKvmS1_mP19eap_variable_data_c @ 289 NONAME
+	_ZN14eap_am_tools_c14octet_to_asciiEl @ 290 NONAME
+	_ZN14eap_am_tools_c14set_trace_maskEm @ 291 NONAME
+	_ZN14eap_am_tools_c17eap_status_returnEb12eap_status_ePKcl @ 292 NONAME
+	_ZN14eap_am_tools_c17shutdown_am_toolsEv @ 293 NONAME
+	_ZN14eap_am_tools_c18get_thread_stoppedEv @ 294 NONAME
+	_ZN14eap_am_tools_c19get_use_timer_queueEv @ 295 NONAME
+	_ZN14eap_am_tools_c19set_use_timer_queueEv @ 296 NONAME
+	_ZN14eap_am_tools_c19trace_configurationE12eap_status_ePK25eap_configuration_field_cPK19eap_variable_data_c @ 297 NONAME
+	_ZN14eap_am_tools_c20number_string_to_u32EPKhmPm @ 298 NONAME
+	_ZN14eap_am_tools_c20octet_to_ascii_armorEh @ 299 NONAME
+	_ZN14eap_am_tools_c21memory_store_add_dataEPK19eap_variable_data_cP22eap_tlv_message_data_cm @ 300 NONAME
+	_ZN14eap_am_tools_c21memory_store_get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 301 NONAME
+	_ZN14eap_am_tools_c21timer_thread_functionEv @ 302 NONAME
+	_ZN14eap_am_tools_c22octet_from_ascii_armorEh @ 303 NONAME
+	_ZN14eap_am_tools_c24memory_store_remove_dataEPK19eap_variable_data_c @ 304 NONAME
+	_ZN14eap_am_tools_c26convert_ascii_to_uppercaseEPhm @ 305 NONAME
+	_ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKhmPhPm @ 306 NONAME
+	_ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKvmP19eap_variable_data_c @ 307 NONAME
+	_ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKhmPhPm @ 308 NONAME
+	_ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKvmP19eap_variable_data_c @ 309 NONAME
+	_ZN14eap_am_tools_c27set_activate_trace_on_errorEv @ 310 NONAME
+	_ZN14eap_am_tools_c28convert_bytes_to_ascii_armorEPKhmPhPm @ 311 NONAME
+	_ZN14eap_am_tools_c29check_activate_trace_on_errorEv @ 312 NONAME
+	_ZN14eap_am_tools_c29eap_status_return_file_numberEb12eap_status_emml @ 313 NONAME
+	_ZN14eap_am_tools_c30restore_bytes_from_ascii_armorEPKhmPhPm @ 314 NONAME
+	_ZN14eap_am_tools_c31create_uuid_v5_from_mac_addressEPKhmP19eap_variable_data_c @ 315 NONAME
+	_ZN14eap_am_tools_c31generic_convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 316 NONAME
+	_ZN14eap_am_tools_c31generic_convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 317 NONAME
+	_ZN14eap_am_tools_c35get_use_seconds_timestamp_in_tracesEv @ 318 NONAME
+	_ZN14eap_am_tools_c37convert_selected_bytes_to_ascii_armorEhPmPhS1_S0_b @ 319 NONAME
+	_ZN14eap_am_tools_c39restore_selected_bytes_from_ascii_armorEhPmPhS0_b @ 320 NONAME
+	_ZN14eap_am_tools_c7xor_u64Eyy @ 321 NONAME
+	_ZN14eap_am_tools_c9parse_naiEPK19eap_variable_data_cPS0_S3_ @ 322 NONAME
+	_ZN14eap_am_tools_cC2Ev @ 323 NONAME
+	_ZN14eap_am_tools_cD0Ev @ 324 NONAME
+	_ZN14eap_am_tools_cD1Ev @ 325 NONAME
+	_ZN14eap_am_tools_cD2Ev @ 326 NONAME
+	_ZN15crypto_random_c12get_is_validEv @ 327 NONAME
+	_ZN15crypto_random_c12set_is_validEv @ 328 NONAME
+	_ZN15crypto_random_c13add_rand_seedEPKvm @ 329 NONAME
+	_ZN15crypto_random_c14get_rand_bytesEP19eap_variable_data_cm @ 330 NONAME
+	_ZN15crypto_random_c14get_rand_bytesEPvm @ 331 NONAME
+	_ZN15crypto_random_c16get_rand_integerEmm @ 332 NONAME
+	_ZN15crypto_random_c22add_rand_seed_hw_ticksEv @ 333 NONAME
+	_ZN15crypto_random_cC1EP18abs_eap_am_tools_c @ 334 NONAME
+	_ZN15crypto_random_cC2EP18abs_eap_am_tools_c @ 335 NONAME
+	_ZN15crypto_random_cD0Ev @ 336 NONAME
+	_ZN15crypto_random_cD1Ev @ 337 NONAME
+	_ZN15crypto_random_cD2Ev @ 338 NONAME
+	_ZN15eap_base_type_c16get_type_partnerEv @ 339 NONAME
+	_ZN15eap_base_type_c31object_decrease_reference_countEv @ 340 NONAME
+	_ZN15eap_base_type_c31object_increase_reference_countEv @ 341 NONAME
+	_ZN15eap_base_type_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_c @ 342 NONAME
+	_ZN15eap_base_type_cD0Ev @ 343 NONAME
+	_ZN15eap_base_type_cD1Ev @ 344 NONAME
+	_ZN15eap_base_type_cD2Ev @ 345 NONAME
+	_ZN15eap_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 346 NONAME
+	_ZN15eap_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 347 NONAME
+	_ZN15eap_header_rd_cD0Ev @ 348 NONAME
+	_ZN15eap_header_rd_cD1Ev @ 349 NONAME
+	_ZN15eap_header_rd_cD2Ev @ 350 NONAME
+	_ZN15eap_header_wr_c12reset_headerEtb @ 351 NONAME
+	_ZN15eap_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 352 NONAME
+	_ZN15eap_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 353 NONAME
+	_ZN15eap_header_wr_cD0Ev @ 354 NONAME
+	_ZN15eap_header_wr_cD1Ev @ 355 NONAME
+	_ZN15eap_header_wr_cD2Ev @ 356 NONAME
+	_ZN15ethernet_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 357 NONAME
+	_ZN15ethernet_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 358 NONAME
+	_ZN15ethernet_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 359 NONAME
+	_ZN15ethernet_core_c11send_logoffEPK19eap_am_network_id_c @ 360 NONAME
+	_ZN15ethernet_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 361 NONAME
+	_ZN15ethernet_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 362 NONAME
+	_ZN15ethernet_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 363 NONAME
+	_ZN15ethernet_core_c12get_is_validEv @ 364 NONAME
+	_ZN15ethernet_core_c12set_is_validEv @ 365 NONAME
+	_ZN15ethernet_core_c13unload_moduleE19eap_expanded_type_c @ 366 NONAME
+	_ZN15ethernet_core_c14disassociationEPK19eap_am_network_id_c @ 367 NONAME
+	_ZN15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 368 NONAME
+	_ZN15ethernet_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 369 NONAME
+	_ZN15ethernet_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 370 NONAME
+	_ZN15ethernet_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 371 NONAME
+	_ZN15ethernet_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 372 NONAME
+	_ZN15ethernet_core_c17cancel_all_timersEv @ 373 NONAME
+	_ZN15ethernet_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 374 NONAME
+	_ZN15ethernet_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 375 NONAME
+	_ZN15ethernet_core_c17get_header_offsetEPmS0_ @ 376 NONAME
+	_ZN15ethernet_core_c18state_notificationEPK28abs_eap_state_notification_c @ 377 NONAME
+	_ZN15ethernet_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 378 NONAME
+	_ZN15ethernet_core_c20start_authenticationEPK19eap_am_network_id_cb @ 379 NONAME
+	_ZN15ethernet_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 380 NONAME
+	_ZN15ethernet_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 381 NONAME
+	_ZN15ethernet_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 382 NONAME
+	_ZN15ethernet_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 383 NONAME
+	_ZN15ethernet_core_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 384 NONAME
+	_ZN15ethernet_core_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 385 NONAME
+	_ZN15ethernet_core_c34cancel_all_authentication_sessionsEv @ 386 NONAME
+	_ZN15ethernet_core_c8shutdownEv @ 387 NONAME
+	_ZN15ethernet_core_c9configureEv @ 388 NONAME
+	_ZN15ethernet_core_c9load_typeE19eap_expanded_type_c @ 389 NONAME
+	_ZN15ethernet_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 390 NONAME
+	_ZN15ethernet_core_cC1EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 391 NONAME
+	_ZN15ethernet_core_cC2EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 392 NONAME
+	_ZN15ethernet_core_cD0Ev @ 393 NONAME
+	_ZN15ethernet_core_cD1Ev @ 394 NONAME
+	_ZN15ethernet_core_cD2Ev @ 395 NONAME
+	_ZN16crypto_nt_hash_c12get_is_validEv @ 396 NONAME
+	_ZN16crypto_nt_hash_c14get_master_keyEPK19eap_variable_data_cS2_PS0_m @ 397 NONAME
+	_ZN16crypto_nt_hash_c16nt_password_hashEPK19eap_variable_data_cPS0_m @ 398 NONAME
+	_ZN16crypto_nt_hash_c20get_new_key_from_shaEPK19eap_variable_data_cS2_PS0_m @ 399 NONAME
+	_ZN16crypto_nt_hash_c21hash_nt_password_hashEPK19eap_variable_data_cPS0_m @ 400 NONAME
+	_ZN16crypto_nt_hash_c24get_asymmetric_start_keyEPK19eap_variable_data_cPS0_mbb @ 401 NONAME
+	_ZN16crypto_nt_hash_cC1EP18abs_eap_am_tools_c @ 402 NONAME
+	_ZN16crypto_nt_hash_cC2EP18abs_eap_am_tools_c @ 403 NONAME
+	_ZN16crypto_nt_hash_cD0Ev @ 404 NONAME
+	_ZN16crypto_nt_hash_cD1Ev @ 405 NONAME
+	_ZN16crypto_nt_hash_cD2Ev @ 406 NONAME
+	_ZN16crypto_sha_256_c10hash_finalEPvPm @ 407 NONAME
+	_ZN16crypto_sha_256_c11hash_updateEPKvm @ 408 NONAME
+	_ZN16crypto_sha_256_c12copy_contextEPK19eap_variable_data_c @ 409 NONAME
+	_ZN16crypto_sha_256_c12get_is_validEv @ 410 NONAME
+	_ZN16crypto_sha_256_c12hash_cleanupEv @ 411 NONAME
+	_ZN16crypto_sha_256_c12set_is_validEv @ 412 NONAME
+	_ZN16crypto_sha_256_c14get_block_sizeEv @ 413 NONAME
+	_ZN16crypto_sha_256_c14set_is_invalidEv @ 414 NONAME
+	_ZN16crypto_sha_256_c17get_digest_lengthEv @ 415 NONAME
+	_ZN16crypto_sha_256_c4copyEv @ 416 NONAME
+	_ZN16crypto_sha_256_c9hash_initEv @ 417 NONAME
+	_ZN16crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 418 NONAME
+	_ZN16crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 419 NONAME
+	_ZN16crypto_sha_256_cD0Ev @ 420 NONAME
+	_ZN16crypto_sha_256_cD1Ev @ 421 NONAME
+	_ZN16crypto_sha_256_cD2Ev @ 422 NONAME
+	_ZN16crypto_tls_prf_c12get_is_validEv @ 423 NONAME
+	_ZN16crypto_tls_prf_c12set_is_validEv @ 424 NONAME
+	_ZN16crypto_tls_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 425 NONAME
+	_ZN16crypto_tls_prf_c14set_is_invalidEv @ 426 NONAME
+	_ZN16crypto_tls_prf_c14tls_prf_outputEPvm @ 427 NONAME
+	_ZN16crypto_tls_prf_c15tls_prf_cleanupEv @ 428 NONAME
+	_ZN16crypto_tls_prf_cC1EP18abs_eap_am_tools_c @ 429 NONAME
+	_ZN16crypto_tls_prf_cC2EP18abs_eap_am_tools_c @ 430 NONAME
+	_ZN16crypto_tls_prf_cD0Ev @ 431 NONAME
+	_ZN16crypto_tls_prf_cD1Ev @ 432 NONAME
+	_ZN16crypto_tls_prf_cD2Ev @ 433 NONAME
+	_ZN16eap_tlv_header_c12reset_headerEmm @ 434 NONAME
+	_ZN16eap_tlv_header_c16set_value_lengthEm @ 435 NONAME
+	_ZN16eap_tlv_header_c17get_header_lengthEv @ 436 NONAME
+	_ZN16eap_tlv_header_c8set_typeEm @ 437 NONAME
+	_ZN16eap_tlv_header_cC1EP18abs_eap_am_tools_cPvm @ 438 NONAME
+	_ZN16eap_tlv_header_cC2EP18abs_eap_am_tools_cPvm @ 439 NONAME
+	_ZN16eap_tlv_header_cD0Ev @ 440 NONAME
+	_ZN16eap_tlv_header_cD1Ev @ 441 NONAME
+	_ZN16eap_tlv_header_cD2Ev @ 442 NONAME
+	_ZN17crypto_3des_ede_c12get_encryptsEv @ 443 NONAME
+	_ZN17crypto_3des_ede_c12get_is_validEv @ 444 NONAME
+	_ZN17crypto_3des_ede_c12set_is_validEv @ 445 NONAME
+	_ZN17crypto_3des_ede_c13decrypt_blockEPKvPvm @ 446 NONAME
+	_ZN17crypto_3des_ede_c13encrypt_blockEPKvPvm @ 447 NONAME
+	_ZN17crypto_3des_ede_c14get_block_sizeEv @ 448 NONAME
+	_ZN17crypto_3des_ede_c14get_key_lengthEv @ 449 NONAME
+	_ZN17crypto_3des_ede_c18set_decryption_keyEPKvm @ 450 NONAME
+	_ZN17crypto_3des_ede_c18set_encryption_keyEPKvm @ 451 NONAME
+	_ZN17crypto_3des_ede_cC1EP18abs_eap_am_tools_c @ 452 NONAME
+	_ZN17crypto_3des_ede_cC2EP18abs_eap_am_tools_c @ 453 NONAME
+	_ZN17crypto_3des_ede_cD0Ev @ 454 NONAME
+	_ZN17crypto_3des_ede_cD1Ev @ 455 NONAME
+	_ZN17crypto_3des_ede_cD2Ev @ 456 NONAME
+	_ZN17crypto_aes_wrap_c12get_encryptsEv @ 457 NONAME
+	_ZN17crypto_aes_wrap_c12get_is_validEv @ 458 NONAME
+	_ZN17crypto_aes_wrap_c12set_is_validEv @ 459 NONAME
+	_ZN17crypto_aes_wrap_c13decrypt_blockEPKvmPvm @ 460 NONAME
+	_ZN17crypto_aes_wrap_c13encrypt_blockEPKvmPvm @ 461 NONAME
+	_ZN17crypto_aes_wrap_c14get_block_sizeEv @ 462 NONAME
+	_ZN17crypto_aes_wrap_c14get_key_lengthEv @ 463 NONAME
+	_ZN17crypto_aes_wrap_c17add_padding_bytesEPvm @ 464 NONAME
+	_ZN17crypto_aes_wrap_c18set_decryption_keyEPKvm @ 465 NONAME
+	_ZN17crypto_aes_wrap_c18set_encryption_keyEPKvm @ 466 NONAME
+	_ZN17crypto_aes_wrap_cC1EP18abs_eap_am_tools_c @ 467 NONAME
+	_ZN17crypto_aes_wrap_cC2EP18abs_eap_am_tools_c @ 468 NONAME
+	_ZN17crypto_aes_wrap_cD0Ev @ 469 NONAME
+	_ZN17crypto_aes_wrap_cD1Ev @ 470 NONAME
+	_ZN17crypto_aes_wrap_cD2Ev @ 471 NONAME
+	_ZN17eap_file_config_c10read_u32_tEPhPKhPm @ 472 NONAME
+	_ZN17eap_file_config_c11get_subsectEP23abs_eap_am_file_input_cP19eap_variable_data_c @ 473 NONAME
+	_ZN17eap_file_config_c12read_sectionEP23abs_eap_am_file_input_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cE @ 474 NONAME
+	_ZN17eap_file_config_c13convert_valueEP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cEPKS3_20eap_configure_type_ePS3_ @ 475 NONAME
+	_ZN17eap_file_config_c13read_hex_byteEPhPKhS0_ @ 476 NONAME
+	_ZN17eap_file_config_c13remove_spacesEP19eap_variable_data_c @ 477 NONAME
+	_ZN17eap_file_config_c14cnf_get_stringEPK19eap_variable_data_cPS0_S3_P20eap_configure_type_e @ 478 NONAME
+	_ZN17eap_file_config_c14file_read_lineEP23abs_eap_am_file_input_cP19eap_variable_data_c @ 479 NONAME
+	_ZN17eap_file_config_c14read_configureEP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cEPK25eap_configuration_field_cPS3_P20eap_configure_type_eb @ 480 NONAME
+	_ZN17eap_file_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 481 NONAME
+	_ZN17eap_file_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_cS3_Eb @ 482 NONAME
+	_ZN17eap_file_config_c15cnf_parse_valueEPK19eap_variable_data_cS2_P20eap_configure_type_ePS0_b @ 483 NONAME
+	_ZN17eap_file_config_c15store_configureEP23abs_eap_am_file_input_cPK19eap_variable_data_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_cS2_E @ 484 NONAME
+	_ZN17eap_file_config_c16read_subsectionsEP23abs_eap_am_file_input_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cE @ 485 NONAME
+	_ZN17eap_file_config_c21remove_leading_spacesEP19eap_variable_data_c @ 486 NONAME
+	_ZN17eap_file_config_c28expand_environment_variablesEP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cEPKS3_PS3_ @ 487 NONAME
+	_ZN17eap_file_config_c9configureEP23abs_eap_am_file_input_c @ 488 NONAME
+	_ZN17eap_file_config_cC1EP18abs_eap_am_tools_c @ 489 NONAME
+	_ZN17eap_file_config_cC2EP18abs_eap_am_tools_c @ 490 NONAME
+	_ZN17eap_file_config_cD0Ev @ 491 NONAME
+	_ZN17eap_file_config_cD1Ev @ 492 NONAME
+	_ZN17eap_file_config_cD2Ev @ 493 NONAME
+	_ZN17eap_header_base_c10set_lengthEtb @ 494 NONAME
+	_ZN17eap_header_base_c14set_identifierEh @ 495 NONAME
+	_ZN17eap_header_base_c17get_header_lengthEv @ 496 NONAME
+	_ZN17eap_header_base_c20set_type_data_lengthEtb @ 497 NONAME
+	_ZN17eap_header_base_c26get_ietf_type_field_lengthEv @ 498 NONAME
+	_ZN17eap_header_base_c26get_type_data_start_offsetEb @ 499 NONAME
+	_ZN17eap_header_base_c29get_expanded_ietf_type_offsetEv @ 500 NONAME
+	_ZN17eap_header_base_c29get_expanded_vendor_id_offsetEv @ 501 NONAME
+	_ZN17eap_header_base_c30get_expanded_type_field_lengthEv @ 502 NONAME
+	_ZN17eap_header_base_c31get_expanded_vendor_type_offsetEv @ 503 NONAME
+	_ZN17eap_header_base_c8set_codeE16eap_code_value_e @ 504 NONAME
+	_ZN17eap_header_base_c8set_typeE19eap_expanded_type_cb @ 505 NONAME
+	_ZN17eap_header_base_cC1EP18abs_eap_am_tools_cPvm @ 506 NONAME
+	_ZN17eap_header_base_cC2EP18abs_eap_am_tools_cPvm @ 507 NONAME
+	_ZN17eap_header_base_cD0Ev @ 508 NONAME
+	_ZN17eap_header_base_cD1Ev @ 509 NONAME
+	_ZN17eap_header_base_cD2Ev @ 510 NONAME
+	_ZN17eapol_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 511 NONAME
+	_ZN17eapol_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 512 NONAME
+	_ZN17eapol_header_rd_cD0Ev @ 513 NONAME
+	_ZN17eapol_header_rd_cD1Ev @ 514 NONAME
+	_ZN17eapol_header_rd_cD2Ev @ 515 NONAME
+	_ZN17eapol_header_wr_c12reset_headerEt @ 516 NONAME
+	_ZN17eapol_header_wr_c14get_eap_headerEv @ 517 NONAME
+	_ZN17eapol_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 518 NONAME
+	_ZN17eapol_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 519 NONAME
+	_ZN17eapol_header_wr_cD0Ev @ 520 NONAME
+	_ZN17eapol_header_wr_cD1Ev @ 521 NONAME
+	_ZN17eapol_header_wr_cD2Ev @ 522 NONAME
+	_ZN17eapol_key_state_c10get_ANonceEv @ 523 NONAME
+	_ZN17eapol_key_state_c10get_SNonceEv @ 524 NONAME
+	_ZN17eapol_key_state_c10get_is_WPAEv @ 525 NONAME
+	_ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 526 NONAME
+	_ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 527 NONAME
+	_ZN17eapol_key_state_c11get_is_RSNAEv @ 528 NONAME
+	_ZN17eapol_key_state_c11get_is_WPXMEv @ 529 NONAME
+	_ZN17eapol_key_state_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 530 NONAME
+	_ZN17eapol_key_state_c11set_s_nonceEPK19eap_variable_data_c @ 531 NONAME
+	_ZN17eapol_key_state_c12get_is_validEv @ 532 NONAME
+	_ZN17eapol_key_state_c12set_is_validEv @ 533 NONAME
+	_ZN17eapol_key_state_c13check_paddingEPKhm @ 534 NONAME
+	_ZN17eapol_key_state_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 535 NONAME
+	_ZN17eapol_key_state_c13timer_expiredEmPv @ 536 NONAME
+	_ZN17eapol_key_state_c15derive_WPXM_PTKEm @ 537 NONAME
+	_ZN17eapol_key_state_c15save_parametersE31eapol_key_authentication_type_ePK19eap_variable_data_cS3_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES5_ @ 538 NONAME
+	_ZN17eapol_key_state_c16set_pairwise_PMKEPK19eap_variable_data_cPK19eap_am_network_id_c @ 539 NONAME
+	_ZN17eapol_key_state_c16tkip_mic_failureEbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 540 NONAME
+	_ZN17eapol_key_state_c17check_pmksa_cacheE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES2_ @ 541 NONAME
+	_ZN17eapol_key_state_c17get_is_associatedEv @ 542 NONAME
+	_ZN17eapol_key_state_c17timer_delete_dataEmPv @ 543 NONAME
+	_ZN17eapol_key_state_c18add_RSN_IE_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 544 NONAME
+	_ZN17eapol_key_state_c18get_encryption_KEKEv @ 545 NONAME
+	_ZN17eapol_key_state_c18get_marked_removedEv @ 546 NONAME
+	_ZN17eapol_key_state_c18get_received_PMKIDEv @ 547 NONAME
+	_ZN17eapol_key_state_c18reset_cached_pmksaEv @ 548 NONAME
+	_ZN17eapol_key_state_c18set_marked_removedEv @ 549 NONAME
+	_ZN17eapol_key_state_c19add_RSN_GTK_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 550 NONAME
+	_ZN17eapol_key_state_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 551 NONAME
+	_ZN17eapol_key_state_c19set_WPXM_parametersEPK19eap_am_network_id_c @ 552 NONAME
+	_ZN17eapol_key_state_c19set_eapol_key_stateE17eapol_key_state_e @ 553 NONAME
+	_ZN17eapol_key_state_c20get_confirmation_KCKEv @ 554 NONAME
+	_ZN17eapol_key_state_c20get_is_encryption_onEv @ 555 NONAME
+	_ZN17eapol_key_state_c20unset_marked_removedEv @ 556 NONAME
+	_ZN17eapol_key_state_c20verify_field_is_zeroEPKhm @ 557 NONAME
+	_ZN17eapol_key_state_c21cancel_retransmissionEv @ 558 NONAME
+	_ZN17eapol_key_state_c21get_key_reply_counterEv @ 559 NONAME
+	_ZN17eapol_key_state_c21set_key_reply_counterEy @ 560 NONAME
+	_ZN17eapol_key_state_c22get_supplicant_RSNA_IEEv @ 561 NONAME
+	_ZN17eapol_key_state_c22init_handshake_timeoutEm @ 562 NONAME
+	_ZN17eapol_key_state_c23derive_WPXM_WPXK1_WPXK2Ev @ 563 NONAME
+	_ZN17eapol_key_state_c23process_eapol_key_frameEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 564 NONAME
+	_ZN17eapol_key_state_c23trace_eapol_key_messageEPKcP23eapol_RSNA_key_header_c @ 565 NONAME
+	_ZN17eapol_key_state_c24cancel_handshake_timeoutEv @ 566 NONAME
+	_ZN17eapol_key_state_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 567 NONAME
+	_ZN17eapol_key_state_c25get_authenticator_RSNA_IEEv @ 568 NONAME
+	_ZN17eapol_key_state_c26get_supplicant_MAC_addressEv @ 569 NONAME
+	_ZN17eapol_key_state_c26increase_key_reply_counterEv @ 570 NONAME
+	_ZN17eapol_key_state_c26init_pmksa_caching_timeoutEv @ 571 NONAME
+	_ZN17eapol_key_state_c26started_eap_authenticationEv @ 572 NONAME
+	_ZN17eapol_key_state_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 573 NONAME
+	_ZN17eapol_key_state_c28cancel_pmksa_caching_timeoutEv @ 574 NONAME
+	_ZN17eapol_key_state_c28initialize_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 575 NONAME
+	_ZN17eapol_key_state_c29cancel_authentication_sessionEv @ 576 NONAME
+	_ZN17eapol_key_state_c29get_authenticator_MAC_addressEv @ 577 NONAME
+	_ZN17eapol_key_state_c29init_group_key_update_timeoutEm @ 578 NONAME
+	_ZN17eapol_key_state_c29read_reassociation_parametersEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 579 NONAME
+	_ZN17eapol_key_state_c31cancel_group_key_update_timeoutEv @ 580 NONAME
+	_ZN17eapol_key_state_c31object_decrease_reference_countEv @ 581 NONAME
+	_ZN17eapol_key_state_c31object_increase_reference_countEv @ 582 NONAME
+	_ZN17eapol_key_state_c32get_unicast_cipher_suite_RSNA_IEEv @ 583 NONAME
+	_ZN17eapol_key_state_c33get_client_send_key_reply_counterEv @ 584 NONAME
+	_ZN17eapol_key_state_c33set_client_send_key_reply_counterEy @ 585 NONAME
+	_ZN17eapol_key_state_c38increase_client_send_key_reply_counterEv @ 586 NONAME
+	_ZN17eapol_key_state_c40asynchronous_init_remove_eapol_key_stateEv @ 587 NONAME
+	_ZN17eapol_key_state_c4copyEPK19eap_am_network_id_c @ 588 NONAME
+	_ZN17eapol_key_state_c5resetEv @ 589 NONAME
+	_ZN17eapol_key_state_c8shutdownEv @ 590 NONAME
+	_ZN17eapol_key_state_c9configureEv @ 591 NONAME
+	_ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 592 NONAME
+	_ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 593 NONAME
+	_ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 594 NONAME
+	_ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 595 NONAME
+	_ZN17eapol_key_state_cD0Ev @ 596 NONAME
+	_ZN17eapol_key_state_cD1Ev @ 597 NONAME
+	_ZN17eapol_key_state_cD2Ev @ 598 NONAME
+	_ZN18abs_eap_am_mutex_cC2Ev @ 599 NONAME
+	_ZN18abs_eap_am_mutex_cD0Ev @ 600 NONAME
+	_ZN18abs_eap_am_mutex_cD1Ev @ 601 NONAME
+	_ZN18abs_eap_am_mutex_cD2Ev @ 602 NONAME
+	_ZN18abs_eap_am_tools_c22new_abs_eap_am_tools_cEv @ 603 NONAME
+	_ZN18abs_eap_am_tools_c25delete_abs_eap_am_tools_cEPS_ @ 604 NONAME
+	_ZN18eap_buf_chain_rd_c17force_inheritanceEv @ 605 NONAME
+	_ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 606 NONAME
+	_ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 607 NONAME
+	_ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 608 NONAME
+	_ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 609 NONAME
+	_ZN18eap_buf_chain_rd_cD0Ev @ 610 NONAME
+	_ZN18eap_buf_chain_rd_cD1Ev @ 611 NONAME
+	_ZN18eap_buf_chain_rd_cD2Ev @ 612 NONAME
+	_ZN18eap_buf_chain_wr_c17force_inheritanceEv @ 613 NONAME
+	_ZN18eap_buf_chain_wr_c19get_ethernet_headerEv @ 614 NONAME
+	_ZN18eap_buf_chain_wr_c4copyEv @ 615 NONAME
+	_ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_c @ 616 NONAME
+	_ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 617 NONAME
+	_ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 618 NONAME
+	_ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_c @ 619 NONAME
+	_ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 620 NONAME
+	_ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 621 NONAME
+	_ZN18eap_buf_chain_wr_cD0Ev @ 622 NONAME
+	_ZN18eap_buf_chain_wr_cD1Ev @ 623 NONAME
+	_ZN18eap_buf_chain_wr_cD2Ev @ 624 NONAME
+	_ZN18eap_session_core_c11get_partnerEv @ 625 NONAME
+	_ZN18eap_session_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 626 NONAME
+	_ZN18eap_session_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 627 NONAME
+	_ZN18eap_session_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 628 NONAME
+	_ZN18eap_session_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 629 NONAME
+	_ZN18eap_session_core_c12get_is_validEv @ 630 NONAME
+	_ZN18eap_session_core_c12set_is_validEv @ 631 NONAME
+	_ZN18eap_session_core_c13timer_expiredEmPv @ 632 NONAME
+	_ZN18eap_session_core_c13unload_moduleE19eap_expanded_type_c @ 633 NONAME
+	_ZN18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 634 NONAME
+	_ZN18eap_session_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 635 NONAME
+	_ZN18eap_session_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 636 NONAME
+	_ZN18eap_session_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 637 NONAME
+	_ZN18eap_session_core_c17cancel_all_timersEv @ 638 NONAME
+	_ZN18eap_session_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 639 NONAME
+	_ZN18eap_session_core_c17get_header_offsetEPmS0_ @ 640 NONAME
+	_ZN18eap_session_core_c17timer_delete_dataEmPv @ 641 NONAME
+	_ZN18eap_session_core_c18create_new_sessionEPK19eap_am_network_id_c @ 642 NONAME
+	_ZN18eap_session_core_c18shutdown_operationEP10eap_core_cP18abs_eap_am_tools_c @ 643 NONAME
+	_ZN18eap_session_core_c18state_notificationEPK28abs_eap_state_notification_c @ 644 NONAME
+	_ZN18eap_session_core_c19set_session_timeoutEm @ 645 NONAME
+	_ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 646 NONAME
+	_ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 647 NONAME
+	_ZN18eap_session_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 648 NONAME
+	_ZN18eap_session_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 649 NONAME
+	_ZN18eap_session_core_c23reset_or_remove_sessionEPP10eap_core_cPK25eap_network_id_selector_cb @ 650 NONAME
+	_ZN18eap_session_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 651 NONAME
+	_ZN18eap_session_core_c30synchronous_create_eap_sessionEPK19eap_am_network_id_c @ 652 NONAME
+	_ZN18eap_session_core_c30synchronous_remove_eap_sessionEPK19eap_am_network_id_c @ 653 NONAME
+	_ZN18eap_session_core_c35synchronous_cancel_all_eap_sessionsEv @ 654 NONAME
+	_ZN18eap_session_core_c5resetEv @ 655 NONAME
+	_ZN18eap_session_core_c8shutdownEv @ 656 NONAME
+	_ZN18eap_session_core_c9configureEv @ 657 NONAME
+	_ZN18eap_session_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 658 NONAME
+	_ZN18eap_session_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cb @ 659 NONAME
+	_ZN18eap_session_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cb @ 660 NONAME
+	_ZN18eap_session_core_cD0Ev @ 661 NONAME
+	_ZN18eap_session_core_cD1Ev @ 662 NONAME
+	_ZN18eap_session_core_cD2Ev @ 663 NONAME
+	_ZN19eap_am_crypto_md4_c10hash_finalEPvPm @ 664 NONAME
+	_ZN19eap_am_crypto_md4_c11hash_updateEPKvm @ 665 NONAME
+	_ZN19eap_am_crypto_md4_c12copy_contextEPK19eap_variable_data_cyPKmS4_ @ 666 NONAME
+	_ZN19eap_am_crypto_md4_c12get_is_validEv @ 667 NONAME
+	_ZN19eap_am_crypto_md4_c12hash_cleanupEv @ 668 NONAME
+	_ZN19eap_am_crypto_md4_c12set_is_validEv @ 669 NONAME
+	_ZN19eap_am_crypto_md4_c14get_block_sizeEv @ 670 NONAME
+	_ZN19eap_am_crypto_md4_c14set_is_invalidEv @ 671 NONAME
+	_ZN19eap_am_crypto_md4_c17get_digest_lengthEv @ 672 NONAME
+	_ZN19eap_am_crypto_md4_c19copy_message_digestEPvPm @ 673 NONAME
+	_ZN19eap_am_crypto_md4_c20eap_md4_process_dataEPKmm @ 674 NONAME
+	_ZN19eap_am_crypto_md4_c28eap_md4_transform_host_orderEPKmm @ 675 NONAME
+	_ZN19eap_am_crypto_md4_c4copyEv @ 676 NONAME
+	_ZN19eap_am_crypto_md4_c9hash_initEv @ 677 NONAME
+	_ZN19eap_am_crypto_md4_cC1EP18abs_eap_am_tools_c @ 678 NONAME
+	_ZN19eap_am_crypto_md4_cC2EP18abs_eap_am_tools_c @ 679 NONAME
+	_ZN19eap_am_crypto_md4_cD0Ev @ 680 NONAME
+	_ZN19eap_am_crypto_md4_cD1Ev @ 681 NONAME
+	_ZN19eap_am_crypto_md4_cD2Ev @ 682 NONAME
+	_ZN19eap_am_crypto_rc4_c12decrypt_dataEPKvPvm @ 683 NONAME
+	_ZN19eap_am_crypto_rc4_c12encrypt_dataEPKvPvm @ 684 NONAME
+	_ZN19eap_am_crypto_rc4_c12get_is_validEv @ 685 NONAME
+	_ZN19eap_am_crypto_rc4_c12set_is_validEv @ 686 NONAME
+	_ZN19eap_am_crypto_rc4_c14set_is_invalidEv @ 687 NONAME
+	_ZN19eap_am_crypto_rc4_c4swapEPhS0_ @ 688 NONAME
+	_ZN19eap_am_crypto_rc4_c7cleanupEv @ 689 NONAME
+	_ZN19eap_am_crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 690 NONAME
+	_ZN19eap_am_crypto_rc4_cC1EP18abs_eap_am_tools_c @ 691 NONAME
+	_ZN19eap_am_crypto_rc4_cC2EP18abs_eap_am_tools_c @ 692 NONAME
+	_ZN19eap_am_crypto_rc4_cD0Ev @ 693 NONAME
+	_ZN19eap_am_crypto_rc4_cD1Ev @ 694 NONAME
+	_ZN19eap_am_crypto_rc4_cD2Ev @ 695 NONAME
+	_ZN19eap_am_mutex_base_cC1EPKS_ @ 696 NONAME
+	_ZN19eap_am_mutex_base_cC1Ev @ 697 NONAME
+	_ZN19eap_am_mutex_base_cC2EPKS_ @ 698 NONAME
+	_ZN19eap_am_mutex_base_cC2Ev @ 699 NONAME
+	_ZN19eap_am_mutex_base_cD0Ev @ 700 NONAME
+	_ZN19eap_am_mutex_base_cD1Ev @ 701 NONAME
+	_ZN19eap_am_mutex_base_cD2Ev @ 702 NONAME
+	_ZN19eap_am_network_id_c12set_is_validEv @ 703 NONAME
+	_ZN19eap_am_network_id_c22set_copy_of_network_idEPKS_ @ 704 NONAME
+	_ZN19eap_am_network_id_c25set_copy_of_am_network_idEPKvmS1_mt @ 705 NONAME
+	_ZN19eap_am_network_id_c5resetEv @ 706 NONAME
+	_ZN19eap_am_network_id_c8set_typeEt @ 707 NONAME
+	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_c @ 708 NONAME
+	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 709 NONAME
+	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKS_ @ 710 NONAME
+	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKvmS3_mtbb @ 711 NONAME
+	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_c @ 712 NONAME
+	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 713 NONAME
+	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKS_ @ 714 NONAME
+	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKvmS3_mtbb @ 715 NONAME
+	_ZN19eap_am_network_id_cD0Ev @ 716 NONAME
+	_ZN19eap_am_network_id_cD1Ev @ 717 NONAME
+	_ZN19eap_am_network_id_cD2Ev @ 718 NONAME
+	_ZN19eap_core_nak_info_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 719 NONAME
+	_ZN19eap_core_nak_info_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 720 NONAME
+	_ZN19eap_core_nak_info_cD0Ev @ 721 NONAME
+	_ZN19eap_core_nak_info_cD1Ev @ 722 NONAME
+	_ZN19eap_core_nak_info_cD2Ev @ 723 NONAME
+	_ZN19eap_expanded_type_c10write_typeEP18abs_eap_am_tools_cmPvmbS_ @ 724 NONAME
+	_ZN19eap_expanded_type_c12is_ietf_typeES_ @ 725 NONAME
+	_ZN19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cP22eap_type_ietf_values_e @ 726 NONAME
+	_ZN19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cPS_ @ 727 NONAME
+	_ZN19eap_expanded_type_c16is_expanded_typeE22eap_type_ietf_values_e @ 728 NONAME
+	_ZN19eap_expanded_type_c19set_eap_type_valuesE20eap_type_vendor_id_em @ 729 NONAME
+	_ZN19eap_expanded_type_c22get_expanded_type_dataEP18abs_eap_am_tools_cP19eap_variable_data_c @ 730 NONAME
+	_ZN19eap_expanded_type_c22set_expanded_type_dataEP18abs_eap_am_tools_cPK19eap_variable_data_c @ 731 NONAME
+	_ZN19eap_expanded_type_c26get_eap_expanded_type_sizeEv @ 732 NONAME
+	_ZN19eap_expanded_type_c9read_typeEP18abs_eap_am_tools_cmPKvmPS_ @ 733 NONAME
+	_ZN19eap_expanded_type_cC1E20eap_type_vendor_id_em @ 734 NONAME
+	_ZN19eap_expanded_type_cC1E22eap_type_ietf_values_e @ 735 NONAME
+	_ZN19eap_expanded_type_cC1Ev @ 736 NONAME
+	_ZN19eap_expanded_type_cC2E20eap_type_vendor_id_em @ 737 NONAME
+	_ZN19eap_expanded_type_cC2E22eap_type_ietf_values_e @ 738 NONAME
+	_ZN19eap_expanded_type_cC2Ev @ 739 NONAME
+	_ZN19eap_expanded_type_cD1Ev @ 740 NONAME
+	_ZN19eap_expanded_type_cD2Ev @ 741 NONAME
+	_ZN19eap_expanded_type_caSE22eap_type_ietf_values_e @ 742 NONAME
+	_ZN19eap_expanded_type_caSERKS_ @ 743 NONAME
+	_ZN19eap_expanded_type_cadEv @ 744 NONAME
+	_ZN19eap_header_string_c19get_eap_code_stringE16eap_code_value_e @ 745 NONAME
+	_ZN19eap_header_string_c19get_eap_type_stringE19eap_expanded_type_c @ 746 NONAME
+	_ZN19eap_header_string_cC1Ev @ 747 NONAME
+	_ZN19eap_header_string_cC2Ev @ 748 NONAME
+	_ZN19eap_header_string_cD0Ev @ 749 NONAME
+	_ZN19eap_header_string_cD1Ev @ 750 NONAME
+	_ZN19eap_header_string_cD2Ev @ 751 NONAME
+	_ZN19eap_status_string_c17get_status_stringE12eap_status_e @ 752 NONAME
+	_ZN19eap_status_string_cC1Ev @ 753 NONAME
+	_ZN19eap_status_string_cC2Ev @ 754 NONAME
+	_ZN19eap_status_string_cD0Ev @ 755 NONAME
+	_ZN19eap_status_string_cD1Ev @ 756 NONAME
+	_ZN19eap_status_string_cD2Ev @ 757 NONAME
+	_ZN19eap_variable_data_c10set_bufferEPKS_ @ 758 NONAME
+	_ZN19eap_variable_data_c10set_bufferEPKvmbb @ 759 NONAME
+	_ZN19eap_variable_data_c10set_bufferEPvmbb @ 760 NONAME
+	_ZN19eap_variable_data_c12add_end_nullEv @ 761 NONAME
+	_ZN19eap_variable_data_c12set_is_validEv @ 762 NONAME
+	_ZN19eap_variable_data_c14set_is_invalidEv @ 763 NONAME
+	_ZN19eap_variable_data_c15allocate_bufferEm @ 764 NONAME
+	_ZN19eap_variable_data_c15set_data_lengthEm @ 765 NONAME
+	_ZN19eap_variable_data_c16set_start_offsetEm @ 766 NONAME
+	_ZN19eap_variable_data_c17set_buffer_lengthEm @ 767 NONAME
+	_ZN19eap_variable_data_c18add_data_to_offsetEmPKS_ @ 768 NONAME
+	_ZN19eap_variable_data_c18add_data_to_offsetEmPKvm @ 769 NONAME
+	_ZN19eap_variable_data_c18initialize_membersEv @ 770 NONAME
+	_ZN19eap_variable_data_c18set_copy_of_bufferEPKS_ @ 771 NONAME
+	_ZN19eap_variable_data_c18set_copy_of_bufferEPKvm @ 772 NONAME
+	_ZN19eap_variable_data_c34reset_start_offset_and_data_lengthEv @ 773 NONAME
+	_ZN19eap_variable_data_c4initEm @ 774 NONAME
+	_ZN19eap_variable_data_c5resetEv @ 775 NONAME
+	_ZN19eap_variable_data_c8add_dataEPKS_ @ 776 NONAME
+	_ZN19eap_variable_data_c8add_dataEPKvm @ 777 NONAME
+	_ZN19eap_variable_data_cC1EP18abs_eap_am_tools_c @ 778 NONAME
+	_ZN19eap_variable_data_cC1EP18abs_eap_am_tools_cPKvmbb @ 779 NONAME
+	_ZN19eap_variable_data_cC2EP18abs_eap_am_tools_c @ 780 NONAME
+	_ZN19eap_variable_data_cC2EP18abs_eap_am_tools_cPKvmbb @ 781 NONAME
+	_ZN19eap_variable_data_cD0Ev @ 782 NONAME
+	_ZN19eap_variable_data_cD1Ev @ 783 NONAME
+	_ZN19eap_variable_data_cD2Ev @ 784 NONAME
+	_ZN19eapol_header_base_c11set_versionE24eapol_protocol_version_e @ 785 NONAME
+	_ZN19eapol_header_base_c15set_data_lengthEt @ 786 NONAME
+	_ZN19eapol_header_base_c15set_packet_typeE19eapol_packet_type_e @ 787 NONAME
+	_ZN19eapol_header_base_c17get_header_lengthEv @ 788 NONAME
+	_ZN19eapol_header_base_cC1EP18abs_eap_am_tools_cPvm @ 789 NONAME
+	_ZN19eapol_header_base_cC2EP18abs_eap_am_tools_cPvm @ 790 NONAME
+	_ZN19eapol_header_base_cD0Ev @ 791 NONAME
+	_ZN19eapol_header_base_cD1Ev @ 792 NONAME
+	_ZN19eapol_header_base_cD2Ev @ 793 NONAME
+	_ZN19eapol_session_key_c12set_key_typeE16eapol_key_type_e @ 794 NONAME
+	_ZN19eapol_session_key_c13set_key_indexEm @ 795 NONAME
+	_ZN19eapol_session_key_c14set_key_tx_bitEb @ 796 NONAME
+	_ZN19eapol_session_key_c19set_sequence_numberEP19eap_variable_data_c @ 797 NONAME
+	_ZN19eapol_session_key_c25get_eapol_key_type_stringE16eapol_key_type_e @ 798 NONAME
+	_ZN19eapol_session_key_c7set_keyEPK19eap_variable_data_c @ 799 NONAME
+	_ZN19eapol_session_key_cC1EP18abs_eap_am_tools_c @ 800 NONAME
+	_ZN19eapol_session_key_cC1EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 801 NONAME
+	_ZN19eapol_session_key_cC2EP18abs_eap_am_tools_c @ 802 NONAME
+	_ZN19eapol_session_key_cC2EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 803 NONAME
+	_ZN19eapol_session_key_cD0Ev @ 804 NONAME
+	_ZN19eapol_session_key_cD1Ev @ 805 NONAME
+	_ZN19eapol_session_key_cD2Ev @ 806 NONAME
+	_ZN20crypto_tls_md5_prf_c12get_is_validEv @ 807 NONAME
+	_ZN20crypto_tls_md5_prf_c12set_is_validEv @ 808 NONAME
+	_ZN20crypto_tls_md5_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 809 NONAME
+	_ZN20crypto_tls_md5_prf_c14set_is_invalidEv @ 810 NONAME
+	_ZN20crypto_tls_md5_prf_c14tls_prf_outputEPvm @ 811 NONAME
+	_ZN20crypto_tls_md5_prf_c15tls_prf_cleanupEv @ 812 NONAME
+	_ZN20crypto_tls_md5_prf_cC1EP18abs_eap_am_tools_c @ 813 NONAME
+	_ZN20crypto_tls_md5_prf_cC2EP18abs_eap_am_tools_c @ 814 NONAME
+	_ZN20crypto_tls_md5_prf_cD0Ev @ 815 NONAME
+	_ZN20crypto_tls_md5_prf_cD1Ev @ 816 NONAME
+	_ZN20crypto_tls_md5_prf_cD2Ev @ 817 NONAME
+	_ZN20eap_am_crypto_sha1_c10hash_finalEPvPm @ 818 NONAME
+	_ZN20eap_am_crypto_sha1_c11hash_updateEPKvm @ 819 NONAME
+	_ZN20eap_am_crypto_sha1_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 820 NONAME
+	_ZN20eap_am_crypto_sha1_c12get_is_validEv @ 821 NONAME
+	_ZN20eap_am_crypto_sha1_c12hash_cleanupEv @ 822 NONAME
+	_ZN20eap_am_crypto_sha1_c12set_is_validEv @ 823 NONAME
+	_ZN20eap_am_crypto_sha1_c14get_block_sizeEv @ 824 NONAME
+	_ZN20eap_am_crypto_sha1_c14set_is_invalidEv @ 825 NONAME
+	_ZN20eap_am_crypto_sha1_c17get_digest_lengthEv @ 826 NONAME
+	_ZN20eap_am_crypto_sha1_c19copy_message_digestEPvPm @ 827 NONAME
+	_ZN20eap_am_crypto_sha1_c23eap_sha1_dss_G_functionEPKvmPvPm @ 828 NONAME
+	_ZN20eap_am_crypto_sha1_c32eap_sha1_process_data_host_orderEPKmm @ 829 NONAME
+	_ZN20eap_am_crypto_sha1_c35eap_sha1_process_data_network_orderEPKmm @ 830 NONAME
+	_ZN20eap_am_crypto_sha1_c4copyEv @ 831 NONAME
+	_ZN20eap_am_crypto_sha1_c9hash_initEv @ 832 NONAME
+	_ZN20eap_am_crypto_sha1_cC1EP18abs_eap_am_tools_c @ 833 NONAME
+	_ZN20eap_am_crypto_sha1_cC2EP18abs_eap_am_tools_c @ 834 NONAME
+	_ZN20eap_am_crypto_sha1_cD0Ev @ 835 NONAME
+	_ZN20eap_am_crypto_sha1_cD1Ev @ 836 NONAME
+	_ZN20eap_am_crypto_sha1_cD2Ev @ 837 NONAME
+	_ZN20eap_buf_chain_base_c10initializeEm @ 838 NONAME
+	_ZN20eap_buf_chain_base_c11set_encryptEb @ 839 NONAME
+	_ZN20eap_buf_chain_base_c12get_am_toolsEv @ 840 NONAME
+	_ZN20eap_buf_chain_base_c13set_is_clientEb @ 841 NONAME
+	_ZN20eap_buf_chain_base_c15set_data_lengthEm @ 842 NONAME
+	_ZN20eap_buf_chain_base_c17reset_data_bufferEv @ 843 NONAME
+	_ZN20eap_buf_chain_base_c17set_buffer_lengthEm @ 844 NONAME
+	_ZN20eap_buf_chain_base_c17set_stack_addressEPKv @ 845 NONAME
+	_ZN20eap_buf_chain_base_c18add_data_to_offsetEmPK19eap_variable_data_c @ 846 NONAME
+	_ZN20eap_buf_chain_base_c18add_data_to_offsetEmPKvm @ 847 NONAME
+	_ZN20eap_buf_chain_base_c18get_is_manipulatedEv @ 848 NONAME
+	_ZN20eap_buf_chain_base_c18set_is_manipulatedEv @ 849 NONAME
+	_ZN20eap_buf_chain_base_c19set_mem_guard_bytesEv @ 850 NONAME
+	_ZN20eap_buf_chain_base_c20get_mem_guard_lengthEv @ 851 NONAME
+	_ZN20eap_buf_chain_base_c20set_do_length_checksEb @ 852 NONAME
+	_ZN20eap_buf_chain_base_c21get_random_error_typeEv @ 853 NONAME
+	_ZN20eap_buf_chain_base_c21get_send_packet_indexEv @ 854 NONAME
+	_ZN20eap_buf_chain_base_c21set_random_error_typeE21eap_random_error_type @ 855 NONAME
+	_ZN20eap_buf_chain_base_c21set_send_packet_indexEm @ 856 NONAME
+	_ZN20eap_buf_chain_base_c28get_do_packet_retransmissionEv @ 857 NONAME
+	_ZN20eap_buf_chain_base_c28set_do_packet_retransmissionEb @ 858 NONAME
+	_ZN20eap_buf_chain_base_c8add_dataEPK19eap_variable_data_c @ 859 NONAME
+	_ZN20eap_buf_chain_base_c8add_dataEPKvm @ 860 NONAME
+	_ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 861 NONAME
+	_ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 862 NONAME
+	_ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 863 NONAME
+	_ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 864 NONAME
+	_ZN20eap_buf_chain_base_cD0Ev @ 865 NONAME
+	_ZN20eap_buf_chain_base_cD1Ev @ 866 NONAME
+	_ZN20eap_buf_chain_base_cD2Ev @ 867 NONAME
+	_ZN20eap_rogue_ap_entry_c15set_mac_addressEPKh @ 868 NONAME
+	_ZN20eap_rogue_ap_entry_c16set_rogue_reasonE21eap_rogue_ap_reason_e @ 869 NONAME
+	_ZN20eap_rogue_ap_entry_cC1EP18abs_eap_am_tools_c @ 870 NONAME
+	_ZN20eap_rogue_ap_entry_cC2EP18abs_eap_am_tools_c @ 871 NONAME
+	_ZN20eap_rogue_ap_entry_cD0Ev @ 872 NONAME
+	_ZN20eap_rogue_ap_entry_cD1Ev @ 873 NONAME
+	_ZN20eap_rogue_ap_entry_cD2Ev @ 874 NONAME
+	_ZN20eap_type_selection_cC1EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 875 NONAME
+	_ZN20eap_type_selection_cC2EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 876 NONAME
+	_ZN20eap_type_selection_cD0Ev @ 877 NONAME
+	_ZN20eap_type_selection_cD1Ev @ 878 NONAME
+	_ZN20eap_type_selection_cD2Ev @ 879 NONAME
+	_ZN21crypto_tls_base_prf_c12get_is_validEv @ 880 NONAME
+	_ZN21crypto_tls_base_prf_c12set_is_validEv @ 881 NONAME
+	_ZN21crypto_tls_base_prf_c14set_is_invalidEv @ 882 NONAME
+	_ZN21crypto_tls_base_prf_c15tls_prf_A_valueEP27abs_crypto_hmac_algorithm_cP19eap_variable_data_cS3_S3_ @ 883 NONAME
+	_ZN21crypto_tls_base_prf_c15tls_prf_cleanupEv @ 884 NONAME
+	_ZN21crypto_tls_base_prf_c17tls_prf_one_roundEP27abs_crypto_hmac_algorithm_cPK19eap_variable_data_cPS2_S5_Pvm @ 885 NONAME
+	_ZN21crypto_tls_base_prf_cC1EP18abs_eap_am_tools_c @ 886 NONAME
+	_ZN21crypto_tls_base_prf_cC2EP18abs_eap_am_tools_c @ 887 NONAME
+	_ZN21crypto_tls_base_prf_cD0Ev @ 888 NONAME
+	_ZN21crypto_tls_base_prf_cD1Ev @ 889 NONAME
+	_ZN21crypto_tls_base_prf_cD2Ev @ 890 NONAME
+	_ZN21crypto_tls_sha1_prf_c12get_is_validEv @ 891 NONAME
+	_ZN21crypto_tls_sha1_prf_c12set_is_validEv @ 892 NONAME
+	_ZN21crypto_tls_sha1_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 893 NONAME
+	_ZN21crypto_tls_sha1_prf_c14set_is_invalidEv @ 894 NONAME
+	_ZN21crypto_tls_sha1_prf_c14tls_prf_outputEPvm @ 895 NONAME
+	_ZN21crypto_tls_sha1_prf_c15tls_prf_cleanupEv @ 896 NONAME
+	_ZN21crypto_tls_sha1_prf_cC1EP18abs_eap_am_tools_c @ 897 NONAME
+	_ZN21crypto_tls_sha1_prf_cC2EP18abs_eap_am_tools_c @ 898 NONAME
+	_ZN21crypto_tls_sha1_prf_cD0Ev @ 899 NONAME
+	_ZN21crypto_tls_sha1_prf_cD1Ev @ 900 NONAME
+	_ZN21crypto_tls_sha1_prf_cD2Ev @ 901 NONAME
+	_ZN21eap_am_memory_store_c11remove_dataEPK19eap_variable_data_c @ 902 NONAME
+	_ZN21eap_am_memory_store_c12get_is_validEv @ 903 NONAME
+	_ZN21eap_am_memory_store_c12set_is_validEv @ 904 NONAME
+	_ZN21eap_am_memory_store_c13timer_expiredEmPv @ 905 NONAME
+	_ZN21eap_am_memory_store_c17timer_delete_dataEmPv @ 906 NONAME
+	_ZN21eap_am_memory_store_c8add_dataEPK19eap_variable_data_cPK22eap_tlv_message_data_cm @ 907 NONAME
+	_ZN21eap_am_memory_store_c8get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 908 NONAME
+	_ZN21eap_am_memory_store_c8shutdownEv @ 909 NONAME
+	_ZN21eap_am_memory_store_cC1EP18abs_eap_am_tools_c @ 910 NONAME
+	_ZN21eap_am_memory_store_cC2EP18abs_eap_am_tools_c @ 911 NONAME
+	_ZN21eap_am_memory_store_cD0Ev @ 912 NONAME
+	_ZN21eap_am_memory_store_cD1Ev @ 913 NONAME
+	_ZN21eap_am_memory_store_cD2Ev @ 914 NONAME
+	_ZN22eap_am_mutex_symbian_c11mutex_enterEv @ 915 NONAME
+	_ZN22eap_am_mutex_symbian_c11mutex_leaveEP18abs_eap_am_tools_c @ 916 NONAME
+	_ZN22eap_am_mutex_symbian_c15dublicate_mutexEv @ 917 NONAME
+	_ZN22eap_am_mutex_symbian_cC1EPKS_ @ 918 NONAME
+	_ZN22eap_am_mutex_symbian_cC1Ev @ 919 NONAME
+	_ZN22eap_am_mutex_symbian_cC2EPKS_ @ 920 NONAME
+	_ZN22eap_am_mutex_symbian_cC2Ev @ 921 NONAME
+	_ZN22eap_am_mutex_symbian_cD0Ev @ 922 NONAME
+	_ZN22eap_am_mutex_symbian_cD1Ev @ 923 NONAME
+	_ZN22eap_am_mutex_symbian_cD2Ev @ 924 NONAME
+	_ZN22eap_am_tools_symbian_c10get_cryptoEv @ 925 NONAME
+	_ZN22eap_am_tools_symbian_c11pulse_timerEm @ 926 NONAME
+	_ZN22eap_am_tools_symbian_c11timer_sleepEm @ 927 NONAME
+	_ZN22eap_am_tools_symbian_c12am_set_timerEP20abs_eap_base_timer_cmPvm @ 928 NONAME
+	_ZN22eap_am_tools_symbian_c13config_strlenEPKc @ 929 NONAME
+	_ZN22eap_am_tools_symbian_c15am_cancel_timerEP20abs_eap_base_timer_cm @ 930 NONAME
+	_ZN22eap_am_tools_symbian_c15begin_db_deleteER7RDbView @ 931 NONAME
+	_ZN22eap_am_tools_symbian_c15begin_db_updateER7RDbView @ 932 NONAME
+	_ZN22eap_am_tools_symbian_c15enter_crypto_csEv @ 933 NONAME
+	_ZN22eap_am_tools_symbian_c15formatted_printEPKcz @ 934 NONAME
+	_ZN22eap_am_tools_symbian_c15get_clock_ticksEv @ 935 NONAME
+	_ZN22eap_am_tools_symbian_c15get_trace_mutexEv @ 936 NONAME
+	_ZN22eap_am_tools_symbian_c15leave_crypto_csEv @ 937 NONAME
+	_ZN22eap_am_tools_symbian_c16get_global_mutexEv @ 938 NONAME
+	_ZN22eap_am_tools_symbian_c17enter_trace_mutexEv @ 939 NONAME
+	_ZN22eap_am_tools_symbian_c17get_gmt_unix_timeEv @ 940 NONAME
+	_ZN22eap_am_tools_symbian_c17leave_trace_mutexEv @ 941 NONAME
+	_ZN22eap_am_tools_symbian_c18enter_global_mutexEv @ 942 NONAME
+	_ZN22eap_am_tools_symbian_c18get_hardware_ticksEv @ 943 NONAME
+	_ZN22eap_am_tools_symbian_c18leave_global_mutexEv @ 944 NONAME
+	_ZN22eap_am_tools_symbian_c19set_trace_file_nameEPK19eap_variable_data_c @ 945 NONAME
+	_ZN22eap_am_tools_symbian_c19u64_struct_to_u64_tE10u64_struct @ 946 NONAME
+	_ZN22eap_am_tools_symbian_c19u64_t_to_u64_structEy @ 947 NONAME
+	_ZN22eap_am_tools_symbian_c20am_cancel_all_timersEv @ 948 NONAME
+	_ZN22eap_am_tools_symbian_c20begin_db_transactionER16RDbNamedDatabase @ 949 NONAME
+	_ZN22eap_am_tools_symbian_c23convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 950 NONAME
+	_ZN22eap_am_tools_symbian_c23convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 951 NONAME
+	_ZN22eap_am_tools_symbian_c23get_timer_resolution_msEv @ 952 NONAME
+	_ZN22eap_am_tools_symbian_c23re_activate_timer_queueEv @ 953 NONAME
+	_ZN22eap_am_tools_symbian_c23set_max_trace_file_sizeEm @ 954 NONAME
+	_ZN22eap_am_tools_symbian_c23set_timer_resolution_msEm @ 955 NONAME
+	_ZN22eap_am_tools_symbian_c24get_timer_queue_is_emptyEv @ 956 NONAME
+	_ZN22eap_am_tools_symbian_c25get_clock_ticks_of_secondEv @ 957 NONAME
+	_ZN22eap_am_tools_symbian_c26get_is_timer_thread_activeEv @ 958 NONAME
+	_ZN22eap_am_tools_symbian_c28get_hardware_ticks_of_secondEv @ 959 NONAME
+	_ZN22eap_am_tools_symbian_c30get_use_eap_milli_second_timerEv @ 960 NONAME
+	_ZN22eap_am_tools_symbian_c30set_use_eap_milli_second_timerEb @ 961 NONAME
+	_ZN22eap_am_tools_symbian_c31convert_am_error_to_eapol_errorEl @ 962 NONAME
+	_ZN22eap_am_tools_symbian_c31convert_eapol_error_to_am_errorE12eap_status_e @ 963 NONAME
+	_ZN22eap_am_tools_symbian_c5sleepEm @ 964 NONAME
+	_ZN22eap_am_tools_symbian_c6getenvEPK19eap_variable_data_cPS0_ @ 965 NONAME
+	_ZN22eap_am_tools_symbian_c6memchrEPKvhm @ 966 NONAME
+	_ZN22eap_am_tools_symbian_c6memcmpEPKvS1_m @ 967 NONAME
+	_ZN22eap_am_tools_symbian_c6memsetEPvlm @ 968 NONAME
+	_ZN22eap_am_tools_symbian_c6sprintER6TDes16PKcz @ 969 NONAME
+	_ZN22eap_am_tools_symbian_c6strlenEPKc @ 970 NONAME
+	_ZN22eap_am_tools_symbian_c7isspaceEh @ 971 NONAME
+	_ZN22eap_am_tools_symbian_c7memmoveEPvPKvm @ 972 NONAME
+	_ZN22eap_am_tools_symbian_c7memrchrEPKvhm @ 973 NONAME
+	_ZN22eap_am_tools_symbian_c8shutdownEv @ 974 NONAME
+	_ZN22eap_am_tools_symbian_c8snprintfEPhmPKcz @ 975 NONAME
+	_ZN22eap_am_tools_symbian_c9configureEv @ 976 NONAME
+	_ZN22eap_am_tools_symbian_cC1EPKc @ 977 NONAME
+	_ZN22eap_am_tools_symbian_cC2EPKc @ 978 NONAME
+	_ZN22eap_am_tools_symbian_cD0Ev @ 979 NONAME
+	_ZN22eap_am_tools_symbian_cD1Ev @ 980 NONAME
+	_ZN22eap_am_tools_symbian_cD2Ev @ 981 NONAME
+	_ZN22eap_tlv_message_data_c12get_is_validEv @ 982 NONAME
+	_ZN22eap_tlv_message_data_c16add_message_dataEmmPKv @ 983 NONAME
+	_ZN22eap_tlv_message_data_c16set_message_dataEmPKv @ 984 NONAME
+	_ZN22eap_tlv_message_data_c17copy_message_dataEmPKv @ 985 NONAME
+	_ZN22eap_tlv_message_data_c18add_message_headerEmm @ 986 NONAME
+	_ZN22eap_tlv_message_data_c18parse_message_dataEP11eap_array_cI16eap_tlv_header_cE @ 987 NONAME
+	_ZN22eap_tlv_message_data_c22add_message_data_arrayEmmP11eap_array_cI19eap_variable_data_cE @ 988 NONAME
+	_ZN22eap_tlv_message_data_c23allocate_message_bufferEmmPPv @ 989 NONAME
+	_ZN22eap_tlv_message_data_c28allocate_message_data_bufferEm @ 990 NONAME
+	_ZN22eap_tlv_message_data_c31object_decrease_reference_countEv @ 991 NONAME
+	_ZN22eap_tlv_message_data_c31object_increase_reference_countEv @ 992 NONAME
+	_ZN22eap_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 993 NONAME
+	_ZN22eap_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 994 NONAME
+	_ZN22eap_tlv_message_data_cD0Ev @ 995 NONAME
+	_ZN22eap_tlv_message_data_cD1Ev @ 996 NONAME
+	_ZN22eap_tlv_message_data_cD2Ev @ 997 NONAME
+	_ZN22eapol_RC4_key_header_c10get_key_IVEv @ 998 NONAME
+	_ZN22eapol_RC4_key_header_c12set_key_flagE21eapol_RC4_key_flags_e @ 999 NONAME
+	_ZN22eapol_RC4_key_header_c13set_key_indexEh @ 1000 NONAME
+	_ZN22eapol_RC4_key_header_c14set_key_lengthEt @ 1001 NONAME
+	_ZN22eapol_RC4_key_header_c17get_header_lengthEv @ 1002 NONAME
+	_ZN22eapol_RC4_key_header_c18get_replay_counterEv @ 1003 NONAME
+	_ZN22eapol_RC4_key_header_c18zero_key_signatureEP18abs_eap_am_tools_c @ 1004 NONAME
+	_ZN22eapol_RC4_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 1005 NONAME
+	_ZN22eapol_RC4_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 1006 NONAME
+	_ZN22eapol_RC4_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 1007 NONAME
+	_ZN22eapol_RC4_key_header_c28set_eapol_packet_body_lengthEt @ 1008 NONAME
+	_ZN22eapol_RC4_key_header_cC1EP18abs_eap_am_tools_cPvm @ 1009 NONAME
+	_ZN22eapol_RC4_key_header_cC2EP18abs_eap_am_tools_cPvm @ 1010 NONAME
+	_ZN22eapol_RC4_key_header_cD0Ev @ 1011 NONAME
+	_ZN22eapol_RC4_key_header_cD1Ev @ 1012 NONAME
+	_ZN22eapol_RC4_key_header_cD2Ev @ 1013 NONAME
+	_ZN23crypto_kd_hmac_sha256_c10expand_keyEP19eap_variable_data_cmPKS0_S3_ @ 1014 NONAME
+	_ZN23crypto_kd_hmac_sha256_c12get_is_validEv @ 1015 NONAME
+	_ZN23crypto_kd_hmac_sha256_cC1EP18abs_eap_am_tools_c @ 1016 NONAME
+	_ZN23crypto_kd_hmac_sha256_cC2EP18abs_eap_am_tools_c @ 1017 NONAME
+	_ZN23crypto_kd_hmac_sha256_cD0Ev @ 1018 NONAME
+	_ZN23crypto_kd_hmac_sha256_cD1Ev @ 1019 NONAME
+	_ZN23crypto_kd_hmac_sha256_cD2Ev @ 1020 NONAME
+	_ZN23eap_am_crypto_sha_256_c10hash_finalEPvPm @ 1021 NONAME
+	_ZN23eap_am_crypto_sha_256_c11hash_updateEPKvm @ 1022 NONAME
+	_ZN23eap_am_crypto_sha_256_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 1023 NONAME
+	_ZN23eap_am_crypto_sha_256_c12get_is_validEv @ 1024 NONAME
+	_ZN23eap_am_crypto_sha_256_c12hash_cleanupEv @ 1025 NONAME
+	_ZN23eap_am_crypto_sha_256_c12set_is_validEv @ 1026 NONAME
+	_ZN23eap_am_crypto_sha_256_c14get_block_sizeEv @ 1027 NONAME
+	_ZN23eap_am_crypto_sha_256_c14set_is_invalidEv @ 1028 NONAME
+	_ZN23eap_am_crypto_sha_256_c17get_digest_lengthEv @ 1029 NONAME
+	_ZN23eap_am_crypto_sha_256_c19copy_message_digestEPvPm @ 1030 NONAME
+	_ZN23eap_am_crypto_sha_256_c35eap_sha_256_process_data_host_orderEPKmm @ 1031 NONAME
+	_ZN23eap_am_crypto_sha_256_c38eap_sha_256_process_data_network_orderEPKmm @ 1032 NONAME
+	_ZN23eap_am_crypto_sha_256_c4copyEv @ 1033 NONAME
+	_ZN23eap_am_crypto_sha_256_c9hash_initEv @ 1034 NONAME
+	_ZN23eap_am_crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 1035 NONAME
+	_ZN23eap_am_crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 1036 NONAME
+	_ZN23eap_am_crypto_sha_256_cD0Ev @ 1037 NONAME
+	_ZN23eap_am_crypto_sha_256_cD1Ev @ 1038 NONAME
+	_ZN23eap_am_crypto_sha_256_cD2Ev @ 1039 NONAME
+	_ZN23eap_am_crypto_symbian_c10dh_cleanupEPK19eap_variable_data_c @ 1040 NONAME
+	_ZN23eap_am_crypto_symbian_c10dsa_verifyEP19eap_variable_data_cPKS0_S3_S3_S3_S3_S3_ @ 1041 NONAME
+	_ZN23eap_am_crypto_symbian_c10md4_updateEP19eap_variable_data_cPKhm @ 1042 NONAME
+	_ZN23eap_am_crypto_symbian_c10md5_updateEP19eap_variable_data_cPKhm @ 1043 NONAME
+	_ZN23eap_am_crypto_symbian_c10rsa_verifyEP19eap_variable_data_cPKS0_S3_S3_ @ 1044 NONAME
+	_ZN23eap_am_crypto_symbian_c10sha1_finalEP19eap_variable_data_cPhPm @ 1045 NONAME
+	_ZN23eap_am_crypto_symbian_c11aes_cleanupEP19eap_variable_data_c @ 1046 NONAME
+	_ZN23eap_am_crypto_symbian_c11dsa_cleanupEP19eap_variable_data_c @ 1047 NONAME
+	_ZN23eap_am_crypto_symbian_c11md4_cleanupEP19eap_variable_data_c @ 1048 NONAME
+	_ZN23eap_am_crypto_symbian_c11md5_cleanupEP19eap_variable_data_c @ 1049 NONAME
+	_ZN23eap_am_crypto_symbian_c11rc4_cleanupEP19eap_variable_data_c @ 1050 NONAME
+	_ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPKvPvm @ 1051 NONAME
+	_ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPvm @ 1052 NONAME
+	_ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPKvPvm @ 1053 NONAME
+	_ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPvm @ 1054 NONAME
+	_ZN23eap_am_crypto_symbian_c11rc4_set_keyEP19eap_variable_data_cPKS0_ @ 1055 NONAME
+	_ZN23eap_am_crypto_symbian_c11rsa_cleanupEP19eap_variable_data_c @ 1056 NONAME
+	_ZN23eap_am_crypto_symbian_c11sha1_updateEP19eap_variable_data_cPKhm @ 1057 NONAME
+	_ZN23eap_am_crypto_symbian_c12set_is_validEv @ 1058 NONAME
+	_ZN23eap_am_crypto_symbian_c12sha1_cleanupEP19eap_variable_data_c @ 1059 NONAME
+	_ZN23eap_am_crypto_symbian_c12sha_256_initEP19eap_variable_data_c @ 1060 NONAME
+	_ZN23eap_am_crypto_symbian_c13add_rand_seedEPKhm @ 1061 NONAME
+	_ZN23eap_am_crypto_symbian_c13sha_256_finalEP19eap_variable_data_cPhPm @ 1062 NONAME
+	_ZN23eap_am_crypto_symbian_c14aes_block_sizeEv @ 1063 NONAME
+	_ZN23eap_am_crypto_symbian_c14aes_key_lengthEv @ 1064 NONAME
+	_ZN23eap_am_crypto_symbian_c14get_rand_bytesEPhm @ 1065 NONAME
+	_ZN23eap_am_crypto_symbian_c14sha_256_updateEP19eap_variable_data_cPKhm @ 1066 NONAME
+	_ZN23eap_am_crypto_symbian_c15sha_256_cleanupEP19eap_variable_data_c @ 1067 NONAME
+	_ZN23eap_am_crypto_symbian_c15use_test_randomEPKhmb @ 1068 NONAME
+	_ZN23eap_am_crypto_symbian_c16cleanup_3des_edeEP19eap_variable_data_c @ 1069 NONAME
+	_ZN23eap_am_crypto_symbian_c16md4_copy_contextEP19eap_variable_data_cPKS0_ @ 1070 NONAME
+	_ZN23eap_am_crypto_symbian_c16md5_copy_contextEP19eap_variable_data_cPKS0_ @ 1071 NONAME
+	_ZN23eap_am_crypto_symbian_c17aes_decrypt_blockEP19eap_variable_data_cPKhPhm @ 1072 NONAME
+	_ZN23eap_am_crypto_symbian_c17aes_encrypt_blockEP19eap_variable_data_cPKhPhm @ 1073 NONAME
+	_ZN23eap_am_crypto_symbian_c17dss_pseudo_randomEPhmS0_m @ 1074 NONAME
+	_ZN23eap_am_crypto_symbian_c17sha1_copy_contextEP19eap_variable_data_cPKS0_ @ 1075 NONAME
+	_ZN23eap_am_crypto_symbian_c18get_md4_block_sizeEP19eap_variable_data_c @ 1076 NONAME
+	_ZN23eap_am_crypto_symbian_c18get_md5_block_sizeEP19eap_variable_data_c @ 1077 NONAME
+	_ZN23eap_am_crypto_symbian_c19block_size_3des_edeEv @ 1078 NONAME
+	_ZN23eap_am_crypto_symbian_c19get_sha1_block_sizeEP19eap_variable_data_c @ 1079 NONAME
+	_ZN23eap_am_crypto_symbian_c19key_length_3des_edeEv @ 1080 NONAME
+	_ZN23eap_am_crypto_symbian_c20sha_256_copy_contextEP19eap_variable_data_cPKS0_ @ 1081 NONAME
+	_ZN23eap_am_crypto_symbian_c21get_md4_digest_lengthEP19eap_variable_data_c @ 1082 NONAME
+	_ZN23eap_am_crypto_symbian_c21get_md5_digest_lengthEP19eap_variable_data_c @ 1083 NONAME
+	_ZN23eap_am_crypto_symbian_c22add_rand_seed_hw_ticksEv @ 1084 NONAME
+	_ZN23eap_am_crypto_symbian_c22aes_set_decryption_keyEP19eap_variable_data_cPKhm @ 1085 NONAME
+	_ZN23eap_am_crypto_symbian_c22aes_set_encryption_keyEP19eap_variable_data_cPKhm @ 1086 NONAME
+	_ZN23eap_am_crypto_symbian_c22decrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 1087 NONAME
+	_ZN23eap_am_crypto_symbian_c22encrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 1088 NONAME
+	_ZN23eap_am_crypto_symbian_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKhmS5_m @ 1089 NONAME
+	_ZN23eap_am_crypto_symbian_c22get_sha1_digest_lengthEP19eap_variable_data_c @ 1090 NONAME
+	_ZN23eap_am_crypto_symbian_c22get_sha_256_block_sizeEP19eap_variable_data_c @ 1091 NONAME
+	_ZN23eap_am_crypto_symbian_c24open_crypto_memory_leaksEv @ 1092 NONAME
+	_ZN23eap_am_crypto_symbian_c25close_crypto_memory_leaksEv @ 1093 NONAME
+	_ZN23eap_am_crypto_symbian_c25get_sha_256_digest_lengthEP19eap_variable_data_c @ 1094 NONAME
+	_ZN23eap_am_crypto_symbian_c27rsa_decrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1095 NONAME
+	_ZN23eap_am_crypto_symbian_c27rsa_encrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1096 NONAME
+	_ZN23eap_am_crypto_symbian_c27set_decryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1097 NONAME
+	_ZN23eap_am_crypto_symbian_c27set_encryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1098 NONAME
+	_ZN23eap_am_crypto_symbian_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKhmS3_m @ 1099 NONAME
+	_ZN23eap_am_crypto_symbian_c28rsa_decrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1100 NONAME
+	_ZN23eap_am_crypto_symbian_c28rsa_encrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1101 NONAME
+	_ZN23eap_am_crypto_symbian_c8dsa_initEP19eap_variable_data_c @ 1102 NONAME
+	_ZN23eap_am_crypto_symbian_c8dsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1103 NONAME
+	_ZN23eap_am_crypto_symbian_c8md4_initEP19eap_variable_data_c @ 1104 NONAME
+	_ZN23eap_am_crypto_symbian_c8md5_initEP19eap_variable_data_c @ 1105 NONAME
+	_ZN23eap_am_crypto_symbian_c8rsa_initEP19eap_variable_data_c @ 1106 NONAME
+	_ZN23eap_am_crypto_symbian_c8rsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1107 NONAME
+	_ZN23eap_am_crypto_symbian_c9configureEv @ 1108 NONAME
+	_ZN23eap_am_crypto_symbian_c9md4_finalEP19eap_variable_data_cPhPm @ 1109 NONAME
+	_ZN23eap_am_crypto_symbian_c9md5_finalEP19eap_variable_data_cPhPm @ 1110 NONAME
+	_ZN23eap_am_crypto_symbian_c9sha1_initEP19eap_variable_data_c @ 1111 NONAME
+	_ZN23eap_am_crypto_symbian_cC1EP18abs_eap_am_tools_c @ 1112 NONAME
+	_ZN23eap_am_crypto_symbian_cC2EP18abs_eap_am_tools_c @ 1113 NONAME
+	_ZN23eap_am_crypto_symbian_cD0Ev @ 1114 NONAME
+	_ZN23eap_am_crypto_symbian_cD1Ev @ 1115 NONAME
+	_ZN23eap_am_crypto_symbian_cD2Ev @ 1116 NONAME
+	_ZN23eapol_RSNA_key_header_c11set_bits_onEttmm @ 1117 NONAME
+	_ZN23eapol_RSNA_key_header_c12reset_headerEh31eapol_key_authentication_type_eNS_19eapol_RSNA_cipher_eEybbbbbbbbb24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 1118 NONAME
+	_ZN23eapol_RSNA_key_header_c12zero_key_MICEP18abs_eap_am_tools_c @ 1119 NONAME
+	_ZN23eapol_RSNA_key_header_c12zero_key_RSCEP18abs_eap_am_tools_c @ 1120 NONAME
+	_ZN23eapol_RSNA_key_header_c14set_key_lengthEt @ 1121 NONAME
+	_ZN23eapol_RSNA_key_header_c14zero_key_NONCEEP18abs_eap_am_tools_c @ 1122 NONAME
+	_ZN23eapol_RSNA_key_header_c17get_header_lengthEv @ 1123 NONAME
+	_ZN23eapol_RSNA_key_header_c17zero_EAPOL_key_IVEP18abs_eap_am_tools_c @ 1124 NONAME
+	_ZN23eapol_RSNA_key_header_c17zero_key_reservedEP18abs_eap_am_tools_c @ 1125 NONAME
+	_ZN23eapol_RSNA_key_header_c19set_key_data_lengthEt @ 1126 NONAME
+	_ZN23eapol_RSNA_key_header_c19set_key_informationEt @ 1127 NONAME
+	_ZN23eapol_RSNA_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 1128 NONAME
+	_ZN23eapol_RSNA_key_header_c22set_key_replay_counterEy @ 1129 NONAME
+	_ZN23eapol_RSNA_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 1130 NONAME
+	_ZN23eapol_RSNA_key_header_c24zero_key_STA_MAC_addressEP18abs_eap_am_tools_c @ 1131 NONAME
+	_ZN23eapol_RSNA_key_header_c25set_key_information_errorEb @ 1132 NONAME
+	_ZN23eapol_RSNA_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 1133 NONAME
+	_ZN23eapol_RSNA_key_header_c26set_key_information_secureEb @ 1134 NONAME
+	_ZN23eapol_RSNA_key_header_c27set_key_information_installEb @ 1135 NONAME
+	_ZN23eapol_RSNA_key_header_c27set_key_information_key_MICEb @ 1136 NONAME
+	_ZN23eapol_RSNA_key_header_c27set_key_information_key_ackEb @ 1137 NONAME
+	_ZN23eapol_RSNA_key_header_c27set_key_information_requestEb @ 1138 NONAME
+	_ZN23eapol_RSNA_key_header_c28set_eapol_packet_body_lengthEm @ 1139 NONAME
+	_ZN23eapol_RSNA_key_header_c28set_key_information_key_typeEb @ 1140 NONAME
+	_ZN23eapol_RSNA_key_header_c29set_key_information_key_indexEh @ 1141 NONAME
+	_ZN23eapol_RSNA_key_header_c36zero_EAPOL_header_and_Key_descriptorEP18abs_eap_am_tools_c @ 1142 NONAME
+	_ZN23eapol_RSNA_key_header_c38set_key_information_encrypted_key_dataEb @ 1143 NONAME
+	_ZN23eapol_RSNA_key_header_c42set_key_information_key_descriptor_versionEh @ 1144 NONAME
+	_ZN23eapol_RSNA_key_header_cC1EP18abs_eap_am_tools_cbbPvm @ 1145 NONAME
+	_ZN23eapol_RSNA_key_header_cC2EP18abs_eap_am_tools_cbbPvm @ 1146 NONAME
+	_ZN23eapol_RSNA_key_header_cD0Ev @ 1147 NONAME
+	_ZN23eapol_RSNA_key_header_cD1Ev @ 1148 NONAME
+	_ZN23eapol_RSNA_key_header_cD2Ev @ 1149 NONAME
+	_ZN23network_key_and_index_c12get_is_validEv @ 1150 NONAME
+	_ZN23network_key_and_index_c15get_network_keyEv @ 1151 NONAME
+	_ZN23network_key_and_index_c17get_is_valid_dataEv @ 1152 NONAME
+	_ZN23network_key_and_index_c21get_network_key_indexEv @ 1153 NONAME
+	_ZN23network_key_and_index_c21set_network_key_indexEh @ 1154 NONAME
+	_ZN23network_key_and_index_c4copyEv @ 1155 NONAME
+	_ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 1156 NONAME
+	_ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 1157 NONAME
+	_ZN23network_key_and_index_cD0Ev @ 1158 NONAME
+	_ZN23network_key_and_index_cD1Ev @ 1159 NONAME
+	_ZN23network_key_and_index_cD2Ev @ 1160 NONAME
+	_ZN24eap_am_mutex_reference_c13add_referenceEv @ 1161 NONAME
+	_ZN24eap_am_mutex_reference_c15get_is_reservedEv @ 1162 NONAME
+	_ZN24eap_am_mutex_reference_c15set_is_reservedEb @ 1163 NONAME
+	_ZN24eap_am_mutex_reference_c16remove_referenceEv @ 1164 NONAME
+	_ZN24eap_am_mutex_reference_c19get_reference_countEv @ 1165 NONAME
+	_ZN24eap_am_mutex_reference_cC1Ev @ 1166 NONAME
+	_ZN24eap_am_mutex_reference_cC2Ev @ 1167 NONAME
+	_ZN24eap_am_mutex_reference_cD0Ev @ 1168 NONAME
+	_ZN24eap_am_mutex_reference_cD1Ev @ 1169 NONAME
+	_ZN24eap_am_mutex_reference_cD2Ev @ 1170 NONAME
+	_ZN24eap_master_session_key_c12set_eap_typeE19eap_expanded_type_c @ 1171 NONAME
+	_ZN24eap_master_session_key_c18copy_leap_passwordEPK19eap_variable_data_c @ 1172 NONAME
+	_ZN24eap_master_session_key_c8set_copyEPKS_ @ 1173 NONAME
+	_ZN24eap_master_session_key_cC1EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1174 NONAME
+	_ZN24eap_master_session_key_cC2EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1175 NONAME
+	_ZN24eap_master_session_key_cD0Ev @ 1176 NONAME
+	_ZN24eap_master_session_key_cD1Ev @ 1177 NONAME
+	_ZN24eap_master_session_key_cD2Ev @ 1178 NONAME
+	_ZN24eap_state_notification_c16get_state_stringEmm @ 1179 NONAME
+	_ZN24eap_state_notification_c19get_protocol_stringEmm @ 1180 NONAME
+	_ZN24eap_state_notification_c23set_notification_stringEPK19eap_variable_data_cb @ 1181 NONAME
+	_ZN24eap_state_notification_c24set_authentication_errorE12eap_status_e @ 1182 NONAME
+	_ZN24eap_state_notification_c25get_protocol_layer_stringEm @ 1183 NONAME
+	_ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1184 NONAME
+	_ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1185 NONAME
+	_ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1186 NONAME
+	_ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1187 NONAME
+	_ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1188 NONAME
+	_ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1189 NONAME
+	_ZN24eap_state_notification_cD0Ev @ 1190 NONAME
+	_ZN24eap_state_notification_cD1Ev @ 1191 NONAME
+	_ZN24eap_state_notification_cD2Ev @ 1192 NONAME
+	_ZN24eapol_key_state_string_c26get_eapol_key_state_stringE17eapol_key_state_e @ 1193 NONAME
+	_ZN24eapol_key_state_string_c35get_eapol_key_handshake_type_stringE26eapol_key_handshake_type_e @ 1194 NONAME
+	_ZN24eapol_key_state_string_c40get_eapol_key_authentication_type_stringE31eapol_key_authentication_type_e @ 1195 NONAME
+	_ZN24eapol_key_state_string_cC1Ev @ 1196 NONAME
+	_ZN24eapol_key_state_string_cC2Ev @ 1197 NONAME
+	_ZN24eapol_key_state_string_cD0Ev @ 1198 NONAME
+	_ZN24eapol_key_state_string_cD1Ev @ 1199 NONAME
+	_ZN24eapol_key_state_string_cD2Ev @ 1200 NONAME
+	_ZN25eap_core_retransmission_c19get_send_network_idEv @ 1201 NONAME
+	_ZN25eap_core_retransmission_c28get_next_retransmission_timeEv @ 1202 NONAME
+	_ZN25eap_core_retransmission_c31get_next_retransmission_counterEv @ 1203 NONAME
+	_ZN25eap_core_retransmission_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1204 NONAME
+	_ZN25eap_core_retransmission_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1205 NONAME
+	_ZN25eap_core_retransmission_cD0Ev @ 1206 NONAME
+	_ZN25eap_core_retransmission_cD1Ev @ 1207 NONAME
+	_ZN25eap_core_retransmission_cD2Ev @ 1208 NONAME
+	_ZN25eap_general_header_base_c17set_header_bufferEPhm @ 1209 NONAME
+	_ZN25eap_general_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1210 NONAME
+	_ZN25eap_general_header_base_cD0Ev @ 1211 NONAME
+	_ZN25eap_general_header_base_cD1Ev @ 1212 NONAME
+	_ZN25eap_general_header_base_cD2Ev @ 1213 NONAME
+	_ZN25eap_network_id_selector_c12set_selectorEPK19eap_am_network_id_c @ 1214 NONAME
+	_ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_c @ 1215 NONAME
+	_ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1216 NONAME
+	_ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPKS_ @ 1217 NONAME
+	_ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_c @ 1218 NONAME
+	_ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1219 NONAME
+	_ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPKS_ @ 1220 NONAME
+	_ZN25eap_network_id_selector_cD0Ev @ 1221 NONAME
+	_ZN25eap_network_id_selector_cD1Ev @ 1222 NONAME
+	_ZN25eap_network_id_selector_cD2Ev @ 1223 NONAME
+	_ZN26eapol_ethernet_header_rd_cC1EP18abs_eap_am_tools_cPKhm @ 1224 NONAME
+	_ZN26eapol_ethernet_header_rd_cC2EP18abs_eap_am_tools_cPKhm @ 1225 NONAME
+	_ZN26eapol_ethernet_header_rd_cD0Ev @ 1226 NONAME
+	_ZN26eapol_ethernet_header_rd_cD1Ev @ 1227 NONAME
+	_ZN26eapol_ethernet_header_rd_cD2Ev @ 1228 NONAME
+	_ZN26eapol_ethernet_header_wr_c10get_sourceEv @ 1229 NONAME
+	_ZN26eapol_ethernet_header_wr_c12reset_headerE21eapol_ethernet_type_et @ 1230 NONAME
+	_ZN26eapol_ethernet_header_wr_c15get_destinationEv @ 1231 NONAME
+	_ZN26eapol_ethernet_header_wr_cC1EP18abs_eap_am_tools_cPKhm @ 1232 NONAME
+	_ZN26eapol_ethernet_header_wr_cC2EP18abs_eap_am_tools_cPKhm @ 1233 NONAME
+	_ZN26eapol_ethernet_header_wr_cD0Ev @ 1234 NONAME
+	_ZN26eapol_ethernet_header_wr_cD1Ev @ 1235 NONAME
+	_ZN26eapol_ethernet_header_wr_cD2Ev @ 1236 NONAME
+	_ZN26eapol_rsna_variable_data_c10set_bufferEPK28eapol_rsna_key_data_header_cPhmbb @ 1237 NONAME
+	_ZN26eapol_rsna_variable_data_cC1EP18abs_eap_am_tools_cbb @ 1238 NONAME
+	_ZN26eapol_rsna_variable_data_cC2EP18abs_eap_am_tools_cbb @ 1239 NONAME
+	_ZN26eapol_rsna_variable_data_cD0Ev @ 1240 NONAME
+	_ZN26eapol_rsna_variable_data_cD1Ev @ 1241 NONAME
+	_ZN26eapol_rsna_variable_data_cD2Ev @ 1242 NONAME
+	_ZN26simple_config_credential_c12get_is_validEv @ 1243 NONAME
+	_ZN26simple_config_credential_c15get_MAC_addressEv @ 1244 NONAME
+	_ZN26simple_config_credential_c16get_network_keysEv @ 1245 NONAME
+	_ZN26simple_config_credential_c17get_network_indexEv @ 1246 NONAME
+	_ZN26simple_config_credential_c17set_network_indexEh @ 1247 NONAME
+	_ZN26simple_config_credential_c19get_Encryption_TypeEv @ 1248 NONAME
+	_ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 1249 NONAME
+	_ZN26simple_config_credential_c23get_Authentication_TypeEv @ 1250 NONAME
+	_ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 1251 NONAME
+	_ZN26simple_config_credential_c8get_SSIDEv @ 1252 NONAME
+	_ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 1253 NONAME
+	_ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 1254 NONAME
+	_ZN26simple_config_credential_cD0Ev @ 1255 NONAME
+	_ZN26simple_config_credential_cD1Ev @ 1256 NONAME
+	_ZN26simple_config_credential_cD2Ev @ 1257 NONAME
+	_ZN27abs_crypto_hash_algorithm_cD0Ev @ 1258 NONAME
+	_ZN27abs_crypto_hash_algorithm_cD1Ev @ 1259 NONAME
+	_ZN27abs_crypto_hash_algorithm_cD2Ev @ 1260 NONAME
+	_ZN27abs_crypto_hmac_algorithm_cD0Ev @ 1261 NONAME
+	_ZN27abs_crypto_hmac_algorithm_cD1Ev @ 1262 NONAME
+	_ZN27abs_crypto_hmac_algorithm_cD2Ev @ 1263 NONAME
+	_ZN27eap_am_file_input_symbian_c10file_closeEv @ 1264 NONAME
+	_ZN27eap_am_file_input_symbian_c10file_writeEPK19eap_variable_data_c @ 1265 NONAME
+	_ZN27eap_am_file_input_symbian_c11file_deleteEPK19eap_variable_data_c @ 1266 NONAME
+	_ZN27eap_am_file_input_symbian_c11file_existsEPK19eap_variable_data_c @ 1267 NONAME
+	_ZN27eap_am_file_input_symbian_c14file_read_lineEP19eap_variable_data_c @ 1268 NONAME
+	_ZN27eap_am_file_input_symbian_c9file_copyEPK19eap_variable_data_cS2_ @ 1269 NONAME
+	_ZN27eap_am_file_input_symbian_c9file_openEPK19eap_variable_data_c23eap_file_io_direction_e @ 1270 NONAME
+	_ZN27eap_am_file_input_symbian_c9file_readEP19eap_variable_data_c @ 1271 NONAME
+	_ZN27eap_am_file_input_symbian_c9file_sizeEv @ 1272 NONAME
+	_ZN27eap_am_file_input_symbian_cC1EP18abs_eap_am_tools_c @ 1273 NONAME
+	_ZN27eap_am_file_input_symbian_cC2EP18abs_eap_am_tools_c @ 1274 NONAME
+	_ZN27eap_am_file_input_symbian_cD0Ev @ 1275 NONAME
+	_ZN27eap_am_file_input_symbian_cD1Ev @ 1276 NONAME
+	_ZN27eap_am_file_input_symbian_cD2Ev @ 1277 NONAME
+	_ZN27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1278 NONAME
+	_ZN27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1279 NONAME
+	_ZN27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1280 NONAME
+	_ZN27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 1281 NONAME
+	_ZN27eapol_wlan_authentication_c12get_is_validEv @ 1282 NONAME
+	_ZN27eapol_wlan_authentication_c12set_is_validEv @ 1283 NONAME
+	_ZN27eapol_wlan_authentication_c13get_is_clientEv @ 1284 NONAME
+	_ZN27eapol_wlan_authentication_c13timer_expiredEmPv @ 1285 NONAME
+	_ZN27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 1286 NONAME
+	_ZN27eapol_wlan_authentication_c14disassociationEPK19eap_am_network_id_c @ 1287 NONAME
+	_ZN27eapol_wlan_authentication_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1288 NONAME
+	_ZN27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1289 NONAME
+	_ZN27eapol_wlan_authentication_c15eap_acknowledgeEPK19eap_am_network_id_c @ 1290 NONAME
+	_ZN27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1291 NONAME
+	_ZN27eapol_wlan_authentication_c16eapol_indicationEPK19eap_am_network_id_c33eapol_wlan_authentication_state_e @ 1292 NONAME
+	_ZN27eapol_wlan_authentication_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 1293 NONAME
+	_ZN27eapol_wlan_authentication_c17cancel_all_timersEv @ 1294 NONAME
+	_ZN27eapol_wlan_authentication_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 1295 NONAME
+	_ZN27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1296 NONAME
+	_ZN27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 1297 NONAME
+	_ZN27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 1298 NONAME
+	_ZN27eapol_wlan_authentication_c18create_upper_stackEv @ 1299 NONAME
+	_ZN27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 1300 NONAME
+	_ZN27eapol_wlan_authentication_c19start_reassociationEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_e @ 1301 NONAME
+	_ZN27eapol_wlan_authentication_c20complete_associationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 1302 NONAME
+	_ZN27eapol_wlan_authentication_c20start_authenticationEPK19eap_variable_data_c31eapol_key_authentication_type_eS2_bPK19eap_am_network_id_c @ 1303 NONAME
+	_ZN27eapol_wlan_authentication_c21get_current_eap_indexEv @ 1304 NONAME
+	_ZN27eapol_wlan_authentication_c21set_current_eap_indexEm @ 1305 NONAME
+	_ZN27eapol_wlan_authentication_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 1306 NONAME
+	_ZN27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1307 NONAME
+	_ZN27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 1308 NONAME
+	_ZN27eapol_wlan_authentication_c23start_preauthenticationEPK19eap_am_network_id_c @ 1309 NONAME
+	_ZN27eapol_wlan_authentication_c24start_WPXM_reassociationEPK19eap_am_network_id_cS2_P19eap_variable_data_cPKS3_S6_ @ 1310 NONAME
+	_ZN27eapol_wlan_authentication_c26get_authentication_counterEv @ 1311 NONAME
+	_ZN27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1312 NONAME
+	_ZN27eapol_wlan_authentication_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_c @ 1313 NONAME
+	_ZN27eapol_wlan_authentication_c29new_eapol_wlan_authenticationEP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cbPK38abs_eapol_wlan_database_reference_if_c @ 1314 NONAME
+	_ZN27eapol_wlan_authentication_c32increment_authentication_counterEv @ 1315 NONAME
+	_ZN27eapol_wlan_authentication_c8shutdownEv @ 1316 NONAME
+	_ZN27eapol_wlan_authentication_c9configureEv @ 1317 NONAME
+	_ZN27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1318 NONAME
+	_ZN27eapol_wlan_authentication_cC1EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 1319 NONAME
+	_ZN27eapol_wlan_authentication_cC2EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 1320 NONAME
+	_ZN27eapol_wlan_authentication_cD0Ev @ 1321 NONAME
+	_ZN27eapol_wlan_authentication_cD1Ev @ 1322 NONAME
+	_ZN27eapol_wlan_authentication_cD2Ev @ 1323 NONAME
+	_ZN28abs_crypto_block_algorithm_cD0Ev @ 1324 NONAME
+	_ZN28abs_crypto_block_algorithm_cD1Ev @ 1325 NONAME
+	_ZN28abs_crypto_block_algorithm_cD2Ev @ 1326 NONAME
+	_ZN28eapol_ethernet_header_base_c17get_header_lengthEv @ 1327 NONAME
+	_ZN28eapol_ethernet_header_base_c8set_typeE21eapol_ethernet_type_e @ 1328 NONAME
+	_ZN28eapol_ethernet_header_base_cC1EP18abs_eap_am_tools_cPvm @ 1329 NONAME
+	_ZN28eapol_ethernet_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1330 NONAME
+	_ZN28eapol_ethernet_header_base_cD0Ev @ 1331 NONAME
+	_ZN28eapol_ethernet_header_base_cD1Ev @ 1332 NONAME
+	_ZN28eapol_ethernet_header_base_cD2Ev @ 1333 NONAME
+	_ZN29abs_crypto_stream_algorithm_cD0Ev @ 1334 NONAME
+	_ZN29abs_crypto_stream_algorithm_cD1Ev @ 1335 NONAME
+	_ZN29abs_crypto_stream_algorithm_cD2Ev @ 1336 NONAME
+	_ZN30abs_eap_am_memory_store_data_cC1Ev @ 1337 NONAME
+	_ZN30abs_eap_am_memory_store_data_cC2Ev @ 1338 NONAME
+	_ZN30abs_eap_am_memory_store_data_cD0Ev @ 1339 NONAME
+	_ZN30abs_eap_am_memory_store_data_cD1Ev @ 1340 NONAME
+	_ZN30abs_eap_am_memory_store_data_cD2Ev @ 1341 NONAME
+	_ZN30crypto_wpa_psk_password_hash_c12get_is_validEv @ 1342 NONAME
+	_ZN30crypto_wpa_psk_password_hash_c13password_hashEPK19eap_variable_data_cS2_PS0_PvPF12eap_status_eS4_mE @ 1343 NONAME
+	_ZN30crypto_wpa_psk_password_hash_cC1EP18abs_eap_am_tools_c @ 1344 NONAME
+	_ZN30crypto_wpa_psk_password_hash_cC2EP18abs_eap_am_tools_c @ 1345 NONAME
+	_ZN30crypto_wpa_psk_password_hash_cD0Ev @ 1346 NONAME
+	_ZN30crypto_wpa_psk_password_hash_cD1Ev @ 1347 NONAME
+	_ZN30crypto_wpa_psk_password_hash_cD2Ev @ 1348 NONAME
+	_ZN30eap_am_memory_store_tlv_data_c17copy_message_dataEPK22eap_tlv_message_data_cm @ 1349 NONAME
+	_ZN30eap_am_memory_store_tlv_data_c31object_decrease_reference_countEv @ 1350 NONAME
+	_ZN30eap_am_memory_store_tlv_data_c31object_increase_reference_countEv @ 1351 NONAME
+	_ZN30eap_am_memory_store_tlv_data_cC1EP18abs_eap_am_tools_c @ 1352 NONAME
+	_ZN30eap_am_memory_store_tlv_data_cC2EP18abs_eap_am_tools_c @ 1353 NONAME
+	_ZN30eap_am_memory_store_tlv_data_cD0Ev @ 1354 NONAME
+	_ZN30eap_am_memory_store_tlv_data_cD1Ev @ 1355 NONAME
+	_ZN30eap_am_memory_store_tlv_data_cD2Ev @ 1356 NONAME
+	_ZN30eapol_am_wlan_authentication_c32new_eapol_am_wlan_authenticationEP18abs_eap_am_tools_cbPK38abs_eapol_wlan_database_reference_if_c @ 1357 NONAME
+	_ZN30eapol_rsna_key_data_payloads_c14check_payloadsENS_36eapol_rsna_key_data_payload_status_eES0_S0_S0_ @ 1358 NONAME
+	_ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK11eap_array_cI19eap_variable_data_cE @ 1359 NONAME
+	_ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK26eapol_rsna_variable_data_c @ 1360 NONAME
+	_ZN30eapol_rsna_key_data_payloads_cC1EP18abs_eap_am_tools_cbb @ 1361 NONAME
+	_ZN30eapol_rsna_key_data_payloads_cC2EP18abs_eap_am_tools_cbb @ 1362 NONAME
+	_ZN30eapol_rsna_key_data_payloads_cD0Ev @ 1363 NONAME
+	_ZN30eapol_rsna_key_data_payloads_cD1Ev @ 1364 NONAME
+	_ZN30eapol_rsna_key_data_payloads_cD2Ev @ 1365 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_c10t_prf_initEPK19eap_variable_data_cS2_S2_ @ 1366 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_c12get_is_validEv @ 1367 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_c12set_is_validEv @ 1368 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_c12t_prf_outputEPvt @ 1369 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_c13t_prf_cleanupEv @ 1370 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_c14set_is_invalidEv @ 1371 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_cC1EP18abs_eap_am_tools_c @ 1372 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_cC2EP18abs_eap_am_tools_c @ 1373 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_cD0Ev @ 1374 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_cD1Ev @ 1375 NONAME
+	_ZN31crypto_eap_fast_hmac_sha1_prf_cD2Ev @ 1376 NONAME
+	_ZN31eapol_handle_tlv_message_data_c12get_is_validEv @ 1377 NONAME
+	_ZN31eapol_handle_tlv_message_data_c15get_type_stringE24eapol_tlv_message_type_e @ 1378 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE12eap_status_e @ 1379 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE19eap_expanded_type_c @ 1380 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE24eapol_tlv_message_type_em @ 1381 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE33eapol_tlv_message_type_function_e @ 1382 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI26simple_config_credential_cE @ 1383 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK18eap_buf_chain_wr_c @ 1384 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK19eap_am_network_id_c @ 1385 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK19eap_variable_data_c @ 1386 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK19eapol_session_key_c @ 1387 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK25eap_general_header_base_c @ 1388 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK28abs_eap_state_notification_c @ 1389 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEb @ 1390 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEh @ 1391 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEm @ 1392 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEt @ 1393 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEy @ 1394 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI23network_key_and_index_cE @ 1395 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI26simple_config_credential_cE @ 1396 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_am_network_id_c @ 1397 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_expanded_type_c @ 1398 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_variable_data_c @ 1399 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eapol_session_key_c @ 1400 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP23network_key_and_index_c @ 1401 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP26simple_config_credential_c @ 1402 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP33eapol_tlv_message_type_function_e @ 1403 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPP24eap_state_notification_c @ 1404 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPh @ 1405 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPm @ 1406 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPt @ 1407 NONAME
+	_ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPy @ 1408 NONAME
+	_ZN31eapol_handle_tlv_message_data_c19get_function_stringE33eapol_tlv_message_type_function_e @ 1409 NONAME
+	_ZN31eapol_handle_tlv_message_data_c31add_structured_parameter_headerE24eapol_tlv_message_type_em @ 1410 NONAME
+	_ZN31eapol_handle_tlv_message_data_c31object_decrease_reference_countEv @ 1411 NONAME
+	_ZN31eapol_handle_tlv_message_data_c31object_increase_reference_countEv @ 1412 NONAME
+	_ZN31eapol_handle_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 1413 NONAME
+	_ZN31eapol_handle_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 1414 NONAME
+	_ZN31eapol_handle_tlv_message_data_cD0Ev @ 1415 NONAME
+	_ZN31eapol_handle_tlv_message_data_cD1Ev @ 1416 NONAME
+	_ZN31eapol_handle_tlv_message_data_cD2Ev @ 1417 NONAME
+	_ZN32abs_crypto_cbc_block_algorithm_cD0Ev @ 1418 NONAME
+	_ZN32abs_crypto_cbc_block_algorithm_cD1Ev @ 1419 NONAME
+	_ZN32abs_crypto_cbc_block_algorithm_cD2Ev @ 1420 NONAME
+	_ZN32eap_simple_config_trace_string_cC1Ev @ 1421 NONAME
+	_ZN32eap_simple_config_trace_string_cC2Ev @ 1422 NONAME
+	_ZN32eap_simple_config_trace_string_cD0Ev @ 1423 NONAME
+	_ZN32eap_simple_config_trace_string_cD1Ev @ 1424 NONAME
+	_ZN32eap_simple_config_trace_string_cD2Ev @ 1425 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_c10dh_cleanupEPK19eap_variable_data_c @ 1426 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_c12get_is_validEv @ 1427 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_c12set_is_validEv @ 1428 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKvmS5_m @ 1429 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKvmS3_m @ 1430 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_cC1EP18abs_eap_am_tools_c @ 1431 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_cC2EP18abs_eap_am_tools_c @ 1432 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_cD0Ev @ 1433 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_cD1Ev @ 1434 NONAME
+	_ZN33crypto_ephemeral_diffie_hellman_cD2Ev @ 1435 NONAME
+	_ZN35eapol_message_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1436 NONAME
+	_ZN35eapol_message_wlan_authentication_c11reassociateEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 1437 NONAME
+	_ZN35eapol_message_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1438 NONAME
+	_ZN35eapol_message_wlan_authentication_c12disassociateEPK19eap_am_network_id_cb @ 1439 NONAME
+	_ZN35eapol_message_wlan_authentication_c12get_is_validEv @ 1440 NONAME
+	_ZN35eapol_message_wlan_authentication_c12process_dataEPKvm @ 1441 NONAME
+	_ZN35eapol_message_wlan_authentication_c12send_messageEP31eapol_handle_tlv_message_data_c @ 1442 NONAME
+	_ZN35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 1443 NONAME
+	_ZN35eapol_message_wlan_authentication_c14disassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1444 NONAME
+	_ZN35eapol_message_wlan_authentication_c14packet_processEPK11eap_array_cI16eap_tlv_header_cE @ 1445 NONAME
+	_ZN35eapol_message_wlan_authentication_c15eap_acknowledgeEPK11eap_array_cI16eap_tlv_header_cE @ 1446 NONAME
+	_ZN35eapol_message_wlan_authentication_c15process_messageEP31eapol_handle_tlv_message_data_c @ 1447 NONAME
+	_ZN35eapol_message_wlan_authentication_c16tkip_mic_failureEPK11eap_array_cI16eap_tlv_header_cE @ 1448 NONAME
+	_ZN35eapol_message_wlan_authentication_c17check_pmksa_cacheEPK11eap_array_cI16eap_tlv_header_cE @ 1449 NONAME
+	_ZN35eapol_message_wlan_authentication_c17get_header_offsetEPmS0_ @ 1450 NONAME
+	_ZN35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 1451 NONAME
+	_ZN35eapol_message_wlan_authentication_c18send_error_messageE12eap_status_e33eapol_tlv_message_type_function_e @ 1452 NONAME
+	_ZN35eapol_message_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 1453 NONAME
+	_ZN35eapol_message_wlan_authentication_c19start_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1454 NONAME
+	_ZN35eapol_message_wlan_authentication_c20complete_associationEPK11eap_array_cI16eap_tlv_header_cE @ 1455 NONAME
+	_ZN35eapol_message_wlan_authentication_c20start_authenticationEPK11eap_array_cI16eap_tlv_header_cE @ 1456 NONAME
+	_ZN35eapol_message_wlan_authentication_c20update_header_offsetEPK11eap_array_cI16eap_tlv_header_cE @ 1457 NONAME
+	_ZN35eapol_message_wlan_authentication_c22complete_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1458 NONAME
+	_ZN35eapol_message_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 1459 NONAME
+	_ZN35eapol_message_wlan_authentication_c23start_preauthenticationEPK11eap_array_cI16eap_tlv_header_cE @ 1460 NONAME
+	_ZN35eapol_message_wlan_authentication_c24start_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1461 NONAME
+	_ZN35eapol_message_wlan_authentication_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 1462 NONAME
+	_ZN35eapol_message_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1463 NONAME
+	_ZN35eapol_message_wlan_authentication_c27complete_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1464 NONAME
+	_ZN35eapol_message_wlan_authentication_c37update_wlan_database_reference_valuesEPK11eap_array_cI16eap_tlv_header_cE @ 1465 NONAME
+	_ZN35eapol_message_wlan_authentication_c8shutdownEv @ 1466 NONAME
+	_ZN35eapol_message_wlan_authentication_c9associateE38eapol_key_802_11_authentication_mode_e @ 1467 NONAME
+	_ZN35eapol_message_wlan_authentication_c9configureEmmm @ 1468 NONAME
+	_ZN35eapol_message_wlan_authentication_cC1EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 1469 NONAME
+	_ZN35eapol_message_wlan_authentication_cC2EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 1470 NONAME
+	_ZN35eapol_message_wlan_authentication_cD0Ev @ 1471 NONAME
+	_ZN35eapol_message_wlan_authentication_cD1Ev @ 1472 NONAME
+	_ZN35eapol_message_wlan_authentication_cD2Ev @ 1473 NONAME
+	_ZN36wlan_eap_if_send_status_conversion_c7convertE12eap_status_e @ 1474 NONAME
+	_ZN36wlan_eap_if_send_status_conversion_c7convertE25wlan_eap_if_send_status_e @ 1475 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c11associationEPK19eap_am_network_id_c @ 1476 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1477 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 1478 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c12get_is_validEv @ 1479 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c13unload_moduleE19eap_expanded_type_c @ 1480 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c14disassociationEPK19eap_am_network_id_c @ 1481 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1482 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c14set_am_partnerEP34abs_eapol_am_wlan_authentication_cP26abs_eap_configuration_if_c @ 1483 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1484 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c17cancel_all_timersEv @ 1485 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1486 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c19set_wlan_parametersEPK19eap_variable_data_cbS2_31eapol_key_authentication_type_e @ 1487 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c22get_selected_eap_typesEP11eap_array_cI20eap_type_selection_cE @ 1488 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c22get_wlan_configurationEP19eap_variable_data_c @ 1489 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c23authentication_finishedEb19eap_expanded_type_c31eapol_key_authentication_type_e @ 1490 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1491 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c23reset_eap_configurationEv @ 1492 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1493 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c8shutdownEv @ 1494 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c9configureEv @ 1495 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1496 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_cC1EP18abs_eap_am_tools_cbPK38abs_eapol_wlan_database_reference_if_c @ 1497 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_cC2EP18abs_eap_am_tools_cbPK38abs_eapol_wlan_database_reference_if_c @ 1498 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_cD0Ev @ 1499 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_cD1Ev @ 1500 NONAME
+	_ZN38eapol_am_wlan_authentication_symbian_cD2Ev @ 1501 NONAME
+	_ZNK10eap_core_c19get_is_tunneled_eapEv @ 1502 NONAME
+	_ZNK14eap_am_tools_c14get_trace_maskEv @ 1503 NONAME
+	_ZNK15eap_header_wr_c13get_type_dataEm @ 1504 NONAME
+	_ZNK15eap_header_wr_c20get_type_data_offsetEmm @ 1505 NONAME
+	_ZNK16eap_tlv_header_c12check_headerEv @ 1506 NONAME
+	_ZNK16eap_tlv_header_c16get_value_lengthEv @ 1507 NONAME
+	_ZNK16eap_tlv_header_c16get_value_offsetEmm @ 1508 NONAME
+	_ZNK16eap_tlv_header_c8get_typeEv @ 1509 NONAME
+	_ZNK16eap_tlv_header_c9get_valueEm @ 1510 NONAME
+	_ZNK17eap_header_base_c10get_lengthEv @ 1511 NONAME
+	_ZNK17eap_header_base_c12check_headerEv @ 1512 NONAME
+	_ZNK17eap_header_base_c13get_ietf_typeEv @ 1513 NONAME
+	_ZNK17eap_header_base_c13get_type_dataEm @ 1514 NONAME
+	_ZNK17eap_header_base_c14get_identifierEv @ 1515 NONAME
+	_ZNK17eap_header_base_c15get_code_stringEv @ 1516 NONAME
+	_ZNK17eap_header_base_c15get_data_lengthEv @ 1517 NONAME
+	_ZNK17eap_header_base_c15get_data_offsetEmm @ 1518 NONAME
+	_ZNK17eap_header_base_c15get_type_stringEv @ 1519 NONAME
+	_ZNK17eap_header_base_c20get_type_data_lengthEv @ 1520 NONAME
+	_ZNK17eap_header_base_c20get_type_data_offsetEmm @ 1521 NONAME
+	_ZNK17eap_header_base_c21get_type_field_lengthEv @ 1522 NONAME
+	_ZNK17eap_header_base_c8get_codeEv @ 1523 NONAME
+	_ZNK17eap_header_base_c8get_dataEm @ 1524 NONAME
+	_ZNK17eap_header_base_c8get_typeEv @ 1525 NONAME
+	_ZNK17eapol_header_rd_c14get_eap_headerEv @ 1526 NONAME
+	_ZNK17eapol_key_state_c19get_eapol_key_stateEv @ 1527 NONAME
+	_ZNK18eap_buf_chain_rd_c15get_data_offsetEmm @ 1528 NONAME
+	_ZNK18eap_buf_chain_rd_c19get_ethernet_headerEv @ 1529 NONAME
+	_ZNK18eap_buf_chain_rd_c8get_dataEm @ 1530 NONAME
+	_ZNK19eap_am_mutex_base_c12get_is_validEv @ 1531 NONAME
+	_ZNK19eap_am_mutex_base_c13get_referenceEv @ 1532 NONAME
+	_ZNK19eap_am_mutex_base_c15get_is_reservedEv @ 1533 NONAME
+	_ZNK19eap_am_network_id_c10get_sourceEv @ 1534 NONAME
+	_ZNK19eap_am_network_id_c12get_is_validEv @ 1535 NONAME
+	_ZNK19eap_am_network_id_c13get_source_idEv @ 1536 NONAME
+	_ZNK19eap_am_network_id_c14get_network_idEv @ 1537 NONAME
+	_ZNK19eap_am_network_id_c15get_destinationEv @ 1538 NONAME
+	_ZNK19eap_am_network_id_c17get_is_valid_dataEv @ 1539 NONAME
+	_ZNK19eap_am_network_id_c17get_source_lengthEv @ 1540 NONAME
+	_ZNK19eap_am_network_id_c18compare_network_idEPKS_ @ 1541 NONAME
+	_ZNK19eap_am_network_id_c18get_destination_idEv @ 1542 NONAME
+	_ZNK19eap_am_network_id_c22get_destination_lengthEv @ 1543 NONAME
+	_ZNK19eap_am_network_id_c4copyEv @ 1544 NONAME
+	_ZNK19eap_am_network_id_c8get_typeEv @ 1545 NONAME
+	_ZNK19eap_core_nak_info_c18get_eap_identifierEv @ 1546 NONAME
+	_ZNK19eap_core_nak_info_c21get_proposed_eap_typeEv @ 1547 NONAME
+	_ZNK19eap_expanded_type_c13get_vendor_idEv @ 1548 NONAME
+	_ZNK19eap_expanded_type_c15get_vendor_typeEv @ 1549 NONAME
+	_ZNK19eap_expanded_type_c7compareEPKS_ @ 1550 NONAME
+	_ZNK19eap_expanded_type_cadEv @ 1551 NONAME
+	_ZNK19eap_expanded_type_ceqE22eap_type_ietf_values_e @ 1552 NONAME
+	_ZNK19eap_expanded_type_ceqERKS_ @ 1553 NONAME
+	_ZNK19eap_expanded_type_cneE22eap_type_ietf_values_e @ 1554 NONAME
+	_ZNK19eap_expanded_type_cneERKS_ @ 1555 NONAME
+	_ZNK19eap_variable_data_c10get_bufferEm @ 1556 NONAME
+	_ZNK19eap_variable_data_c12get_is_validEv @ 1557 NONAME
+	_ZNK19eap_variable_data_c14compare_lengthEPKS_m @ 1558 NONAME
+	_ZNK19eap_variable_data_c14compare_lengthEPKvmm @ 1559 NONAME
+	_ZNK19eap_variable_data_c15get_data_lengthEv @ 1560 NONAME
+	_ZNK19eap_variable_data_c15get_data_offsetEmm @ 1561 NONAME
+	_ZNK19eap_variable_data_c15get_is_writableEv @ 1562 NONAME
+	_ZNK19eap_variable_data_c17get_buffer_lengthEv @ 1563 NONAME
+	_ZNK19eap_variable_data_c17get_buffer_offsetEmm @ 1564 NONAME
+	_ZNK19eap_variable_data_c17get_is_valid_dataEv @ 1565 NONAME
+	_ZNK19eap_variable_data_c4copyEv @ 1566 NONAME
+	_ZNK19eap_variable_data_c4hashEm @ 1567 NONAME
+	_ZNK19eap_variable_data_c7compareEPKS_ @ 1568 NONAME
+	_ZNK19eap_variable_data_c7compareEPKvm @ 1569 NONAME
+	_ZNK19eap_variable_data_c8get_dataEm @ 1570 NONAME
+	_ZNK19eap_variable_data_c8get_dataEv @ 1571 NONAME
+	_ZNK19eapol_header_base_c11get_versionEv @ 1572 NONAME
+	_ZNK19eapol_header_base_c12check_headerEv @ 1573 NONAME
+	_ZNK19eapol_header_base_c15get_data_lengthEv @ 1574 NONAME
+	_ZNK19eapol_header_base_c15get_packet_typeEv @ 1575 NONAME
+	_ZNK19eapol_header_base_c15get_type_stringEv @ 1576 NONAME
+	_ZNK19eapol_header_base_c8get_dataEm @ 1577 NONAME
+	_ZNK19eapol_session_key_c12get_is_validEv @ 1578 NONAME
+	_ZNK19eapol_session_key_c12get_key_typeEv @ 1579 NONAME
+	_ZNK19eapol_session_key_c13get_key_indexEv @ 1580 NONAME
+	_ZNK19eapol_session_key_c14get_key_tx_bitEv @ 1581 NONAME
+	_ZNK19eapol_session_key_c19get_sequence_numberEv @ 1582 NONAME
+	_ZNK19eapol_session_key_c7get_keyEv @ 1583 NONAME
+	_ZNK20eap_buf_chain_base_c11get_encryptEv @ 1584 NONAME
+	_ZNK20eap_buf_chain_base_c12check_guardsEv @ 1585 NONAME
+	_ZNK20eap_buf_chain_base_c12get_is_validEv @ 1586 NONAME
+	_ZNK20eap_buf_chain_base_c13get_is_clientEv @ 1587 NONAME
+	_ZNK20eap_buf_chain_base_c15get_data_lengthEv @ 1588 NONAME
+	_ZNK20eap_buf_chain_base_c15get_data_offsetEmm @ 1589 NONAME
+	_ZNK20eap_buf_chain_base_c17check_guard_bytesEPKh @ 1590 NONAME
+	_ZNK20eap_buf_chain_base_c17get_buffer_lengthEv @ 1591 NONAME
+	_ZNK20eap_buf_chain_base_c17get_is_valid_dataEv @ 1592 NONAME
+	_ZNK20eap_buf_chain_base_c17get_stack_addressEv @ 1593 NONAME
+	_ZNK20eap_buf_chain_base_c20get_do_length_checksEv @ 1594 NONAME
+	_ZNK20eap_buf_chain_base_c8get_dataEm @ 1595 NONAME
+	_ZNK20eap_rogue_ap_entry_c15get_mac_addressEPh @ 1596 NONAME
+	_ZNK20eap_rogue_ap_entry_c15get_mac_addressEv @ 1597 NONAME
+	_ZNK20eap_rogue_ap_entry_c16get_rogue_reasonEv @ 1598 NONAME
+	_ZNK20eap_rogue_ap_entry_c4copyEv @ 1599 NONAME
+	_ZNK20eap_type_selection_c12get_is_validEv @ 1600 NONAME
+	_ZNK20eap_type_selection_c14get_is_enabledEv @ 1601 NONAME
+	_ZNK20eap_type_selection_c17get_is_valid_dataEv @ 1602 NONAME
+	_ZNK20eap_type_selection_c4copyEv @ 1603 NONAME
+	_ZNK20eap_type_selection_c8get_typeEv @ 1604 NONAME
+	_ZNK22eap_am_mutex_symbian_c12get_is_validEv @ 1605 NONAME
+	_ZNK22eap_am_mutex_symbian_c15get_is_reservedEv @ 1606 NONAME
+	_ZNK22eap_am_mutex_symbian_c16get_owner_threadEv @ 1607 NONAME
+	_ZNK22eap_am_mutex_symbian_c9get_mutexEv @ 1608 NONAME
+	_ZNK22eap_am_tools_symbian_c12get_is_validEv @ 1609 NONAME
+	_ZNK22eap_tlv_message_data_c16get_message_dataEv @ 1610 NONAME
+	_ZNK22eap_tlv_message_data_c23get_message_data_lengthEv @ 1611 NONAME
+	_ZNK22eapol_RC4_key_header_c12check_headerEv @ 1612 NONAME
+	_ZNK22eapol_RC4_key_header_c12get_key_flagEv @ 1613 NONAME
+	_ZNK22eapol_RC4_key_header_c13get_key_indexEv @ 1614 NONAME
+	_ZNK22eapol_RC4_key_header_c14get_key_lengthEv @ 1615 NONAME
+	_ZNK22eapol_RC4_key_header_c17get_key_signatureEv @ 1616 NONAME
+	_ZNK22eapol_RC4_key_header_c21get_eapol_packet_typeEv @ 1617 NONAME
+	_ZNK22eapol_RC4_key_header_c23get_key_descriptor_typeEv @ 1618 NONAME
+	_ZNK22eapol_RC4_key_header_c26get_eapol_protocol_versionEv @ 1619 NONAME
+	_ZNK22eapol_RC4_key_header_c28get_eapol_packet_body_lengthEv @ 1620 NONAME
+	_ZNK22eapol_RC4_key_header_c7get_keyEv @ 1621 NONAME
+	_ZNK23eap_am_crypto_symbian_c12get_is_validEv @ 1622 NONAME
+	_ZNK23eapol_RSNA_key_header_c11get_key_MICEv @ 1623 NONAME
+	_ZNK23eapol_RSNA_key_header_c11get_key_RSCEv @ 1624 NONAME
+	_ZNK23eapol_RSNA_key_header_c12check_headerEv @ 1625 NONAME
+	_ZNK23eapol_RSNA_key_header_c12get_key_dataEm @ 1626 NONAME
+	_ZNK23eapol_RSNA_key_header_c13get_key_NONCEEv @ 1627 NONAME
+	_ZNK23eapol_RSNA_key_header_c14get_key_lengthEv @ 1628 NONAME
+	_ZNK23eapol_RSNA_key_header_c16get_EAPOL_key_IVEv @ 1629 NONAME
+	_ZNK23eapol_RSNA_key_header_c16get_key_reservedEv @ 1630 NONAME
+	_ZNK23eapol_RSNA_key_header_c19get_key_data_lengthEv @ 1631 NONAME
+	_ZNK23eapol_RSNA_key_header_c19get_key_data_offsetEmm @ 1632 NONAME
+	_ZNK23eapol_RSNA_key_header_c19get_key_informationEv @ 1633 NONAME
+	_ZNK23eapol_RSNA_key_header_c21get_eapol_packet_typeEv @ 1634 NONAME
+	_ZNK23eapol_RSNA_key_header_c22get_key_replay_counterEv @ 1635 NONAME
+	_ZNK23eapol_RSNA_key_header_c23get_eapol_packet_lengthEv @ 1636 NONAME
+	_ZNK23eapol_RSNA_key_header_c23get_key_STA_MAC_addressEv @ 1637 NONAME
+	_ZNK23eapol_RSNA_key_header_c23get_key_descriptor_typeEv @ 1638 NONAME
+	_ZNK23eapol_RSNA_key_header_c25get_key_information_errorEv @ 1639 NONAME
+	_ZNK23eapol_RSNA_key_header_c26get_eapol_protocol_versionEv @ 1640 NONAME
+	_ZNK23eapol_RSNA_key_header_c26get_key_information_secureEv @ 1641 NONAME
+	_ZNK23eapol_RSNA_key_header_c27get_key_information_installEv @ 1642 NONAME
+	_ZNK23eapol_RSNA_key_header_c27get_key_information_key_MICEv @ 1643 NONAME
+	_ZNK23eapol_RSNA_key_header_c27get_key_information_key_ackEv @ 1644 NONAME
+	_ZNK23eapol_RSNA_key_header_c27get_key_information_requestEv @ 1645 NONAME
+	_ZNK23eapol_RSNA_key_header_c28get_eapol_packet_body_lengthEv @ 1646 NONAME
+	_ZNK23eapol_RSNA_key_header_c28get_key_information_key_typeEv @ 1647 NONAME
+	_ZNK23eapol_RSNA_key_header_c29get_key_information_key_indexEv @ 1648 NONAME
+	_ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_aEv @ 1649 NONAME
+	_ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_bEv @ 1650 NONAME
+	_ZNK23eapol_RSNA_key_header_c38get_key_information_encrypted_key_dataEv @ 1651 NONAME
+	_ZNK23eapol_RSNA_key_header_c42get_key_information_key_descriptor_versionEv @ 1652 NONAME
+	_ZNK24eap_master_session_key_c12get_eap_typeEv @ 1653 NONAME
+	_ZNK24eap_master_session_key_c17get_leap_passwordEv @ 1654 NONAME
+	_ZNK24eap_state_notification_c12get_eap_typeEv @ 1655 NONAME
+	_ZNK24eap_state_notification_c12get_protocolEv @ 1656 NONAME
+	_ZNK24eap_state_notification_c13get_is_clientEv @ 1657 NONAME
+	_ZNK24eap_state_notification_c17get_current_stateEv @ 1658 NONAME
+	_ZNK24eap_state_notification_c18get_eap_identifierEv @ 1659 NONAME
+	_ZNK24eap_state_notification_c18get_previous_stateEv @ 1660 NONAME
+	_ZNK24eap_state_notification_c18get_protocol_layerEv @ 1661 NONAME
+	_ZNK24eap_state_notification_c19get_protocol_stringEv @ 1662 NONAME
+	_ZNK24eap_state_notification_c19get_send_network_idEv @ 1663 NONAME
+	_ZNK24eap_state_notification_c23get_notification_stringEv @ 1664 NONAME
+	_ZNK24eap_state_notification_c24get_authentication_errorEv @ 1665 NONAME
+	_ZNK24eap_state_notification_c24get_current_state_stringEv @ 1666 NONAME
+	_ZNK24eap_state_notification_c25get_previous_state_stringEv @ 1667 NONAME
+	_ZNK24eap_state_notification_c25get_protocol_layer_stringEv @ 1668 NONAME
+	_ZNK24eap_state_notification_c26get_allow_send_eap_successEv @ 1669 NONAME
+	_ZNK24eap_state_notification_c32get_needs_confirmation_from_userEv @ 1670 NONAME
+	_ZNK25eap_core_retransmission_c12get_eap_codeEv @ 1671 NONAME
+	_ZNK25eap_core_retransmission_c12get_eap_typeEv @ 1672 NONAME
+	_ZNK25eap_core_retransmission_c12get_is_validEv @ 1673 NONAME
+	_ZNK25eap_core_retransmission_c15get_buffer_sizeEv @ 1674 NONAME
+	_ZNK25eap_core_retransmission_c15get_data_lengthEv @ 1675 NONAME
+	_ZNK25eap_core_retransmission_c15get_sent_packetEv @ 1676 NONAME
+	_ZNK25eap_core_retransmission_c17get_header_offsetEv @ 1677 NONAME
+	_ZNK25eap_core_retransmission_c18get_eap_identifierEv @ 1678 NONAME
+	_ZNK25eap_core_retransmission_c26get_retransmission_counterEv @ 1679 NONAME
+	_ZNK25eap_general_header_base_c12get_am_toolsEv @ 1680 NONAME
+	_ZNK25eap_general_header_base_c12get_is_validEv @ 1681 NONAME
+	_ZNK25eap_general_header_base_c17get_header_bufferEm @ 1682 NONAME
+	_ZNK25eap_general_header_base_c17get_header_offsetEmm @ 1683 NONAME
+	_ZNK25eap_general_header_base_c24get_header_buffer_lengthEv @ 1684 NONAME
+	_ZNK25eap_network_id_selector_c4copyEv @ 1685 NONAME
+	_ZNK26eap_static_expanded_type_c8get_typeEv @ 1686 NONAME
+	_ZNK26eapol_ethernet_header_rd_c16get_eapol_headerEv @ 1687 NONAME
+	_ZNK26eapol_ethernet_header_wr_c16get_eapol_headerEv @ 1688 NONAME
+	_ZNK26eapol_rsna_variable_data_c19get_original_headerEv @ 1689 NONAME
+	_ZNK28eapol_ethernet_header_base_c10get_sourceEv @ 1690 NONAME
+	_ZNK28eapol_ethernet_header_base_c12check_headerEv @ 1691 NONAME
+	_ZNK28eapol_ethernet_header_base_c15get_data_lengthEv @ 1692 NONAME
+	_ZNK28eapol_ethernet_header_base_c15get_destinationEv @ 1693 NONAME
+	_ZNK28eapol_ethernet_header_base_c17get_source_lengthEv @ 1694 NONAME
+	_ZNK28eapol_ethernet_header_base_c22get_destination_lengthEv @ 1695 NONAME
+	_ZNK28eapol_ethernet_header_base_c8get_dataEm @ 1696 NONAME
+	_ZNK28eapol_ethernet_header_base_c8get_typeEv @ 1697 NONAME
+	_ZNK30eap_am_memory_store_tlv_data_c12get_timer_idEv @ 1698 NONAME
+	_ZNK30eap_am_memory_store_tlv_data_c16get_message_dataEv @ 1699 NONAME
+	_ZNK30eap_am_memory_store_tlv_data_c23get_message_data_lengthEv @ 1700 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEP23network_key_and_index_c @ 1701 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEP26simple_config_credential_c @ 1702 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI23network_key_and_index_cE @ 1703 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI26simple_config_credential_cE @ 1704 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK19eap_am_network_id_c @ 1705 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK19eapol_session_key_c @ 1706 NONAME
+	_ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK28abs_eap_state_notification_c @ 1707 NONAME
+	_ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 1708 NONAME
+	_ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 1709 NONAME
+	_ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 1710 NONAME
+	_ZNK35eapol_message_wlan_authentication_c34get_wlan_database_reference_valuesEP19eap_variable_data_c @ 1711 NONAME
+	_ZTI10eap_core_c @ 1712 NONAME
+	_ZTI12crypto_aes_c @ 1713 NONAME
+	_ZTI12crypto_cbc_c @ 1714 NONAME
+	_ZTI12crypto_dsa_c @ 1715 NONAME
+	_ZTI12crypto_md4_c @ 1716 NONAME
+	_ZTI12crypto_md5_c @ 1717 NONAME
+	_ZTI12crypto_rc4_c @ 1718 NONAME
+	_ZTI12crypto_rsa_c @ 1719 NONAME
+	_ZTI12eapol_core_c @ 1720 NONAME
+	_ZTI13crypto_hmac_c @ 1721 NONAME
+	_ZTI13crypto_sha1_c @ 1722 NONAME
+	_ZTI14eap_am_tools_c @ 1723 NONAME
+	_ZTI15crypto_random_c @ 1724 NONAME
+	_ZTI15eap_base_type_c @ 1725 NONAME
+	_ZTI15eap_header_rd_c @ 1726 NONAME
+	_ZTI15eap_header_wr_c @ 1727 NONAME
+	_ZTI15ethernet_core_c @ 1728 NONAME
+	_ZTI16crypto_nt_hash_c @ 1729 NONAME
+	_ZTI16crypto_sha_256_c @ 1730 NONAME
+	_ZTI16crypto_tls_prf_c @ 1731 NONAME
+	_ZTI16eap_tlv_header_c @ 1732 NONAME
+	_ZTI17crypto_3des_ede_c @ 1733 NONAME
+	_ZTI17crypto_aes_wrap_c @ 1734 NONAME
+	_ZTI17eap_file_config_c @ 1735 NONAME
+	_ZTI17eap_header_base_c @ 1736 NONAME
+	_ZTI17eap_timer_queue_c @ 1737 NONAME
+	_ZTI17eapol_header_rd_c @ 1738 NONAME
+	_ZTI17eapol_header_wr_c @ 1739 NONAME
+	_ZTI17eapol_key_state_c @ 1740 NONAME
+	_ZTI18abs_eap_am_mutex_c @ 1741 NONAME
+	_ZTI18eap_buf_chain_rd_c @ 1742 NONAME
+	_ZTI18eap_buf_chain_wr_c @ 1743 NONAME
+	_ZTI18eap_config_value_c @ 1744 NONAME
+	_ZTI18eap_session_core_c @ 1745 NONAME
+	_ZTI19eap_am_crypto_md4_c @ 1746 NONAME
+	_ZTI19eap_am_crypto_rc4_c @ 1747 NONAME
+	_ZTI19eap_am_mutex_base_c @ 1748 NONAME
+	_ZTI19eap_am_network_id_c @ 1749 NONAME
+	_ZTI19eap_core_nak_info_c @ 1750 NONAME
+	_ZTI19eap_header_string_c @ 1751 NONAME
+	_ZTI19eap_status_string_c @ 1752 NONAME
+	_ZTI19eap_variable_data_c @ 1753 NONAME
+	_ZTI19eapol_header_base_c @ 1754 NONAME
+	_ZTI19eapol_session_key_c @ 1755 NONAME
+	_ZTI20crypto_tls_md5_prf_c @ 1756 NONAME
+	_ZTI20eap_am_crypto_sha1_c @ 1757 NONAME
+	_ZTI20eap_buf_chain_base_c @ 1758 NONAME
+	_ZTI20eap_rogue_ap_entry_c @ 1759 NONAME
+	_ZTI20eap_type_selection_c @ 1760 NONAME
+	_ZTI21crypto_tls_base_prf_c @ 1761 NONAME
+	_ZTI21crypto_tls_sha1_prf_c @ 1762 NONAME
+	_ZTI21eap_am_memory_store_c @ 1763 NONAME
+	_ZTI21tls_peap_tlv_header_c @ 1764 NONAME
+	_ZTI22eap_am_mutex_symbian_c @ 1765 NONAME
+	_ZTI22eap_am_tools_symbian_c @ 1766 NONAME
+	_ZTI22eap_timer_queue_hash_c @ 1767 NONAME
+	_ZTI22eap_tlv_message_data_c @ 1768 NONAME
+	_ZTI22eapol_RC4_key_header_c @ 1769 NONAME
+	_ZTI23crypto_kd_hmac_sha256_c @ 1770 NONAME
+	_ZTI23eap_am_crypto_sha_256_c @ 1771 NONAME
+	_ZTI23eap_am_crypto_symbian_c @ 1772 NONAME
+	_ZTI23eap_timer_queue_event_c @ 1773 NONAME
+	_ZTI23eapol_RSNA_key_header_c @ 1774 NONAME
+	_ZTI23network_key_and_index_c @ 1775 NONAME
+	_ZTI24eap_am_mutex_reference_c @ 1776 NONAME
+	_ZTI24eap_master_session_key_c @ 1777 NONAME
+	_ZTI24eap_state_notification_c @ 1778 NONAME
+	_ZTI24eapol_key_state_string_c @ 1779 NONAME
+	_ZTI25eap_core_retransmission_c @ 1780 NONAME
+	_ZTI25eap_general_header_base_c @ 1781 NONAME
+	_ZTI25eap_network_id_selector_c @ 1782 NONAME
+	_ZTI26eapol_ethernet_header_rd_c @ 1783 NONAME
+	_ZTI26eapol_ethernet_header_wr_c @ 1784 NONAME
+	_ZTI26eapol_rsna_variable_data_c @ 1785 NONAME
+	_ZTI26simple_config_credential_c @ 1786 NONAME
+	_ZTI27abs_crypto_hash_algorithm_c @ 1787 NONAME
+	_ZTI27abs_crypto_hmac_algorithm_c @ 1788 NONAME
+	_ZTI27eap_am_file_input_symbian_c @ 1789 NONAME
+	_ZTI27eapol_wlan_authentication_c @ 1790 NONAME
+	_ZTI28abs_crypto_block_algorithm_c @ 1791 NONAME
+	_ZTI28eapol_ethernet_header_base_c @ 1792 NONAME
+	_ZTI28eapol_rsna_key_data_header_c @ 1793 NONAME
+	_ZTI29abs_crypto_stream_algorithm_c @ 1794 NONAME
+	_ZTI30abs_eap_am_memory_store_data_c @ 1795 NONAME
+	_ZTI30crypto_wpa_psk_password_hash_c @ 1796 NONAME
+	_ZTI30eap_am_memory_store_tlv_data_c @ 1797 NONAME
+	_ZTI30eapol_am_wlan_authentication_c @ 1798 NONAME
+	_ZTI30eapol_rsna_key_data_payloads_c @ 1799 NONAME
+	_ZTI31crypto_eap_fast_hmac_sha1_prf_c @ 1800 NONAME
+	_ZTI31eapol_handle_tlv_message_data_c @ 1801 NONAME
+	_ZTI32abs_crypto_cbc_block_algorithm_c @ 1802 NONAME
+	_ZTI32eap_simple_config_trace_string_c @ 1803 NONAME
+	_ZTI32eapol_rsna_key_data_gtk_header_c @ 1804 NONAME
+	_ZTI33crypto_ephemeral_diffie_hellman_c @ 1805 NONAME
+	_ZTI35eapol_message_wlan_authentication_c @ 1806 NONAME
+	_ZTI38eapol_am_wlan_authentication_symbian_c @ 1807 NONAME
+	_ZTV10eap_core_c @ 1808 NONAME
+	_ZTV12crypto_aes_c @ 1809 NONAME
+	_ZTV12crypto_cbc_c @ 1810 NONAME
+	_ZTV12crypto_dsa_c @ 1811 NONAME
+	_ZTV12crypto_md4_c @ 1812 NONAME
+	_ZTV12crypto_md5_c @ 1813 NONAME
+	_ZTV12crypto_rc4_c @ 1814 NONAME
+	_ZTV12crypto_rsa_c @ 1815 NONAME
+	_ZTV12eapol_core_c @ 1816 NONAME
+	_ZTV13crypto_hmac_c @ 1817 NONAME
+	_ZTV13crypto_sha1_c @ 1818 NONAME
+	_ZTV14eap_am_tools_c @ 1819 NONAME
+	_ZTV15crypto_random_c @ 1820 NONAME
+	_ZTV15eap_base_type_c @ 1821 NONAME
+	_ZTV15eap_header_rd_c @ 1822 NONAME
+	_ZTV15eap_header_wr_c @ 1823 NONAME
+	_ZTV15ethernet_core_c @ 1824 NONAME
+	_ZTV16crypto_nt_hash_c @ 1825 NONAME
+	_ZTV16crypto_sha_256_c @ 1826 NONAME
+	_ZTV16crypto_tls_prf_c @ 1827 NONAME
+	_ZTV16eap_tlv_header_c @ 1828 NONAME
+	_ZTV17crypto_3des_ede_c @ 1829 NONAME
+	_ZTV17crypto_aes_wrap_c @ 1830 NONAME
+	_ZTV17eap_file_config_c @ 1831 NONAME
+	_ZTV17eap_header_base_c @ 1832 NONAME
+	_ZTV17eap_timer_queue_c @ 1833 NONAME
+	_ZTV17eapol_header_rd_c @ 1834 NONAME
+	_ZTV17eapol_header_wr_c @ 1835 NONAME
+	_ZTV17eapol_key_state_c @ 1836 NONAME
+	_ZTV18abs_eap_am_mutex_c @ 1837 NONAME
+	_ZTV18eap_buf_chain_rd_c @ 1838 NONAME
+	_ZTV18eap_buf_chain_wr_c @ 1839 NONAME
+	_ZTV18eap_config_value_c @ 1840 NONAME
+	_ZTV18eap_session_core_c @ 1841 NONAME
+	_ZTV19eap_am_crypto_md4_c @ 1842 NONAME
+	_ZTV19eap_am_crypto_rc4_c @ 1843 NONAME
+	_ZTV19eap_am_mutex_base_c @ 1844 NONAME
+	_ZTV19eap_am_network_id_c @ 1845 NONAME
+	_ZTV19eap_core_nak_info_c @ 1846 NONAME
+	_ZTV19eap_header_string_c @ 1847 NONAME
+	_ZTV19eap_status_string_c @ 1848 NONAME
+	_ZTV19eap_variable_data_c @ 1849 NONAME
+	_ZTV19eapol_header_base_c @ 1850 NONAME
+	_ZTV19eapol_session_key_c @ 1851 NONAME
+	_ZTV20crypto_tls_md5_prf_c @ 1852 NONAME
+	_ZTV20eap_am_crypto_sha1_c @ 1853 NONAME
+	_ZTV20eap_buf_chain_base_c @ 1854 NONAME
+	_ZTV20eap_rogue_ap_entry_c @ 1855 NONAME
+	_ZTV20eap_type_selection_c @ 1856 NONAME
+	_ZTV21crypto_tls_base_prf_c @ 1857 NONAME
+	_ZTV21crypto_tls_sha1_prf_c @ 1858 NONAME
+	_ZTV21eap_am_memory_store_c @ 1859 NONAME
+	_ZTV21tls_peap_tlv_header_c @ 1860 NONAME
+	_ZTV22eap_am_mutex_symbian_c @ 1861 NONAME
+	_ZTV22eap_am_tools_symbian_c @ 1862 NONAME
+	_ZTV22eap_timer_queue_hash_c @ 1863 NONAME
+	_ZTV22eap_tlv_message_data_c @ 1864 NONAME
+	_ZTV22eapol_RC4_key_header_c @ 1865 NONAME
+	_ZTV23crypto_kd_hmac_sha256_c @ 1866 NONAME
+	_ZTV23eap_am_crypto_sha_256_c @ 1867 NONAME
+	_ZTV23eap_am_crypto_symbian_c @ 1868 NONAME
+	_ZTV23eap_timer_queue_event_c @ 1869 NONAME
+	_ZTV23eapol_RSNA_key_header_c @ 1870 NONAME
+	_ZTV23network_key_and_index_c @ 1871 NONAME
+	_ZTV24eap_am_mutex_reference_c @ 1872 NONAME
+	_ZTV24eap_master_session_key_c @ 1873 NONAME
+	_ZTV24eap_state_notification_c @ 1874 NONAME
+	_ZTV24eapol_key_state_string_c @ 1875 NONAME
+	_ZTV25eap_core_retransmission_c @ 1876 NONAME
+	_ZTV25eap_general_header_base_c @ 1877 NONAME
+	_ZTV25eap_network_id_selector_c @ 1878 NONAME
+	_ZTV26eapol_ethernet_header_rd_c @ 1879 NONAME
+	_ZTV26eapol_ethernet_header_wr_c @ 1880 NONAME
+	_ZTV26eapol_rsna_variable_data_c @ 1881 NONAME
+	_ZTV26simple_config_credential_c @ 1882 NONAME
+	_ZTV27abs_crypto_hash_algorithm_c @ 1883 NONAME
+	_ZTV27abs_crypto_hmac_algorithm_c @ 1884 NONAME
+	_ZTV27eap_am_file_input_symbian_c @ 1885 NONAME
+	_ZTV27eapol_wlan_authentication_c @ 1886 NONAME
+	_ZTV28abs_crypto_block_algorithm_c @ 1887 NONAME
+	_ZTV28eapol_ethernet_header_base_c @ 1888 NONAME
+	_ZTV28eapol_rsna_key_data_header_c @ 1889 NONAME
+	_ZTV29abs_crypto_stream_algorithm_c @ 1890 NONAME
+	_ZTV30abs_eap_am_memory_store_data_c @ 1891 NONAME
+	_ZTV30crypto_wpa_psk_password_hash_c @ 1892 NONAME
+	_ZTV30eap_am_memory_store_tlv_data_c @ 1893 NONAME
+	_ZTV30eapol_am_wlan_authentication_c @ 1894 NONAME
+	_ZTV30eapol_rsna_key_data_payloads_c @ 1895 NONAME
+	_ZTV31crypto_eap_fast_hmac_sha1_prf_c @ 1896 NONAME
+	_ZTV31eapol_handle_tlv_message_data_c @ 1897 NONAME
+	_ZTV32abs_crypto_cbc_block_algorithm_c @ 1898 NONAME
+	_ZTV32eap_simple_config_trace_string_c @ 1899 NONAME
+	_ZTV32eapol_rsna_key_data_gtk_header_c @ 1900 NONAME
+	_ZTV33crypto_ephemeral_diffie_hellman_c @ 1901 NONAME
+	_ZTV35eapol_message_wlan_authentication_c @ 1902 NONAME
+	_ZTV38eapol_am_wlan_authentication_symbian_c @ 1903 NONAME
+	_ZThn12_N10eap_core_c12get_is_validEv @ 1904 NONAME
+	_ZThn12_N10eap_core_c12set_is_validEv @ 1905 NONAME
+	_ZThn12_N10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1906 NONAME
+	_ZThn12_N10eap_core_c8shutdownEv @ 1907 NONAME
+	_ZThn12_N10eap_core_c9configureEv @ 1908 NONAME
+	_ZThn12_N10eap_core_cD0Ev @ 1909 NONAME
+	_ZThn12_N10eap_core_cD1Ev @ 1910 NONAME
+	_ZThn12_N12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1911 NONAME
+	_ZThn12_N12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1912 NONAME
+	_ZThn12_N12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1913 NONAME
+	_ZThn12_N12eapol_core_c17cancel_all_timersEv @ 1914 NONAME
+	_ZThn12_N12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1915 NONAME
+	_ZThn12_N12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 1916 NONAME
+	_ZThn12_N12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 1917 NONAME
+	_ZThn12_N12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1918 NONAME
+	_ZThn12_N12eapol_core_cD0Ev @ 1919 NONAME
+	_ZThn12_N12eapol_core_cD1Ev @ 1920 NONAME
+	_ZThn12_N18eap_session_core_c12get_is_validEv @ 1921 NONAME
+	_ZThn12_N18eap_session_core_c12set_is_validEv @ 1922 NONAME
+	_ZThn12_N18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1923 NONAME
+	_ZThn12_N18eap_session_core_c8shutdownEv @ 1924 NONAME
+	_ZThn12_N18eap_session_core_c9configureEv @ 1925 NONAME
+	_ZThn12_N18eap_session_core_cD0Ev @ 1926 NONAME
+	_ZThn12_N18eap_session_core_cD1Ev @ 1927 NONAME
+	_ZThn12_N27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1928 NONAME
+	_ZThn16_N12eapol_core_cD0Ev @ 1929 NONAME
+	_ZThn16_N12eapol_core_cD1Ev @ 1930 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c11associationEPK19eap_am_network_id_c @ 1931 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1932 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 1933 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c12get_is_validEv @ 1934 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c13unload_moduleE19eap_expanded_type_c @ 1935 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c14disassociationEPK19eap_am_network_id_c @ 1936 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1937 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c14set_am_partnerEP34abs_eapol_am_wlan_authentication_cP26abs_eap_configuration_if_c @ 1938 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1939 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c17cancel_all_timersEv @ 1940 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1941 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c19set_wlan_parametersEPK19eap_variable_data_cbS2_31eapol_key_authentication_type_e @ 1942 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c22get_selected_eap_typesEP11eap_array_cI20eap_type_selection_cE @ 1943 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c22get_wlan_configurationEP19eap_variable_data_c @ 1944 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c23authentication_finishedEb19eap_expanded_type_c31eapol_key_authentication_type_e @ 1945 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1946 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c23reset_eap_configurationEv @ 1947 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c8shutdownEv @ 1948 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c9configureEv @ 1949 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1950 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_cD0Ev @ 1951 NONAME
+	_ZThn28_N38eapol_am_wlan_authentication_symbian_cD1Ev @ 1952 NONAME
+	_ZThn32_N38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1953 NONAME
+	_ZThn4_N10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1954 NONAME
+	_ZThn4_N10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1955 NONAME
+	_ZThn4_N10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1956 NONAME
+	_ZThn4_N10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1957 NONAME
+	_ZThn4_N10eap_core_c13unload_moduleE19eap_expanded_type_c @ 1958 NONAME
+	_ZThn4_N10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1959 NONAME
+	_ZThn4_N10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1960 NONAME
+	_ZThn4_N10eap_core_c17cancel_all_timersEv @ 1961 NONAME
+	_ZThn4_N10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1962 NONAME
+	_ZThn4_N10eap_core_c17get_header_offsetEPmS0_ @ 1963 NONAME
+	_ZThn4_N10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1964 NONAME
+	_ZThn4_N10eap_core_c19set_session_timeoutEm @ 1965 NONAME
+	_ZThn4_N10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 1966 NONAME
+	_ZThn4_N10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 1967 NONAME
+	_ZThn4_N10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1968 NONAME
+	_ZThn4_N10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1969 NONAME
+	_ZThn4_N10eap_core_c23set_authentication_roleEb @ 1970 NONAME
+	_ZThn4_N10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 1971 NONAME
+	_ZThn4_N10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1972 NONAME
+	_ZThn4_N10eap_core_cD0Ev @ 1973 NONAME
+	_ZThn4_N10eap_core_cD1Ev @ 1974 NONAME
+	_ZThn4_N12eapol_core_c13timer_expiredEmPv @ 1975 NONAME
+	_ZThn4_N12eapol_core_c17timer_delete_dataEmPv @ 1976 NONAME
+	_ZThn4_N12eapol_core_cD0Ev @ 1977 NONAME
+	_ZThn4_N12eapol_core_cD1Ev @ 1978 NONAME
+	_ZThn4_N14eap_am_tools_cD0Ev @ 1979 NONAME
+	_ZThn4_N14eap_am_tools_cD1Ev @ 1980 NONAME
+	_ZThn4_N15ethernet_core_c12get_is_validEv @ 1981 NONAME
+	_ZThn4_N15ethernet_core_c12set_is_validEv @ 1982 NONAME
+	_ZThn4_N15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1983 NONAME
+	_ZThn4_N15ethernet_core_c8shutdownEv @ 1984 NONAME
+	_ZThn4_N15ethernet_core_c9configureEv @ 1985 NONAME
+	_ZThn4_N15ethernet_core_cD0Ev @ 1986 NONAME
+	_ZThn4_N15ethernet_core_cD1Ev @ 1987 NONAME
+	_ZThn4_N18eap_session_core_cD0Ev @ 1988 NONAME
+	_ZThn4_N18eap_session_core_cD1Ev @ 1989 NONAME
+	_ZThn4_N21eap_am_memory_store_c13timer_expiredEmPv @ 1990 NONAME
+	_ZThn4_N21eap_am_memory_store_c17timer_delete_dataEmPv @ 1991 NONAME
+	_ZThn4_N21eap_am_memory_store_cD0Ev @ 1992 NONAME
+	_ZThn4_N21eap_am_memory_store_cD1Ev @ 1993 NONAME
+	_ZThn4_N22eap_am_mutex_symbian_cD0Ev @ 1994 NONAME
+	_ZThn4_N22eap_am_mutex_symbian_cD1Ev @ 1995 NONAME
+	_ZThn4_N22eap_am_tools_symbian_cD0Ev @ 1996 NONAME
+	_ZThn4_N22eap_am_tools_symbian_cD1Ev @ 1997 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1998 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1999 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 2000 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 2001 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c13get_is_clientEv @ 2002 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 2003 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 2004 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 2005 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c17cancel_all_timersEv @ 2006 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 2007 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 2008 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 2009 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 2010 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 2011 NONAME
+	_ZThn4_N27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 2012 NONAME
+	_ZThn4_N27eapol_wlan_authentication_cD1Ev @ 2013 NONAME
+	_ZThn4_N35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 2014 NONAME
+	_ZThn4_N35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 2015 NONAME
+	_ZThn4_N35eapol_message_wlan_authentication_cD0Ev @ 2016 NONAME
+	_ZThn4_N35eapol_message_wlan_authentication_cD1Ev @ 2017 NONAME
+	_ZThn4_NK10eap_core_c19get_is_tunneled_eapEv @ 2018 NONAME
+	_ZThn536_N22eap_am_tools_symbian_cD0Ev @ 2019 NONAME
+	_ZThn536_N22eap_am_tools_symbian_cD1Ev @ 2020 NONAME
+	_ZThn8_N10eap_core_c13timer_expiredEmPv @ 2021 NONAME
+	_ZThn8_N10eap_core_c17timer_delete_dataEmPv @ 2022 NONAME
+	_ZThn8_N10eap_core_cD0Ev @ 2023 NONAME
+	_ZThn8_N10eap_core_cD1Ev @ 2024 NONAME
+	_ZThn8_N12eapol_core_c12get_is_validEv @ 2025 NONAME
+	_ZThn8_N12eapol_core_c12set_is_validEv @ 2026 NONAME
+	_ZThn8_N12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 2027 NONAME
+	_ZThn8_N12eapol_core_c8shutdownEv @ 2028 NONAME
+	_ZThn8_N12eapol_core_c9configureEv @ 2029 NONAME
+	_ZThn8_N12eapol_core_cD0Ev @ 2030 NONAME
+	_ZThn8_N12eapol_core_cD1Ev @ 2031 NONAME
+	_ZThn8_N18eap_session_core_c13timer_expiredEmPv @ 2032 NONAME
+	_ZThn8_N18eap_session_core_c17timer_delete_dataEmPv @ 2033 NONAME
+	_ZThn8_N18eap_session_core_cD0Ev @ 2034 NONAME
+	_ZThn8_N18eap_session_core_cD1Ev @ 2035 NONAME
+	_ZThn8_N27eapol_wlan_authentication_c13timer_expiredEmPv @ 2036 NONAME
+	_ZThn8_N27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 2037 NONAME
+	_ZThn8_N27eapol_wlan_authentication_cD1Ev @ 2038 NONAME
+	_ZThn8_N35eapol_message_wlan_authentication_cD0Ev @ 2039 NONAME
+	_ZThn8_N35eapol_message_wlan_authentication_cD1Ev @ 2040 NONAME
+	_ZThn8_NK35eapol_message_wlan_authentication_c34get_wlan_database_reference_valuesEP19eap_variable_data_c @ 2041 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/EapAuthServeru.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-EXPORTS
-	_Z18new_eap_am_stack_cP18abs_eap_am_tools_cb @ 1 NONAME
-	_ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME
-	_ZN11EapClientIfC1Ev @ 3 NONAME
-	_ZN11EapClientIfC2Ev @ 4 NONAME
-	_ZN11EapClientIfD0Ev @ 5 NONAME
-	_ZN11EapClientIfD1Ev @ 6 NONAME
-	_ZN11EapClientIfD2Ev @ 7 NONAME
-	_ZN13CEapScheduler11ThreadStartERNS_12TServerStartE @ 8 NONAME
-	_ZN13CEapScheduler16LaunchFromClientE4TBufILi24EE @ 9 NONAME
-	_ZN13CEapScheduler4NewLEv @ 10 NONAME
-	_ZN22eap_am_stack_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 11 NONAME
-	_ZN22eap_am_stack_symbian_c11set_partnerEP18abs_eap_am_stack_cP26abs_eap_configuration_if_c @ 12 NONAME
-	_ZN22eap_am_stack_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 13 NONAME
-	_ZN22eap_am_stack_symbian_c12get_is_validEv @ 14 NONAME
-	_ZN22eap_am_stack_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 15 NONAME
-	_ZN22eap_am_stack_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 16 NONAME
-	_ZN22eap_am_stack_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 17 NONAME
-	_ZN22eap_am_stack_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 18 NONAME
-	_ZN22eap_am_stack_symbian_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 19 NONAME
-	_ZN22eap_am_stack_symbian_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 20 NONAME
-	_ZN22eap_am_stack_symbian_c8shutdownEv @ 21 NONAME
-	_ZN22eap_am_stack_symbian_c9configureEPK19eap_variable_data_c @ 22 NONAME
-	_ZN22eap_am_stack_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 23 NONAME
-	_ZN22eap_am_stack_symbian_cC1EP18abs_eap_am_tools_cb @ 24 NONAME
-	_ZN22eap_am_stack_symbian_cC2EP18abs_eap_am_tools_cb @ 25 NONAME
-	_ZN22eap_am_stack_symbian_cD0Ev @ 26 NONAME
-	_ZN22eap_am_stack_symbian_cD1Ev @ 27 NONAME
-	_ZN22eap_am_stack_symbian_cD2Ev @ 28 NONAME
-	_ZN24eapol_key_state_string_c26get_eapol_key_state_stringE17eapol_key_state_e @ 29 NONAME
-	_ZN24eapol_key_state_string_c35get_eapol_key_handshake_type_stringE26eapol_key_handshake_type_e @ 30 NONAME
-	_ZN24eapol_key_state_string_c36get_eapol_key_descriptor_type_stringE27eapol_key_descriptor_type_e @ 31 NONAME
-	_ZN24eapol_key_state_string_c40get_eapol_key_authentication_type_stringE31eapol_key_authentication_type_e @ 32 NONAME
-	_ZN24eapol_key_state_string_cC1Ev @ 33 NONAME
-	_ZN24eapol_key_state_string_cC2Ev @ 34 NONAME
-	_ZN24eapol_key_state_string_cD0Ev @ 35 NONAME
-	_ZN24eapol_key_state_string_cD1Ev @ 36 NONAME
-	_ZN24eapol_key_state_string_cD2Ev @ 37 NONAME
-	_ZN28eap_core_server_message_if_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 38 NONAME
-	_ZN28eap_core_server_message_if_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 39 NONAME
-	_ZN28eap_core_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 40 NONAME
-	_ZN28eap_core_server_message_if_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 41 NONAME
-	_ZN28eap_core_server_message_if_c12cancel_timerEP20abs_eap_base_timer_cm @ 42 NONAME
-	_ZN28eap_core_server_message_if_c12get_is_validEv @ 43 NONAME
-	_ZN28eap_core_server_message_if_c12process_dataEPKvm @ 44 NONAME
-	_ZN28eap_core_server_message_if_c12send_messageEP30eap_process_tlv_message_data_c @ 45 NONAME
-	_ZN28eap_core_server_message_if_c12set_is_validEv @ 46 NONAME
-	_ZN28eap_core_server_message_if_c13timer_expiredEmPv @ 47 NONAME
-	_ZN28eap_core_server_message_if_c13unload_moduleE19eap_expanded_type_c @ 48 NONAME
-	_ZN28eap_core_server_message_if_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 49 NONAME
-	_ZN28eap_core_server_message_if_c15eap_acknowledgeEPK11eap_array_cI16eap_tlv_header_cE @ 50 NONAME
-	_ZN28eap_core_server_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 51 NONAME
-	_ZN28eap_core_server_message_if_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 52 NONAME
-	_ZN28eap_core_server_message_if_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 53 NONAME
-	_ZN28eap_core_server_message_if_c17get_header_offsetEPmS0_ @ 54 NONAME
-	_ZN28eap_core_server_message_if_c17timer_delete_dataEmPv @ 55 NONAME
-	_ZN28eap_core_server_message_if_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 56 NONAME
-	_ZN28eap_core_server_message_if_c18state_notificationEPK28abs_eap_state_notification_c @ 57 NONAME
-	_ZN28eap_core_server_message_if_c19set_session_timeoutEm @ 58 NONAME
-	_ZN28eap_core_server_message_if_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 59 NONAME
-	_ZN28eap_core_server_message_if_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 60 NONAME
-	_ZN28eap_core_server_message_if_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 61 NONAME
-	_ZN28eap_core_server_message_if_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 62 NONAME
-	_ZN28eap_core_server_message_if_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 63 NONAME
-	_ZN28eap_core_server_message_if_c30get_802_11_authentication_modeEPK11eap_array_cI16eap_tlv_header_cE @ 64 NONAME
-	_ZN28eap_core_server_message_if_c33asynchronous_start_authenticationEPK19eap_am_network_id_cb @ 65 NONAME
-	_ZN28eap_core_server_message_if_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 66 NONAME
-	_ZN28eap_core_server_message_if_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 67 NONAME
-	_ZN28eap_core_server_message_if_c7eap_mtuEPK11eap_array_cI16eap_tlv_header_cE @ 68 NONAME
-	_ZN28eap_core_server_message_if_c8shutdownEv @ 69 NONAME
-	_ZN28eap_core_server_message_if_c9configureEPK19eap_variable_data_c @ 70 NONAME
-	_ZN28eap_core_server_message_if_c9set_timerEP20abs_eap_base_timer_cmPvm @ 71 NONAME
-	_ZN28eap_core_server_message_if_cC1EP18abs_eap_am_tools_cbm @ 72 NONAME
-	_ZN28eap_core_server_message_if_cC2EP18abs_eap_am_tools_cbm @ 73 NONAME
-	_ZN28eap_core_server_message_if_cD0Ev @ 74 NONAME
-	_ZN28eap_core_server_message_if_cD1Ev @ 75 NONAME
-	_ZN28eap_core_server_message_if_cD2Ev @ 76 NONAME
-	_ZN30eap_plugin_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 77 NONAME
-	_ZN30eap_plugin_server_message_if_c12get_is_validEv @ 78 NONAME
-	_ZN30eap_plugin_server_message_if_c12process_dataEPKvm @ 79 NONAME
-	_ZN30eap_plugin_server_message_if_c12send_messageEP30eap_process_tlv_message_data_c @ 80 NONAME
-	_ZN30eap_plugin_server_message_if_c12set_is_validEv @ 81 NONAME
-	_ZN30eap_plugin_server_message_if_c13timer_expiredEmPv @ 82 NONAME
-	_ZN30eap_plugin_server_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 83 NONAME
-	_ZN30eap_plugin_server_message_if_c17timer_delete_dataEmPv @ 84 NONAME
-	_ZN30eap_plugin_server_message_if_c18complete_invoke_uiEPK21eap_method_settings_c @ 85 NONAME
-	_ZN30eap_plugin_server_message_if_c18complete_set_indexEPK21eap_method_settings_c @ 86 NONAME
-	_ZN30eap_plugin_server_message_if_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 87 NONAME
-	_ZN30eap_plugin_server_message_if_c22complete_get_type_infoEPK21eap_method_settings_c @ 88 NONAME
-	_ZN30eap_plugin_server_message_if_c26complete_get_configurationEPK21eap_method_settings_c @ 89 NONAME
-	_ZN30eap_plugin_server_message_if_c26complete_set_configurationEPK21eap_method_settings_c @ 90 NONAME
-	_ZN30eap_plugin_server_message_if_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 91 NONAME
-	_ZN30eap_plugin_server_message_if_c27complete_copy_configurationEPK21eap_method_settings_c @ 92 NONAME
-	_ZN30eap_plugin_server_message_if_c29complete_delete_configurationEPK21eap_method_settings_c @ 93 NONAME
-	_ZN30eap_plugin_server_message_if_c8shutdownEv @ 94 NONAME
-	_ZN30eap_plugin_server_message_if_c9configureEPK19eap_variable_data_c @ 95 NONAME
-	_ZN30eap_plugin_server_message_if_cC1EP18abs_eap_am_tools_c @ 96 NONAME
-	_ZN30eap_plugin_server_message_if_cC2EP18abs_eap_am_tools_c @ 97 NONAME
-	_ZN30eap_plugin_server_message_if_cD0Ev @ 98 NONAME
-	_ZN30eap_plugin_server_message_if_cD1Ev @ 99 NONAME
-	_ZN30eap_plugin_server_message_if_cD2Ev @ 100 NONAME
-	_ZN40eap_general_settings_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 101 NONAME
-	_ZN40eap_general_settings_server_message_if_c12get_is_validEv @ 102 NONAME
-	_ZN40eap_general_settings_server_message_if_c12process_dataEPKvm @ 103 NONAME
-	_ZN40eap_general_settings_server_message_if_c12send_messageEP30eap_process_tlv_message_data_c @ 104 NONAME
-	_ZN40eap_general_settings_server_message_if_c12set_is_validEv @ 105 NONAME
-	_ZN40eap_general_settings_server_message_if_c13timer_expiredEmPv @ 106 NONAME
-	_ZN40eap_general_settings_server_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 107 NONAME
-	_ZN40eap_general_settings_server_message_if_c17timer_delete_dataEmPv @ 108 NONAME
-	_ZN40eap_general_settings_server_message_if_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 109 NONAME
-	_ZN40eap_general_settings_server_message_if_c24complete_get_eap_methodsEPK21eap_method_settings_c @ 110 NONAME
-	_ZN40eap_general_settings_server_message_if_c24complete_set_eap_methodsEPK21eap_method_settings_c @ 111 NONAME
-	_ZN40eap_general_settings_server_message_if_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 112 NONAME
-	_ZN40eap_general_settings_server_message_if_c30complete_get_certificate_listsEPK21eap_method_settings_c @ 113 NONAME
-	_ZN40eap_general_settings_server_message_if_c32complete_delete_all_eap_settingsEPK21eap_method_settings_c @ 114 NONAME
-	_ZN40eap_general_settings_server_message_if_c8shutdownEv @ 115 NONAME
-	_ZN40eap_general_settings_server_message_if_c9configureEPK19eap_variable_data_c @ 116 NONAME
-	_ZN40eap_general_settings_server_message_if_cC1EP18abs_eap_am_tools_c @ 117 NONAME
-	_ZN40eap_general_settings_server_message_if_cC2EP18abs_eap_am_tools_c @ 118 NONAME
-	_ZN40eap_general_settings_server_message_if_cD0Ev @ 119 NONAME
-	_ZN40eap_general_settings_server_message_if_cD1Ev @ 120 NONAME
-	_ZN40eap_general_settings_server_message_if_cD2Ev @ 121 NONAME
-	_ZTI10CEapCoreIf @ 122 NONAME
-	_ZTI10CEapServer @ 123 NONAME
-	_ZTI11CEapSession @ 124 NONAME
-	_ZTI11EapClientIf @ 125 NONAME
-	_ZTI12CEapPluginIf @ 126 NONAME
-	_ZTI13CEapScheduler @ 127 NONAME
-	_ZTI14CEapSettingsIf @ 128 NONAME
-	_ZTI17eap_loaded_type_c @ 129 NONAME
-	_ZTI19CEapDelayedShutdown @ 130 NONAME
-	_ZTI19eap_method_values_c @ 131 NONAME
-	_ZTI21eap_method_settings_c @ 132 NONAME
-	_ZTI22CEapTlsPeapCertFetcher @ 133 NONAME
-	_ZTI22eap_am_stack_symbian_c @ 134 NONAME
-	_ZTI23eap_am_plugin_symbian_c @ 135 NONAME
-	_ZTI23eap_certificate_entry_c @ 136 NONAME
-	_ZTI24CEapServerProcessHandler @ 137 NONAME
-	_ZTI24eapol_key_state_string_c @ 138 NONAME
-	_ZTI28eap_core_server_message_if_c @ 139 NONAME
-	_ZTI30eap_plugin_server_message_if_c @ 140 NONAME
-	_ZTI33eap_am_general_settings_symbian_c @ 141 NONAME
-	_ZTI40eap_general_settings_server_message_if_c @ 142 NONAME
-	_ZTV10CEapCoreIf @ 143 NONAME
-	_ZTV10CEapServer @ 144 NONAME
-	_ZTV11CEapSession @ 145 NONAME
-	_ZTV11EapClientIf @ 146 NONAME
-	_ZTV12CEapPluginIf @ 147 NONAME
-	_ZTV13CEapScheduler @ 148 NONAME
-	_ZTV14CEapSettingsIf @ 149 NONAME
-	_ZTV17eap_loaded_type_c @ 150 NONAME
-	_ZTV19CEapDelayedShutdown @ 151 NONAME
-	_ZTV19eap_method_values_c @ 152 NONAME
-	_ZTV21eap_method_settings_c @ 153 NONAME
-	_ZTV22CEapTlsPeapCertFetcher @ 154 NONAME
-	_ZTV22eap_am_stack_symbian_c @ 155 NONAME
-	_ZTV23eap_am_plugin_symbian_c @ 156 NONAME
-	_ZTV23eap_certificate_entry_c @ 157 NONAME
-	_ZTV24CEapServerProcessHandler @ 158 NONAME
-	_ZTV24eapol_key_state_string_c @ 159 NONAME
-	_ZTV28eap_core_server_message_if_c @ 160 NONAME
-	_ZTV30eap_plugin_server_message_if_c @ 161 NONAME
-	_ZTV33eap_am_general_settings_symbian_c @ 162 NONAME
-	_ZTV40eap_general_settings_server_message_if_c @ 163 NONAME
-	_ZThn12_N28eap_core_server_message_if_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 164 NONAME
-	_ZThn12_N28eap_core_server_message_if_cD0Ev @ 165 NONAME
-	_ZThn12_N28eap_core_server_message_if_cD1Ev @ 166 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 167 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c11set_partnerEP18abs_eap_am_stack_cP26abs_eap_configuration_if_c @ 168 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 169 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c12get_is_validEv @ 170 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 171 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 172 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 173 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 174 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 175 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c8shutdownEv @ 176 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c9configureEPK19eap_variable_data_c @ 177 NONAME
-	_ZThn28_N22eap_am_stack_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 178 NONAME
-	_ZThn28_N22eap_am_stack_symbian_cD0Ev @ 179 NONAME
-	_ZThn28_N22eap_am_stack_symbian_cD1Ev @ 180 NONAME
-	_ZThn32_N22eap_am_stack_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 181 NONAME
-	_ZThn32_N22eap_am_stack_symbian_cD0Ev @ 182 NONAME
-	_ZThn32_N22eap_am_stack_symbian_cD1Ev @ 183 NONAME
-	_ZThn4_N28eap_core_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 184 NONAME
-	_ZThn4_N28eap_core_server_message_if_c12get_is_validEv @ 185 NONAME
-	_ZThn4_N28eap_core_server_message_if_c12process_dataEPKvm @ 186 NONAME
-	_ZThn4_N28eap_core_server_message_if_c8shutdownEv @ 187 NONAME
-	_ZThn4_N28eap_core_server_message_if_c9configureEPK19eap_variable_data_c @ 188 NONAME
-	_ZThn4_N28eap_core_server_message_if_cD0Ev @ 189 NONAME
-	_ZThn4_N28eap_core_server_message_if_cD1Ev @ 190 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 191 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_c12get_is_validEv @ 192 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_c12process_dataEPKvm @ 193 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_c8shutdownEv @ 194 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_c9configureEPK19eap_variable_data_c @ 195 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_cD0Ev @ 196 NONAME
-	_ZThn4_N30eap_plugin_server_message_if_cD1Ev @ 197 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 198 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_c12get_is_validEv @ 199 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_c12process_dataEPKvm @ 200 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_c8shutdownEv @ 201 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_c9configureEPK19eap_variable_data_c @ 202 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_cD0Ev @ 203 NONAME
-	_ZThn4_N40eap_general_settings_server_message_if_cD1Ev @ 204 NONAME
-	_ZThn8_N28eap_core_server_message_if_c13timer_expiredEmPv @ 205 NONAME
-	_ZThn8_N28eap_core_server_message_if_c17timer_delete_dataEmPv @ 206 NONAME
-	_ZThn8_N28eap_core_server_message_if_cD0Ev @ 207 NONAME
-	_ZThn8_N28eap_core_server_message_if_cD1Ev @ 208 NONAME
-	_ZThn8_N30eap_plugin_server_message_if_c13timer_expiredEmPv @ 209 NONAME
-	_ZThn8_N30eap_plugin_server_message_if_c17timer_delete_dataEmPv @ 210 NONAME
-	_ZThn8_N30eap_plugin_server_message_if_cD0Ev @ 211 NONAME
-	_ZThn8_N30eap_plugin_server_message_if_cD1Ev @ 212 NONAME
-	_ZThn8_N40eap_general_settings_server_message_if_c13timer_expiredEmPv @ 213 NONAME
-	_ZThn8_N40eap_general_settings_server_message_if_c17timer_delete_dataEmPv @ 214 NONAME
-	_ZThn8_N40eap_general_settings_server_message_if_cD0Ev @ 215 NONAME
-	_ZThn8_N40eap_general_settings_server_message_if_cD1Ev @ 216 NONAME
-	_ZTI16CEapserverBackup @ 217 NONAME
-	_ZTV16CEapserverBackup @ 218 NONAME
-	_ZN40eap_general_settings_server_message_if_c30complete_copy_all_eap_settingsEPK21eap_method_settings_c @ 219 NONAME
-	_ZN28eap_core_server_message_if_c27complete_remove_eap_sessionEbPK19eap_am_network_id_c @ 220 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eap_notifieru.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	_ZN16CEapAuthNotifier4NewLER21MNotificationCallback @ 1 NONAME
-	_ZN16CEapAuthNotifier6CancelEv @ 2 NONAME
-	_ZN16CEapAuthNotifier6StartLENS_16EEapNotifierTypeEPNS_14TEapDialogInfoER16TEapExpandedType @ 3 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapakau.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eapakau.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,344 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN12aka_header_c11set_subtypeE13aka_subtype_e @ 2 NONAME
-	_ZN12aka_header_c12reset_headerEmb @ 3 NONAME
-	_ZN12aka_header_c12set_reservedEt @ 4 NONAME
-	_ZN12aka_header_c15set_data_lengthEmb @ 5 NONAME
-	_ZN12aka_header_cC1EP18abs_eap_am_tools_cPhm @ 6 NONAME
-	_ZN12aka_header_cC2EP18abs_eap_am_tools_cPhm @ 7 NONAME
-	_ZN12aka_header_cD0Ev @ 8 NONAME
-	_ZN12aka_header_cD1Ev @ 9 NONAME
-	_ZN12aka_header_cD2Ev @ 10 NONAME
-	_ZN14aka_payloads_c14check_payloadsENS_24eap_aka_payload_status_eES0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_ @ 11 NONAME
-	_ZN14aka_payloads_c17check_one_payloadENS_24eap_aka_payload_status_eEPK19aka_variable_data_c @ 12 NONAME
-	_ZN14aka_payloads_c30get_includes_unknown_attributeEv @ 13 NONAME
-	_ZN14aka_payloads_c30set_includes_unknown_attributeE21aka_payload_AT_type_e @ 14 NONAME
-	_ZN14aka_payloads_c33get_includes_other_version_than_1Ev @ 15 NONAME
-	_ZN14aka_payloads_c33set_includes_other_version_than_1Eb @ 16 NONAME
-	_ZN14aka_payloads_cC1EP18abs_eap_am_tools_c @ 17 NONAME
-	_ZN14aka_payloads_cC2EP18abs_eap_am_tools_c @ 18 NONAME
-	_ZN14aka_payloads_cD0Ev @ 19 NONAME
-	_ZN14aka_payloads_cD1Ev @ 20 NONAME
-	_ZN14aka_payloads_cD2Ev @ 21 NONAME
-	_ZN14eap_type_aka_c11new_handlerEPK19eap_am_network_id_cb @ 22 NONAME
-	_ZN14eap_type_aka_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 23 NONAME
-	_ZN14eap_type_aka_c12cancel_timerEP20abs_eap_base_timer_cm @ 24 NONAME
-	_ZN14eap_type_aka_c12generate_naiEP19eap_variable_data_cbPKS0_S3_bS3_S3_m @ 25 NONAME
-	_ZN14eap_type_aka_c12get_is_validEv @ 26 NONAME
-	_ZN14eap_type_aka_c12set_is_validEv @ 27 NONAME
-	_ZN14eap_type_aka_c13get_is_clientEv @ 28 NONAME
-	_ZN14eap_type_aka_c13get_nai_realmEv @ 29 NONAME
-	_ZN14eap_type_aka_c13query_AKA_RESEP36eap_type_aka_authentication_vector_c @ 30 NONAME
-	_ZN14eap_type_aka_c13timer_expiredEmPv @ 31 NONAME
-	_ZN14eap_type_aka_c14checkcode_initEv @ 32 NONAME
-	_ZN14eap_type_aka_c14generate_nonceEmP19eap_variable_data_c @ 33 NONAME
-	_ZN14eap_type_aka_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 34 NONAME
-	_ZN14eap_type_aka_c14parse_identityEPKhm @ 35 NONAME
-	_ZN14eap_type_aka_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 36 NONAME
-	_ZN14eap_type_aka_c14store_identityEPK19eap_variable_data_cb @ 37 NONAME
-	_ZN14eap_type_aka_c15add_RES_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 38 NONAME
-	_ZN14eap_type_aka_c15add_mac_payloadEP12aka_header_cmmPmS2_S2_S2_PPhS2_ @ 39 NONAME
-	_ZN14eap_type_aka_c15checkcode_finalEP19eap_variable_data_c @ 40 NONAME
-	_ZN14eap_type_aka_c15eap_acknowledgeEPK19eap_am_network_id_c @ 41 NONAME
-	_ZN14eap_type_aka_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 42 NONAME
-	_ZN14eap_type_aka_c16add_AUTS_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 43 NONAME
-	_ZN14eap_type_aka_c16checkcode_updateEPKvm @ 44 NONAME
-	_ZN14eap_type_aka_c16checkcode_verifyEPK19eap_variable_data_c @ 45 NONAME
-	_ZN14eap_type_aka_c16get_state_stringE29eap_type_aka_state_variable_e @ 46 NONAME
-	_ZN14eap_type_aka_c16initialize_stateE29eap_type_aka_state_variable_ebb13aka_subtype_eS1_S1_S1_S1_ @ 47 NONAME
-	_ZN14eap_type_aka_c16parse_aka_packetEP12aka_header_cmP14aka_payloads_c @ 48 NONAME
-	_ZN14eap_type_aka_c16random_selectionEv @ 49 NONAME
-	_ZN14eap_type_aka_c17check_valid_stateE13aka_subtype_e @ 50 NONAME
-	_ZN14eap_type_aka_c17get_header_offsetEPmS0_ @ 51 NONAME
-	_ZN14eap_type_aka_c17handle_aka_packetEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 52 NONAME
-	_ZN14eap_type_aka_c17parse_aka_payloadEPK23aka_payload_AT_header_cPmP14aka_payloads_c13aka_subtype_e @ 53 NONAME
-	_ZN14eap_type_aka_c17timer_delete_dataEmPv @ 54 NONAME
-	_ZN14eap_type_aka_c18add_simple_payloadEP12aka_header_cmmPmS2_S2_S2_21aka_payload_AT_type_e @ 55 NONAME
-	_ZN14eap_type_aka_c18aka_packet_processEPK19eap_am_network_id_cP12aka_header_cmb @ 56 NONAME
-	_ZN14eap_type_aka_c18analyse_aka_packetEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 57 NONAME
-	_ZN14eap_type_aka_c18delete_unused_keysEv @ 58 NONAME
-	_ZN14eap_type_aka_c18get_state_variableEv @ 59 NONAME
-	_ZN14eap_type_aka_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 60 NONAME
-	_ZN14eap_type_aka_c18state_notificationEPK28abs_eap_state_notification_c @ 61 NONAME
-	_ZN14eap_type_aka_c19add_counter_payloadEP12aka_header_cmmPmS2_S2_S2_t @ 62 NONAME
-	_ZN14eap_type_aka_c19add_padding_payloadEP12aka_header_cmmPmS2_S2_S2_m @ 63 NONAME
-	_ZN14eap_type_aka_c19get_identity_stringE26eap_type_aka_identity_type @ 64 NONAME
-	_ZN14eap_type_aka_c19handle_DATA_payloadE13aka_subtype_eP14aka_payloads_c @ 65 NONAME
-	_ZN14eap_type_aka_c19handle_error_packetEv @ 66 NONAME
-	_ZN14eap_type_aka_c19process_AKA_kc_sresEPK36eap_type_aka_authentication_vector_c @ 67 NONAME
-	_ZN14eap_type_aka_c20add_variable_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 68 NONAME
-	_ZN14eap_type_aka_c20decrypt_DATA_payloadEP14aka_payloads_cPK19eap_variable_data_c @ 69 NONAME
-	_ZN14eap_type_aka_c20encrypt_DATA_payloadEPhmPK19eap_variable_data_cS3_ @ 70 NONAME
-	_ZN14eap_type_aka_c21parse_generic_payloadE21aka_payload_AT_type_ePK23aka_payload_AT_header_cP14aka_payloads_c13aka_subtype_e @ 71 NONAME
-	_ZN14eap_type_aka_c21update_buffer_indexesEmmPmS0_ @ 72 NONAME
-	_ZN14eap_type_aka_c22complete_AKA_RES_queryEPK36eap_type_aka_authentication_vector_c12eap_status_e @ 73 NONAME
-	_ZN14eap_type_aka_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 74 NONAME
-	_ZN14eap_type_aka_c23send_final_notificationEv @ 75 NONAME
-	_ZN14eap_type_aka_c24add_client_error_payloadEP12aka_header_cmmPmS2_S2_S2_27eap_aka_client_error_code_e @ 76 NONAME
-	_ZN14eap_type_aka_c24add_notification_payloadEP12aka_header_cmmPmS2_S2_S2_28eap_aka_notification_codes_e @ 77 NONAME
-	_ZN14eap_type_aka_c24initialize_error_messageE12eap_status_e @ 78 NONAME
-	_ZN14eap_type_aka_c25checkcode_verify_payloadsEP14aka_payloads_c @ 79 NONAME
-	_ZN14eap_type_aka_c25handle_eap_identity_queryEPK19eap_am_network_id_cP19eap_variable_data_chPKS3_S6_S6_S6_mb @ 80 NONAME
-	_ZN14eap_type_aka_c25handle_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cS5_26eap_type_aka_identity_type @ 81 NONAME
-	_ZN14eap_type_aka_c25process_re_syncronizationEhPK36eap_type_aka_authentication_vector_c @ 82 NONAME
-	_ZN14eap_type_aka_c26handle_notification_packetEv @ 83 NONAME
-	_ZN14eap_type_aka_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 84 NONAME
-	_ZN14eap_type_aka_c27complete_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cS5_26eap_type_aka_identity_type12eap_status_e23eap_type_aka_complete_e @ 85 NONAME
-	_ZN14eap_type_aka_c27generate_shared_secred_keysEmPK19eap_variable_data_cS2_PS0_S3_S3_S3_ @ 86 NONAME
-	_ZN14eap_type_aka_c28randomly_refuse_eap_identityEv @ 87 NONAME
-	_ZN14eap_type_aka_c29add_pseudonym_or_imsi_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 88 NONAME
-	_ZN14eap_type_aka_c29checkcode_save_message_clientEPKvmP14aka_payloads_c @ 89 NONAME
-	_ZN14eap_type_aka_c29checkcode_save_message_serverEPKvm @ 90 NONAME
-	_ZN14eap_type_aka_c29compare_payload_first_is_lessEPK21aka_payload_AT_type_eS2_P18abs_eap_am_tools_c @ 91 NONAME
-	_ZN14eap_type_aka_c29send_aka_notification_requestE28eap_aka_notification_codes_eb @ 92 NONAME
-	_ZN14eap_type_aka_c29set_error_message_delay_timerEv @ 93 NONAME
-	_ZN14eap_type_aka_c30checkcode_update_saved_messageEv @ 94 NONAME
-	_ZN14eap_type_aka_c30send_aka_client_error_responseEv @ 95 NONAME
-	_ZN14eap_type_aka_c30send_aka_notification_responseE28eap_aka_notification_codes_eb @ 96 NONAME
-	_ZN14eap_type_aka_c30send_challenge_request_messageEh @ 97 NONAME
-	_ZN14eap_type_aka_c31initialize_notification_messageEv @ 98 NONAME
-	_ZN14eap_type_aka_c31query_AKA_authentication_vectorEhP26eap_type_aka_identity_type @ 99 NONAME
-	_ZN14eap_type_aka_c31send_challenge_response_messageEP19eap_variable_data_c @ 100 NONAME
-	_ZN14eap_type_aka_c32cancel_error_message_delay_timerEv @ 101 NONAME
-	_ZN14eap_type_aka_c32check_challenge_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 102 NONAME
-	_ZN14eap_type_aka_c32complete_re_syncronization_queryEhPK36eap_type_aka_authentication_vector_c @ 103 NONAME
-	_ZN14eap_type_aka_c32finish_successful_authenticationEPK19eap_am_network_id_c @ 104 NONAME
-	_ZN14eap_type_aka_c32handle_challenge_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 105 NONAME
-	_ZN14eap_type_aka_c32handle_identity_response_messageEP15eap_header_rd_cm @ 106 NONAME
-	_ZN14eap_type_aka_c33check_message_authentication_codeEPK19eap_variable_data_cP14aka_payloads_cPK12aka_header_cm @ 107 NONAME
-	_ZN14eap_type_aka_c33handle_challenge_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 108 NONAME
-	_ZN14eap_type_aka_c33send_aka_identity_request_messageEbh @ 109 NONAME
-	_ZN14eap_type_aka_c34create_message_authentication_codeEP29eap_type_aka_MAC_attributes_c13aka_subtype_e16eap_code_value_ePK19eap_variable_data_c @ 110 NONAME
-	_ZN14eap_type_aka_c34generate_reauth_shared_secred_keysEmPK19eap_variable_data_cmS2_S2_PS0_ @ 111 NONAME
-	_ZN14eap_type_aka_c34send_aka_identity_response_messageEPK19eap_am_network_id_ch21aka_payload_AT_type_ePK19eap_variable_data_c @ 112 NONAME
-	_ZN14eap_type_aka_c35handle_aka_identity_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 113 NONAME
-	_ZN14eap_type_aka_c36handle_aka_identity_response_messageEP12aka_header_cmP14aka_payloads_c @ 114 NONAME
-	_ZN14eap_type_aka_c36handle_client_error_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 115 NONAME
-	_ZN14eap_type_aka_c36handle_notification_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 116 NONAME
-	_ZN14eap_type_aka_c36set_notification_message_delay_timerEv @ 117 NONAME
-	_ZN14eap_type_aka_c37send_reauthentication_request_messageEPK19eap_variable_data_cbh @ 118 NONAME
-	_ZN14eap_type_aka_c38send_reauthentication_response_messageEPK19eap_variable_data_cS2_S2_S2_S2_thb @ 119 NONAME
-	_ZN14eap_type_aka_c39cancel_notification_message_delay_timerEv @ 120 NONAME
-	_ZN14eap_type_aka_c39extra_message_authentication_code_bytesE13aka_subtype_e16eap_code_value_eP13crypto_hmac_c @ 121 NONAME
-	_ZN14eap_type_aka_c39handle_aka_notification_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 122 NONAME
-	_ZN14eap_type_aka_c39handle_reauthentication_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 123 NONAME
-	_ZN14eap_type_aka_c40complete_AKA_authentication_vector_queryEP36eap_type_aka_authentication_vector_cPK19eap_variable_data_c38eap_aka_authentication_vector_status_e26eap_type_aka_identity_type12eap_status_eh @ 124 NONAME
-	_ZN14eap_type_aka_c40handle_reauthentication_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 125 NONAME
-	_ZN14eap_type_aka_c46check_synchronization_failure_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 126 NONAME
-	_ZN14eap_type_aka_c47handle_aka_identity_response_message_completionEh12eap_status_e26eap_type_aka_identity_typeb @ 127 NONAME
-	_ZN14eap_type_aka_c47handle_synchronization_failure_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 128 NONAME
-	_ZN14eap_type_aka_c47send_aka_authentication_reject_response_messageEPK36eap_type_aka_authentication_vector_c @ 129 NONAME
-	_ZN14eap_type_aka_c49send_aka_synchronization_failure_response_messageEPK36eap_type_aka_authentication_vector_c @ 130 NONAME
-	_ZN14eap_type_aka_c50query_AKA_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pmb21aka_payload_AT_type_e23eap_type_aka_complete_eh @ 131 NONAME
-	_ZN14eap_type_aka_c53handle_notification_response_message_reauthenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 132 NONAME
-	_ZN14eap_type_aka_c56handle_aka_notification_request_message_reauthenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 133 NONAME
-	_ZN14eap_type_aka_c56handle_notification_response_message_full_authenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 134 NONAME
-	_ZN14eap_type_aka_c59complete_AKA_IMSI_or_pseudonym_or_reauthentication_id_queryEPK19eap_variable_data_cS2_S2_S2_m23eap_type_aka_complete_eh12eap_status_e @ 135 NONAME
-	_ZN14eap_type_aka_c59handle_aka_notification_request_message_full_authenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 136 NONAME
-	_ZN14eap_type_aka_c5resetEv @ 137 NONAME
-	_ZN14eap_type_aka_c8data_expEmP19eap_variable_data_cPKS0_S3_ @ 138 NONAME
-	_ZN14eap_type_aka_c8shutdownEv @ 139 NONAME
-	_ZN14eap_type_aka_c9check_NAIEPKhmS1_ @ 140 NONAME
-	_ZN14eap_type_aka_c9configureEv @ 141 NONAME
-	_ZN14eap_type_aka_c9set_timerEP20abs_eap_base_timer_cmPvm @ 142 NONAME
-	_ZN14eap_type_aka_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP17eap_am_type_aka_cbbPK19eap_am_network_id_c @ 143 NONAME
-	_ZN14eap_type_aka_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP17eap_am_type_aka_cbbPK19eap_am_network_id_c @ 144 NONAME
-	_ZN14eap_type_aka_cD0Ev @ 145 NONAME
-	_ZN14eap_type_aka_cD1Ev @ 146 NONAME
-	_ZN14eap_type_aka_cD2Ev @ 147 NONAME
-	_ZN16aka_fixed_data_c19get_original_headerEv @ 148 NONAME
-	_ZN16aka_fixed_data_c8set_dataEPK23aka_payload_AT_header_ctt @ 149 NONAME
-	_ZN16aka_fixed_data_cC1EP18abs_eap_am_tools_c @ 150 NONAME
-	_ZN16aka_fixed_data_cC2EP18abs_eap_am_tools_c @ 151 NONAME
-	_ZN16aka_fixed_data_cD0Ev @ 152 NONAME
-	_ZN16aka_fixed_data_cD1Ev @ 153 NONAME
-	_ZN16aka_fixed_data_cD2Ev @ 154 NONAME
-	_ZN19aka_variable_data_c10set_bufferEPK23aka_payload_AT_header_cPhmbb @ 155 NONAME
-	_ZN19aka_variable_data_c18get_payload_bufferEv @ 156 NONAME
-	_ZN19aka_variable_data_c5resetEv @ 157 NONAME
-	_ZN19aka_variable_data_cC1EP18abs_eap_am_tools_c @ 158 NONAME
-	_ZN19aka_variable_data_cC2EP18abs_eap_am_tools_c @ 159 NONAME
-	_ZN19aka_variable_data_cD0Ev @ 160 NONAME
-	_ZN19aka_variable_data_cD1Ev @ 161 NONAME
-	_ZN19aka_variable_data_cD2Ev @ 162 NONAME
-	_ZN23aka_payload_AT_header_c12reset_headerEt @ 163 NONAME
-	_ZN23aka_payload_AT_header_c12set_reservedEt @ 164 NONAME
-	_ZN23aka_payload_AT_header_c15set_data_lengthEt @ 165 NONAME
-	_ZN23aka_payload_AT_header_c17get_header_lengthEv @ 166 NONAME
-	_ZN23aka_payload_AT_header_c19set_current_payloadE21aka_payload_AT_type_e @ 167 NONAME
-	_ZN23aka_payload_AT_header_c21get_payload_AT_stringE21aka_payload_AT_type_e @ 168 NONAME
-	_ZN23aka_payload_AT_header_c27get_max_payload_data_lengthEv @ 169 NONAME
-	_ZN23aka_payload_AT_header_cC1EP18abs_eap_am_tools_cPvm @ 170 NONAME
-	_ZN23aka_payload_AT_header_cC2EP18abs_eap_am_tools_cPvm @ 171 NONAME
-	_ZN23aka_payload_AT_header_cD0Ev @ 172 NONAME
-	_ZN23aka_payload_AT_header_cD1Ev @ 173 NONAME
-	_ZN23aka_payload_AT_header_cD2Ev @ 174 NONAME
-	_ZN25eap_am_type_aka_symbian_c12get_is_validEv @ 175 NONAME
-	_ZN25eap_am_type_aka_symbian_c12set_is_validEv @ 176 NONAME
-	_ZN25eap_am_type_aka_symbian_c13query_AKA_RESEP36eap_type_aka_authentication_vector_c @ 177 NONAME
-	_ZN25eap_am_type_aka_symbian_c16is_session_validEv @ 178 NONAME
-	_ZN25eap_am_type_aka_symbian_c18complete_AKA_RES_LEP19eap_variable_data_cS1_S1_S1_12eap_status_eS2_ @ 179 NONAME
-	_ZN25eap_am_type_aka_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 180 NONAME
-	_ZN25eap_am_type_aka_symbian_c19complete_AKA_imsi_LEPK19eap_variable_data_c12eap_status_e @ 181 NONAME
-	_ZN25eap_am_type_aka_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 182 NONAME
-	_ZN25eap_am_type_aka_symbian_c20cancel_AKA_RES_queryEv @ 183 NONAME
-	_ZN25eap_am_type_aka_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 184 NONAME
-	_ZN25eap_am_type_aka_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 185 NONAME
-	_ZN25eap_am_type_aka_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 186 NONAME
-	_ZN25eap_am_type_aka_symbian_c23authentication_finishedEb29eap_aka_authentication_type_e26eap_type_aka_identity_type @ 187 NONAME
-	_ZN25eap_am_type_aka_symbian_c23handle_aka_notificationE28eap_aka_notification_codes_e @ 188 NONAME
-	_ZN25eap_am_type_aka_symbian_c23increase_reauth_counterEv @ 189 NONAME
-	_ZN25eap_am_type_aka_symbian_c23query_re_syncronizationEhP36eap_type_aka_authentication_vector_c @ 190 NONAME
-	_ZN25eap_am_type_aka_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 191 NONAME
-	_ZN25eap_am_type_aka_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 192 NONAME
-	_ZN25eap_am_type_aka_symbian_c24query_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cPS3_P26eap_type_aka_identity_type23eap_type_aka_complete_e @ 193 NONAME
-	_ZN25eap_am_type_aka_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 194 NONAME
-	_ZN25eap_am_type_aka_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 195 NONAME
-	_ZN25eap_am_type_aka_symbian_c31cancel_imsi_from_username_queryEv @ 196 NONAME
-	_ZN25eap_am_type_aka_symbian_c31query_AKA_authentication_vectorEPK19eap_variable_data_chPS0_P36eap_type_aka_authentication_vector_cP26eap_type_aka_identity_type @ 197 NONAME
-	_ZN25eap_am_type_aka_symbian_c38cancel_AKA_authentication_vector_queryEv @ 198 NONAME
-	_ZN25eap_am_type_aka_symbian_c4NewLEP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cbPK19eap_am_network_id_c @ 199 NONAME
-	_ZN25eap_am_type_aka_symbian_c50query_AKA_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pm21aka_payload_AT_type_e23eap_type_aka_complete_eh @ 200 NONAME
-	_ZN25eap_am_type_aka_symbian_c57cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 201 NONAME
-	_ZN25eap_am_type_aka_symbian_c5resetEv @ 202 NONAME
-	_ZN25eap_am_type_aka_symbian_c8shutdownEv @ 203 NONAME
-	_ZN25eap_am_type_aka_symbian_c9configureEv @ 204 NONAME
-	_ZN25eap_am_type_aka_symbian_cD0Ev @ 205 NONAME
-	_ZN25eap_am_type_aka_symbian_cD1Ev @ 206 NONAME
-	_ZN25eap_am_type_aka_symbian_cD2Ev @ 207 NONAME
-	_ZN33eap_type_aka_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 208 NONAME
-	_ZN33eap_type_aka_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 209 NONAME
-	_ZN33eap_type_aka_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 210 NONAME
-	_ZN33eap_type_aka_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 211 NONAME
-	_ZN33eap_type_aka_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 212 NONAME
-	_ZN33eap_type_aka_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 213 NONAME
-	_ZN33eap_type_aka_state_notification_cD0Ev @ 214 NONAME
-	_ZN33eap_type_aka_state_notification_cD1Ev @ 215 NONAME
-	_ZN33eap_type_aka_state_notification_cD2Ev @ 216 NONAME
-	_ZN36eap_type_aka_authentication_vector_c17set_vector_statusE12eap_status_e @ 217 NONAME
-	_ZN36eap_type_aka_authentication_vector_c5resetEv @ 218 NONAME
-	_ZN36eap_type_aka_authentication_vector_cC1EP18abs_eap_am_tools_c @ 219 NONAME
-	_ZN36eap_type_aka_authentication_vector_cC2EP18abs_eap_am_tools_c @ 220 NONAME
-	_ZN36eap_type_aka_authentication_vector_cD0Ev @ 221 NONAME
-	_ZN36eap_type_aka_authentication_vector_cD1Ev @ 222 NONAME
-	_ZN36eap_type_aka_authentication_vector_cD2Ev @ 223 NONAME
-	_ZN40eap_type_aka_state_variable_parameters_c10init_stateEbb13aka_subtype_eS0_S0_S0_S0_ @ 224 NONAME
-	_ZN40eap_type_aka_state_variable_parameters_cC1Ev @ 225 NONAME
-	_ZN40eap_type_aka_state_variable_parameters_cC2Ev @ 226 NONAME
-	_ZN40eap_type_aka_state_variable_parameters_cD0Ev @ 227 NONAME
-	_ZN40eap_type_aka_state_variable_parameters_cD1Ev @ 228 NONAME
-	_ZN40eap_type_aka_state_variable_parameters_cD2Ev @ 229 NONAME
-	_ZNK12aka_header_c11get_subtypeEv @ 230 NONAME
-	_ZNK12aka_header_c12check_headerEv @ 231 NONAME
-	_ZNK12aka_header_c12get_reservedEv @ 232 NONAME
-	_ZNK12aka_header_c15get_code_stringEv @ 233 NONAME
-	_ZNK12aka_header_c15get_data_lengthEv @ 234 NONAME
-	_ZNK12aka_header_c15get_data_offsetEmm @ 235 NONAME
-	_ZNK12aka_header_c17get_header_lengthEv @ 236 NONAME
-	_ZNK12aka_header_c18get_subtype_stringEv @ 237 NONAME
-	_ZNK12aka_header_c19get_eap_type_stringEv @ 238 NONAME
-	_ZNK12aka_header_c19get_sub_type_offsetEv @ 239 NONAME
-	_ZNK12aka_header_c8get_dataEm @ 240 NONAME
-	_ZNK14aka_payloads_c12get_is_validEv @ 241 NONAME
-	_ZNK14eap_type_aka_c16get_state_stringEv @ 242 NONAME
-	_ZNK14eap_type_aka_c31get_saved_previous_state_stringEv @ 243 NONAME
-	_ZNK16aka_fixed_data_c12get_is_validEv @ 244 NONAME
-	_ZNK16aka_fixed_data_c8get_dataEP18abs_eap_am_tools_c @ 245 NONAME
-	_ZNK16aka_fixed_data_c8get_typeEP18abs_eap_am_tools_c @ 246 NONAME
-	_ZNK19aka_variable_data_c12get_is_validEv @ 247 NONAME
-	_ZNK19aka_variable_data_c15get_data_lengthEv @ 248 NONAME
-	_ZNK19aka_variable_data_c19get_original_headerEv @ 249 NONAME
-	_ZNK19aka_variable_data_c20get_payload_includedEv @ 250 NONAME
-	_ZNK19aka_variable_data_c8get_dataEm @ 251 NONAME
-	_ZNK23aka_payload_AT_header_c12check_headerEv @ 252 NONAME
-	_ZNK23aka_payload_AT_header_c12get_reservedEv @ 253 NONAME
-	_ZNK23aka_payload_AT_header_c15get_data_lengthEv @ 254 NONAME
-	_ZNK23aka_payload_AT_header_c15get_data_offsetEmm @ 255 NONAME
-	_ZNK23aka_payload_AT_header_c15get_next_headerEv @ 256 NONAME
-	_ZNK23aka_payload_AT_header_c18get_payload_lengthEv @ 257 NONAME
-	_ZNK23aka_payload_AT_header_c19get_current_payloadEv @ 258 NONAME
-	_ZNK23aka_payload_AT_header_c20get_reserved_pointerEm @ 259 NONAME
-	_ZNK23aka_payload_AT_header_c21get_payload_AT_stringEv @ 260 NONAME
-	_ZNK23aka_payload_AT_header_c8get_dataEm @ 261 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c12get_is_validEv @ 262 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c17get_vector_statusEv @ 263 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c4copyEv @ 264 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c6get_CKEv @ 265 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c6get_IKEv @ 266 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c7get_RESEv @ 267 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c8get_AUTNEv @ 268 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c8get_AUTSEv @ 269 NONAME
-	_ZNK36eap_type_aka_authentication_vector_c8get_RANDEv @ 270 NONAME
-	_ZNK40eap_type_aka_state_variable_parameters_c15check_initiatorEb @ 271 NONAME
-	_ZNK40eap_type_aka_state_variable_parameters_c17check_valid_typesE13aka_subtype_e @ 272 NONAME
-	_ZTI12CEapTypeInfo @ 273 NONAME
-	_ZTI12aka_header_c @ 274 NONAME
-	_ZTI14aka_payloads_c @ 275 NONAME
-	_ZTI14eap_type_aka_c @ 276 NONAME
-	_ZTI16CEapAkaInterface @ 277 NONAME
-	_ZTI16aka_fixed_data_c @ 278 NONAME
-	_ZTI19aka_variable_data_c @ 279 NONAME
-	_ZTI23aka_payload_AT_header_c @ 280 NONAME
-	_ZTI25eap_am_type_aka_symbian_c @ 281 NONAME
-	_ZTI29eap_type_aka_MAC_attributes_c @ 282 NONAME
-	_ZTI33eap_type_aka_state_notification_c @ 283 NONAME
-	_ZTI36eap_type_aka_authentication_vector_c @ 284 NONAME
-	_ZTI40eap_type_aka_state_variable_parameters_c @ 285 NONAME
-	_ZTI7CEapAka @ 286 NONAME
-	_ZTV12CEapTypeInfo @ 287 NONAME
-	_ZTV12aka_header_c @ 288 NONAME
-	_ZTV14aka_payloads_c @ 289 NONAME
-	_ZTV14eap_type_aka_c @ 290 NONAME
-	_ZTV16CEapAkaInterface @ 291 NONAME
-	_ZTV16aka_fixed_data_c @ 292 NONAME
-	_ZTV19aka_variable_data_c @ 293 NONAME
-	_ZTV23aka_payload_AT_header_c @ 294 NONAME
-	_ZTV25eap_am_type_aka_symbian_c @ 295 NONAME
-	_ZTV29eap_type_aka_MAC_attributes_c @ 296 NONAME
-	_ZTV33eap_type_aka_state_notification_c @ 297 NONAME
-	_ZTV36eap_type_aka_authentication_vector_c @ 298 NONAME
-	_ZTV40eap_type_aka_state_variable_parameters_c @ 299 NONAME
-	_ZTV7CEapAka @ 300 NONAME
-	_ZThn4_N14eap_type_aka_c13timer_expiredEmPv @ 301 NONAME
-	_ZThn4_N14eap_type_aka_c17timer_delete_dataEmPv @ 302 NONAME
-	_ZThn4_N14eap_type_aka_cD0Ev @ 303 NONAME
-	_ZThn4_N14eap_type_aka_cD1Ev @ 304 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c13query_AKA_RESEP36eap_type_aka_authentication_vector_c @ 305 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 306 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 307 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c20cancel_AKA_RES_queryEv @ 308 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 309 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 310 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 311 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c23authentication_finishedEb29eap_aka_authentication_type_e26eap_type_aka_identity_type @ 312 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c23handle_aka_notificationE28eap_aka_notification_codes_e @ 313 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c23increase_reauth_counterEv @ 314 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c23query_re_syncronizationEhP36eap_type_aka_authentication_vector_c @ 315 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 316 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 317 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c24query_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cPS3_P26eap_type_aka_identity_type23eap_type_aka_complete_e @ 318 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 319 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 320 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c31cancel_imsi_from_username_queryEv @ 321 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c31query_AKA_authentication_vectorEPK19eap_variable_data_chPS0_P36eap_type_aka_authentication_vector_cP26eap_type_aka_identity_type @ 322 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c38cancel_AKA_authentication_vector_queryEv @ 323 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c50query_AKA_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pm21aka_payload_AT_type_e23eap_type_aka_complete_eh @ 324 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c57cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 325 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c5resetEv @ 326 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c8shutdownEv @ 327 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_c9configureEv @ 328 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_cD0Ev @ 329 NONAME
-	_ZThn4_N25eap_am_type_aka_symbian_cD1Ev @ 330 NONAME
-	_ZThn8_N14eap_type_aka_c12get_is_validEv @ 331 NONAME
-	_ZThn8_N14eap_type_aka_c12set_is_validEv @ 332 NONAME
-	_ZThn8_N14eap_type_aka_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 333 NONAME
-	_ZThn8_N14eap_type_aka_c15eap_acknowledgeEPK19eap_am_network_id_c @ 334 NONAME
-	_ZThn8_N14eap_type_aka_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 335 NONAME
-	_ZThn8_N14eap_type_aka_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 336 NONAME
-	_ZThn8_N14eap_type_aka_c5resetEv @ 337 NONAME
-	_ZThn8_N14eap_type_aka_c8shutdownEv @ 338 NONAME
-	_ZThn8_N14eap_type_aka_c9configureEv @ 339 NONAME
-	_ZThn8_N14eap_type_aka_cD0Ev @ 340 NONAME
-	_ZThn8_N14eap_type_aka_cD1Ev @ 341 NONAME
-	_ZN14eap_type_aka_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 342 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapclientifu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	_ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 1 NONAME
-	_ZN11EapClientIfC1Ev @ 2 NONAME
-	_ZN11EapClientIfC2Ev @ 3 NONAME
-	_ZN11EapClientIfD0Ev @ 4 NONAME
-	_ZN11EapClientIfD1Ev @ 5 NONAME
-	_ZN11EapClientIfD2Ev @ 6 NONAME
-	_ZN11REapSession12get_is_validEv @ 7 NONAME
-	_ZN11REapSession12process_dataE12TEapRequestsPKvm @ 8 NONAME
-	_ZN11REapSession5CloseEv @ 9 NONAME
-	_ZN11REapSession8ConnectLEP18abs_eap_am_tools_cP18MSendPacketHandler4TBufILi24EES5_PKvi12TEapRequests @ 10 NONAME
-	_ZN11REapSessionD0Ev @ 11 NONAME
-	_ZN11REapSessionD1Ev @ 12 NONAME
-	_ZN11REapSessionD2Ev @ 13 NONAME
-	_ZTI11EapClientIf @ 14 NONAME
-	_ZTI11REapSession @ 15 NONAME
-	_ZTI12CSendHandler @ 16 NONAME
-	_ZTI19CEapolPacketHandler @ 17 NONAME
-	_ZTI24CEapClientProcessHandler @ 18 NONAME
-	_ZTV11EapClientIf @ 19 NONAME
-	_ZTV11REapSession @ 20 NONAME
-	_ZTV12CSendHandler @ 21 NONAME
-	_ZTV19CEapolPacketHandler @ 22 NONAME
-	_ZTV24CEapClientProcessHandler @ 23 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceimplementationu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME
-	_ZN11EapClientIfC1Ev @ 3 NONAME
-	_ZN11EapClientIfC2Ev @ 4 NONAME
-	_ZN11EapClientIfD0Ev @ 5 NONAME
-	_ZN11EapClientIfD1Ev @ 6 NONAME
-	_ZN11EapClientIfD2Ev @ 7 NONAME
-	_ZTI11EapClientIf @ 8 NONAME
-	_ZTI31CEapCoreInterfaceImplementation @ 9 NONAME
-	_ZTV11EapClientIf @ 10 NONAME
-	_ZTV31CEapCoreInterfaceImplementation @ 11 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	_Z30new_eap_am_client_message_if_cP18abs_eap_am_tools_cbm @ 1 NONAME
-	_ZN17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 2 NONAME
-	_ZN17CEapCoreInterface12get_is_validEv @ 3 NONAME
-	_ZN17CEapCoreInterface12process_dataEPKvm @ 4 NONAME
-	_ZN17CEapCoreInterface8SendDataEPKvi @ 5 NONAME
-	_ZN17CEapCoreInterface8shutdownEv @ 6 NONAME
-	_ZN17CEapCoreInterface9ConstrucLEP18abs_eap_am_tools_c @ 7 NONAME
-	_ZN17CEapCoreInterface9configureEPK19eap_variable_data_c @ 8 NONAME
-	_ZTI17CEapCoreInterface @ 9 NONAME
-	_ZTV17CEapCoreInterface @ 10 NONAME
-	_ZThn4_N17CEapCoreInterface8SendDataEPKvi @ 11 NONAME
-	_ZThn8_N17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 12 NONAME
-	_ZThn8_N17CEapCoreInterface12get_is_validEv @ 13 NONAME
-	_ZThn8_N17CEapCoreInterface12process_dataEPKvm @ 14 NONAME
-	_ZThn8_N17CEapCoreInterface8shutdownEv @ 15 NONAME
-	_ZThn8_N17CEapCoreInterface9configureEPK19eap_variable_data_c @ 16 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapgeneralsettingsu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME
-	_ZN11EapClientIfC1Ev @ 3 NONAME
-	_ZN11EapClientIfC2Ev @ 4 NONAME
-	_ZN11EapClientIfD0Ev @ 5 NONAME
-	_ZN11EapClientIfD1Ev @ 6 NONAME
-	_ZN11EapClientIfD2Ev @ 7 NONAME
-	_ZN27eap_am_message_if_symbian_c11set_partnerEP23abs_eap_am_message_if_c @ 8 NONAME
-	_ZN27eap_am_message_if_symbian_c12get_is_validEv @ 9 NONAME
-	_ZN27eap_am_message_if_symbian_c12process_dataEPKvm @ 10 NONAME
-	_ZN27eap_am_message_if_symbian_c8shutdownEv @ 11 NONAME
-	_ZN27eap_am_message_if_symbian_c9configureEPK19eap_variable_data_c @ 12 NONAME
-	_ZN27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 13 NONAME
-	_ZN27eap_am_message_if_symbian_cC1EP18abs_eap_am_tools_c12TEapRequests @ 14 NONAME
-	_ZN27eap_am_message_if_symbian_cC2EP18abs_eap_am_tools_c12TEapRequests @ 15 NONAME
-	_ZN27eap_am_message_if_symbian_cD0Ev @ 16 NONAME
-	_ZN27eap_am_message_if_symbian_cD1Ev @ 17 NONAME
-	_ZN27eap_am_message_if_symbian_cD2Ev @ 18 NONAME
-	_ZN30eap_general_settings_message_cC2Ev @ 19 NONAME
-	_ZN30eap_general_settings_message_cD0Ev @ 20 NONAME
-	_ZN30eap_general_settings_message_cD1Ev @ 21 NONAME
-	_ZN30eap_general_settings_message_cD2Ev @ 22 NONAME
-	_ZN40eap_general_settings_client_message_if_c12get_is_validEv @ 23 NONAME
-	_ZN40eap_general_settings_client_message_if_c15get_eap_methodsEPK21eap_method_settings_c @ 24 NONAME
-	_ZN40eap_general_settings_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 25 NONAME
-	_ZN40eap_general_settings_client_message_if_c15set_eap_methodsEPK21eap_method_settings_c @ 26 NONAME
-	_ZN40eap_general_settings_client_message_if_c21copy_all_eap_settingsEPK21eap_method_settings_c @ 27 NONAME
-	_ZN40eap_general_settings_client_message_if_c21get_certificate_listsEPK21eap_method_settings_c @ 28 NONAME
-	_ZN40eap_general_settings_client_message_if_c23delete_all_eap_settingsEPK21eap_method_settings_c @ 29 NONAME
-	_ZN40eap_general_settings_client_message_if_c5resetEv @ 30 NONAME
-	_ZN40eap_general_settings_client_message_if_c8shutdownEv @ 31 NONAME
-	_ZN40eap_general_settings_client_message_if_c9configureEv @ 32 NONAME
-	_ZN40eap_general_settings_client_message_if_c9send_dataEPKvm @ 33 NONAME
-	_ZN40eap_general_settings_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP34abs_eap_general_settings_message_c @ 34 NONAME
-	_ZN40eap_general_settings_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP34abs_eap_general_settings_message_c @ 35 NONAME
-	_ZN40eap_general_settings_client_message_if_cD0Ev @ 36 NONAME
-	_ZN40eap_general_settings_client_message_if_cD1Ev @ 37 NONAME
-	_ZN40eap_general_settings_client_message_if_cD2Ev @ 38 NONAME
-	_ZTI11EapClientIf @ 39 NONAME
-	_ZTI19eap_method_values_c @ 40 NONAME
-	_ZTI21eap_method_settings_c @ 41 NONAME
-	_ZTI23CEapGeneralSettingsImpl @ 42 NONAME
-	_ZTI23eap_certificate_entry_c @ 43 NONAME
-	_ZTI27eap_am_message_if_symbian_c @ 44 NONAME
-	_ZTI30eap_general_settings_message_c @ 45 NONAME
-	_ZTI40eap_general_settings_client_message_if_c @ 46 NONAME
-	_ZTV11EapClientIf @ 47 NONAME
-	_ZTV19eap_method_values_c @ 48 NONAME
-	_ZTV21eap_method_settings_c @ 49 NONAME
-	_ZTV23CEapGeneralSettingsImpl @ 50 NONAME
-	_ZTV23eap_certificate_entry_c @ 51 NONAME
-	_ZTV27eap_am_message_if_symbian_c @ 52 NONAME
-	_ZTV30eap_general_settings_message_c @ 53 NONAME
-	_ZTV40eap_general_settings_client_message_if_c @ 54 NONAME
-	_ZThn4_N27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 55 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c12get_is_validEv @ 56 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c15get_eap_methodsEPK21eap_method_settings_c @ 57 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c15set_eap_methodsEPK21eap_method_settings_c @ 58 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c21copy_all_eap_settingsEPK21eap_method_settings_c @ 59 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c21get_certificate_listsEPK21eap_method_settings_c @ 60 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c23delete_all_eap_settingsEPK21eap_method_settings_c @ 61 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c5resetEv @ 62 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c8shutdownEv @ 63 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_c9configureEv @ 64 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_cD0Ev @ 65 NONAME
-	_ZThn4_N40eap_general_settings_client_message_if_cD1Ev @ 66 NONAME
-	_ZThn8_N27eap_am_message_if_symbian_cD0Ev @ 67 NONAME
-	_ZThn8_N27eap_am_message_if_symbian_cD1Ev @ 68 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapgenericu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME
-	_ZN11EapClientIfC1Ev @ 3 NONAME
-	_ZN11EapClientIfC2Ev @ 4 NONAME
-	_ZN11EapClientIfD0Ev @ 5 NONAME
-	_ZN11EapClientIfD1Ev @ 6 NONAME
-	_ZN11EapClientIfD2Ev @ 7 NONAME
-	_ZN23network_key_and_index_c12get_is_validEv @ 8 NONAME
-	_ZN23network_key_and_index_c15get_network_keyEv @ 9 NONAME
-	_ZN23network_key_and_index_c17get_is_valid_dataEv @ 10 NONAME
-	_ZN23network_key_and_index_c21set_network_key_indexEh @ 11 NONAME
-	_ZN23network_key_and_index_c4copyEv @ 12 NONAME
-	_ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 13 NONAME
-	_ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 14 NONAME
-	_ZN23network_key_and_index_cD0Ev @ 15 NONAME
-	_ZN23network_key_and_index_cD1Ev @ 16 NONAME
-	_ZN23network_key_and_index_cD2Ev @ 17 NONAME
-	_ZN23simple_config_message_c11add_paddingEm @ 18 NONAME
-	_ZN23simple_config_message_c12get_is_validEv @ 19 NONAME
-	_ZN23simple_config_message_c30get_simple_config_message_dataEv @ 20 NONAME
-	_ZN23simple_config_message_c30set_simple_config_message_dataEP19eap_variable_data_ch @ 21 NONAME
-	_ZN23simple_config_message_c5resetEv @ 22 NONAME
-	_ZN23simple_config_message_cC1EP18abs_eap_am_tools_cb @ 23 NONAME
-	_ZN23simple_config_message_cC2EP18abs_eap_am_tools_cb @ 24 NONAME
-	_ZN23simple_config_message_cD0Ev @ 25 NONAME
-	_ZN23simple_config_message_cD1Ev @ 26 NONAME
-	_ZN23simple_config_message_cD2Ev @ 27 NONAME
-	_ZN24simple_config_payloads_c13add_attributeEP29simple_config_variable_data_c @ 28 NONAME
-	_ZN24simple_config_payloads_c14copy_attributeEPKS_30simple_config_Attribute_Type_e @ 29 NONAME
-	_ZN24simple_config_payloads_c14verify_paddingEPKhm @ 30 NONAME
-	_ZN24simple_config_payloads_c19copy_attribute_dataE30simple_config_Attribute_Type_ebPKvm @ 31 NONAME
-	_ZN24simple_config_payloads_c21parse_generic_payloadE30simple_config_Attribute_Type_ePK26simple_config_tlv_header_c @ 32 NONAME
-	_ZN24simple_config_payloads_c28parse_simple_config_payloadsEPvPmS1_ @ 33 NONAME
-	_ZN24simple_config_payloads_c5resetEv @ 34 NONAME
-	_ZN24simple_config_payloads_cC1EP18abs_eap_am_tools_c @ 35 NONAME
-	_ZN24simple_config_payloads_cC2EP18abs_eap_am_tools_c @ 36 NONAME
-	_ZN24simple_config_payloads_cD0Ev @ 37 NONAME
-	_ZN24simple_config_payloads_cD1Ev @ 38 NONAME
-	_ZN24simple_config_payloads_cD2Ev @ 39 NONAME
-	_ZN25eap_plugin_message_base_c34new_eap_plugin_client_message_if_cEP18abs_eap_am_tools_cP24abs_eap_plugin_message_c @ 40 NONAME
-	_ZN25eap_plugin_message_base_cC2Ev @ 41 NONAME
-	_ZN25eap_plugin_message_base_cD0Ev @ 42 NONAME
-	_ZN25eap_plugin_message_base_cD1Ev @ 43 NONAME
-	_ZN25eap_plugin_message_base_cD2Ev @ 44 NONAME
-	_ZN26simple_config_credential_c12get_is_validEv @ 45 NONAME
-	_ZN26simple_config_credential_c15get_MAC_addressEv @ 46 NONAME
-	_ZN26simple_config_credential_c16get_network_keysEv @ 47 NONAME
-	_ZN26simple_config_credential_c17set_network_indexEh @ 48 NONAME
-	_ZN26simple_config_credential_c19get_Encryption_TypeEv @ 49 NONAME
-	_ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 50 NONAME
-	_ZN26simple_config_credential_c23get_Authentication_TypeEv @ 51 NONAME
-	_ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 52 NONAME
-	_ZN26simple_config_credential_c8get_SSIDEv @ 53 NONAME
-	_ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 54 NONAME
-	_ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 55 NONAME
-	_ZN26simple_config_credential_cD0Ev @ 56 NONAME
-	_ZN26simple_config_credential_cD1Ev @ 57 NONAME
-	_ZN26simple_config_credential_cD2Ev @ 58 NONAME
-	_ZN27eap_am_message_if_symbian_c11set_partnerEP23abs_eap_am_message_if_c @ 59 NONAME
-	_ZN27eap_am_message_if_symbian_c12get_is_validEv @ 60 NONAME
-	_ZN27eap_am_message_if_symbian_c12process_dataEPKvm @ 61 NONAME
-	_ZN27eap_am_message_if_symbian_c8shutdownEv @ 62 NONAME
-	_ZN27eap_am_message_if_symbian_c9configureEPK19eap_variable_data_c @ 63 NONAME
-	_ZN27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 64 NONAME
-	_ZN27eap_am_message_if_symbian_cC1EP18abs_eap_am_tools_c12TEapRequests @ 65 NONAME
-	_ZN27eap_am_message_if_symbian_cC2EP18abs_eap_am_tools_c12TEapRequests @ 66 NONAME
-	_ZN27eap_am_message_if_symbian_cD0Ev @ 67 NONAME
-	_ZN27eap_am_message_if_symbian_cD1Ev @ 68 NONAME
-	_ZN27eap_am_message_if_symbian_cD2Ev @ 69 NONAME
-	_ZN29simple_config_variable_data_c10get_headerEv @ 70 NONAME
-	_ZN29simple_config_variable_data_c18set_attribute_typeE30simple_config_Attribute_Type_e @ 71 NONAME
-	_ZN29simple_config_variable_data_c18set_copy_of_bufferE30simple_config_Attribute_Type_ebPKvm @ 72 NONAME
-	_ZN29simple_config_variable_data_c25get_full_attribute_bufferEv @ 73 NONAME
-	_ZN29simple_config_variable_data_c31object_increase_reference_countEv @ 74 NONAME
-	_ZN29simple_config_variable_data_c41add_next_payload_with_same_attribute_typeEPS_ @ 75 NONAME
-	_ZN29simple_config_variable_data_c41get_next_payload_with_same_attribute_typeEv @ 76 NONAME
-	_ZN29simple_config_variable_data_c41set_next_payload_with_same_attribute_typeEPS_ @ 77 NONAME
-	_ZN29simple_config_variable_data_c8add_dataEPKvm @ 78 NONAME
-	_ZN29simple_config_variable_data_cC1EP18abs_eap_am_tools_c @ 79 NONAME
-	_ZN29simple_config_variable_data_cC2EP18abs_eap_am_tools_c @ 80 NONAME
-	_ZN29simple_config_variable_data_cD0Ev @ 81 NONAME
-	_ZN29simple_config_variable_data_cD1Ev @ 82 NONAME
-	_ZN29simple_config_variable_data_cD2Ev @ 83 NONAME
-	_ZN30eap_plugin_client_message_if_c12get_is_validEv @ 84 NONAME
-	_ZN30eap_plugin_client_message_if_c13get_type_infoEPK21eap_method_settings_c @ 85 NONAME
-	_ZN30eap_plugin_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 86 NONAME
-	_ZN30eap_plugin_client_message_if_c17get_configurationEPK21eap_method_settings_c @ 87 NONAME
-	_ZN30eap_plugin_client_message_if_c17set_configurationEPK21eap_method_settings_c @ 88 NONAME
-	_ZN30eap_plugin_client_message_if_c18copy_configurationEPK21eap_method_settings_c @ 89 NONAME
-	_ZN30eap_plugin_client_message_if_c20delete_configurationEPK21eap_method_settings_c @ 90 NONAME
-	_ZN30eap_plugin_client_message_if_c5resetEv @ 91 NONAME
-	_ZN30eap_plugin_client_message_if_c8shutdownEv @ 92 NONAME
-	_ZN30eap_plugin_client_message_if_c9configureEv @ 93 NONAME
-	_ZN30eap_plugin_client_message_if_c9invoke_uiEPK21eap_method_settings_c @ 94 NONAME
-	_ZN30eap_plugin_client_message_if_c9send_dataEPKvm @ 95 NONAME
-	_ZN30eap_plugin_client_message_if_c9set_indexEPK21eap_method_settings_c @ 96 NONAME
-	_ZN30eap_plugin_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP24abs_eap_plugin_message_c @ 97 NONAME
-	_ZN30eap_plugin_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP24abs_eap_plugin_message_c @ 98 NONAME
-	_ZN30eap_plugin_client_message_if_cD0Ev @ 99 NONAME
-	_ZN30eap_plugin_client_message_if_cD1Ev @ 100 NONAME
-	_ZN30eap_plugin_client_message_if_cD2Ev @ 101 NONAME
-	_ZN32eap_simple_config_trace_string_cC1Ev @ 102 NONAME
-	_ZN32eap_simple_config_trace_string_cC2Ev @ 103 NONAME
-	_ZN32eap_simple_config_trace_string_cD0Ev @ 104 NONAME
-	_ZN32eap_simple_config_trace_string_cD1Ev @ 105 NONAME
-	_ZN32eap_simple_config_trace_string_cD2Ev @ 106 NONAME
-	_ZNK23network_key_and_index_c21get_network_key_constEv @ 107 NONAME
-	_ZNK23network_key_and_index_c21get_network_key_indexEv @ 108 NONAME
-	_ZNK24simple_config_payloads_c12get_is_validEv @ 109 NONAME
-	_ZNK24simple_config_payloads_c13get_attributeEm @ 110 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_eP19eap_variable_data_c @ 111 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePh @ 112 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePm @ 113 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePt @ 114 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePvm @ 115 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePy @ 116 NONAME
-	_ZNK24simple_config_payloads_c19get_attribute_countEv @ 117 NONAME
-	_ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_e @ 118 NONAME
-	_ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_em @ 119 NONAME
-	_ZNK24simple_config_payloads_c24check_mandatory_payloadsEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 120 NONAME
-	_ZNK24simple_config_payloads_c24check_payloads_existenseEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 121 NONAME
-	_ZNK24simple_config_payloads_c24check_payloads_existenseEPK30simple_config_Attribute_Type_em @ 122 NONAME
-	_ZNK24simple_config_payloads_c28create_simple_config_messageEP23simple_config_message_cb @ 123 NONAME
-	_ZNK24simple_config_payloads_c43add_payloads_to_simple_config_authenticatorEP13crypto_hmac_cb @ 124 NONAME
-	_ZNK24simple_config_payloads_c4copyEv @ 125 NONAME
-	_ZNK26simple_config_credential_c14get_SSID_constEv @ 126 NONAME
-	_ZNK26simple_config_credential_c17get_network_indexEv @ 127 NONAME
-	_ZNK26simple_config_credential_c21get_MAC_address_constEv @ 128 NONAME
-	_ZNK26simple_config_credential_c22get_network_keys_constEv @ 129 NONAME
-	_ZNK29simple_config_variable_data_c12get_is_validEv @ 130 NONAME
-	_ZNK29simple_config_variable_data_c15get_data_lengthEv @ 131 NONAME
-	_ZNK29simple_config_variable_data_c16get_is_mandatoryEv @ 132 NONAME
-	_ZNK29simple_config_variable_data_c18get_attribute_typeEv @ 133 NONAME
-	_ZNK29simple_config_variable_data_c4copyEv @ 134 NONAME
-	_ZNK29simple_config_variable_data_c8get_dataEm @ 135 NONAME
-	_ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 136 NONAME
-	_ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 137 NONAME
-	_ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 138 NONAME
-	_ZTI11CEapGeneric @ 139 NONAME
-	_ZTI11EapClientIf @ 140 NONAME
-	_ZTI12CEapTypeInfo @ 141 NONAME
-	_ZTI19eap_method_values_c @ 142 NONAME
-	_ZTI21eap_method_settings_c @ 143 NONAME
-	_ZTI23eap_certificate_entry_c @ 144 NONAME
-	_ZTI23network_key_and_index_c @ 145 NONAME
-	_ZTI23simple_config_message_c @ 146 NONAME
-	_ZTI24simple_config_payloads_c @ 147 NONAME
-	_ZTI25eap_plugin_message_base_c @ 148 NONAME
-	_ZTI26simple_config_credential_c @ 149 NONAME
-	_ZTI26simple_config_tlv_header_c @ 150 NONAME
-	_ZTI27eap_am_message_if_symbian_c @ 151 NONAME
-	_ZTI29simple_config_variable_data_c @ 152 NONAME
-	_ZTI30eap_plugin_client_message_if_c @ 153 NONAME
-	_ZTI32eap_simple_config_trace_string_c @ 154 NONAME
-	_ZTV11CEapGeneric @ 155 NONAME
-	_ZTV11EapClientIf @ 156 NONAME
-	_ZTV12CEapTypeInfo @ 157 NONAME
-	_ZTV19eap_method_values_c @ 158 NONAME
-	_ZTV21eap_method_settings_c @ 159 NONAME
-	_ZTV23eap_certificate_entry_c @ 160 NONAME
-	_ZTV23network_key_and_index_c @ 161 NONAME
-	_ZTV23simple_config_message_c @ 162 NONAME
-	_ZTV24simple_config_payloads_c @ 163 NONAME
-	_ZTV25eap_plugin_message_base_c @ 164 NONAME
-	_ZTV26simple_config_credential_c @ 165 NONAME
-	_ZTV26simple_config_tlv_header_c @ 166 NONAME
-	_ZTV27eap_am_message_if_symbian_c @ 167 NONAME
-	_ZTV29simple_config_variable_data_c @ 168 NONAME
-	_ZTV30eap_plugin_client_message_if_c @ 169 NONAME
-	_ZTV32eap_simple_config_trace_string_c @ 170 NONAME
-	_ZThn4_N27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 171 NONAME
-	_ZThn4_N30eap_plugin_client_message_if_c9send_dataEPKvm @ 172 NONAME
-	_ZThn4_N30eap_plugin_client_message_if_cD0Ev @ 173 NONAME
-	_ZThn4_N30eap_plugin_client_message_if_cD1Ev @ 174 NONAME
-	_ZThn8_N27eap_am_message_if_symbian_cD0Ev @ 175 NONAME
-	_ZThn8_N27eap_am_message_if_symbian_cD1Ev @ 176 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,139 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN17mschapv2_header_c10set_opcodeE17mschapv2_opcode_e @ 2 NONAME
-	_ZN17mschapv2_header_c13set_ms_lengthEt @ 3 NONAME
-	_ZN17mschapv2_header_c15set_mschapv2_idEh @ 4 NONAME
-	_ZN17mschapv2_header_cC1EP18abs_eap_am_tools_cPvm @ 5 NONAME
-	_ZN17mschapv2_header_cC2EP18abs_eap_am_tools_cPvm @ 6 NONAME
-	_ZN17mschapv2_header_cD0Ev @ 7 NONAME
-	_ZN17mschapv2_header_cD1Ev @ 8 NONAME
-	_ZN17mschapv2_header_cD2Ev @ 9 NONAME
-	_ZN19eap_type_mschapv2_c12get_is_validEv @ 10 NONAME
-	_ZN19eap_type_mschapv2_c12set_is_validEv @ 11 NONAME
-	_ZN19eap_type_mschapv2_c13get_is_clientEv @ 12 NONAME
-	_ZN19eap_type_mschapv2_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 13 NONAME
-	_ZN19eap_type_mschapv2_c15eap_acknowledgeEPK19eap_am_network_id_c @ 14 NONAME
-	_ZN19eap_type_mschapv2_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 15 NONAME
-	_ZN19eap_type_mschapv2_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 16 NONAME
-	_ZN19eap_type_mschapv2_c27complete_eap_identity_queryEv @ 17 NONAME
-	_ZN19eap_type_mschapv2_c30complete_change_password_queryEv @ 18 NONAME
-	_ZN19eap_type_mschapv2_c31complete_failure_retry_responseEv @ 19 NONAME
-	_ZN19eap_type_mschapv2_c32finish_successful_authenticationEv @ 20 NONAME
-	_ZN19eap_type_mschapv2_c32handle_identity_response_messageEv @ 21 NONAME
-	_ZN19eap_type_mschapv2_c34finish_unsuccessful_authenticationEb @ 22 NONAME
-	_ZN19eap_type_mschapv2_c5resetEv @ 23 NONAME
-	_ZN19eap_type_mschapv2_c8shutdownEv @ 24 NONAME
-	_ZN19eap_type_mschapv2_c9configureEv @ 25 NONAME
-	_ZN19eap_type_mschapv2_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_mschapv2_cbbPK19eap_am_network_id_c @ 26 NONAME
-	_ZN19eap_type_mschapv2_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_mschapv2_cbbPK19eap_am_network_id_c @ 27 NONAME
-	_ZN19eap_type_mschapv2_cD0Ev @ 28 NONAME
-	_ZN19eap_type_mschapv2_cD1Ev @ 29 NONAME
-	_ZN19eap_type_mschapv2_cD2Ev @ 30 NONAME
-	_ZN19mschapv2_response_c13set_constantsEv @ 31 NONAME
-	_ZN19mschapv2_response_c15set_nt_responseEPKh @ 32 NONAME
-	_ZN19mschapv2_response_c18set_peer_challengeEPKh @ 33 NONAME
-	_ZN19mschapv2_response_c23get_header_minimum_sizeEv @ 34 NONAME
-	_ZN19mschapv2_response_c8set_nameEPKh @ 35 NONAME
-	_ZN19mschapv2_response_cC1EP18abs_eap_am_tools_cPvm @ 36 NONAME
-	_ZN19mschapv2_response_cC2EP18abs_eap_am_tools_cPvm @ 37 NONAME
-	_ZN19mschapv2_response_cD0Ev @ 38 NONAME
-	_ZN19mschapv2_response_cD1Ev @ 39 NONAME
-	_ZN19mschapv2_response_cD2Ev @ 40 NONAME
-	_ZN20mschapv2_challenge_c13set_challengeEPKh @ 41 NONAME
-	_ZN20mschapv2_challenge_c14set_value_sizeEv @ 42 NONAME
-	_ZN20mschapv2_challenge_c23get_header_minimum_sizeEv @ 43 NONAME
-	_ZN20mschapv2_challenge_c8set_nameEPKh @ 44 NONAME
-	_ZN20mschapv2_challenge_cC1EP18abs_eap_am_tools_cPvm @ 45 NONAME
-	_ZN20mschapv2_challenge_cC2EP18abs_eap_am_tools_cPvm @ 46 NONAME
-	_ZN20mschapv2_challenge_cD0Ev @ 47 NONAME
-	_ZN20mschapv2_challenge_cD1Ev @ 48 NONAME
-	_ZN20mschapv2_challenge_cD2Ev @ 49 NONAME
-	_ZN25eap_type_mschapv2_state_cD0Ev @ 50 NONAME
-	_ZN25eap_type_mschapv2_state_cD1Ev @ 51 NONAME
-	_ZN25eap_type_mschapv2_state_cD2Ev @ 52 NONAME
-	_ZN26mschapv2_change_password_c13set_constantsEv @ 53 NONAME
-	_ZN26mschapv2_change_password_c15set_nt_responseEPKh @ 54 NONAME
-	_ZN26mschapv2_change_password_c18set_encrypted_hashEPKh @ 55 NONAME
-	_ZN26mschapv2_change_password_c18set_peer_challengeEPKh @ 56 NONAME
-	_ZN26mschapv2_change_password_c22set_encrypted_pw_blockEPKh @ 57 NONAME
-	_ZN26mschapv2_change_password_c23get_header_minimum_sizeEv @ 58 NONAME
-	_ZN26mschapv2_change_password_cC1EP18abs_eap_am_tools_cPvm @ 59 NONAME
-	_ZN26mschapv2_change_password_cC2EP18abs_eap_am_tools_cPvm @ 60 NONAME
-	_ZN26mschapv2_change_password_cD0Ev @ 61 NONAME
-	_ZN26mschapv2_change_password_cD1Ev @ 62 NONAME
-	_ZN26mschapv2_change_password_cD2Ev @ 63 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c11DlgCompleteEi @ 64 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c12get_is_validEv @ 65 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c12set_is_validEv @ 66 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 67 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 68 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 69 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c24read_auth_failure_stringE20eap_mschapv2_error_eR19eap_variable_data_c @ 70 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c24update_username_passwordEv @ 71 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c5resetEv @ 72 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c8shutdownEv @ 73 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_c9configureEv @ 74 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_cD0Ev @ 75 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_cD1Ev @ 76 NONAME
-	_ZN30eap_am_type_mschapv2_symbian_cD2Ev @ 77 NONAME
-	_ZNK17mschapv2_header_c10get_opcodeEv @ 78 NONAME
-	_ZNK17mschapv2_header_c12check_headerEv @ 79 NONAME
-	_ZNK17mschapv2_header_c13get_ms_lengthEv @ 80 NONAME
-	_ZNK17mschapv2_header_c15get_data_lengthEv @ 81 NONAME
-	_ZNK17mschapv2_header_c15get_mschapv2_idEv @ 82 NONAME
-	_ZNK17mschapv2_header_c8get_dataEv @ 83 NONAME
-	_ZNK19mschapv2_response_c12check_headerEv @ 84 NONAME
-	_ZNK19mschapv2_response_c15get_name_lengthEv @ 85 NONAME
-	_ZNK19mschapv2_response_c15get_nt_responseEv @ 86 NONAME
-	_ZNK19mschapv2_response_c18get_peer_challengeEv @ 87 NONAME
-	_ZNK19mschapv2_response_c8get_nameEv @ 88 NONAME
-	_ZNK20mschapv2_challenge_c12check_headerEv @ 89 NONAME
-	_ZNK20mschapv2_challenge_c13get_challengeEv @ 90 NONAME
-	_ZNK20mschapv2_challenge_c15get_name_lengthEv @ 91 NONAME
-	_ZNK20mschapv2_challenge_c8get_nameEv @ 92 NONAME
-	_ZNK26mschapv2_change_password_c12check_headerEv @ 93 NONAME
-	_ZNK26mschapv2_change_password_c15get_nt_responseEv @ 94 NONAME
-	_ZNK26mschapv2_change_password_c18get_encrypted_hashEv @ 95 NONAME
-	_ZNK26mschapv2_change_password_c18get_peer_challengeEv @ 96 NONAME
-	_ZNK26mschapv2_change_password_c22get_encrypted_pw_blockEv @ 97 NONAME
-	_ZTI12CEapMsChapV2 @ 98 NONAME
-	_ZTI12CEapTypeInfo @ 99 NONAME
-	_ZTI17mschapv2_header_c @ 100 NONAME
-	_ZTI19eap_type_mschapv2_c @ 101 NONAME
-	_ZTI19mschapv2_response_c @ 102 NONAME
-	_ZTI20mschapv2_challenge_c @ 103 NONAME
-	_ZTI25eap_type_mschapv2_state_c @ 104 NONAME
-	_ZTI26mschapv2_change_password_c @ 105 NONAME
-	_ZTI30eap_am_type_mschapv2_symbian_c @ 106 NONAME
-	_ZTV12CEapMsChapV2 @ 107 NONAME
-	_ZTV12CEapTypeInfo @ 108 NONAME
-	_ZTV17mschapv2_header_c @ 109 NONAME
-	_ZTV19eap_type_mschapv2_c @ 110 NONAME
-	_ZTV19mschapv2_response_c @ 111 NONAME
-	_ZTV20mschapv2_challenge_c @ 112 NONAME
-	_ZTV25eap_type_mschapv2_state_c @ 113 NONAME
-	_ZTV26mschapv2_change_password_c @ 114 NONAME
-	_ZTV30eap_am_type_mschapv2_symbian_c @ 115 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 116 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 117 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 118 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c24read_auth_failure_stringE20eap_mschapv2_error_eR19eap_variable_data_c @ 119 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c24update_username_passwordEv @ 120 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c5resetEv @ 121 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c8shutdownEv @ 122 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_c9configureEv @ 123 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_cD0Ev @ 124 NONAME
-	_ZThn28_N30eap_am_type_mschapv2_symbian_cD1Ev @ 125 NONAME
-	_ZThn44_N30eap_am_type_mschapv2_symbian_c11DlgCompleteEi @ 126 NONAME
-	_ZThn4_N19eap_type_mschapv2_c12get_is_validEv @ 127 NONAME
-	_ZThn4_N19eap_type_mschapv2_c12set_is_validEv @ 128 NONAME
-	_ZThn4_N19eap_type_mschapv2_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 129 NONAME
-	_ZThn4_N19eap_type_mschapv2_c15eap_acknowledgeEPK19eap_am_network_id_c @ 130 NONAME
-	_ZThn4_N19eap_type_mschapv2_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 131 NONAME
-	_ZThn4_N19eap_type_mschapv2_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 132 NONAME
-	_ZThn4_N19eap_type_mschapv2_c5resetEv @ 133 NONAME
-	_ZThn4_N19eap_type_mschapv2_c8shutdownEv @ 134 NONAME
-	_ZThn4_N19eap_type_mschapv2_c9configureEv @ 135 NONAME
-	_ZThn4_N19eap_type_mschapv2_cD0Ev @ 136 NONAME
-	_ZThn4_N19eap_type_mschapv2_cD1Ev @ 137 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,426 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN22simple_config_record_c10keyed_hmacEPK19eap_variable_data_cS2_PS0_ @ 2 NONAME
-	_ZN22simple_config_record_c10process_M2EPK24simple_config_payloads_c @ 3 NONAME
-	_ZN22simple_config_record_c10process_M4EPK24simple_config_payloads_c @ 4 NONAME
-	_ZN22simple_config_record_c10process_M6EPK24simple_config_payloads_c @ 5 NONAME
-	_ZN22simple_config_record_c10process_M8EPK24simple_config_payloads_c @ 6 NONAME
-	_ZN22simple_config_record_c11process_M2DEPK24simple_config_payloads_c @ 7 NONAME
-	_ZN22simple_config_record_c12generate_kdkEPK19eap_variable_data_cS2_S2_S2_PS0_ @ 8 NONAME
-	_ZN22simple_config_record_c12get_is_validEv @ 9 NONAME
-	_ZN22simple_config_record_c12send_WSC_ACKEv @ 10 NONAME
-	_ZN22simple_config_record_c12set_is_validEv @ 11 NONAME
-	_ZN22simple_config_record_c12verify_stateE21simple_config_state_e @ 12 NONAME
-	_ZN22simple_config_record_c13send_WSC_DoneEv @ 13 NONAME
-	_ZN22simple_config_record_c13send_WSC_NACKEv @ 14 NONAME
-	_ZN22simple_config_record_c13set_nai_realmEPK19eap_variable_data_c @ 15 NONAME
-	_ZN22simple_config_record_c13timer_expiredEmPv @ 16 NONAME
-	_ZN22simple_config_record_c14generate_nonceEP19eap_variable_data_cm @ 17 NONAME
-	_ZN22simple_config_record_c14packet_processEP19eap_variable_data_ch @ 18 NONAME
-	_ZN22simple_config_record_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 19 NONAME
-	_ZN22simple_config_record_c15generate_erhashEbPK19eap_variable_data_cS2_S2_PS0_S3_S3_ @ 20 NONAME
-	_ZN22simple_config_record_c15process_WSC_ACKEPK24simple_config_payloads_c @ 21 NONAME
-	_ZN22simple_config_record_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 22 NONAME
-	_ZN22simple_config_record_c16decrypt_payloadsEPK19eap_variable_data_cS2_P29simple_config_variable_data_cP24simple_config_payloads_c @ 23 NONAME
-	_ZN22simple_config_record_c16encrypt_payloadsEPK19eap_variable_data_cS2_P24simple_config_payloads_cP29simple_config_variable_data_c @ 24 NONAME
-	_ZN22simple_config_record_c16process_WSC_NACKEPK24simple_config_payloads_c @ 25 NONAME
-	_ZN22simple_config_record_c17generate_dhe_keysEv @ 26 NONAME
-	_ZN22simple_config_record_c17generate_er_hashsEbPK19eap_variable_data_cS2_S2_PS0_S3_S3_S3_S3_S3_ @ 27 NONAME
-	_ZN22simple_config_record_c17timer_delete_dataEmPv @ 28 NONAME
-	_ZN22simple_config_record_c21add_common_attributesEP24simple_config_payloads_c28simple_config_Message_Type_ebb @ 29 NONAME
-	_ZN22simple_config_record_c21completion_action_addE33simple_config_completion_action_e @ 30 NONAME
-	_ZN22simple_config_record_c22derive_additional_keysEPK19eap_variable_data_cPS0_S3_S3_ @ 31 NONAME
-	_ZN22simple_config_record_c22generate_authenticatorEPK19eap_variable_data_cS2_PS0_ @ 32 NONAME
-	_ZN22simple_config_record_c23completion_action_checkEv @ 33 NONAME
-	_ZN22simple_config_record_c23key_derivation_functionEPK19eap_variable_data_cS2_mPS0_ @ 34 NONAME
-	_ZN22simple_config_record_c23send_error_notificationE12eap_status_e @ 35 NONAME
-	_ZN22simple_config_record_c24completion_action_clenupEv @ 36 NONAME
-	_ZN22simple_config_record_c26generate_dhe_shared_secretEPK19eap_variable_data_cPS0_ @ 37 NONAME
-	_ZN22simple_config_record_c26send_simple_config_messageEv @ 38 NONAME
-	_ZN22simple_config_record_c27add_authenticator_attributeEP23simple_config_message_cS1_ @ 39 NONAME
-	_ZN22simple_config_record_c27cancel_M2D_received_timeoutEv @ 40 NONAME
-	_ZN22simple_config_record_c27indicate_messages_processedEv @ 41 NONAME
-	_ZN22simple_config_record_c28cancel_error_message_timeoutEv @ 42 NONAME
-	_ZN22simple_config_record_c29are_pending_queries_completedEv @ 43 NONAME
-	_ZN22simple_config_record_c29indicate_state_to_lower_layerE21simple_config_state_e @ 44 NONAME
-	_ZN22simple_config_record_c29process_simple_config_messageEv @ 45 NONAME
-	_ZN22simple_config_record_c31initalize_error_message_timeoutEv @ 46 NONAME
-	_ZN22simple_config_record_c31initialize_M2D_received_timeoutEv @ 47 NONAME
-	_ZN22simple_config_record_c31verify_nonces_and_authenticatorEPK19eap_variable_data_cS2_S2_PK24simple_config_payloads_cbbb @ 48 NONAME
-	_ZN22simple_config_record_c32check_sent_simple_config_messageEv @ 49 NONAME
-	_ZN22simple_config_record_c32process_simple_config_attributesEPK24simple_config_payloads_c @ 50 NONAME
-	_ZN22simple_config_record_c34start_simple_config_authenticationEPK19eap_variable_data_c @ 51 NONAME
-	_ZN22simple_config_record_c44complete_query_network_and_device_parametersE21simple_config_state_eP24simple_config_payloads_c12eap_status_e @ 52 NONAME
-	_ZN22simple_config_record_c5resetEv @ 53 NONAME
-	_ZN22simple_config_record_c7send_M1EPK24simple_config_payloads_c @ 54 NONAME
-	_ZN22simple_config_record_c7send_M3Ev @ 55 NONAME
-	_ZN22simple_config_record_c7send_M5Ev @ 56 NONAME
-	_ZN22simple_config_record_c7send_M7Ev @ 57 NONAME
-	_ZN22simple_config_record_c8shutdownEv @ 58 NONAME
-	_ZN22simple_config_record_c9configureEv @ 59 NONAME
-	_ZN22simple_config_record_c9set_stateE21simple_config_state_e @ 60 NONAME
-	_ZN22simple_config_record_cC1EP18abs_eap_am_tools_cP27simple_config_am_services_cbbPK19eap_am_network_id_c @ 61 NONAME
-	_ZN22simple_config_record_cC2EP18abs_eap_am_tools_cP27simple_config_am_services_cbbPK19eap_am_network_id_c @ 62 NONAME
-	_ZN22simple_config_record_cD0Ev @ 63 NONAME
-	_ZN22simple_config_record_cD1Ev @ 64 NONAME
-	_ZN22simple_config_record_cD2Ev @ 65 NONAME
-	_ZN23network_key_and_index_c12get_is_validEv @ 66 NONAME
-	_ZN23network_key_and_index_c15get_network_keyEv @ 67 NONAME
-	_ZN23network_key_and_index_c17get_is_valid_dataEv @ 68 NONAME
-	_ZN23network_key_and_index_c21set_network_key_indexEh @ 69 NONAME
-	_ZN23network_key_and_index_c4copyEv @ 70 NONAME
-	_ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 71 NONAME
-	_ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 72 NONAME
-	_ZN23network_key_and_index_cD0Ev @ 73 NONAME
-	_ZN23network_key_and_index_cD1Ev @ 74 NONAME
-	_ZN23network_key_and_index_cD2Ev @ 75 NONAME
-	_ZN23simple_config_message_c11add_paddingEm @ 76 NONAME
-	_ZN23simple_config_message_c12get_is_validEv @ 77 NONAME
-	_ZN23simple_config_message_c30get_simple_config_message_dataEv @ 78 NONAME
-	_ZN23simple_config_message_c30set_simple_config_message_dataEP19eap_variable_data_ch @ 79 NONAME
-	_ZN23simple_config_message_c5resetEv @ 80 NONAME
-	_ZN23simple_config_message_cC1EP18abs_eap_am_tools_cb @ 81 NONAME
-	_ZN23simple_config_message_cC2EP18abs_eap_am_tools_cb @ 82 NONAME
-	_ZN23simple_config_message_cD0Ev @ 83 NONAME
-	_ZN23simple_config_message_cD1Ev @ 84 NONAME
-	_ZN23simple_config_message_cD2Ev @ 85 NONAME
-	_ZN24eap_type_simple_config_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 86 NONAME
-	_ZN24eap_type_simple_config_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 87 NONAME
-	_ZN24eap_type_simple_config_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 88 NONAME
-	_ZN24eap_type_simple_config_c12cancel_timerEP20abs_eap_base_timer_cm @ 89 NONAME
-	_ZN24eap_type_simple_config_c12get_is_validEv @ 90 NONAME
-	_ZN24eap_type_simple_config_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 91 NONAME
-	_ZN24eap_type_simple_config_c12set_is_validEv @ 92 NONAME
-	_ZN24eap_type_simple_config_c13get_is_clientEv @ 93 NONAME
-	_ZN24eap_type_simple_config_c13get_nai_realmEv @ 94 NONAME
-	_ZN24eap_type_simple_config_c13timer_expiredEmPv @ 95 NONAME
-	_ZN24eap_type_simple_config_c13unload_moduleE19eap_expanded_type_c @ 96 NONAME
-	_ZN24eap_type_simple_config_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 97 NONAME
-	_ZN24eap_type_simple_config_c14parse_identityEPKhm @ 98 NONAME
-	_ZN24eap_type_simple_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 99 NONAME
-	_ZN24eap_type_simple_config_c15eap_acknowledgeEPK19eap_am_network_id_c @ 100 NONAME
-	_ZN24eap_type_simple_config_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 101 NONAME
-	_ZN24eap_type_simple_config_c16get_state_stringE39eap_type_simple_config_state_variable_e @ 102 NONAME
-	_ZN24eap_type_simple_config_c16send_sc_frag_ackEv @ 103 NONAME
-	_ZN24eap_type_simple_config_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 104 NONAME
-	_ZN24eap_type_simple_config_c17get_header_offsetEPmS0_ @ 105 NONAME
-	_ZN24eap_type_simple_config_c17timer_delete_dataEmPv @ 106 NONAME
-	_ZN24eap_type_simple_config_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 107 NONAME
-	_ZN24eap_type_simple_config_c18save_current_stateEv @ 108 NONAME
-	_ZN24eap_type_simple_config_c18state_notificationEPK28abs_eap_state_notification_c @ 109 NONAME
-	_ZN24eap_type_simple_config_c19get_send_network_idEv @ 110 NONAME
-	_ZN24eap_type_simple_config_c19set_session_timeoutEm @ 111 NONAME
-	_ZN24eap_type_simple_config_c20set_reassembly_stateE41eap_type_simple_config_reassembly_state_e @ 112 NONAME
-	_ZN24eap_type_simple_config_c21update_buffer_indexesEmmPmS0_ @ 113 NONAME
-	_ZN24eap_type_simple_config_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 114 NONAME
-	_ZN24eap_type_simple_config_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 115 NONAME
-	_ZN24eap_type_simple_config_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 116 NONAME
-	_ZN24eap_type_simple_config_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 117 NONAME
-	_ZN24eap_type_simple_config_c23send_final_notificationEv @ 118 NONAME
-	_ZN24eap_type_simple_config_c23set_last_eap_identifierEh @ 119 NONAME
-	_ZN24eap_type_simple_config_c25handle_eap_identity_queryEPK19eap_am_network_id_chbPK19eap_variable_data_cbS5_ @ 120 NONAME
-	_ZN24eap_type_simple_config_c25simple_config_packet_sendEP18eap_buf_chain_wr_c28simple_config_Message_Type_e @ 121 NONAME
-	_ZN24eap_type_simple_config_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 122 NONAME
-	_ZN24eap_type_simple_config_c27complete_eap_identity_queryEPK19eap_am_network_id_ch12eap_status_ebPK19eap_variable_data_cbS6_ @ 123 NONAME
-	_ZN24eap_type_simple_config_c27get_reassembly_state_stringE41eap_type_simple_config_reassembly_state_e @ 124 NONAME
-	_ZN24eap_type_simple_config_c28restore_saved_previous_stateEv @ 125 NONAME
-	_ZN24eap_type_simple_config_c28set_failure_message_receivedEv @ 126 NONAME
-	_ZN24eap_type_simple_config_c28simple_config_packet_processEPK19eap_am_network_id_cP26eap_simple_config_header_cm @ 127 NONAME
-	_ZN24eap_type_simple_config_c29save_current_reassembly_stateEv @ 128 NONAME
-	_ZN24eap_type_simple_config_c29simple_config_message_processEPK19eap_am_network_id_cP26eap_simple_config_header_cm @ 129 NONAME
-	_ZN24eap_type_simple_config_c30restore_saved_reassembly_stateEv @ 130 NONAME
-	_ZN24eap_type_simple_config_c30unset_failure_message_receivedEv @ 131 NONAME
-	_ZN24eap_type_simple_config_c31eap_simple_config_fragment_sendEv @ 132 NONAME
-	_ZN24eap_type_simple_config_c32finish_successful_authenticationEv @ 133 NONAME
-	_ZN24eap_type_simple_config_c32send_simple_config_start_messageEh @ 134 NONAME
-	_ZN24eap_type_simple_config_c34start_simple_config_authenticationEPK19eap_am_network_id_cPK19eap_variable_data_c @ 135 NONAME
-	_ZN24eap_type_simple_config_c36eap_identity_response_packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 136 NONAME
-	_ZN24eap_type_simple_config_c5resetEv @ 137 NONAME
-	_ZN24eap_type_simple_config_c7get_NAIEv @ 138 NONAME
-	_ZN24eap_type_simple_config_c8shutdownEv @ 139 NONAME
-	_ZN24eap_type_simple_config_c9check_NAIEPKhmS1_ @ 140 NONAME
-	_ZN24eap_type_simple_config_c9configureEv @ 141 NONAME
-	_ZN24eap_type_simple_config_c9set_stateE39eap_type_simple_config_state_variable_e @ 142 NONAME
-	_ZN24eap_type_simple_config_c9set_timerEP20abs_eap_base_timer_cmPvm @ 143 NONAME
-	_ZN24eap_type_simple_config_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP27eap_am_type_simple_config_cbP27simple_config_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 144 NONAME
-	_ZN24eap_type_simple_config_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP27eap_am_type_simple_config_cbP27simple_config_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 145 NONAME
-	_ZN24eap_type_simple_config_cD0Ev @ 146 NONAME
-	_ZN24eap_type_simple_config_cD1Ev @ 147 NONAME
-	_ZN24eap_type_simple_config_cD2Ev @ 148 NONAME
-	_ZN24simple_config_payloads_c13add_attributeEP29simple_config_variable_data_c @ 149 NONAME
-	_ZN24simple_config_payloads_c14copy_attributeEPKS_30simple_config_Attribute_Type_e @ 150 NONAME
-	_ZN24simple_config_payloads_c14verify_paddingEPKhm @ 151 NONAME
-	_ZN24simple_config_payloads_c19copy_attribute_dataE30simple_config_Attribute_Type_ebPKvm @ 152 NONAME
-	_ZN24simple_config_payloads_c21parse_generic_payloadE30simple_config_Attribute_Type_ePK26simple_config_tlv_header_c @ 153 NONAME
-	_ZN24simple_config_payloads_c28parse_simple_config_payloadsEPvPmS1_ @ 154 NONAME
-	_ZN24simple_config_payloads_c5resetEv @ 155 NONAME
-	_ZN24simple_config_payloads_cC1EP18abs_eap_am_tools_c @ 156 NONAME
-	_ZN24simple_config_payloads_cC2EP18abs_eap_am_tools_c @ 157 NONAME
-	_ZN24simple_config_payloads_cD0Ev @ 158 NONAME
-	_ZN24simple_config_payloads_cD1Ev @ 159 NONAME
-	_ZN24simple_config_payloads_cD2Ev @ 160 NONAME
-	_ZN26eap_simple_config_header_c12reset_headerEP18abs_eap_am_tools_cmb @ 161 NONAME
-	_ZN26eap_simple_config_header_c12set_eap_codeE16eap_code_value_e @ 162 NONAME
-	_ZN26eap_simple_config_header_c12set_eap_typeE19eap_expanded_type_cb @ 163 NONAME
-	_ZN26eap_simple_config_header_c14set_eap_lengthEtb @ 164 NONAME
-	_ZN26eap_simple_config_header_c14set_sc_op_codeENS_9op_code_eE @ 165 NONAME
-	_ZN26eap_simple_config_header_c15set_data_lengthEmb @ 166 NONAME
-	_ZN26eap_simple_config_header_c17set_flag_reservedEh @ 167 NONAME
-	_ZN26eap_simple_config_header_c18set_eap_identifierEh @ 168 NONAME
-	_ZN26eap_simple_config_header_c23set_flag_more_fragmentsEb @ 169 NONAME
-	_ZN26eap_simple_config_header_c32set_simple_config_message_lengthEm @ 170 NONAME
-	_ZN26eap_simple_config_header_c35get_simple_config_max_header_lengthEv @ 171 NONAME
-	_ZN26eap_simple_config_header_c38set_flag_simple_config_length_includedEb @ 172 NONAME
-	_ZN26eap_simple_config_header_cC1EP18abs_eap_am_tools_cPhm @ 173 NONAME
-	_ZN26eap_simple_config_header_cC2EP18abs_eap_am_tools_cPhm @ 174 NONAME
-	_ZN26eap_simple_config_header_cD0Ev @ 175 NONAME
-	_ZN26eap_simple_config_header_cD1Ev @ 176 NONAME
-	_ZN26eap_simple_config_header_cD2Ev @ 177 NONAME
-	_ZN26simple_config_completion_c12get_is_validEv @ 178 NONAME
-	_ZN26simple_config_completion_c12set_is_validEv @ 179 NONAME
-	_ZN26simple_config_completion_c21set_completion_actionE33simple_config_completion_action_e @ 180 NONAME
-	_ZN26simple_config_completion_cC1EP18abs_eap_am_tools_c33simple_config_completion_action_e @ 181 NONAME
-	_ZN26simple_config_completion_cC2EP18abs_eap_am_tools_c33simple_config_completion_action_e @ 182 NONAME
-	_ZN26simple_config_completion_cD0Ev @ 183 NONAME
-	_ZN26simple_config_completion_cD1Ev @ 184 NONAME
-	_ZN26simple_config_completion_cD2Ev @ 185 NONAME
-	_ZN26simple_config_credential_c12get_is_validEv @ 186 NONAME
-	_ZN26simple_config_credential_c15get_MAC_addressEv @ 187 NONAME
-	_ZN26simple_config_credential_c16get_network_keysEv @ 188 NONAME
-	_ZN26simple_config_credential_c17set_network_indexEh @ 189 NONAME
-	_ZN26simple_config_credential_c19get_Encryption_TypeEv @ 190 NONAME
-	_ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 191 NONAME
-	_ZN26simple_config_credential_c23get_Authentication_TypeEv @ 192 NONAME
-	_ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 193 NONAME
-	_ZN26simple_config_credential_c8get_SSIDEv @ 194 NONAME
-	_ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 195 NONAME
-	_ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 196 NONAME
-	_ZN26simple_config_credential_cD0Ev @ 197 NONAME
-	_ZN26simple_config_credential_cD1Ev @ 198 NONAME
-	_ZN26simple_config_credential_cD2Ev @ 199 NONAME
-	_ZN27CEapAmProtectedSetupSymbian11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 200 NONAME
-	_ZN27CEapAmProtectedSetupSymbian12get_is_validEv @ 201 NONAME
-	_ZN27CEapAmProtectedSetupSymbian12set_is_validEv @ 202 NONAME
-	_ZN27CEapAmProtectedSetupSymbian13unload_moduleE19eap_expanded_type_c @ 203 NONAME
-	_ZN27CEapAmProtectedSetupSymbian14set_am_partnerEP31abs_eap_am_type_simple_config_c @ 204 NONAME
-	_ZN27CEapAmProtectedSetupSymbian17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 205 NONAME
-	_ZN27CEapAmProtectedSetupSymbian18query_eap_identityEPK19eap_am_network_id_chPbP19eap_variable_data_cS3_S5_ @ 206 NONAME
-	_ZN27CEapAmProtectedSetupSymbian19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 207 NONAME
-	_ZN27CEapAmProtectedSetupSymbian20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 208 NONAME
-	_ZN27CEapAmProtectedSetupSymbian21cancel_identity_queryEv @ 209 NONAME
-	_ZN27CEapAmProtectedSetupSymbian23authentication_finishedEbb @ 210 NONAME
-	_ZN27CEapAmProtectedSetupSymbian23check_is_valid_eap_typeE19eap_expanded_type_c @ 211 NONAME
-	_ZN27CEapAmProtectedSetupSymbian26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 212 NONAME
-	_ZN27CEapAmProtectedSetupSymbian28set_simple_config_am_partnerEP31abs_simple_config_am_services_c @ 213 NONAME
-	_ZN27CEapAmProtectedSetupSymbian30received_registrar_informationEPK11eap_array_cI24simple_config_payloads_cE @ 214 NONAME
-	_ZN27CEapAmProtectedSetupSymbian35query_network_and_device_parametersE21simple_config_state_e @ 215 NONAME
-	_ZN27CEapAmProtectedSetupSymbian39complete_protected_setup_device_paramsLERKN12RMobilePhone22TMobilePhoneIdentityV1E12eap_status_e @ 216 NONAME
-	_ZN27CEapAmProtectedSetupSymbian42cancel_query_network_and_device_parametersEv @ 217 NONAME
-	_ZN27CEapAmProtectedSetupSymbian4NewLEP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cS5_bPK19eap_am_network_id_cP26abs_eap_configuration_if_c @ 218 NONAME
-	_ZN27CEapAmProtectedSetupSymbian5resetEv @ 219 NONAME
-	_ZN27CEapAmProtectedSetupSymbian8shutdownEv @ 220 NONAME
-	_ZN27CEapAmProtectedSetupSymbian9configureEv @ 221 NONAME
-	_ZN27CEapAmProtectedSetupSymbianC1EP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cS5_bPK19eap_am_network_id_cP26abs_eap_configuration_if_c @ 222 NONAME
-	_ZN27CEapAmProtectedSetupSymbianC2EP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cS5_bPK19eap_am_network_id_cP26abs_eap_configuration_if_c @ 223 NONAME
-	_ZN27CEapAmProtectedSetupSymbianD0Ev @ 224 NONAME
-	_ZN27CEapAmProtectedSetupSymbianD1Ev @ 225 NONAME
-	_ZN27CEapAmProtectedSetupSymbianD2Ev @ 226 NONAME
-	_ZN27simple_config_base_record_c16get_type_partnerEv @ 227 NONAME
-	_ZN27simple_config_base_record_c16set_type_partnerEP31abs_simple_config_base_record_c @ 228 NONAME
-	_ZN27simple_config_base_record_cC2EP18abs_eap_am_tools_c @ 229 NONAME
-	_ZN27simple_config_base_record_cD0Ev @ 230 NONAME
-	_ZN27simple_config_base_record_cD1Ev @ 231 NONAME
-	_ZN27simple_config_base_record_cD2Ev @ 232 NONAME
-	_ZN29simple_config_variable_data_c10get_headerEv @ 233 NONAME
-	_ZN29simple_config_variable_data_c18set_attribute_typeE30simple_config_Attribute_Type_e @ 234 NONAME
-	_ZN29simple_config_variable_data_c18set_copy_of_bufferE30simple_config_Attribute_Type_ebPKvm @ 235 NONAME
-	_ZN29simple_config_variable_data_c25get_full_attribute_bufferEv @ 236 NONAME
-	_ZN29simple_config_variable_data_c31object_increase_reference_countEv @ 237 NONAME
-	_ZN29simple_config_variable_data_c41add_next_payload_with_same_attribute_typeEPS_ @ 238 NONAME
-	_ZN29simple_config_variable_data_c41get_next_payload_with_same_attribute_typeEv @ 239 NONAME
-	_ZN29simple_config_variable_data_c41set_next_payload_with_same_attribute_typeEPS_ @ 240 NONAME
-	_ZN29simple_config_variable_data_c8add_dataEPKvm @ 241 NONAME
-	_ZN29simple_config_variable_data_cC1EP18abs_eap_am_tools_c @ 242 NONAME
-	_ZN29simple_config_variable_data_cC2EP18abs_eap_am_tools_c @ 243 NONAME
-	_ZN29simple_config_variable_data_cD0Ev @ 244 NONAME
-	_ZN29simple_config_variable_data_cD1Ev @ 245 NONAME
-	_ZN29simple_config_variable_data_cD2Ev @ 246 NONAME
-	_ZN32eap_simple_config_trace_string_cC1Ev @ 247 NONAME
-	_ZN32eap_simple_config_trace_string_cC2Ev @ 248 NONAME
-	_ZN32eap_simple_config_trace_string_cD0Ev @ 249 NONAME
-	_ZN32eap_simple_config_trace_string_cD1Ev @ 250 NONAME
-	_ZN32eap_simple_config_trace_string_cD2Ev @ 251 NONAME
-	_ZN43eap_type_simple_config_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 252 NONAME
-	_ZN43eap_type_simple_config_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 253 NONAME
-	_ZN43eap_type_simple_config_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 254 NONAME
-	_ZN43eap_type_simple_config_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 255 NONAME
-	_ZN43eap_type_simple_config_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 256 NONAME
-	_ZN43eap_type_simple_config_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 257 NONAME
-	_ZN43eap_type_simple_config_state_notification_cD0Ev @ 258 NONAME
-	_ZN43eap_type_simple_config_state_notification_cD1Ev @ 259 NONAME
-	_ZN43eap_type_simple_config_state_notification_cD2Ev @ 260 NONAME
-	_ZNK22simple_config_record_c9get_stateEv @ 261 NONAME
-	_ZNK23network_key_and_index_c21get_network_key_constEv @ 262 NONAME
-	_ZNK23network_key_and_index_c21get_network_key_indexEv @ 263 NONAME
-	_ZNK24eap_type_simple_config_c16get_state_stringEv @ 264 NONAME
-	_ZNK24eap_type_simple_config_c20get_reassembly_stateEv @ 265 NONAME
-	_ZNK24eap_type_simple_config_c23get_last_eap_identifierEv @ 266 NONAME
-	_ZNK24eap_type_simple_config_c27get_reassembly_state_stringEv @ 267 NONAME
-	_ZNK24eap_type_simple_config_c28get_failure_message_receivedEv @ 268 NONAME
-	_ZNK24eap_type_simple_config_c31get_saved_previous_state_stringEv @ 269 NONAME
-	_ZNK24eap_type_simple_config_c9get_stateEv @ 270 NONAME
-	_ZNK24simple_config_payloads_c12get_is_validEv @ 271 NONAME
-	_ZNK24simple_config_payloads_c13get_attributeEm @ 272 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_eP19eap_variable_data_c @ 273 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePh @ 274 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePm @ 275 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePt @ 276 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePvm @ 277 NONAME
-	_ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePy @ 278 NONAME
-	_ZNK24simple_config_payloads_c19get_attribute_countEv @ 279 NONAME
-	_ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_e @ 280 NONAME
-	_ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_em @ 281 NONAME
-	_ZNK24simple_config_payloads_c24check_mandatory_payloadsEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 282 NONAME
-	_ZNK24simple_config_payloads_c24check_payloads_existenseEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 283 NONAME
-	_ZNK24simple_config_payloads_c24check_payloads_existenseEPK30simple_config_Attribute_Type_em @ 284 NONAME
-	_ZNK24simple_config_payloads_c28create_simple_config_messageEP23simple_config_message_cb @ 285 NONAME
-	_ZNK24simple_config_payloads_c43add_payloads_to_simple_config_authenticatorEP13crypto_hmac_cb @ 286 NONAME
-	_ZNK24simple_config_payloads_c4copyEv @ 287 NONAME
-	_ZNK26eap_simple_config_header_c12check_headerEP18abs_eap_am_tools_cb @ 288 NONAME
-	_ZNK26eap_simple_config_header_c12get_eap_codeEv @ 289 NONAME
-	_ZNK26eap_simple_config_header_c12get_eap_typeEv @ 290 NONAME
-	_ZNK26eap_simple_config_header_c14get_eap_lengthEv @ 291 NONAME
-	_ZNK26eap_simple_config_header_c14get_sc_op_codeEv @ 292 NONAME
-	_ZNK26eap_simple_config_header_c15get_code_stringEv @ 293 NONAME
-	_ZNK26eap_simple_config_header_c15get_data_lengthEv @ 294 NONAME
-	_ZNK26eap_simple_config_header_c15get_data_offsetEP18abs_eap_am_tools_cmm @ 295 NONAME
-	_ZNK26eap_simple_config_header_c17get_flag_reservedEv @ 296 NONAME
-	_ZNK26eap_simple_config_header_c17get_header_lengthEv @ 297 NONAME
-	_ZNK26eap_simple_config_header_c18get_eap_identifierEv @ 298 NONAME
-	_ZNK26eap_simple_config_header_c19get_eap_type_stringEv @ 299 NONAME
-	_ZNK26eap_simple_config_header_c19get_sc_flags_offsetEv @ 300 NONAME
-	_ZNK26eap_simple_config_header_c20get_sc_length_offsetEv @ 301 NONAME
-	_ZNK26eap_simple_config_header_c21get_sc_op_code_offsetEv @ 302 NONAME
-	_ZNK26eap_simple_config_header_c21get_sc_op_code_stringEv @ 303 NONAME
-	_ZNK26eap_simple_config_header_c23get_flag_more_fragmentsEv @ 304 NONAME
-	_ZNK26eap_simple_config_header_c23get_simple_config_flagsEv @ 305 NONAME
-	_ZNK26eap_simple_config_header_c24get_start_offset_of_dataEv @ 306 NONAME
-	_ZNK26eap_simple_config_header_c26get_simple_config_flag_bitEm @ 307 NONAME
-	_ZNK26eap_simple_config_header_c26set_simple_config_flag_bitEbm @ 308 NONAME
-	_ZNK26eap_simple_config_header_c28get_simple_config_flag_valueEmm @ 309 NONAME
-	_ZNK26eap_simple_config_header_c28set_simple_config_flag_valueEhmm @ 310 NONAME
-	_ZNK26eap_simple_config_header_c32get_simple_config_message_lengthEPm @ 311 NONAME
-	_ZNK26eap_simple_config_header_c35get_simple_config_min_header_lengthEv @ 312 NONAME
-	_ZNK26eap_simple_config_header_c38get_flag_simple_config_length_includedEv @ 313 NONAME
-	_ZNK26eap_simple_config_header_c8get_dataEP18abs_eap_am_tools_cm @ 314 NONAME
-	_ZNK26simple_config_completion_c21get_completion_actionEv @ 315 NONAME
-	_ZNK26simple_config_completion_c28get_completion_action_stringEv @ 316 NONAME
-	_ZNK26simple_config_credential_c14get_SSID_constEv @ 317 NONAME
-	_ZNK26simple_config_credential_c17get_network_indexEv @ 318 NONAME
-	_ZNK26simple_config_credential_c21get_MAC_address_constEv @ 319 NONAME
-	_ZNK26simple_config_credential_c22get_network_keys_constEv @ 320 NONAME
-	_ZNK29simple_config_variable_data_c12get_is_validEv @ 321 NONAME
-	_ZNK29simple_config_variable_data_c15get_data_lengthEv @ 322 NONAME
-	_ZNK29simple_config_variable_data_c16get_is_mandatoryEv @ 323 NONAME
-	_ZNK29simple_config_variable_data_c18get_attribute_typeEv @ 324 NONAME
-	_ZNK29simple_config_variable_data_c4copyEv @ 325 NONAME
-	_ZNK29simple_config_variable_data_c8get_dataEm @ 326 NONAME
-	_ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 327 NONAME
-	_ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 328 NONAME
-	_ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 329 NONAME
-	_ZTI12CEapTypeInfo @ 330 NONAME
-	_ZTI18CEapProtectedSetup @ 331 NONAME
-	_ZTI22simple_config_record_c @ 332 NONAME
-	_ZTI23network_key_and_index_c @ 333 NONAME
-	_ZTI23simple_config_message_c @ 334 NONAME
-	_ZTI24eap_type_simple_config_c @ 335 NONAME
-	_ZTI24simple_config_payloads_c @ 336 NONAME
-	_ZTI26eap_simple_config_header_c @ 337 NONAME
-	_ZTI26simple_config_completion_c @ 338 NONAME
-	_ZTI26simple_config_credential_c @ 339 NONAME
-	_ZTI26simple_config_tlv_header_c @ 340 NONAME
-	_ZTI27CEapAmProtectedSetupSymbian @ 341 NONAME
-	_ZTI27CEapProtectedSetupInterface @ 342 NONAME
-	_ZTI27simple_config_base_record_c @ 343 NONAME
-	_ZTI29simple_config_variable_data_c @ 344 NONAME
-	_ZTI32eap_simple_config_trace_string_c @ 345 NONAME
-	_ZTI43eap_type_simple_config_state_notification_c @ 346 NONAME
-	_ZTV12CEapTypeInfo @ 347 NONAME
-	_ZTV18CEapProtectedSetup @ 348 NONAME
-	_ZTV22simple_config_record_c @ 349 NONAME
-	_ZTV23network_key_and_index_c @ 350 NONAME
-	_ZTV23simple_config_message_c @ 351 NONAME
-	_ZTV24eap_type_simple_config_c @ 352 NONAME
-	_ZTV24simple_config_payloads_c @ 353 NONAME
-	_ZTV26eap_simple_config_header_c @ 354 NONAME
-	_ZTV26simple_config_completion_c @ 355 NONAME
-	_ZTV26simple_config_credential_c @ 356 NONAME
-	_ZTV26simple_config_tlv_header_c @ 357 NONAME
-	_ZTV27CEapAmProtectedSetupSymbian @ 358 NONAME
-	_ZTV27CEapProtectedSetupInterface @ 359 NONAME
-	_ZTV27simple_config_base_record_c @ 360 NONAME
-	_ZTV29simple_config_variable_data_c @ 361 NONAME
-	_ZTV32eap_simple_config_trace_string_c @ 362 NONAME
-	_ZTV43eap_type_simple_config_state_notification_c @ 363 NONAME
-	_ZThn12_N22simple_config_record_c44complete_query_network_and_device_parametersE21simple_config_state_eP24simple_config_payloads_c12eap_status_e @ 364 NONAME
-	_ZThn12_N22simple_config_record_c9configureEv @ 365 NONAME
-	_ZThn12_N22simple_config_record_cD0Ev @ 366 NONAME
-	_ZThn12_N22simple_config_record_cD1Ev @ 367 NONAME
-	_ZThn16_N22simple_config_record_c13timer_expiredEmPv @ 368 NONAME
-	_ZThn16_N22simple_config_record_c17timer_delete_dataEmPv @ 369 NONAME
-	_ZThn16_N22simple_config_record_cD0Ev @ 370 NONAME
-	_ZThn16_N22simple_config_record_cD1Ev @ 371 NONAME
-	_ZThn20_N24eap_type_simple_config_c13get_is_clientEv @ 372 NONAME
-	_ZThn20_N24eap_type_simple_config_c27complete_eap_identity_queryEPK19eap_am_network_id_ch12eap_status_ebPK19eap_variable_data_cbS6_ @ 373 NONAME
-	_ZThn20_N24eap_type_simple_config_cD0Ev @ 374 NONAME
-	_ZThn20_N24eap_type_simple_config_cD1Ev @ 375 NONAME
-	_ZThn24_N24eap_type_simple_config_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 376 NONAME
-	_ZThn24_N24eap_type_simple_config_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 377 NONAME
-	_ZThn24_N24eap_type_simple_config_c12cancel_timerEP20abs_eap_base_timer_cm @ 378 NONAME
-	_ZThn24_N24eap_type_simple_config_c13unload_moduleE19eap_expanded_type_c @ 379 NONAME
-	_ZThn24_N24eap_type_simple_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 380 NONAME
-	_ZThn24_N24eap_type_simple_config_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 381 NONAME
-	_ZThn24_N24eap_type_simple_config_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 382 NONAME
-	_ZThn24_N24eap_type_simple_config_c17get_header_offsetEPmS0_ @ 383 NONAME
-	_ZThn24_N24eap_type_simple_config_c18state_notificationEPK28abs_eap_state_notification_c @ 384 NONAME
-	_ZThn24_N24eap_type_simple_config_c19set_session_timeoutEm @ 385 NONAME
-	_ZThn24_N24eap_type_simple_config_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 386 NONAME
-	_ZThn24_N24eap_type_simple_config_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 387 NONAME
-	_ZThn24_N24eap_type_simple_config_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 388 NONAME
-	_ZThn24_N24eap_type_simple_config_c25simple_config_packet_sendEP18eap_buf_chain_wr_c28simple_config_Message_Type_e @ 389 NONAME
-	_ZThn24_N24eap_type_simple_config_c9set_timerEP20abs_eap_base_timer_cmPvm @ 390 NONAME
-	_ZThn24_N24eap_type_simple_config_cD0Ev @ 391 NONAME
-	_ZThn24_N24eap_type_simple_config_cD1Ev @ 392 NONAME
-	_ZThn4_N24eap_type_simple_config_c12get_is_validEv @ 393 NONAME
-	_ZThn4_N24eap_type_simple_config_c12set_is_validEv @ 394 NONAME
-	_ZThn4_N24eap_type_simple_config_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 395 NONAME
-	_ZThn4_N24eap_type_simple_config_c15eap_acknowledgeEPK19eap_am_network_id_c @ 396 NONAME
-	_ZThn4_N24eap_type_simple_config_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 397 NONAME
-	_ZThn4_N24eap_type_simple_config_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 398 NONAME
-	_ZThn4_N24eap_type_simple_config_c5resetEv @ 399 NONAME
-	_ZThn4_N24eap_type_simple_config_c8shutdownEv @ 400 NONAME
-	_ZThn4_N24eap_type_simple_config_c9configureEv @ 401 NONAME
-	_ZThn4_N24eap_type_simple_config_cD0Ev @ 402 NONAME
-	_ZThn4_N24eap_type_simple_config_cD1Ev @ 403 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 404 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian12get_is_validEv @ 405 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian13unload_moduleE19eap_expanded_type_c @ 406 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian14set_am_partnerEP31abs_eap_am_type_simple_config_c @ 407 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 408 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian18query_eap_identityEPK19eap_am_network_id_chPbP19eap_variable_data_cS3_S5_ @ 409 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 410 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 411 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian21cancel_identity_queryEv @ 412 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian23authentication_finishedEbb @ 413 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian23check_is_valid_eap_typeE19eap_expanded_type_c @ 414 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 415 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian28set_simple_config_am_partnerEP31abs_simple_config_am_services_c @ 416 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian30received_registrar_informationEPK11eap_array_cI24simple_config_payloads_cE @ 417 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian35query_network_and_device_parametersE21simple_config_state_e @ 418 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian42cancel_query_network_and_device_parametersEv @ 419 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian5resetEv @ 420 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian8shutdownEv @ 421 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbian9configureEv @ 422 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbianD0Ev @ 423 NONAME
-	_ZThn4_N27CEapAmProtectedSetupSymbianD1Ev @ 424 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,75 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN18eap_type_securid_c12get_is_validEv @ 2 NONAME
-	_ZN18eap_type_securid_c12set_is_validEv @ 3 NONAME
-	_ZN18eap_type_securid_c13get_is_clientEv @ 4 NONAME
-	_ZN18eap_type_securid_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 5 NONAME
-	_ZN18eap_type_securid_c15eap_acknowledgeEPK19eap_am_network_id_c @ 6 NONAME
-	_ZN18eap_type_securid_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 7 NONAME
-	_ZN18eap_type_securid_c21remove_username_storeEv @ 8 NONAME
-	_ZN18eap_type_securid_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 9 NONAME
-	_ZN18eap_type_securid_c27complete_eap_identity_queryEPK19eap_variable_data_c @ 10 NONAME
-	_ZN18eap_type_securid_c32finish_successful_authenticationEv @ 11 NONAME
-	_ZN18eap_type_securid_c34finish_unsuccessful_authenticationEb @ 12 NONAME
-	_ZN18eap_type_securid_c36client_gtc_complete_user_input_queryEPK19eap_variable_data_c @ 13 NONAME
-	_ZN18eap_type_securid_c37client_securid_complete_pincode_queryEPK19eap_variable_data_cS2_ @ 14 NONAME
-	_ZN18eap_type_securid_c38client_securid_complete_passcode_queryEPK19eap_variable_data_c @ 15 NONAME
-	_ZN18eap_type_securid_c5resetEv @ 16 NONAME
-	_ZN18eap_type_securid_c8shutdownEv @ 17 NONAME
-	_ZN18eap_type_securid_c9configureEv @ 18 NONAME
-	_ZN18eap_type_securid_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP21eap_am_type_securid_cb19eap_expanded_type_cbPK19eap_am_network_id_c @ 19 NONAME
-	_ZN18eap_type_securid_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP21eap_am_type_securid_cb19eap_expanded_type_cbPK19eap_am_network_id_c @ 20 NONAME
-	_ZN18eap_type_securid_cD0Ev @ 21 NONAME
-	_ZN18eap_type_securid_cD1Ev @ 22 NONAME
-	_ZN18eap_type_securid_cD2Ev @ 23 NONAME
-	_ZN29eap_am_type_securid_symbian_c11DlgCompleteEi @ 24 NONAME
-	_ZN29eap_am_type_securid_symbian_c12get_is_validEv @ 25 NONAME
-	_ZN29eap_am_type_securid_symbian_c12set_is_validEv @ 26 NONAME
-	_ZN29eap_am_type_securid_symbian_c13timer_expiredEmPv @ 27 NONAME
-	_ZN29eap_am_type_securid_symbian_c17timer_delete_dataEmPv @ 28 NONAME
-	_ZN29eap_am_type_securid_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 29 NONAME
-	_ZN29eap_am_type_securid_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 30 NONAME
-	_ZN29eap_am_type_securid_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 31 NONAME
-	_ZN29eap_am_type_securid_symbian_c24read_auth_failure_stringEP19eap_variable_data_c @ 32 NONAME
-	_ZN29eap_am_type_securid_symbian_c5resetEv @ 33 NONAME
-	_ZN29eap_am_type_securid_symbian_c8shutdownEv @ 34 NONAME
-	_ZN29eap_am_type_securid_symbian_c9configureEv @ 35 NONAME
-	_ZN29eap_am_type_securid_symbian_cD0Ev @ 36 NONAME
-	_ZN29eap_am_type_securid_symbian_cD1Ev @ 37 NONAME
-	_ZN29eap_am_type_securid_symbian_cD2Ev @ 38 NONAME
-	_ZTI11CEapSecurID @ 39 NONAME
-	_ZTI12CEapTypeInfo @ 40 NONAME
-	_ZTI18eap_type_securid_c @ 41 NONAME
-	_ZTI24eap_type_securid_state_c @ 42 NONAME
-	_ZTI29eap_am_type_securid_symbian_c @ 43 NONAME
-	_ZTV11CEapSecurID @ 44 NONAME
-	_ZTV12CEapTypeInfo @ 45 NONAME
-	_ZTV18eap_type_securid_c @ 46 NONAME
-	_ZTV24eap_type_securid_state_c @ 47 NONAME
-	_ZTV29eap_am_type_securid_symbian_c @ 48 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 49 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 50 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 51 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c24read_auth_failure_stringEP19eap_variable_data_c @ 52 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c5resetEv @ 53 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c8shutdownEv @ 54 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_c9configureEv @ 55 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_cD0Ev @ 56 NONAME
-	_ZThn28_N29eap_am_type_securid_symbian_cD1Ev @ 57 NONAME
-	_ZThn44_N29eap_am_type_securid_symbian_c13timer_expiredEmPv @ 58 NONAME
-	_ZThn44_N29eap_am_type_securid_symbian_c17timer_delete_dataEmPv @ 59 NONAME
-	_ZThn44_N29eap_am_type_securid_symbian_cD0Ev @ 60 NONAME
-	_ZThn44_N29eap_am_type_securid_symbian_cD1Ev @ 61 NONAME
-	_ZThn48_N29eap_am_type_securid_symbian_c11DlgCompleteEi @ 62 NONAME
-	_ZThn4_N18eap_type_securid_c12get_is_validEv @ 63 NONAME
-	_ZThn4_N18eap_type_securid_c12set_is_validEv @ 64 NONAME
-	_ZThn4_N18eap_type_securid_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 65 NONAME
-	_ZThn4_N18eap_type_securid_c15eap_acknowledgeEPK19eap_am_network_id_c @ 66 NONAME
-	_ZThn4_N18eap_type_securid_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 67 NONAME
-	_ZThn4_N18eap_type_securid_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 68 NONAME
-	_ZThn4_N18eap_type_securid_c5resetEv @ 69 NONAME
-	_ZThn4_N18eap_type_securid_c8shutdownEv @ 70 NONAME
-	_ZThn4_N18eap_type_securid_c9configureEv @ 71 NONAME
-	_ZThn4_N18eap_type_securid_cD0Ev @ 72 NONAME
-	_ZThn4_N18eap_type_securid_cD1Ev @ 73 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,342 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_ZN15gsmsim_header_c11set_subtypeE16gsmsim_subtype_e @ 2 NONAME
-	_ZN15gsmsim_header_c12reset_headerEmb @ 3 NONAME
-	_ZN15gsmsim_header_c12set_reservedEt @ 4 NONAME
-	_ZN15gsmsim_header_c15set_data_lengthEmb @ 5 NONAME
-	_ZN15gsmsim_header_cC1EP18abs_eap_am_tools_cPhm @ 6 NONAME
-	_ZN15gsmsim_header_cC2EP18abs_eap_am_tools_cPhm @ 7 NONAME
-	_ZN15gsmsim_header_cD0Ev @ 8 NONAME
-	_ZN15gsmsim_header_cD1Ev @ 9 NONAME
-	_ZN15gsmsim_header_cD2Ev @ 10 NONAME
-	_ZN17eap_type_gsmsim_c11check_randsEPK19eap_variable_data_c @ 11 NONAME
-	_ZN17eap_type_gsmsim_c11new_handlerEPK19eap_am_network_id_cb @ 12 NONAME
-	_ZN17eap_type_gsmsim_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 13 NONAME
-	_ZN17eap_type_gsmsim_c12cancel_timerEP20abs_eap_base_timer_cm @ 14 NONAME
-	_ZN17eap_type_gsmsim_c12generate_naiEP19eap_variable_data_cbPKS0_S3_bS3_S3_m @ 15 NONAME
-	_ZN17eap_type_gsmsim_c12get_is_validEv @ 16 NONAME
-	_ZN17eap_type_gsmsim_c12save_versionEPKtm18eap_gsmsim_version @ 17 NONAME
-	_ZN17eap_type_gsmsim_c12set_is_validEv @ 18 NONAME
-	_ZN17eap_type_gsmsim_c13get_is_clientEv @ 19 NONAME
-	_ZN17eap_type_gsmsim_c13get_nai_realmEv @ 20 NONAME
-	_ZN17eap_type_gsmsim_c13timer_expiredEmPv @ 21 NONAME
-	_ZN17eap_type_gsmsim_c14generate_nonceEmP19eap_variable_data_c @ 22 NONAME
-	_ZN17eap_type_gsmsim_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 23 NONAME
-	_ZN17eap_type_gsmsim_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 24 NONAME
-	_ZN17eap_type_gsmsim_c14select_versionEPK22gsmsim_variable_data_cPb @ 25 NONAME
-	_ZN17eap_type_gsmsim_c14store_identityEPK19eap_variable_data_cb @ 26 NONAME
-	_ZN17eap_type_gsmsim_c15add_mac_payloadEP15gsmsim_header_cmmPmS2_S2_S2_PPhS2_ @ 27 NONAME
-	_ZN17eap_type_gsmsim_c15eap_acknowledgeEPK19eap_am_network_id_c @ 28 NONAME
-	_ZN17eap_type_gsmsim_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 29 NONAME
-	_ZN17eap_type_gsmsim_c16add_version_listEP15gsmsim_header_cmmPmS2_S2_S2_PK18eap_gsmsim_versionm24gsmsim_payload_AT_type_e @ 30 NONAME
-	_ZN17eap_type_gsmsim_c16get_state_stringE32eap_type_gsmsim_state_variable_e @ 31 NONAME
-	_ZN17eap_type_gsmsim_c16initialize_stateE32eap_type_gsmsim_state_variable_ebb16gsmsim_subtype_eS1_S1_S1_ @ 32 NONAME
-	_ZN17eap_type_gsmsim_c16random_selectionEv @ 33 NONAME
-	_ZN17eap_type_gsmsim_c17check_valid_stateE16gsmsim_subtype_e @ 34 NONAME
-	_ZN17eap_type_gsmsim_c17get_header_offsetEPmS0_ @ 35 NONAME
-	_ZN17eap_type_gsmsim_c17query_SIM_kc_sresEPK19eap_variable_data_cPS0_S3_ @ 36 NONAME
-	_ZN17eap_type_gsmsim_c17timer_delete_dataEmPv @ 37 NONAME
-	_ZN17eap_type_gsmsim_c18add_simple_payloadEP15gsmsim_header_cmmPmS2_S2_S2_24gsmsim_payload_AT_type_e @ 38 NONAME
-	_ZN17eap_type_gsmsim_c18check_version_listEPK26gsmsim_payload_AT_header_ctPhPb @ 39 NONAME
-	_ZN17eap_type_gsmsim_c18get_state_variableEv @ 40 NONAME
-	_ZN17eap_type_gsmsim_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 41 NONAME
-	_ZN17eap_type_gsmsim_c18save_current_stateEv @ 42 NONAME
-	_ZN17eap_type_gsmsim_c18state_notificationEPK28abs_eap_state_notification_c @ 43 NONAME
-	_ZN17eap_type_gsmsim_c19add_counter_payloadEP15gsmsim_header_cmmPmS2_S2_S2_t @ 44 NONAME
-	_ZN17eap_type_gsmsim_c19add_padding_payloadEP15gsmsim_header_cmmPmS2_S2_S2_m @ 45 NONAME
-	_ZN17eap_type_gsmsim_c19add_version_payloadEP15gsmsim_header_cmmPmS2_S2_S2_18eap_gsmsim_version @ 46 NONAME
-	_ZN17eap_type_gsmsim_c19get_identity_stringE29eap_type_gsmsim_identity_type @ 47 NONAME
-	_ZN17eap_type_gsmsim_c19handle_DATA_payloadE16gsmsim_subtype_eP17gsmsim_payloads_c @ 48 NONAME
-	_ZN17eap_type_gsmsim_c19handle_error_packetEv @ 49 NONAME
-	_ZN17eap_type_gsmsim_c19parse_gsmsim_packetEP15gsmsim_header_cmP17gsmsim_payloads_c @ 50 NONAME
-	_ZN17eap_type_gsmsim_c19process_SIM_kc_sresEPK19eap_variable_data_cS2_S2_ @ 51 NONAME
-	_ZN17eap_type_gsmsim_c20add_variable_payloadEP15gsmsim_header_cmmPmS2_S2_S2_PK19eap_variable_data_c24gsmsim_payload_AT_type_e @ 52 NONAME
-	_ZN17eap_type_gsmsim_c20complete_SIM_kc_sresEPK19eap_variable_data_cS2_S2_12eap_status_e @ 53 NONAME
-	_ZN17eap_type_gsmsim_c20decrypt_DATA_payloadEP17gsmsim_payloads_cPK19eap_variable_data_c @ 54 NONAME
-	_ZN17eap_type_gsmsim_c20encrypt_DATA_payloadEPhmPK19eap_variable_data_cS3_ @ 55 NONAME
-	_ZN17eap_type_gsmsim_c20handle_gsmsim_packetEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 56 NONAME
-	_ZN17eap_type_gsmsim_c20parse_gsmsim_payloadEPK26gsmsim_payload_AT_header_cPmP17gsmsim_payloads_c16gsmsim_subtype_e @ 57 NONAME
-	_ZN17eap_type_gsmsim_c21analyse_gsmsim_packetEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 58 NONAME
-	_ZN17eap_type_gsmsim_c21gsmsim_packet_processEPK19eap_am_network_id_cP15gsmsim_header_cmb @ 59 NONAME
-	_ZN17eap_type_gsmsim_c21parse_generic_payloadE24gsmsim_payload_AT_type_ePK26gsmsim_payload_AT_header_cP17gsmsim_payloads_c16gsmsim_subtype_e @ 60 NONAME
-	_ZN17eap_type_gsmsim_c21update_buffer_indexesEmmPmS0_ @ 61 NONAME
-	_ZN17eap_type_gsmsim_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 62 NONAME
-	_ZN17eap_type_gsmsim_c23send_final_notificationEv @ 63 NONAME
-	_ZN17eap_type_gsmsim_c24add_client_error_payloadEP15gsmsim_header_cmmPmS2_S2_S2_30eap_gsmsim_client_error_code_e @ 64 NONAME
-	_ZN17eap_type_gsmsim_c24add_notification_payloadEP15gsmsim_header_cmmPmS2_S2_S2_31eap_gsmsim_notification_codes_e @ 65 NONAME
-	_ZN17eap_type_gsmsim_c24initialize_error_messageE12eap_status_e @ 66 NONAME
-	_ZN17eap_type_gsmsim_c25handle_eap_identity_queryEPK19eap_am_network_id_cP19eap_variable_data_chPKS3_S6_S6_S6_mb @ 67 NONAME
-	_ZN17eap_type_gsmsim_c26handle_notification_packetEv @ 68 NONAME
-	_ZN17eap_type_gsmsim_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 69 NONAME
-	_ZN17eap_type_gsmsim_c27generate_shared_secred_keysEmPK19eap_variable_data_cS2_PS0_S3_S3_S3_ @ 70 NONAME
-	_ZN17eap_type_gsmsim_c27send_start_response_messageEPK19eap_am_network_id_ch18eap_gsmsim_version24gsmsim_payload_AT_type_ePK19eap_variable_data_cm @ 71 NONAME
-	_ZN17eap_type_gsmsim_c28handle_start_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 72 NONAME
-	_ZN17eap_type_gsmsim_c28restore_saved_previous_stateEv @ 73 NONAME
-	_ZN17eap_type_gsmsim_c29add_pseudonym_or_imsi_payloadEP15gsmsim_header_cmmPmS2_S2_S2_PK19eap_variable_data_c24gsmsim_payload_AT_type_e @ 74 NONAME
-	_ZN17eap_type_gsmsim_c29set_error_message_delay_timerEv @ 75 NONAME
-	_ZN17eap_type_gsmsim_c31initialize_notification_messageEv @ 76 NONAME
-	_ZN17eap_type_gsmsim_c31send_challenge_response_messageEP19eap_variable_data_c @ 77 NONAME
-	_ZN17eap_type_gsmsim_c32cancel_error_message_delay_timerEv @ 78 NONAME
-	_ZN17eap_type_gsmsim_c32finish_successful_authenticationEPK19eap_am_network_id_c @ 79 NONAME
-	_ZN17eap_type_gsmsim_c32handle_challenge_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 80 NONAME
-	_ZN17eap_type_gsmsim_c33check_message_authentication_codeEPK19eap_variable_data_cP17gsmsim_payloads_cPK15gsmsim_header_cm @ 81 NONAME
-	_ZN17eap_type_gsmsim_c33send_gsmsim_client_error_responseEv @ 82 NONAME
-	_ZN17eap_type_gsmsim_c33send_gsmsim_notification_responseE31eap_gsmsim_notification_codes_eb @ 83 NONAME
-	_ZN17eap_type_gsmsim_c34create_message_authentication_codeEP32eap_type_gsmsim_MAC_attributes_c16gsmsim_subtype_e16eap_code_value_ePK19eap_variable_data_c @ 84 NONAME
-	_ZN17eap_type_gsmsim_c34generate_reauth_shared_secred_keysEmPK19eap_variable_data_cmS2_S2_PS0_ @ 85 NONAME
-	_ZN17eap_type_gsmsim_c36set_notification_message_delay_timerEv @ 86 NONAME
-	_ZN17eap_type_gsmsim_c38send_reauthentication_response_messageEPK19eap_variable_data_cS2_S2_S2_S2_thb @ 87 NONAME
-	_ZN17eap_type_gsmsim_c39cancel_notification_message_delay_timerEv @ 88 NONAME
-	_ZN17eap_type_gsmsim_c39extra_message_authentication_code_bytesE16gsmsim_subtype_e16eap_code_value_eP13crypto_hmac_c @ 89 NONAME
-	_ZN17eap_type_gsmsim_c39handle_reauthentication_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 90 NONAME
-	_ZN17eap_type_gsmsim_c42handle_gsmsim_notification_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 91 NONAME
-	_ZN17eap_type_gsmsim_c50query_SIM_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pmb24gsmsim_payload_AT_type_e26eap_type_gsmsim_complete_eh @ 92 NONAME
-	_ZN17eap_type_gsmsim_c59complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEPK19eap_variable_data_cS2_S2_S2_m26eap_type_gsmsim_complete_eh12eap_status_e @ 93 NONAME
-	_ZN17eap_type_gsmsim_c59handle_gsmsim_notification_request_message_reauthenticationEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 94 NONAME
-	_ZN17eap_type_gsmsim_c5resetEv @ 95 NONAME
-	_ZN17eap_type_gsmsim_c62handle_gsmsim_notification_request_message_full_authenticationEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 96 NONAME
-	_ZN17eap_type_gsmsim_c8data_expEmP19eap_variable_data_cPKS0_S3_ @ 97 NONAME
-	_ZN17eap_type_gsmsim_c8shutdownEv @ 98 NONAME
-	_ZN17eap_type_gsmsim_c9configureEv @ 99 NONAME
-	_ZN17eap_type_gsmsim_c9set_timerEP20abs_eap_base_timer_cmPvm @ 100 NONAME
-	_ZN17eap_type_gsmsim_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP20eap_am_type_gsmsim_cbbPK19eap_am_network_id_c @ 101 NONAME
-	_ZN17eap_type_gsmsim_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP20eap_am_type_gsmsim_cbbPK19eap_am_network_id_c @ 102 NONAME
-	_ZN17eap_type_gsmsim_cD0Ev @ 103 NONAME
-	_ZN17eap_type_gsmsim_cD1Ev @ 104 NONAME
-	_ZN17eap_type_gsmsim_cD2Ev @ 105 NONAME
-	_ZN17gsmsim_payloads_c11get_COUNTEREv @ 106 NONAME
-	_ZN17gsmsim_payloads_c11get_NONCE_SEv @ 107 NONAME
-	_ZN17gsmsim_payloads_c11get_n_RANDsEv @ 108 NONAME
-	_ZN17gsmsim_payloads_c12get_NONCE_MTEv @ 109 NONAME
-	_ZN17gsmsim_payloads_c13get_ENCR_DATAEv @ 110 NONAME
-	_ZN17gsmsim_payloads_c14check_payloadsENS_27eap_gsmsim_payload_status_eES0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_ @ 111 NONAME
-	_ZN17gsmsim_payloads_c14get_ANY_ID_REQEv @ 112 NONAME
-	_ZN17gsmsim_payloads_c14get_RESULT_INDEv @ 113 NONAME
-	_ZN17gsmsim_payloads_c16get_NOTIFICATIONEv @ 114 NONAME
-	_ZN17gsmsim_payloads_c16get_VERSION_LISTEv @ 115 NONAME
-	_ZN17gsmsim_payloads_c17check_one_payloadENS_27eap_gsmsim_payload_status_eEPK22gsmsim_variable_data_c @ 116 NONAME
-	_ZN17gsmsim_payloads_c18get_NEXT_PSEUDONYMEv @ 117 NONAME
-	_ZN17gsmsim_payloads_c18get_NEXT_REAUTH_IDEv @ 118 NONAME
-	_ZN17gsmsim_payloads_c19get_FULLAUTH_ID_REQEv @ 119 NONAME
-	_ZN17gsmsim_payloads_c19get_padding_payloadEv @ 120 NONAME
-	_ZN17gsmsim_payloads_c20get_IDENTITY_payloadEv @ 121 NONAME
-	_ZN17gsmsim_payloads_c20get_PERMANENT_ID_REQEv @ 122 NONAME
-	_ZN17gsmsim_payloads_c20get_SELECTED_VERSIONEv @ 123 NONAME
-	_ZN17gsmsim_payloads_c21get_CLIENT_ERROR_CODEEv @ 124 NONAME
-	_ZN17gsmsim_payloads_c21get_counter_too_smallEv @ 125 NONAME
-	_ZN17gsmsim_payloads_c30get_includes_unknown_attributeEv @ 126 NONAME
-	_ZN17gsmsim_payloads_c30set_includes_unknown_attributeE24gsmsim_payload_AT_type_e @ 127 NONAME
-	_ZN17gsmsim_payloads_c33get_includes_other_version_than_1Ev @ 128 NONAME
-	_ZN17gsmsim_payloads_c33set_includes_other_version_than_1Eb @ 129 NONAME
-	_ZN17gsmsim_payloads_c6get_IVEv @ 130 NONAME
-	_ZN17gsmsim_payloads_c7get_MACEv @ 131 NONAME
-	_ZN17gsmsim_payloads_cC1EP18abs_eap_am_tools_c @ 132 NONAME
-	_ZN17gsmsim_payloads_cC2EP18abs_eap_am_tools_c @ 133 NONAME
-	_ZN17gsmsim_payloads_cD0Ev @ 134 NONAME
-	_ZN17gsmsim_payloads_cD1Ev @ 135 NONAME
-	_ZN17gsmsim_payloads_cD2Ev @ 136 NONAME
-	_ZN19gsmsim_fixed_data_c19get_original_headerEv @ 137 NONAME
-	_ZN19gsmsim_fixed_data_c8set_dataEPK26gsmsim_payload_AT_header_ctt @ 138 NONAME
-	_ZN19gsmsim_fixed_data_cC1EP18abs_eap_am_tools_c @ 139 NONAME
-	_ZN19gsmsim_fixed_data_cC2EP18abs_eap_am_tools_c @ 140 NONAME
-	_ZN19gsmsim_fixed_data_cD0Ev @ 141 NONAME
-	_ZN19gsmsim_fixed_data_cD1Ev @ 142 NONAME
-	_ZN19gsmsim_fixed_data_cD2Ev @ 143 NONAME
-	_ZN22gsmsim_variable_data_c10set_bufferEPK26gsmsim_payload_AT_header_cPhmbb @ 144 NONAME
-	_ZN22gsmsim_variable_data_c18get_payload_bufferEv @ 145 NONAME
-	_ZN22gsmsim_variable_data_c5resetEv @ 146 NONAME
-	_ZN22gsmsim_variable_data_cC1EP18abs_eap_am_tools_c @ 147 NONAME
-	_ZN22gsmsim_variable_data_cC2EP18abs_eap_am_tools_c @ 148 NONAME
-	_ZN22gsmsim_variable_data_cD0Ev @ 149 NONAME
-	_ZN22gsmsim_variable_data_cD1Ev @ 150 NONAME
-	_ZN22gsmsim_variable_data_cD2Ev @ 151 NONAME
-	_ZN25eap_type_saesim_triplet_c11set_tripletEP19eap_variable_data_cS1_S1_ @ 152 NONAME
-	_ZN25eap_type_saesim_triplet_c12get_is_validEv @ 153 NONAME
-	_ZN25eap_type_saesim_triplet_c12set_is_validEv @ 154 NONAME
-	_ZN25eap_type_saesim_triplet_c4copyEP18abs_eap_am_tools_c @ 155 NONAME
-	_ZN25eap_type_saesim_triplet_c5resetEv @ 156 NONAME
-	_ZN25eap_type_saesim_triplet_c6get_kcEv @ 157 NONAME
-	_ZN25eap_type_saesim_triplet_c8get_randEv @ 158 NONAME
-	_ZN25eap_type_saesim_triplet_c8get_sresEv @ 159 NONAME
-	_ZN25eap_type_saesim_triplet_cC1EP18abs_eap_am_tools_c @ 160 NONAME
-	_ZN25eap_type_saesim_triplet_cC2EP18abs_eap_am_tools_c @ 161 NONAME
-	_ZN25eap_type_saesim_triplet_cD0Ev @ 162 NONAME
-	_ZN25eap_type_saesim_triplet_cD1Ev @ 163 NONAME
-	_ZN25eap_type_saesim_triplet_cD2Ev @ 164 NONAME
-	_ZN26gsmsim_payload_AT_header_c12reset_headerEt @ 165 NONAME
-	_ZN26gsmsim_payload_AT_header_c12set_reservedEt @ 166 NONAME
-	_ZN26gsmsim_payload_AT_header_c15set_data_lengthEt @ 167 NONAME
-	_ZN26gsmsim_payload_AT_header_c17get_header_lengthEv @ 168 NONAME
-	_ZN26gsmsim_payload_AT_header_c19set_current_payloadE24gsmsim_payload_AT_type_e @ 169 NONAME
-	_ZN26gsmsim_payload_AT_header_c21get_payload_AT_stringE24gsmsim_payload_AT_type_e @ 170 NONAME
-	_ZN26gsmsim_payload_AT_header_c27get_max_payload_data_lengthEv @ 171 NONAME
-	_ZN26gsmsim_payload_AT_header_cC1EP18abs_eap_am_tools_cPvm @ 172 NONAME
-	_ZN26gsmsim_payload_AT_header_cC2EP18abs_eap_am_tools_cPvm @ 173 NONAME
-	_ZN26gsmsim_payload_AT_header_cD0Ev @ 174 NONAME
-	_ZN26gsmsim_payload_AT_header_cD1Ev @ 175 NONAME
-	_ZN26gsmsim_payload_AT_header_cD2Ev @ 176 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c12get_is_validEv @ 177 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c12set_is_validEv @ 178 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c16set_rand_is_usedEPK19eap_variable_data_c @ 179 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c17query_SIM_kc_sresEbPK19eap_variable_data_cPS0_S3_ @ 180 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 181 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 182 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c20check_is_rand_unusedEPK19eap_variable_data_c @ 183 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 184 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 185 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c21query_SIM_kc_and_sresEPKhPhS2_ @ 186 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 187 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c23authentication_finishedEb32eap_gsmsim_authentication_type_e29eap_type_gsmsim_identity_type @ 188 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c23increase_reauth_counterEv @ 189 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 190 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 191 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c24cancel_SIM_kc_sres_queryEv @ 192 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 193 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c26handle_gsmsim_notificationE31eap_gsmsim_notification_codes_e @ 194 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 195 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c31cancel_imsi_from_username_queryEv @ 196 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c50query_SIM_IMSI_or_pseudonym_or_reauthentication_idEbP19eap_variable_data_cS1_S1_S1_Pm24gsmsim_payload_AT_type_e26eap_type_gsmsim_complete_eh @ 197 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c57cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 198 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c5resetEv @ 199 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c8shutdownEv @ 200 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_c9configureEv @ 201 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_cD0Ev @ 202 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_cD1Ev @ 203 NONAME
-	_ZN28eap_am_type_gsmsim_symbian_cD2Ev @ 204 NONAME
-	_ZN28eap_type_sim_triplet_array_c11add_tripletEv @ 205 NONAME
-	_ZN28eap_type_sim_triplet_array_c11get_tripletEP18abs_eap_am_tools_cm @ 206 NONAME
-	_ZN28eap_type_sim_triplet_array_c11set_tripletEmP25eap_type_saesim_triplet_c @ 207 NONAME
-	_ZN28eap_type_sim_triplet_array_c17get_triplet_countEv @ 208 NONAME
-	_ZN28eap_type_sim_triplet_array_c17set_triplet_countEm @ 209 NONAME
-	_ZN28eap_type_sim_triplet_array_c4copyEv @ 210 NONAME
-	_ZN28eap_type_sim_triplet_array_c5resetEv @ 211 NONAME
-	_ZN28eap_type_sim_triplet_array_cC1EP18abs_eap_am_tools_c @ 212 NONAME
-	_ZN28eap_type_sim_triplet_array_cC2EP18abs_eap_am_tools_c @ 213 NONAME
-	_ZN28eap_type_sim_triplet_array_cD0Ev @ 214 NONAME
-	_ZN28eap_type_sim_triplet_array_cD1Ev @ 215 NONAME
-	_ZN28eap_type_sim_triplet_array_cD2Ev @ 216 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 217 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 218 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 219 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 220 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 221 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 222 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cD0Ev @ 223 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cD1Ev @ 224 NONAME
-	_ZN36eap_type_gsmsim_state_notification_cD2Ev @ 225 NONAME
-	_ZN43eap_type_gsmsim_state_variable_parameters_c10init_stateEbb16gsmsim_subtype_eS0_S0_S0_ @ 226 NONAME
-	_ZN43eap_type_gsmsim_state_variable_parameters_cC1Ev @ 227 NONAME
-	_ZN43eap_type_gsmsim_state_variable_parameters_cC2Ev @ 228 NONAME
-	_ZN43eap_type_gsmsim_state_variable_parameters_cD0Ev @ 229 NONAME
-	_ZN43eap_type_gsmsim_state_variable_parameters_cD1Ev @ 230 NONAME
-	_ZN43eap_type_gsmsim_state_variable_parameters_cD2Ev @ 231 NONAME
-	_ZNK15gsmsim_header_c11get_subtypeEv @ 232 NONAME
-	_ZNK15gsmsim_header_c12check_headerEv @ 233 NONAME
-	_ZNK15gsmsim_header_c12get_reservedEv @ 234 NONAME
-	_ZNK15gsmsim_header_c15get_code_stringEv @ 235 NONAME
-	_ZNK15gsmsim_header_c15get_data_lengthEv @ 236 NONAME
-	_ZNK15gsmsim_header_c15get_data_offsetEmm @ 237 NONAME
-	_ZNK15gsmsim_header_c17get_header_lengthEv @ 238 NONAME
-	_ZNK15gsmsim_header_c18get_subtype_stringEv @ 239 NONAME
-	_ZNK15gsmsim_header_c19get_eap_type_stringEv @ 240 NONAME
-	_ZNK15gsmsim_header_c19get_sub_type_offsetEv @ 241 NONAME
-	_ZNK15gsmsim_header_c8get_dataEm @ 242 NONAME
-	_ZNK17eap_type_gsmsim_c16get_state_stringEv @ 243 NONAME
-	_ZNK17eap_type_gsmsim_c31get_saved_previous_state_stringEv @ 244 NONAME
-	_ZNK17gsmsim_payloads_c12get_is_validEv @ 245 NONAME
-	_ZNK19gsmsim_fixed_data_c12get_is_validEv @ 246 NONAME
-	_ZNK19gsmsim_fixed_data_c8get_dataEP18abs_eap_am_tools_c @ 247 NONAME
-	_ZNK19gsmsim_fixed_data_c8get_typeEP18abs_eap_am_tools_c @ 248 NONAME
-	_ZNK22gsmsim_variable_data_c15get_data_lengthEv @ 249 NONAME
-	_ZNK22gsmsim_variable_data_c19get_original_headerEv @ 250 NONAME
-	_ZNK22gsmsim_variable_data_c20get_payload_includedEv @ 251 NONAME
-	_ZNK22gsmsim_variable_data_c8get_dataEm @ 252 NONAME
-	_ZNK26gsmsim_payload_AT_header_c12check_headerEv @ 253 NONAME
-	_ZNK26gsmsim_payload_AT_header_c12get_reservedEv @ 254 NONAME
-	_ZNK26gsmsim_payload_AT_header_c15get_data_lengthEv @ 255 NONAME
-	_ZNK26gsmsim_payload_AT_header_c15get_data_offsetEmm @ 256 NONAME
-	_ZNK26gsmsim_payload_AT_header_c15get_next_headerEv @ 257 NONAME
-	_ZNK26gsmsim_payload_AT_header_c18get_payload_lengthEv @ 258 NONAME
-	_ZNK26gsmsim_payload_AT_header_c19get_current_payloadEv @ 259 NONAME
-	_ZNK26gsmsim_payload_AT_header_c21get_payload_AT_stringEv @ 260 NONAME
-	_ZNK26gsmsim_payload_AT_header_c8get_dataEm @ 261 NONAME
-	_ZNK43eap_type_gsmsim_state_variable_parameters_c15check_initiatorEb @ 262 NONAME
-	_ZNK43eap_type_gsmsim_state_variable_parameters_c17check_valid_typesE16gsmsim_subtype_e @ 263 NONAME
-	_ZTI12CEapTypeInfo @ 264 NONAME
-	_ZTI15gsmsim_header_c @ 265 NONAME
-	_ZTI17eap_type_gsmsim_c @ 266 NONAME
-	_ZTI17gsmsim_payloads_c @ 267 NONAME
-	_ZTI19CEapSimIsaInterface @ 268 NONAME
-	_ZTI19gsmsim_fixed_data_c @ 269 NONAME
-	_ZTI22gsmsim_variable_data_c @ 270 NONAME
-	_ZTI25eap_type_saesim_triplet_c @ 271 NONAME
-	_ZTI26gsmsim_payload_AT_header_c @ 272 NONAME
-	_ZTI28eap_am_type_gsmsim_symbian_c @ 273 NONAME
-	_ZTI28eap_type_sim_triplet_array_c @ 274 NONAME
-	_ZTI29eap_type_gsmsim_initialized_c @ 275 NONAME
-	_ZTI32eap_type_gsmsim_MAC_attributes_c @ 276 NONAME
-	_ZTI36eap_type_gsmsim_state_notification_c @ 277 NONAME
-	_ZTI43eap_type_gsmsim_state_variable_parameters_c @ 278 NONAME
-	_ZTI7CEapSim @ 279 NONAME
-	_ZTV12CEapTypeInfo @ 280 NONAME
-	_ZTV15gsmsim_header_c @ 281 NONAME
-	_ZTV17eap_type_gsmsim_c @ 282 NONAME
-	_ZTV17gsmsim_payloads_c @ 283 NONAME
-	_ZTV19CEapSimIsaInterface @ 284 NONAME
-	_ZTV19gsmsim_fixed_data_c @ 285 NONAME
-	_ZTV22gsmsim_variable_data_c @ 286 NONAME
-	_ZTV25eap_type_saesim_triplet_c @ 287 NONAME
-	_ZTV26gsmsim_payload_AT_header_c @ 288 NONAME
-	_ZTV28eap_am_type_gsmsim_symbian_c @ 289 NONAME
-	_ZTV28eap_type_sim_triplet_array_c @ 290 NONAME
-	_ZTV29eap_type_gsmsim_initialized_c @ 291 NONAME
-	_ZTV32eap_type_gsmsim_MAC_attributes_c @ 292 NONAME
-	_ZTV36eap_type_gsmsim_state_notification_c @ 293 NONAME
-	_ZTV43eap_type_gsmsim_state_variable_parameters_c @ 294 NONAME
-	_ZTV7CEapSim @ 295 NONAME
-	_ZThn12_N17eap_type_gsmsim_c12get_is_validEv @ 296 NONAME
-	_ZThn12_N17eap_type_gsmsim_c12set_is_validEv @ 297 NONAME
-	_ZThn12_N17eap_type_gsmsim_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 298 NONAME
-	_ZThn12_N17eap_type_gsmsim_c15eap_acknowledgeEPK19eap_am_network_id_c @ 299 NONAME
-	_ZThn12_N17eap_type_gsmsim_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 300 NONAME
-	_ZThn12_N17eap_type_gsmsim_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 301 NONAME
-	_ZThn12_N17eap_type_gsmsim_c5resetEv @ 302 NONAME
-	_ZThn12_N17eap_type_gsmsim_c8shutdownEv @ 303 NONAME
-	_ZThn12_N17eap_type_gsmsim_c9configureEv @ 304 NONAME
-	_ZThn12_N17eap_type_gsmsim_cD0Ev @ 305 NONAME
-	_ZThn12_N17eap_type_gsmsim_cD1Ev @ 306 NONAME
-	_ZThn4_N17eap_type_gsmsim_c13get_is_clientEv @ 307 NONAME
-	_ZThn4_N17eap_type_gsmsim_c20complete_SIM_kc_sresEPK19eap_variable_data_cS2_S2_12eap_status_e @ 308 NONAME
-	_ZThn4_N17eap_type_gsmsim_c59complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEPK19eap_variable_data_cS2_S2_S2_m26eap_type_gsmsim_complete_eh12eap_status_e @ 309 NONAME
-	_ZThn4_N17eap_type_gsmsim_cD0Ev @ 310 NONAME
-	_ZThn4_N17eap_type_gsmsim_cD1Ev @ 311 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c16set_rand_is_usedEPK19eap_variable_data_c @ 312 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c17query_SIM_kc_sresEbPK19eap_variable_data_cPS0_S3_ @ 313 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 314 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 315 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c20check_is_rand_unusedEPK19eap_variable_data_c @ 316 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 317 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 318 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 319 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c23authentication_finishedEb32eap_gsmsim_authentication_type_e29eap_type_gsmsim_identity_type @ 320 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c23increase_reauth_counterEv @ 321 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 322 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 323 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c24cancel_SIM_kc_sres_queryEv @ 324 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 325 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c26handle_gsmsim_notificationE31eap_gsmsim_notification_codes_e @ 326 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 327 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c31cancel_imsi_from_username_queryEv @ 328 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c50query_SIM_IMSI_or_pseudonym_or_reauthentication_idEbP19eap_variable_data_cS1_S1_S1_Pm24gsmsim_payload_AT_type_e26eap_type_gsmsim_complete_eh @ 329 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c57cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 330 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c5resetEv @ 331 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c8shutdownEv @ 332 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_c9configureEv @ 333 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_cD0Ev @ 334 NONAME
-	_ZThn4_N28eap_am_type_gsmsim_symbian_cD1Ev @ 335 NONAME
-	_ZThn8_N17eap_type_gsmsim_c13timer_expiredEmPv @ 336 NONAME
-	_ZThn8_N17eap_type_gsmsim_c17timer_delete_dataEmPv @ 337 NONAME
-	_ZThn8_N17eap_type_gsmsim_cD0Ev @ 338 NONAME
-	_ZThn8_N17eap_type_gsmsim_cD1Ev @ 339 NONAME
-	_ZN17eap_type_gsmsim_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 340 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,1079 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_Z38convert_eap_diameter_avp_code_to_u32_t23eap_diameter_avp_code_c @ 2 NONAME
-	_Z38convert_eap_diameter_avp_code_to_u64_t23eap_diameter_avp_code_c @ 3 NONAME
-	_ZN12tls_record_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 4 NONAME
-	_ZN12tls_record_c11packet_sendEP18eap_buf_chain_wr_cmmm @ 5 NONAME
-	_ZN12tls_record_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 6 NONAME
-	_ZN12tls_record_c12cancel_timerEP20abs_eap_base_timer_cm @ 7 NONAME
-	_ZN12tls_record_c12get_is_validEv @ 8 NONAME
-	_ZN12tls_record_c12set_is_validEv @ 9 NONAME
-	_ZN12tls_record_c12verify_stateE16tls_peap_state_e @ 10 NONAME
-	_ZN12tls_record_c13set_nai_realmEPK19eap_variable_data_c @ 11 NONAME
-	_ZN12tls_record_c13unload_moduleE19eap_expanded_type_c @ 12 NONAME
-	_ZN12tls_record_c14packet_processEP19eap_variable_data_ch @ 13 NONAME
-	_ZN12tls_record_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 14 NONAME
-	_ZN12tls_record_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 15 NONAME
-	_ZN12tls_record_c16finish_handshakeEv @ 16 NONAME
-	_ZN12tls_record_c16get_tls_prf_dataEPK19eap_variable_data_cS2_S2_S2_PS0_m @ 17 NONAME
-	_ZN12tls_record_c16send_tls_messageEv @ 18 NONAME
-	_ZN12tls_record_c16set_peap_versionE14peap_version_ebb @ 19 NONAME
-	_ZN12tls_record_c17generate_dhe_keysEv @ 20 NONAME
-	_ZN12tls_record_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 21 NONAME
-	_ZN12tls_record_c17get_header_offsetEPmS0_ @ 22 NONAME
-	_ZN12tls_record_c17message_hash_initEv @ 23 NONAME
-	_ZN12tls_record_c18add_record_messageEP19tls_alert_message_c @ 24 NONAME
-	_ZN12tls_record_c18add_record_messageEP23tls_handshake_message_c @ 25 NONAME
-	_ZN12tls_record_c18add_record_messageEP30tls_application_data_message_c @ 26 NONAME
-	_ZN12tls_record_c18add_record_messageEP32tls_change_cipher_spec_message_c @ 27 NONAME
-	_ZN12tls_record_c18change_cipher_specEb @ 28 NONAME
-	_ZN12tls_record_c18message_hash_finalEP19eap_variable_data_cS1_ @ 29 NONAME
-	_ZN12tls_record_c18new_record_messageEPP20tls_record_message_c21tls_record_protocol_e @ 30 NONAME
-	_ZN12tls_record_c18state_notificationEPK28abs_eap_state_notification_c @ 31 NONAME
-	_ZN12tls_record_c19get_is_tunneled_tlsEv @ 32 NONAME
-	_ZN12tls_record_c19message_hash_createEb20tls_handshake_type_eP19eap_variable_data_cb @ 33 NONAME
-	_ZN12tls_record_c19message_hash_updateEb20tls_handshake_type_ePhm @ 34 NONAME
-	_ZN12tls_record_c19process_tls_messageEv @ 35 NONAME
-	_ZN12tls_record_c19process_tls_recordsEv @ 36 NONAME
-	_ZN12tls_record_c19reset_block_ciphersEb @ 37 NONAME
-	_ZN12tls_record_c19set_session_timeoutEm @ 38 NONAME
-	_ZN12tls_record_c19u16_t_to_host_orderEPtP18abs_eap_am_tools_c @ 39 NONAME
-	_ZN12tls_record_c20complete_query_realmEPK19eap_variable_data_c12eap_status_e @ 40 NONAME
-	_ZN12tls_record_c20get_tls_session_typeEv @ 41 NONAME
-	_ZN12tls_record_c20reset_stream_ciphersEb @ 42 NONAME
-	_ZN12tls_record_c20set_tls_session_typeE18tls_session_type_e @ 43 NONAME
-	_ZN12tls_record_c21completion_action_addE23tls_completion_action_e @ 44 NONAME
-	_ZN12tls_record_c21generate_key_materialEv @ 45 NONAME
-	_ZN12tls_record_c21reset_hmac_algorithmsEb @ 46 NONAME
-	_ZN12tls_record_c21set_send_cipher_suiteE19tls_cipher_suites_e @ 47 NONAME
-	_ZN12tls_record_c21set_tls_master_secretEPK19eap_variable_data_cS2_S2_ @ 48 NONAME
-	_ZN12tls_record_c22check_sent_tls_messageEv @ 49 NONAME
-	_ZN12tls_record_c22generate_master_secretEv @ 50 NONAME
-	_ZN12tls_record_c22get_key_expansion_sizeEPmS0_S0_S0_S0_ @ 51 NONAME
-	_ZN12tls_record_c22reassemble_tls_recordsEP20tls_record_message_cP19tls_record_header_c @ 52 NONAME
-	_ZN12tls_record_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 53 NONAME
-	_ZN12tls_record_c22u16_t_to_network_orderEPtP18abs_eap_am_tools_c @ 54 NONAME
-	_ZN12tls_record_c23apply_send_cipher_suiteEP19eap_variable_data_c @ 55 NONAME
-	_ZN12tls_record_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 56 NONAME
-	_ZN12tls_record_c23completion_action_checkEv @ 57 NONAME
-	_ZN12tls_record_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 58 NONAME
-	_ZN12tls_record_c23read_authority_identityEP19eap_variable_data_c @ 59 NONAME
-	_ZN12tls_record_c23send_error_notificationE12eap_status_e @ 60 NONAME
-	_ZN12tls_record_c24completion_action_clenupEv @ 61 NONAME
-	_ZN12tls_record_c24get_extra_padding_lengthEhm @ 62 NONAME
-	_ZN12tls_record_c24parse_tls_protocol_alertEP20tls_record_message_cP19eap_variable_data_c @ 63 NONAME
-	_ZN12tls_record_c24set_receive_cipher_suiteE19tls_cipher_suites_e @ 64 NONAME
-	_ZN12tls_record_c25create_tls_protocol_alertE23tls_alert_description_e17tls_alert_level_e12eap_status_e @ 65 NONAME
-	_ZN12tls_record_c25empty_ack_packet_receivedEPK19eap_am_network_id_ch @ 66 NONAME
-	_ZN12tls_record_c25generate_premaster_secretEv @ 67 NONAME
-	_ZN12tls_record_c25set_selected_cipher_suiteE19tls_cipher_suites_e @ 68 NONAME
-	_ZN12tls_record_c26allocate_handshake_messageEPP23tls_handshake_message_cP24eap_automatic_variable_cIS0_E20tls_handshake_type_e @ 69 NONAME
-	_ZN12tls_record_c26analyse_tls_protocol_alertEPK20tls_record_message_c @ 70 NONAME
-	_ZN12tls_record_c26apply_receive_cipher_suiteEP19eap_variable_data_c @ 71 NONAME
-	_ZN12tls_record_c26message_hash_save_finishedEb @ 72 NONAME
-	_ZN12tls_record_c27check_selected_cipher_suiteE19tls_cipher_suites_e @ 73 NONAME
-	_ZN12tls_record_c27cipher_suite_initializationEb @ 74 NONAME
-	_ZN12tls_record_c27create_tls_application_dataEP18eap_buf_chain_wr_cm @ 75 NONAME
-	_ZN12tls_record_c27get_ttls_implicit_challengeEP19eap_variable_data_cm @ 76 NONAME
-	_ZN12tls_record_c27indicate_messages_processedEv @ 77 NONAME
-	_ZN12tls_record_c28complete_query_dh_parametersEPK19eap_variable_data_cS2_12eap_status_e @ 78 NONAME
-	_ZN12tls_record_c28message_hash_create_finishedEbP19eap_variable_data_c @ 79 NONAME
-	_ZN12tls_record_c28parse_tls_protocol_handshakeEP20tls_record_message_cP19eap_variable_data_c @ 80 NONAME
-	_ZN12tls_record_c29apply_send_block_cipher_suiteEP19eap_variable_data_cP32abs_crypto_cbc_block_algorithm_cP27abs_crypto_hmac_algorithm_c @ 81 NONAME
-	_ZN12tls_record_c29are_pending_queries_completedEv @ 82 NONAME
-	_ZN12tls_record_c29indicate_state_to_lower_layerE16tls_peap_state_e @ 83 NONAME
-	_ZN12tls_record_c29parse_handshake_type_finishedEP20tls_record_message_cP22tls_handshake_header_cm @ 84 NONAME
-	_ZN12tls_record_c29start_tls_peap_authenticationEPK19eap_variable_data_c @ 85 NONAME
-	_ZN12tls_record_c30analyse_tls_protocol_handshakeEP20tls_record_message_ch @ 86 NONAME
-	_ZN12tls_record_c30apply_send_stream_cipher_suiteEP19eap_variable_data_cP29abs_crypto_stream_algorithm_cP27abs_crypto_hmac_algorithm_c @ 87 NONAME
-	_ZN12tls_record_c30complete_sign_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 88 NONAME
-	_ZN12tls_record_c30create_handshake_type_finishedEv @ 89 NONAME
-	_ZN12tls_record_c30get_eap_tls_master_session_keyEP19eap_variable_data_cS1_ @ 90 NONAME
-	_ZN12tls_record_c31allocate_handshake_message_copyEPP23tls_handshake_message_cP24eap_automatic_variable_cIS0_EP22tls_handshake_header_c @ 91 NONAME
-	_ZN12tls_record_c31analyse_handshake_type_finishedEPK23tls_handshake_message_ch @ 92 NONAME
-	_ZN12tls_record_c31cipher_suite_initialization_cbcEPP32abs_crypto_cbc_block_algorithm_cP28abs_crypto_block_algorithm_cPK19eap_variable_data_cS7_b @ 93 NONAME
-	_ZN12tls_record_c31complete_verify_with_public_keyE12eap_status_e @ 94 NONAME
-	_ZN12tls_record_c32apply_receive_block_cipher_suiteEP19eap_variable_data_cP32abs_crypto_cbc_block_algorithm_cP27abs_crypto_hmac_algorithm_c @ 95 NONAME
-	_ZN12tls_record_c32cipher_suite_initialization_hmacEP27abs_crypto_hmac_algorithm_cPK19eap_variable_data_c @ 96 NONAME
-	_ZN12tls_record_c32complete_query_certificate_chainEPK11eap_array_cI19eap_variable_data_cE12eap_status_e @ 97 NONAME
-	_ZN12tls_record_c32parse_handshake_type_certificateEP20tls_record_message_cP22tls_handshake_header_cm @ 98 NONAME
-	_ZN12tls_record_c33apply_receive_stream_cipher_suiteEP19eap_variable_data_cP29abs_crypto_stream_algorithm_cP27abs_crypto_hmac_algorithm_c @ 99 NONAME
-	_ZN12tls_record_c33check_selected_compression_methodE24tls_compression_method_e @ 100 NONAME
-	_ZN12tls_record_c33complete_verify_certificate_chainE12eap_status_e @ 101 NONAME
-	_ZN12tls_record_c33create_handshake_type_certificateEPK11eap_array_cI19eap_variable_data_cE @ 102 NONAME
-	_ZN12tls_record_c33parse_handshake_type_client_helloEP20tls_record_message_cP22tls_handshake_header_cm @ 103 NONAME
-	_ZN12tls_record_c33parse_handshake_type_server_helloEP20tls_record_message_cP22tls_handshake_header_cm @ 104 NONAME
-	_ZN12tls_record_c34analyse_handshake_type_certificateEPK23tls_handshake_message_c @ 105 NONAME
-	_ZN12tls_record_c34cipher_suite_initialization_streamEP29abs_crypto_stream_algorithm_cPK19eap_variable_data_cb @ 106 NONAME
-	_ZN12tls_record_c34create_handshake_type_client_helloEv @ 107 NONAME
-	_ZN12tls_record_c34create_handshake_type_server_helloEth @ 108 NONAME
-	_ZN12tls_record_c34parse_handshake_type_hello_requestEP20tls_record_message_cP22tls_handshake_header_cm @ 109 NONAME
-	_ZN12tls_record_c34start_peap_tunneled_authenticationEPK19eap_am_network_id_ch18tls_session_type_e @ 110 NONAME
-	_ZN12tls_record_c35analyse_handshake_type_client_helloEPK23tls_handshake_message_c @ 111 NONAME
-	_ZN12tls_record_c35analyse_handshake_type_server_helloEPK23tls_handshake_message_c @ 112 NONAME
-	_ZN12tls_record_c35create_handshake_type_hello_requestEv @ 113 NONAME
-	_ZN12tls_record_c35create_server_key_exchange_md5_hashEPK19eap_variable_data_cS2_S2_PS0_ @ 114 NONAME
-	_ZN12tls_record_c35get_next_tls_handshake_message_typeEv @ 115 NONAME
-	_ZN12tls_record_c35parse_tls_protocol_application_dataEP20tls_record_message_cP19eap_variable_data_c @ 116 NONAME
-	_ZN12tls_record_c36analyse_handshake_type_hello_requestEPK23tls_handshake_message_c @ 117 NONAME
-	_ZN12tls_record_c36cipher_suite_initialization_hmac_md5Eb @ 118 NONAME
-	_ZN12tls_record_c36complete_rsa_encrypt_with_public_keyEPK19eap_variable_data_c12eap_status_e @ 119 NONAME
-	_ZN12tls_record_c36create_server_key_exchange_sha1_hashEPK19eap_variable_data_cS2_S2_PS0_ @ 120 NONAME
-	_ZN12tls_record_c36get_next_tls_record_message_protocolEv @ 121 NONAME
-	_ZN12tls_record_c36message_hash_save_certificate_verifyEv @ 122 NONAME
-	_ZN12tls_record_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 123 NONAME
-	_ZN12tls_record_c37analyse_tls_protocol_application_dataEPK20tls_record_message_ch @ 124 NONAME
-	_ZN12tls_record_c37cipher_suite_initialization_hmac_sha1Eb @ 125 NONAME
-	_ZN12tls_record_c37complete_rsa_decrypt_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 126 NONAME
-	_ZN12tls_record_c37parse_tls_protocol_change_cipher_specEP20tls_record_message_cP19eap_variable_data_c @ 127 NONAME
-	_ZN12tls_record_c37verify_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_ @ 128 NONAME
-	_ZN12tls_record_c38parse_handshake_type_server_hello_doneEP20tls_record_message_cP22tls_handshake_header_cm @ 129 NONAME
-	_ZN12tls_record_c39analyse_tls_protocol_change_cipher_specEPK20tls_record_message_c @ 130 NONAME
-	_ZN12tls_record_c39create_handshake_type_server_hello_doneEv @ 131 NONAME
-	_ZN12tls_record_c39parse_handshake_type_certificate_verifyEP20tls_record_message_cP22tls_handshake_header_cm @ 132 NONAME
-	_ZN12tls_record_c39verify_signature_of_server_key_exchangeEPK19eap_variable_data_c @ 133 NONAME
-	_ZN12tls_record_c40analyse_handshake_type_server_hello_doneEPK23tls_handshake_message_c @ 134 NONAME
-	_ZN12tls_record_c40create_handshake_type_certificate_verifyEv @ 135 NONAME
-	_ZN12tls_record_c40parse_handshake_type_certificate_requestEP20tls_record_message_cP22tls_handshake_header_cm @ 136 NONAME
-	_ZN12tls_record_c40parse_handshake_type_client_key_exchangeEP20tls_record_message_cP22tls_handshake_header_cm @ 137 NONAME
-	_ZN12tls_record_c40parse_handshake_type_server_key_exchangeEP20tls_record_message_cP22tls_handshake_header_cm @ 138 NONAME
-	_ZN12tls_record_c40set_tls_identity_privacy_handshake_stateE38tls_identity_privacy_handshake_state_e @ 139 NONAME
-	_ZN12tls_record_c41analyse_handshake_type_certificate_verifyEPK23tls_handshake_message_c @ 140 NONAME
-	_ZN12tls_record_c41create_handshake_type_certificate_requestEPK11eap_array_cIhEPKS0_I19eap_variable_data_cE @ 141 NONAME
-	_ZN12tls_record_c41create_handshake_type_client_key_exchangeEv @ 142 NONAME
-	_ZN12tls_record_c41create_handshake_type_server_key_exchangeEv @ 143 NONAME
-	_ZN12tls_record_c41plain_eap_success_failure_packet_receivedEPK19eap_am_network_id_c16eap_code_value_eh @ 144 NONAME
-	_ZN12tls_record_c42analyse_handshake_type_certificate_requestEPK23tls_handshake_message_c @ 145 NONAME
-	_ZN12tls_record_c42analyse_handshake_type_client_key_exchangeEPK23tls_handshake_message_c @ 146 NONAME
-	_ZN12tls_record_c42analyse_handshake_type_server_key_exchangeEPK23tls_handshake_message_c @ 147 NONAME
-	_ZN12tls_record_c45complete_query_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_12eap_status_e @ 148 NONAME
-	_ZN12tls_record_c46complete_verify_ttls_pap_username_and_passwordE12eap_status_ePK19eap_variable_data_c @ 149 NONAME
-	_ZN12tls_record_c47eap_status_return_and_create_tls_protocol_alertE12eap_status_e @ 150 NONAME
-	_ZN12tls_record_c48complete_query_certificate_authorities_and_typesEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE12eap_status_e @ 151 NONAME
-	_ZN12tls_record_c49complete_create_handshake_type_certificate_verifyEv @ 152 NONAME
-	_ZN12tls_record_c49complete_query_cipher_suites_and_previous_sessionE18tls_session_type_ePK11eap_array_cItEPKS1_IhEPK19eap_variable_data_cSA_19tls_cipher_suites_e12eap_status_e @ 153 NONAME
-	_ZN12tls_record_c49complete_select_cipher_suite_and_check_session_idE18tls_session_type_etPK19eap_variable_data_cS3_12eap_status_e @ 154 NONAME
-	_ZN12tls_record_c49create_change_cipher_spec_type_change_cipher_specEv @ 155 NONAME
-	_ZN12tls_record_c50complete_create_handshake_type_client_key_exchangeEv @ 156 NONAME
-	_ZN12tls_record_c50complete_create_handshake_type_server_key_exchangeEv @ 157 NONAME
-	_ZN12tls_record_c5resetEv @ 158 NONAME
-	_ZN12tls_record_c8shutdownEv @ 159 NONAME
-	_ZN12tls_record_c9configureEv @ 160 NONAME
-	_ZN12tls_record_c9set_stateE16tls_peap_state_e @ 161 NONAME
-	_ZN12tls_record_c9set_timerEP20abs_eap_base_timer_cmPvm @ 162 NONAME
-	_ZN12tls_record_cC1EP18abs_eap_am_tools_cP17tls_am_services_cbP22tls_base_application_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 163 NONAME
-	_ZN12tls_record_cC2EP18abs_eap_am_tools_cP17tls_am_services_cbP22tls_base_application_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 164 NONAME
-	_ZN12tls_record_cD0Ev @ 165 NONAME
-	_ZN12tls_record_cD1Ev @ 166 NONAME
-	_ZN12tls_record_cD2Ev @ 167 NONAME
-	_ZN13tls_message_c16add_message_dataEP19eap_variable_data_cPb @ 168 NONAME
-	_ZN13tls_message_c18add_record_messageEP20tls_record_message_cbb @ 169 NONAME
-	_ZN13tls_message_c18save_analyse_indexEm @ 170 NONAME
-	_ZN13tls_message_c20fragment_tls_recordsEP20tls_record_message_cP11eap_array_cIS0_E @ 171 NONAME
-	_ZN13tls_message_c20get_tls_message_dataEv @ 172 NONAME
-	_ZN13tls_message_c20set_tls_message_dataEP19eap_variable_data_ch @ 173 NONAME
-	_ZN13tls_message_c21remove_record_messageEm @ 174 NONAME
-	_ZN13tls_message_c27get_received_eap_identifierEv @ 175 NONAME
-	_ZN13tls_message_c5resetEv @ 176 NONAME
-	_ZN13tls_message_cC1EP18abs_eap_am_tools_cP22abs_tls_message_hash_cP27abs_tls_apply_cipher_spec_cP28abs_tls_change_cipher_spec_cb @ 177 NONAME
-	_ZN13tls_message_cC2EP18abs_eap_am_tools_cP22abs_tls_message_hash_cP27abs_tls_apply_cipher_spec_cP28abs_tls_change_cipher_spec_cb @ 178 NONAME
-	_ZN13tls_message_cD0Ev @ 179 NONAME
-	_ZN13tls_message_cD1Ev @ 180 NONAME
-	_ZN13tls_message_cD2Ev @ 181 NONAME
-	_ZN16dummy_eap_core_c11get_partnerEv @ 182 NONAME
-	_ZN16dummy_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 183 NONAME
-	_ZN16dummy_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 184 NONAME
-	_ZN16dummy_eap_core_c11set_partnerEP14abs_eap_core_c @ 185 NONAME
-	_ZN16dummy_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 186 NONAME
-	_ZN16dummy_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 187 NONAME
-	_ZN16dummy_eap_core_c12get_is_validEv @ 188 NONAME
-	_ZN16dummy_eap_core_c12set_is_validEv @ 189 NONAME
-	_ZN16dummy_eap_core_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm @ 190 NONAME
-	_ZN16dummy_eap_core_c13timer_expiredEmPv @ 191 NONAME
-	_ZN16dummy_eap_core_c13unload_moduleE19eap_expanded_type_c @ 192 NONAME
-	_ZN16dummy_eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 193 NONAME
-	_ZN16dummy_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 194 NONAME
-	_ZN16dummy_eap_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 195 NONAME
-	_ZN16dummy_eap_core_c15reset_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 196 NONAME
-	_ZN16dummy_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 197 NONAME
-	_ZN16dummy_eap_core_c16send_eap_failureEPK19eap_am_network_id_ch @ 198 NONAME
-	_ZN16dummy_eap_core_c16send_eap_successEPK19eap_am_network_id_ch @ 199 NONAME
-	_ZN16dummy_eap_core_c16trace_eap_packetEPKcPK15eap_header_wr_c @ 200 NONAME
-	_ZN16dummy_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 201 NONAME
-	_ZN16dummy_eap_core_c17get_header_offsetEPmS0_ @ 202 NONAME
-	_ZN16dummy_eap_core_c17timer_delete_dataEmPv @ 203 NONAME
-	_ZN16dummy_eap_core_c18get_marked_removedEv @ 204 NONAME
-	_ZN16dummy_eap_core_c18set_marked_removedEv @ 205 NONAME
-	_ZN16dummy_eap_core_c18shutdown_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 206 NONAME
-	_ZN16dummy_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 207 NONAME
-	_ZN16dummy_eap_core_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 208 NONAME
-	_ZN16dummy_eap_core_c19packet_process_typeE19eap_expanded_type_cPK19eap_am_network_id_cP25eap_general_header_base_cm @ 209 NONAME
-	_ZN16dummy_eap_core_c19set_session_timeoutEm @ 210 NONAME
-	_ZN16dummy_eap_core_c20ignore_notificationsEv @ 211 NONAME
-	_ZN16dummy_eap_core_c20unset_marked_removedEv @ 212 NONAME
-	_ZN16dummy_eap_core_c21cancel_retransmissionEv @ 213 NONAME
-	_ZN16dummy_eap_core_c21restart_with_new_typeE19eap_expanded_type_cPK19eap_am_network_id_ch @ 214 NONAME
-	_ZN16dummy_eap_core_c21send_eap_nak_responseEPK19eap_am_network_id_chPK11eap_array_cI19eap_expanded_type_cE @ 215 NONAME
-	_ZN16dummy_eap_core_c22cancel_session_timeoutEv @ 216 NONAME
-	_ZN16dummy_eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 217 NONAME
-	_ZN16dummy_eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 218 NONAME
-	_ZN16dummy_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 219 NONAME
-	_ZN16dummy_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 220 NONAME
-	_ZN16dummy_eap_core_c23set_authentication_roleEb @ 221 NONAME
-	_ZN16dummy_eap_core_c23set_eap_failure_timeoutEv @ 222 NONAME
-	_ZN16dummy_eap_core_c25client_proposes_eap_typesEPK19eap_am_network_id_ch @ 223 NONAME
-	_ZN16dummy_eap_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 224 NONAME
-	_ZN16dummy_eap_core_c26cancel_eap_failure_timeoutEv @ 225 NONAME
-	_ZN16dummy_eap_core_c26initialize_session_timeoutEm @ 226 NONAME
-	_ZN16dummy_eap_core_c26send_eap_identity_responseEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 227 NONAME
-	_ZN16dummy_eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 228 NONAME
-	_ZN16dummy_eap_core_c27handle_eap_identity_requestE19eap_expanded_type_chPK19eap_am_network_id_c @ 229 NONAME
-	_ZN16dummy_eap_core_c28create_eap_identity_responseEP18eap_buf_chain_wr_cPK19eap_variable_data_ch @ 230 NONAME
-	_ZN16dummy_eap_core_c28handle_eap_identity_responseEP15eap_base_type_c19eap_expanded_type_cPK19eap_am_network_id_cP15eap_header_wr_cm @ 231 NONAME
-	_ZN16dummy_eap_core_c30send_eap_notification_responseEPK19eap_am_network_id_ch @ 232 NONAME
-	_ZN16dummy_eap_core_c31object_decrease_reference_countEv @ 233 NONAME
-	_ZN16dummy_eap_core_c31object_increase_reference_countEv @ 234 NONAME
-	_ZN16dummy_eap_core_c36asynchronous_init_remove_eap_sessionEv @ 235 NONAME
-	_ZN16dummy_eap_core_c43cancel_asynchronous_init_remove_eap_sessionEv @ 236 NONAME
-	_ZN16dummy_eap_core_c47initialize_asynchronous_init_remove_eap_sessionEm @ 237 NONAME
-	_ZN16dummy_eap_core_c5resetEv @ 238 NONAME
-	_ZN16dummy_eap_core_c8shutdownEv @ 239 NONAME
-	_ZN16dummy_eap_core_c9configureEv @ 240 NONAME
-	_ZN16dummy_eap_core_c9load_typeE19eap_expanded_type_cS0_PK19eap_am_network_id_c @ 241 NONAME
-	_ZN16dummy_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 242 NONAME
-	_ZN16dummy_eap_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 243 NONAME
-	_ZN16dummy_eap_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 244 NONAME
-	_ZN16dummy_eap_core_cD0Ev @ 245 NONAME
-	_ZN16dummy_eap_core_cD1Ev @ 246 NONAME
-	_ZN16dummy_eap_core_cD2Ev @ 247 NONAME
-	_ZN16tls_completion_c12get_is_validEv @ 248 NONAME
-	_ZN16tls_completion_c12set_is_validEv @ 249 NONAME
-	_ZN16tls_completion_c21set_completion_actionE23tls_completion_action_e @ 250 NONAME
-	_ZN16tls_completion_cC1EP18abs_eap_am_tools_c23tls_completion_action_e @ 251 NONAME
-	_ZN16tls_completion_cC2EP18abs_eap_am_tools_c23tls_completion_action_e @ 252 NONAME
-	_ZN16tls_completion_cD0Ev @ 253 NONAME
-	_ZN16tls_completion_cD1Ev @ 254 NONAME
-	_ZN16tls_completion_cD2Ev @ 255 NONAME
-	_ZN17mschapv2_header_c10set_opcodeE17mschapv2_opcode_e @ 256 NONAME
-	_ZN17mschapv2_header_c13set_ms_lengthEt @ 257 NONAME
-	_ZN17mschapv2_header_c15set_mschapv2_idEh @ 258 NONAME
-	_ZN17mschapv2_header_cC1EP18abs_eap_am_tools_cPvm @ 259 NONAME
-	_ZN17mschapv2_header_cC2EP18abs_eap_am_tools_cPvm @ 260 NONAME
-	_ZN17mschapv2_header_cD0Ev @ 261 NONAME
-	_ZN17mschapv2_header_cD1Ev @ 262 NONAME
-	_ZN17mschapv2_header_cD2Ev @ 263 NONAME
-	_ZN17tls_base_record_c16get_type_partnerEv @ 264 NONAME
-	_ZN17tls_base_record_c16set_type_partnerEP21abs_tls_base_record_c @ 265 NONAME
-	_ZN17tls_base_record_cC2EP18abs_eap_am_tools_c @ 266 NONAME
-	_ZN17tls_base_record_cD0Ev @ 267 NONAME
-	_ZN17tls_base_record_cD1Ev @ 268 NONAME
-	_ZN17tls_base_record_cD2Ev @ 269 NONAME
-	_ZN19eap_type_tls_peap_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 270 NONAME
-	_ZN19eap_type_tls_peap_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 271 NONAME
-	_ZN19eap_type_tls_peap_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 272 NONAME
-	_ZN19eap_type_tls_peap_c12cancel_timerEP20abs_eap_base_timer_cm @ 273 NONAME
-	_ZN19eap_type_tls_peap_c12generate_naiEP19eap_variable_data_cPKS0_S3_ @ 274 NONAME
-	_ZN19eap_type_tls_peap_c12get_is_validEv @ 275 NONAME
-	_ZN19eap_type_tls_peap_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 276 NONAME
-	_ZN19eap_type_tls_peap_c12set_is_validEv @ 277 NONAME
-	_ZN19eap_type_tls_peap_c13get_is_clientEv @ 278 NONAME
-	_ZN19eap_type_tls_peap_c13get_nai_realmEv @ 279 NONAME
-	_ZN19eap_type_tls_peap_c13timer_expiredEmPv @ 280 NONAME
-	_ZN19eap_type_tls_peap_c13unload_moduleE19eap_expanded_type_c @ 281 NONAME
-	_ZN19eap_type_tls_peap_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 282 NONAME
-	_ZN19eap_type_tls_peap_c14parse_identityEPKhm @ 283 NONAME
-	_ZN19eap_type_tls_peap_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 284 NONAME
-	_ZN19eap_type_tls_peap_c15eap_acknowledgeEPK19eap_am_network_id_c @ 285 NONAME
-	_ZN19eap_type_tls_peap_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 286 NONAME
-	_ZN19eap_type_tls_peap_c16get_state_stringE34eap_type_tls_peap_state_variable_e @ 287 NONAME
-	_ZN19eap_type_tls_peap_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 288 NONAME
-	_ZN19eap_type_tls_peap_c17get_header_offsetEPmS0_ @ 289 NONAME
-	_ZN19eap_type_tls_peap_c17peap_tunnel_readyEv @ 290 NONAME
-	_ZN19eap_type_tls_peap_c17timer_delete_dataEmPv @ 291 NONAME
-	_ZN19eap_type_tls_peap_c18check_version_listEtPh @ 292 NONAME
-	_ZN19eap_type_tls_peap_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 293 NONAME
-	_ZN19eap_type_tls_peap_c18save_current_stateEv @ 294 NONAME
-	_ZN19eap_type_tls_peap_c18send_empty_eap_ackEv @ 295 NONAME
-	_ZN19eap_type_tls_peap_c18state_notificationEPK28abs_eap_state_notification_c @ 296 NONAME
-	_ZN19eap_type_tls_peap_c19get_send_network_idEv @ 297 NONAME
-	_ZN19eap_type_tls_peap_c19select_peap_versionEm @ 298 NONAME
-	_ZN19eap_type_tls_peap_c19set_session_timeoutEm @ 299 NONAME
-	_ZN19eap_type_tls_peap_c19tls_message_processEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 300 NONAME
-	_ZN19eap_type_tls_peap_c20get_tls_session_typeEv @ 301 NONAME
-	_ZN19eap_type_tls_peap_c20set_reassembly_stateE36eap_type_tls_peap_reassembly_state_e @ 302 NONAME
-	_ZN19eap_type_tls_peap_c20set_tls_session_typeE18tls_session_type_e @ 303 NONAME
-	_ZN19eap_type_tls_peap_c20tls_peap_packet_sendEP18eap_buf_chain_wr_cmmmb @ 304 NONAME
-	_ZN19eap_type_tls_peap_c21parse_tls_peap_packetEP21eap_tls_peap_header_cm @ 305 NONAME
-	_ZN19eap_type_tls_peap_c21set_tls_master_secretEPK19eap_variable_data_c @ 306 NONAME
-	_ZN19eap_type_tls_peap_c21update_buffer_indexesEmmPmS0_ @ 307 NONAME
-	_ZN19eap_type_tls_peap_c22handle_tls_peap_packetEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 308 NONAME
-	_ZN19eap_type_tls_peap_c22parse_tls_peap_payloadEPm @ 309 NONAME
-	_ZN19eap_type_tls_peap_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 310 NONAME
-	_ZN19eap_type_tls_peap_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 311 NONAME
-	_ZN19eap_type_tls_peap_c23analyse_tls_peap_packetEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 312 NONAME
-	_ZN19eap_type_tls_peap_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 313 NONAME
-	_ZN19eap_type_tls_peap_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 314 NONAME
-	_ZN19eap_type_tls_peap_c23send_final_notificationEv @ 315 NONAME
-	_ZN19eap_type_tls_peap_c23set_last_eap_identifierEh @ 316 NONAME
-	_ZN19eap_type_tls_peap_c23tls_peap_packet_processEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 317 NONAME
-	_ZN19eap_type_tls_peap_c25handle_eap_identity_queryEPK19eap_variable_data_cPK19eap_am_network_id_chbS2_bS2_ @ 318 NONAME
-	_ZN19eap_type_tls_peap_c26create_random_eap_identityEP19eap_variable_data_c @ 319 NONAME
-	_ZN19eap_type_tls_peap_c26eap_tls_peap_fragment_sendEv @ 320 NONAME
-	_ZN19eap_type_tls_peap_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 321 NONAME
-	_ZN19eap_type_tls_peap_c27complete_eap_identity_queryEPK19eap_variable_data_cPK19eap_am_network_id_ch12eap_status_ebS2_bS2_ @ 322 NONAME
-	_ZN19eap_type_tls_peap_c27get_reassembly_state_stringE36eap_type_tls_peap_reassembly_state_e @ 323 NONAME
-	_ZN19eap_type_tls_peap_c27send_tls_peap_start_messageEhPK19eap_variable_data_c @ 324 NONAME
-	_ZN19eap_type_tls_peap_c28create_eap_fast_mac_identityEPK19eap_am_network_id_cP19eap_variable_data_c @ 325 NONAME
-	_ZN19eap_type_tls_peap_c28restore_saved_previous_stateEv @ 326 NONAME
-	_ZN19eap_type_tls_peap_c28set_failure_message_receivedEv @ 327 NONAME
-	_ZN19eap_type_tls_peap_c29save_current_reassembly_stateEv @ 328 NONAME
-	_ZN19eap_type_tls_peap_c29start_tls_peap_authenticationEPK19eap_variable_data_c @ 329 NONAME
-	_ZN19eap_type_tls_peap_c30restore_saved_reassembly_stateEv @ 330 NONAME
-	_ZN19eap_type_tls_peap_c30unset_failure_message_receivedEv @ 331 NONAME
-	_ZN19eap_type_tls_peap_c32finish_successful_authenticationEbbb @ 332 NONAME
-	_ZN19eap_type_tls_peap_c32handle_identity_response_messageEP15eap_header_rd_cm @ 333 NONAME
-	_ZN19eap_type_tls_peap_c36eap_identity_response_packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 334 NONAME
-	_ZN19eap_type_tls_peap_c5resetEv @ 335 NONAME
-	_ZN19eap_type_tls_peap_c7get_NAIEv @ 336 NONAME
-	_ZN19eap_type_tls_peap_c8shutdownEv @ 337 NONAME
-	_ZN19eap_type_tls_peap_c9check_NAIEPKhmS1_ @ 338 NONAME
-	_ZN19eap_type_tls_peap_c9configureEv @ 339 NONAME
-	_ZN19eap_type_tls_peap_c9set_stateE34eap_type_tls_peap_state_variable_e @ 340 NONAME
-	_ZN19eap_type_tls_peap_c9set_timerEP20abs_eap_base_timer_cmPvm @ 341 NONAME
-	_ZN19eap_type_tls_peap_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_tls_peap_cbP17tls_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 342 NONAME
-	_ZN19eap_type_tls_peap_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_tls_peap_cbP17tls_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 343 NONAME
-	_ZN19eap_type_tls_peap_cD0Ev @ 344 NONAME
-	_ZN19eap_type_tls_peap_cD1Ev @ 345 NONAME
-	_ZN19eap_type_tls_peap_cD2Ev @ 346 NONAME
-	_ZN19mschapv2_response_c13set_constantsEv @ 347 NONAME
-	_ZN19mschapv2_response_c15set_nt_responseEPKh @ 348 NONAME
-	_ZN19mschapv2_response_c18set_peer_challengeEPKh @ 349 NONAME
-	_ZN19mschapv2_response_c23get_header_minimum_sizeEv @ 350 NONAME
-	_ZN19mschapv2_response_c8set_nameEPKh @ 351 NONAME
-	_ZN19mschapv2_response_cC1EP18abs_eap_am_tools_cPvm @ 352 NONAME
-	_ZN19mschapv2_response_cC2EP18abs_eap_am_tools_cPvm @ 353 NONAME
-	_ZN19mschapv2_response_cD0Ev @ 354 NONAME
-	_ZN19mschapv2_response_cD1Ev @ 355 NONAME
-	_ZN19mschapv2_response_cD2Ev @ 356 NONAME
-	_ZN19peap_tlv_payloads_c11get_nak_tlvEv @ 357 NONAME
-	_ZN19peap_tlv_payloads_c14check_payloadsENS_25peap_tlv_payload_status_eES0_S0_S0_S0_ @ 358 NONAME
-	_ZN19peap_tlv_payloads_c14get_result_tlvEv @ 359 NONAME
-	_ZN19peap_tlv_payloads_c17check_one_payloadENS_25peap_tlv_payload_status_eEPK24peap_tlv_variable_data_c @ 360 NONAME
-	_ZN19peap_tlv_payloads_c19get_eap_payload_tlvEv @ 361 NONAME
-	_ZN19peap_tlv_payloads_c22get_crypto_binding_tlvEv @ 362 NONAME
-	_ZN19peap_tlv_payloads_c27get_intermediate_result_tlvEv @ 363 NONAME
-	_ZN19peap_tlv_payloads_c5resetEv @ 364 NONAME
-	_ZN19peap_tlv_payloads_cC1EP18abs_eap_am_tools_c @ 365 NONAME
-	_ZN19peap_tlv_payloads_cC2EP18abs_eap_am_tools_c @ 366 NONAME
-	_ZN19peap_tlv_payloads_cD0Ev @ 367 NONAME
-	_ZN19peap_tlv_payloads_cD1Ev @ 368 NONAME
-	_ZN19peap_tlv_payloads_cD2Ev @ 369 NONAME
-	_ZN19tls_alert_message_c12get_is_validEv @ 370 NONAME
-	_ZN19tls_alert_message_c12set_is_validEv @ 371 NONAME
-	_ZN19tls_alert_message_c15set_alert_levelE17tls_alert_level_e @ 372 NONAME
-	_ZN19tls_alert_message_c16add_message_dataEP19eap_variable_data_c @ 373 NONAME
-	_ZN19tls_alert_message_c19create_message_dataEv @ 374 NONAME
-	_ZN19tls_alert_message_c21set_alert_descriptionE23tls_alert_description_e @ 375 NONAME
-	_ZN19tls_alert_message_cC1EP18abs_eap_am_tools_cb @ 376 NONAME
-	_ZN19tls_alert_message_cC2EP18abs_eap_am_tools_cb @ 377 NONAME
-	_ZN19tls_alert_message_cD0Ev @ 378 NONAME
-	_ZN19tls_alert_message_cD1Ev @ 379 NONAME
-	_ZN19tls_alert_message_cD2Ev @ 380 NONAME
-	_ZN20mschapv2_challenge_c13set_challengeEPKh @ 381 NONAME
-	_ZN20mschapv2_challenge_c14set_value_sizeEv @ 382 NONAME
-	_ZN20mschapv2_challenge_c23get_header_minimum_sizeEv @ 383 NONAME
-	_ZN20mschapv2_challenge_c8set_nameEPKh @ 384 NONAME
-	_ZN20mschapv2_challenge_cC1EP18abs_eap_am_tools_cPvm @ 385 NONAME
-	_ZN20mschapv2_challenge_cC2EP18abs_eap_am_tools_cPvm @ 386 NONAME
-	_ZN20mschapv2_challenge_cD0Ev @ 387 NONAME
-	_ZN20mschapv2_challenge_cD1Ev @ 388 NONAME
-	_ZN20mschapv2_challenge_cD2Ev @ 389 NONAME
-	_ZN20tls_record_message_c11set_versionE13tls_version_e @ 390 NONAME
-	_ZN20tls_record_message_c12get_is_validEv @ 391 NONAME
-	_ZN20tls_record_message_c12set_is_validEv @ 392 NONAME
-	_ZN20tls_record_message_c12set_protocolE21tls_record_protocol_e @ 393 NONAME
-	_ZN20tls_record_message_c15add_data_lengthEm @ 394 NONAME
-	_ZN20tls_record_message_c16add_message_dataEv @ 395 NONAME
-	_ZN20tls_record_message_c17add_alert_messageEP19tls_alert_message_cb @ 396 NONAME
-	_ZN20tls_record_message_c17set_parsed_recordEv @ 397 NONAME
-	_ZN20tls_record_message_c18save_analyse_indexEm @ 398 NONAME
-	_ZN20tls_record_message_c21add_handshake_messageEP23tls_handshake_message_cb @ 399 NONAME
-	_ZN20tls_record_message_c22set_record_header_copyEPK19tls_record_header_c @ 400 NONAME
-	_ZN20tls_record_message_c23get_record_message_dataEv @ 401 NONAME
-	_ZN20tls_record_message_c23set_record_message_dataEPvm @ 402 NONAME
-	_ZN20tls_record_message_c24set_cipher_suite_appliedEv @ 403 NONAME
-	_ZN20tls_record_message_c28add_application_data_messageEP30tls_application_data_message_cb @ 404 NONAME
-	_ZN20tls_record_message_c30add_change_cipher_spec_messageEP32tls_change_cipher_spec_message_cb @ 405 NONAME
-	_ZN20tls_record_message_c33set_tls_record_header_is_includedEb @ 406 NONAME
-	_ZN20tls_record_message_cC1EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 407 NONAME
-	_ZN20tls_record_message_cC2EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 408 NONAME
-	_ZN20tls_record_message_cD0Ev @ 409 NONAME
-	_ZN20tls_record_message_cD1Ev @ 410 NONAME
-	_ZN20tls_record_message_cD2Ev @ 411 NONAME
-	_ZN21eap_tls_peap_header_c12reset_headerEP18abs_eap_am_tools_c19eap_expanded_type_cm14peap_version_eb @ 412 NONAME
-	_ZN21eap_tls_peap_header_c12set_eap_codeE16eap_code_value_e @ 413 NONAME
-	_ZN21eap_tls_peap_header_c12set_eap_typeE19eap_expanded_type_cb @ 414 NONAME
-	_ZN21eap_tls_peap_header_c14set_eap_lengthEtb @ 415 NONAME
-	_ZN21eap_tls_peap_header_c14set_flag_startEb @ 416 NONAME
-	_ZN21eap_tls_peap_header_c15set_data_lengthEmb @ 417 NONAME
-	_ZN21eap_tls_peap_header_c16set_flag_versionEh @ 418 NONAME
-	_ZN21eap_tls_peap_header_c17set_flag_reservedEh @ 419 NONAME
-	_ZN21eap_tls_peap_header_c18set_eap_identifierEh @ 420 NONAME
-	_ZN21eap_tls_peap_header_c22set_tls_message_lengthEm @ 421 NONAME
-	_ZN21eap_tls_peap_header_c23set_flag_more_fragmentsEb @ 422 NONAME
-	_ZN21eap_tls_peap_header_c25get_tls_max_header_lengthEv @ 423 NONAME
-	_ZN21eap_tls_peap_header_c28set_flag_tls_length_includedEb @ 424 NONAME
-	_ZN21eap_tls_peap_header_cC1EP18abs_eap_am_tools_cPhm @ 425 NONAME
-	_ZN21eap_tls_peap_header_cC2EP18abs_eap_am_tools_cPhm @ 426 NONAME
-	_ZN21eap_tls_peap_header_cD0Ev @ 427 NONAME
-	_ZN21eap_tls_peap_header_cD1Ev @ 428 NONAME
-	_ZN21eap_tls_peap_header_cD2Ev @ 429 NONAME
-	_ZN22eap_tls_trace_string_c16get_state_stringE16tls_peap_state_e @ 430 NONAME
-	_ZN22eap_tls_trace_string_c21get_ttls_state_stringE33eap_ttls_tunneled_message_state_e @ 431 NONAME
-	_ZN22eap_tls_trace_string_c22get_alert_level_stringE17tls_alert_level_e @ 432 NONAME
-	_ZN22eap_tls_trace_string_c23get_cipher_suite_stringE19tls_cipher_suites_e @ 433 NONAME
-	_ZN22eap_tls_trace_string_c23get_peap_version_stringE14peap_version_e @ 434 NONAME
-	_ZN22eap_tls_trace_string_c27get_certificate_type_stringE22tls_certificate_type_e @ 435 NONAME
-	_ZN22eap_tls_trace_string_c27get_tls_session_type_stringE18tls_session_type_e @ 436 NONAME
-	_ZN22eap_tls_trace_string_c28get_alert_description_stringE23tls_alert_description_e @ 437 NONAME
-	_ZN22eap_tls_trace_string_c29get_compression_method_stringE24tls_compression_method_e @ 438 NONAME
-	_ZN22eap_tls_trace_string_c47get_tls_identity_privacy_handshake_state_stringE38tls_identity_privacy_handshake_state_e @ 439 NONAME
-	_ZN22eap_tls_trace_string_cC1Ev @ 440 NONAME
-	_ZN22eap_tls_trace_string_cC2Ev @ 441 NONAME
-	_ZN22eap_tls_trace_string_cD0Ev @ 442 NONAME
-	_ZN22eap_tls_trace_string_cD1Ev @ 443 NONAME
-	_ZN22eap_tls_trace_string_cD2Ev @ 444 NONAME
-	_ZN22tls_base_application_cD0Ev @ 445 NONAME
-	_ZN22tls_base_application_cD1Ev @ 446 NONAME
-	_ZN22tls_base_application_cD2Ev @ 447 NONAME
-	_ZN23eap_diameter_avp_code_c12is_ietf_codeES_ @ 448 NONAME
-	_ZN23eap_diameter_avp_code_c13get_code_dataEP18abs_eap_am_tools_cP31eap_diameter_avp_code_of_ietf_e @ 449 NONAME
-	_ZN23eap_diameter_avp_code_c13get_code_dataEP18abs_eap_am_tools_cPS_ @ 450 NONAME
-	_ZN23eap_diameter_avp_code_c15set_code_valuesE24eap_diameter_vendor_id_em @ 451 NONAME
-	_ZN23eap_diameter_avp_code_cC1E24eap_diameter_vendor_id_em @ 452 NONAME
-	_ZN23eap_diameter_avp_code_cC1E31eap_diameter_avp_code_of_ietf_e @ 453 NONAME
-	_ZN23eap_diameter_avp_code_cC1Ev @ 454 NONAME
-	_ZN23eap_diameter_avp_code_cC2E24eap_diameter_vendor_id_em @ 455 NONAME
-	_ZN23eap_diameter_avp_code_cC2E31eap_diameter_avp_code_of_ietf_e @ 456 NONAME
-	_ZN23eap_diameter_avp_code_cC2Ev @ 457 NONAME
-	_ZN23eap_diameter_avp_code_cD1Ev @ 458 NONAME
-	_ZN23eap_diameter_avp_code_cD2Ev @ 459 NONAME
-	_ZN23eap_diameter_avp_code_caSE31eap_diameter_avp_code_of_ietf_e @ 460 NONAME
-	_ZN23eap_diameter_avp_code_caSERKS_ @ 461 NONAME
-	_ZN23eap_diameter_avp_code_cadEv @ 462 NONAME
-	_ZN23eap_diameter_payloads_c11add_payloadE23eap_diameter_avp_code_cbPKhmbbb @ 463 NONAME
-	_ZN23eap_diameter_payloads_c11get_payloadE23eap_diameter_avp_code_c @ 464 NONAME
-	_ZN23eap_diameter_payloads_c21parse_generic_payloadE23eap_diameter_avp_code_cPK25eap_diameter_avp_header_c @ 465 NONAME
-	_ZN23eap_diameter_payloads_c23parse_diameter_payloadsEPK25eap_diameter_avp_header_cPm @ 466 NONAME
-	_ZN23eap_diameter_payloads_c24check_mandatory_payloadsEPK11eap_array_cI23eap_diameter_avp_code_cE @ 467 NONAME
-	_ZN23eap_diameter_payloads_c24check_payloads_existenseEPK11eap_array_cI23eap_diameter_avp_code_cE @ 468 NONAME
-	_ZN23eap_diameter_payloads_c5resetEv @ 469 NONAME
-	_ZN23eap_diameter_payloads_cC1EP18abs_eap_am_tools_c @ 470 NONAME
-	_ZN23eap_diameter_payloads_cC2EP18abs_eap_am_tools_c @ 471 NONAME
-	_ZN23eap_diameter_payloads_cD0Ev @ 472 NONAME
-	_ZN23eap_diameter_payloads_cD1Ev @ 473 NONAME
-	_ZN23eap_diameter_payloads_cD2Ev @ 474 NONAME
-	_ZN23tls_handshake_message_c12get_is_validEv @ 475 NONAME
-	_ZN23tls_handshake_message_c12set_is_validEv @ 476 NONAME
-	_ZN23tls_handshake_message_c13set_dhe_primeEPK19eap_variable_data_c @ 477 NONAME
-	_ZN23tls_handshake_message_c14set_session_idEPK19eap_variable_data_c @ 478 NONAME
-	_ZN23tls_handshake_message_c15get_is_analysedEv @ 479 NONAME
-	_ZN23tls_handshake_message_c15set_is_analysedEv @ 480 NONAME
-	_ZN23tls_handshake_message_c16add_message_dataEP19eap_variable_data_c @ 481 NONAME
-	_ZN23tls_handshake_message_c16set_random_valueEPK19eap_variable_data_c @ 482 NONAME
-	_ZN23tls_handshake_message_c17set_cipher_suitesEPK11eap_array_cItE @ 483 NONAME
-	_ZN23tls_handshake_message_c17set_finished_dataEPK19eap_variable_data_c @ 484 NONAME
-	_ZN23tls_handshake_message_c18set_handshake_typeE20tls_handshake_type_e @ 485 NONAME
-	_ZN23tls_handshake_message_c18set_public_dhe_keyEPK19eap_variable_data_c @ 486 NONAME
-	_ZN23tls_handshake_message_c19create_message_dataEv @ 487 NONAME
-	_ZN23tls_handshake_message_c21set_certificate_chainEPK11eap_array_cI19eap_variable_data_cE @ 488 NONAME
-	_ZN23tls_handshake_message_c21set_certificate_typesEPK11eap_array_cIhE @ 489 NONAME
-	_ZN23tls_handshake_message_c22u16_t_to_network_orderEPtP18abs_eap_am_tools_c @ 490 NONAME
-	_ZN23tls_handshake_message_c23set_compression_methodsEPK11eap_array_cIhE @ 491 NONAME
-	_ZN23tls_handshake_message_c23set_dhe_group_generatorEPK19eap_variable_data_c @ 492 NONAME
-	_ZN23tls_handshake_message_c23set_signed_message_hashEPK19eap_variable_data_c @ 493 NONAME
-	_ZN23tls_handshake_message_c25set_handshake_header_copyEPK22tls_handshake_header_c @ 494 NONAME
-	_ZN23tls_handshake_message_c25set_selected_cipher_suiteE19tls_cipher_suites_e @ 495 NONAME
-	_ZN23tls_handshake_message_c27set_certificate_authoritiesEPK11eap_array_cI19eap_variable_data_cE @ 496 NONAME
-	_ZN23tls_handshake_message_c30set_encrypted_premaster_secretEPK19eap_variable_data_c @ 497 NONAME
-	_ZN23tls_handshake_message_c31set_selected_compression_methodE24tls_compression_method_e @ 498 NONAME
-	_ZN23tls_handshake_message_cC1EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 499 NONAME
-	_ZN23tls_handshake_message_cC2EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 500 NONAME
-	_ZN23tls_handshake_message_cD0Ev @ 501 NONAME
-	_ZN23tls_handshake_message_cD1Ev @ 502 NONAME
-	_ZN23tls_handshake_message_cD2Ev @ 503 NONAME
-	_ZN24peap_tlv_variable_data_c10set_bufferEPK21tls_peap_tlv_header_cPhmbb @ 504 NONAME
-	_ZN24peap_tlv_variable_data_c18set_copy_of_bufferEPK21tls_peap_tlv_header_c @ 505 NONAME
-	_ZN24peap_tlv_variable_data_cC1EP18abs_eap_am_tools_c @ 506 NONAME
-	_ZN24peap_tlv_variable_data_cC2EP18abs_eap_am_tools_c @ 507 NONAME
-	_ZN24peap_tlv_variable_data_cD0Ev @ 508 NONAME
-	_ZN24peap_tlv_variable_data_cD1Ev @ 509 NONAME
-	_ZN24peap_tlv_variable_data_cD2Ev @ 510 NONAME
-	_ZN26mschapv2_change_password_c13set_constantsEv @ 511 NONAME
-	_ZN26mschapv2_change_password_c15set_nt_responseEPKh @ 512 NONAME
-	_ZN26mschapv2_change_password_c18set_encrypted_hashEPKh @ 513 NONAME
-	_ZN26mschapv2_change_password_c18set_peer_challengeEPKh @ 514 NONAME
-	_ZN26mschapv2_change_password_c22set_encrypted_pw_blockEPKh @ 515 NONAME
-	_ZN26mschapv2_change_password_c23get_header_minimum_sizeEv @ 516 NONAME
-	_ZN26mschapv2_change_password_cC1EP18abs_eap_am_tools_cPvm @ 517 NONAME
-	_ZN26mschapv2_change_password_cC2EP18abs_eap_am_tools_cPvm @ 518 NONAME
-	_ZN26mschapv2_change_password_cD0Ev @ 519 NONAME
-	_ZN26mschapv2_change_password_cD1Ev @ 520 NONAME
-	_ZN26mschapv2_change_password_cD2Ev @ 521 NONAME
-	_ZN26tls_application_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 522 NONAME
-	_ZN26tls_application_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 523 NONAME
-	_ZN26tls_application_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 524 NONAME
-	_ZN26tls_application_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 525 NONAME
-	_ZN26tls_application_eap_core_c12create_nonceEP19eap_variable_data_c @ 526 NONAME
-	_ZN26tls_application_eap_core_c12get_is_validEv @ 527 NONAME
-	_ZN26tls_application_eap_core_c12set_is_validEv @ 528 NONAME
-	_ZN26tls_application_eap_core_c13unload_moduleE19eap_expanded_type_c @ 529 NONAME
-	_ZN26tls_application_eap_core_c14alert_receivedE17tls_alert_level_e23tls_alert_description_e @ 530 NONAME
-	_ZN26tls_application_eap_core_c14packet_processEP19eap_variable_data_ch @ 531 NONAME
-	_ZN26tls_application_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 532 NONAME
-	_ZN26tls_application_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 533 NONAME
-	_ZN26tls_application_eap_core_c16query_tunnel_PACEPK24eap_fast_variable_data_c @ 534 NONAME
-	_ZN26tls_application_eap_core_c16set_peap_versionE14peap_version_ebb @ 535 NONAME
-	_ZN26tls_application_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 536 NONAME
-	_ZN26tls_application_eap_core_c17get_header_offsetEPmS0_ @ 537 NONAME
-	_ZN26tls_application_eap_core_c17peap_tunnel_readyEv @ 538 NONAME
-	_ZN26tls_application_eap_core_c18set_tunneled_stateE18tls_session_type_e @ 539 NONAME
-	_ZN26tls_application_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 540 NONAME
-	_ZN26tls_application_eap_core_c19packet_process_ttlsEP19eap_variable_data_chPm @ 541 NONAME
-	_ZN26tls_application_eap_core_c19set_session_timeoutEm @ 542 NONAME
-	_ZN26tls_application_eap_core_c19store_nonce_peap_v2EbP19peap_tlv_payloads_c @ 543 NONAME
-	_ZN26tls_application_eap_core_c20create_nonce_peap_v2Eb @ 544 NONAME
-	_ZN26tls_application_eap_core_c21parse_generic_payloadE19tls_peap_tlv_type_ePK21tls_peap_tlv_header_cP19peap_tlv_payloads_c @ 545 NONAME
-	_ZN26tls_application_eap_core_c21trace_tunneled_packetEPKcPK15eap_header_wr_c @ 546 NONAME
-	_ZN26tls_application_eap_core_c22packet_process_peap_v1EP19eap_variable_data_chPm @ 547 NONAME
-	_ZN26tls_application_eap_core_c22packet_process_peap_v2EP19eap_variable_data_chPm @ 548 NONAME
-	_ZN26tls_application_eap_core_c22parse_peap_tlv_payloadEPhPmP19peap_tlv_payloads_c @ 549 NONAME
-	_ZN26tls_application_eap_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 550 NONAME
-	_ZN26tls_application_eap_core_c23cancel_query_tunnel_PACEv @ 551 NONAME
-	_ZN26tls_application_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 552 NONAME
-	_ZN26tls_application_eap_core_c23check_ttls_eap_payloadsEP23eap_diameter_payloads_cP32eap_ttls_tunneled_message_type_e @ 553 NONAME
-	_ZN26tls_application_eap_core_c23get_application_partnerEv @ 554 NONAME
-	_ZN26tls_application_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 555 NONAME
-	_ZN26tls_application_eap_core_c23read_authority_identityEP19eap_variable_data_c @ 556 NONAME
-	_ZN26tls_application_eap_core_c23set_application_partnerEP26abs_tls_base_application_c @ 557 NONAME
-	_ZN26tls_application_eap_core_c24create_ttls_diameter_avpEP19eap_variable_data_cPKS0_23eap_diameter_avp_code_cb @ 558 NONAME
-	_ZN26tls_application_eap_core_c24packet_forward_to_tunnelEPK19eap_am_network_id_cP15eap_header_wr_cm @ 559 NONAME
-	_ZN26tls_application_eap_core_c25create_result_tlv_messageEP18eap_buf_chain_wr_c16eap_code_value_eh19tls_peap_tlv_type_e @ 560 NONAME
-	_ZN26tls_application_eap_core_c25empty_ack_packet_receivedEPK19eap_am_network_id_ch @ 561 NONAME
-	_ZN26tls_application_eap_core_c25packet_process_xp_peap_v0EP19eap_variable_data_chPm @ 562 NONAME
-	_ZN26tls_application_eap_core_c26send_ttls_ms_chapv2_packetEP15eap_header_wr_c @ 563 NONAME
-	_ZN26tls_application_eap_core_c29check_ttls_plain_pap_payloadsEP23eap_diameter_payloads_cP32eap_ttls_tunneled_message_type_e @ 564 NONAME
-	_ZN26tls_application_eap_core_c30create_eap_payload_tlv_messageEP18eap_buf_chain_wr_cPK15eap_header_wr_ch @ 565 NONAME
-	_ZN26tls_application_eap_core_c30handle_ttls_plain_pap_payloadsEP23eap_diameter_payloads_c32eap_ttls_tunneled_message_type_eh @ 566 NONAME
-	_ZN26tls_application_eap_core_c31create_compound_mac_key_peap_v2Eb @ 567 NONAME
-	_ZN26tls_application_eap_core_c31create_eap_diameter_avp_messageEP18eap_buf_chain_wr_cPK15eap_header_wr_ch @ 568 NONAME
-	_ZN26tls_application_eap_core_c32ttls_server_handles_pap_responseEP23eap_diameter_payloads_ch @ 569 NONAME
-	_ZN26tls_application_eap_core_c33create_crypto_binding_tlv_messageEP18eap_buf_chain_wr_c16eap_code_value_ehPK19eap_variable_data_ch @ 570 NONAME
-	_ZN26tls_application_eap_core_c33send_tunneled_acknowledge_peap_v2E16eap_code_value_eh @ 571 NONAME
-	_ZN26tls_application_eap_core_c34check_ttls_plain_mschapv2_payloadsEP23eap_diameter_payloads_cP32eap_ttls_tunneled_message_type_e @ 572 NONAME
-	_ZN26tls_application_eap_core_c34create_crypto_binding_compound_macEPK19eap_variable_data_cPK21tls_peap_tlv_header_cPS0_ @ 573 NONAME
-	_ZN26tls_application_eap_core_c34save_user_authorization_pac_opaqueEPK15tls_extension_c @ 574 NONAME
-	_ZN26tls_application_eap_core_c34start_peap_tunneled_authenticationEPK19eap_am_network_id_cbh18tls_session_type_eb @ 575 NONAME
-	_ZN26tls_application_eap_core_c34start_ttls_tunneled_authenticationEPK19eap_am_network_id_ch @ 576 NONAME
-	_ZN26tls_application_eap_core_c35create_compound_session_key_peap_v2Ev @ 577 NONAME
-	_ZN26tls_application_eap_core_c35handle_ttls_plain_mschapv2_payloadsEP23eap_diameter_payloads_c32eap_ttls_tunneled_message_type_eh @ 578 NONAME
-	_ZN26tls_application_eap_core_c35ttls_client_handles_ms_chapv2_errorEP23eap_diameter_payloads_ch @ 579 NONAME
-	_ZN26tls_application_eap_core_c35verify_tunneled_acknowledge_peap_v2Ev @ 580 NONAME
-	_ZN26tls_application_eap_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 581 NONAME
-	_ZN26tls_application_eap_core_c36send_tunneled_acknowledge_xp_peap_v0E16eap_code_value_eh @ 582 NONAME
-	_ZN26tls_application_eap_core_c37ttls_client_handles_ms_chapv2_successEP23eap_diameter_payloads_ch @ 583 NONAME
-	_ZN26tls_application_eap_core_c37ttls_server_handles_pap_reply_messageEP23eap_diameter_payloads_ch @ 584 NONAME
-	_ZN26tls_application_eap_core_c38create_intermediate_result_tlv_messageEP18eap_buf_chain_wr_c16eap_code_value_eh @ 585 NONAME
-	_ZN26tls_application_eap_core_c38ttls_server_handles_ms_chapv2_responseEP23eap_diameter_payloads_ch @ 586 NONAME
-	_ZN26tls_application_eap_core_c41finish_successfull_authentication_peap_v2Eh @ 587 NONAME
-	_ZN26tls_application_eap_core_c41plain_eap_success_failure_packet_receivedEPK19eap_am_network_id_c16eap_code_value_eh @ 588 NONAME
-	_ZN26tls_application_eap_core_c44ttls_tunneled_message_state_process_responseEP15eap_header_wr_c @ 589 NONAME
-	_ZN26tls_application_eap_core_c45complete_query_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_12eap_status_e @ 590 NONAME
-	_ZN26tls_application_eap_core_c45ttls_server_handles_ms_chapv2_change_passwordEP23eap_diameter_payloads_ch @ 591 NONAME
-	_ZN26tls_application_eap_core_c46complete_verify_ttls_pap_username_and_passwordE12eap_status_ePK19eap_variable_data_c @ 592 NONAME
-	_ZN26tls_application_eap_core_c47create_eap_success_failure_in_forward_to_tunnelEPK19eap_am_network_id_c16eap_code_value_eh @ 593 NONAME
-	_ZN26tls_application_eap_core_c49ttls_tunneled_message_state_process_error_requestEP15eap_header_wr_c @ 594 NONAME
-	_ZN26tls_application_eap_core_c50ttls_tunneled_message_state_complete_error_requestEP15eap_header_wr_c @ 595 NONAME
-	_ZN26tls_application_eap_core_c51ttls_tunneled_message_state_process_success_requestEP15eap_header_wr_c @ 596 NONAME
-	_ZN26tls_application_eap_core_c52ttls_tunneled_message_state_complete_success_requestEP15eap_header_wr_c @ 597 NONAME
-	_ZN26tls_application_eap_core_c52ttls_tunneled_message_state_process_identity_requestEP15eap_header_wr_c @ 598 NONAME
-	_ZN26tls_application_eap_core_c53ttls_tunneled_message_state_process_challenge_requestEP15eap_header_wr_c @ 599 NONAME
-	_ZN26tls_application_eap_core_c53ttls_tunneled_message_state_process_identity_responseEP15eap_header_wr_c @ 600 NONAME
-	_ZN26tls_application_eap_core_c5resetEv @ 601 NONAME
-	_ZN26tls_application_eap_core_c60ttls_tunneled_message_state_process_change_password_responseEP15eap_header_wr_c @ 602 NONAME
-	_ZN26tls_application_eap_core_c8shutdownEv @ 603 NONAME
-	_ZN26tls_application_eap_core_c9configureEv @ 604 NONAME
-	_ZN26tls_application_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 605 NONAME
-	_ZN26tls_application_eap_core_cC1EP18abs_eap_am_tools_cP10eap_core_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 606 NONAME
-	_ZN26tls_application_eap_core_cC2EP18abs_eap_am_tools_cP10eap_core_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 607 NONAME
-	_ZN26tls_application_eap_core_cD0Ev @ 608 NONAME
-	_ZN26tls_application_eap_core_cD1Ev @ 609 NONAME
-	_ZN26tls_application_eap_core_cD2Ev @ 610 NONAME
-	_ZN28eap_diameter_variable_data_c10set_bufferE23eap_diameter_avp_code_cbPKhmbb @ 611 NONAME
-	_ZN28eap_diameter_variable_data_c16set_payload_codeE23eap_diameter_avp_code_c @ 612 NONAME
-	_ZN28eap_diameter_variable_data_c18get_payload_bufferEv @ 613 NONAME
-	_ZN28eap_diameter_variable_data_c31object_increase_reference_countEv @ 614 NONAME
-	_ZN28eap_diameter_variable_data_c8add_dataEPKhm @ 615 NONAME
-	_ZN28eap_diameter_variable_data_cC1EP18abs_eap_am_tools_c @ 616 NONAME
-	_ZN28eap_diameter_variable_data_cC2EP18abs_eap_am_tools_c @ 617 NONAME
-	_ZN28eap_diameter_variable_data_cD0Ev @ 618 NONAME
-	_ZN28eap_diameter_variable_data_cD1Ev @ 619 NONAME
-	_ZN28eap_diameter_variable_data_cD2Ev @ 620 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c11DlgCompleteEi @ 621 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c11query_realmEPK11eap_array_cI19eap_variable_data_cE @ 622 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c12get_is_validEv @ 623 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c12set_is_validEv @ 624 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c13timer_expiredEmPv @ 625 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c14alert_receivedE17tls_alert_level_e23tls_alert_description_e @ 626 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c16save_tls_sessionEPK19eap_variable_data_cS2_19tls_cipher_suites_e @ 627 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c16set_peap_versionE14peap_version_ebb @ 628 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 629 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c17timer_delete_dataEmPv @ 630 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c18cancel_query_realmEv @ 631 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c18get_tls_am_partnerEv @ 632 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c18query_eap_identityEP19eap_variable_data_cPK19eap_am_network_id_chPbS1_S5_S1_ @ 633 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c18set_tls_am_partnerEP21abs_tls_am_services_c @ 634 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c19query_dh_parametersEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 635 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 636 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 637 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c21cancel_identity_queryEv @ 638 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c21sign_with_private_keyEPK19eap_variable_data_c @ 639 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c22verify_with_public_keyEPK19eap_variable_data_cS2_ @ 640 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c23authentication_finishedEb18tls_session_type_e @ 641 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c23query_certificate_chainEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE19tls_cipher_suites_e @ 642 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c24verify_certificate_chainEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 643 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c25is_ttls_pap_session_validEv @ 644 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c26cancel_query_dh_parametersEv @ 645 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c26notify_configuration_errorE12eap_status_e @ 646 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c27cancel_query_dsa_parametersEv @ 647 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c27rsa_encrypt_with_public_keyEPK19eap_variable_data_c @ 648 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c28cancel_sign_with_private_keyEv @ 649 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c28rsa_decrypt_with_private_keyEPK19eap_variable_data_c @ 650 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c29cancel_verify_with_public_keyEv @ 651 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c30cancel_query_certificate_chainEv @ 652 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c31cancel_verify_certificate_chainEv @ 653 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c34cancel_rsa_encrypt_with_public_keyEv @ 654 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c35cancel_rsa_decrypt_with_private_keyEv @ 655 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 656 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c39query_certificate_authorities_and_typesEv @ 657 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c40query_cipher_suites_and_previous_sessionEv @ 658 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c40select_cipher_suite_and_check_session_idEPK11eap_array_cItEPK19eap_variable_data_c @ 659 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c46cancel_query_certificate_authorities_and_typesEv @ 660 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c47cancel_query_cipher_suites_and_previous_sessionEv @ 661 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c47cancel_select_cipher_suite_and_check_session_idEv @ 662 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c5resetEv @ 663 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c8shutdownEv @ 664 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_c9configureEv @ 665 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_cD0Ev @ 666 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_cD1Ev @ 667 NONAME
-	_ZN30eap_am_type_tls_peap_symbian_cD2Ev @ 668 NONAME
-	_ZN30tls_application_data_message_c12get_is_validEv @ 669 NONAME
-	_ZN30tls_application_data_message_c12set_is_validEv @ 670 NONAME
-	_ZN30tls_application_data_message_c15get_is_analysedEv @ 671 NONAME
-	_ZN30tls_application_data_message_c15set_is_analysedEv @ 672 NONAME
-	_ZN30tls_application_data_message_c16add_message_dataEP19eap_variable_data_c @ 673 NONAME
-	_ZN30tls_application_data_message_c20get_application_dataEv @ 674 NONAME
-	_ZN30tls_application_data_message_c20set_application_dataEPKhm @ 675 NONAME
-	_ZN30tls_application_data_message_cC1EP18abs_eap_am_tools_cb @ 676 NONAME
-	_ZN30tls_application_data_message_cC2EP18abs_eap_am_tools_cb @ 677 NONAME
-	_ZN30tls_application_data_message_cD0Ev @ 678 NONAME
-	_ZN30tls_application_data_message_cD1Ev @ 679 NONAME
-	_ZN30tls_application_data_message_cD2Ev @ 680 NONAME
-	_ZN32tls_change_cipher_spec_message_c12get_is_validEv @ 681 NONAME
-	_ZN32tls_change_cipher_spec_message_c12set_is_validEv @ 682 NONAME
-	_ZN32tls_change_cipher_spec_message_c16add_message_dataEP19eap_variable_data_c @ 683 NONAME
-	_ZN32tls_change_cipher_spec_message_c19create_message_dataEv @ 684 NONAME
-	_ZN32tls_change_cipher_spec_message_c27set_change_cipher_spec_typeE29tls_change_cipher_spec_type_e @ 685 NONAME
-	_ZN32tls_change_cipher_spec_message_cC1EP18abs_eap_am_tools_cP28abs_tls_change_cipher_spec_cb @ 686 NONAME
-	_ZN32tls_change_cipher_spec_message_cC2EP18abs_eap_am_tools_cP28abs_tls_change_cipher_spec_cb @ 687 NONAME
-	_ZN32tls_change_cipher_spec_message_cD0Ev @ 688 NONAME
-	_ZN32tls_change_cipher_spec_message_cD1Ev @ 689 NONAME
-	_ZN32tls_change_cipher_spec_message_cD2Ev @ 690 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 691 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 692 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 693 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 694 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 695 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 696 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cD0Ev @ 697 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cD1Ev @ 698 NONAME
-	_ZN38eap_type_tls_peap_state_notification_cD2Ev @ 699 NONAME
-	_ZNK12tls_record_c23cipher_suite_is_TLS_RSAEv @ 700 NONAME
-	_ZNK12tls_record_c27cipher_suite_is_RC4_128_MD5E19tls_cipher_suites_e @ 701 NONAME
-	_ZNK12tls_record_c27cipher_suite_is_RC4_128_SHAE19tls_cipher_suites_e @ 702 NONAME
-	_ZNK12tls_record_c27cipher_suite_is_TLS_DHE_DSSEv @ 703 NONAME
-	_ZNK12tls_record_c27cipher_suite_is_TLS_DHE_RSAEv @ 704 NONAME
-	_ZNK12tls_record_c31cipher_suite_is_AES_128_CBC_SHAE19tls_cipher_suites_e @ 705 NONAME
-	_ZNK12tls_record_c32cipher_suite_is_3DES_EDE_CBC_SHAE19tls_cipher_suites_e @ 706 NONAME
-	_ZNK12tls_record_c9get_stateEv @ 707 NONAME
-	_ZNK13tls_message_c17get_analyse_indexEv @ 708 NONAME
-	_ZNK13tls_message_c18get_record_messageEm @ 709 NONAME
-	_ZNK13tls_message_c23get_last_record_messageEv @ 710 NONAME
-	_ZNK13tls_message_c24get_record_message_countEv @ 711 NONAME
-	_ZNK16dummy_eap_core_c19get_is_tunneled_eapEv @ 712 NONAME
-	_ZNK16tls_completion_c21get_completion_actionEv @ 713 NONAME
-	_ZNK16tls_completion_c28get_completion_action_stringEv @ 714 NONAME
-	_ZNK17mschapv2_header_c10get_opcodeEv @ 715 NONAME
-	_ZNK17mschapv2_header_c12check_headerEv @ 716 NONAME
-	_ZNK17mschapv2_header_c13get_ms_lengthEv @ 717 NONAME
-	_ZNK17mschapv2_header_c15get_data_lengthEv @ 718 NONAME
-	_ZNK17mschapv2_header_c15get_mschapv2_idEv @ 719 NONAME
-	_ZNK17mschapv2_header_c8get_dataEv @ 720 NONAME
-	_ZNK19eap_type_tls_peap_c16get_state_stringEv @ 721 NONAME
-	_ZNK19eap_type_tls_peap_c20get_reassembly_stateEv @ 722 NONAME
-	_ZNK19eap_type_tls_peap_c23get_last_eap_identifierEv @ 723 NONAME
-	_ZNK19eap_type_tls_peap_c27get_reassembly_state_stringEv @ 724 NONAME
-	_ZNK19eap_type_tls_peap_c28get_failure_message_receivedEv @ 725 NONAME
-	_ZNK19eap_type_tls_peap_c31get_saved_previous_state_stringEv @ 726 NONAME
-	_ZNK19eap_type_tls_peap_c9get_stateEv @ 727 NONAME
-	_ZNK19mschapv2_response_c12check_headerEv @ 728 NONAME
-	_ZNK19mschapv2_response_c15get_name_lengthEv @ 729 NONAME
-	_ZNK19mschapv2_response_c15get_nt_responseEv @ 730 NONAME
-	_ZNK19mschapv2_response_c18get_peer_challengeEv @ 731 NONAME
-	_ZNK19mschapv2_response_c8get_nameEv @ 732 NONAME
-	_ZNK19peap_tlv_payloads_c12get_is_validEv @ 733 NONAME
-	_ZNK19tls_alert_message_c15get_alert_levelEv @ 734 NONAME
-	_ZNK19tls_alert_message_c21get_alert_descriptionEv @ 735 NONAME
-	_ZNK20mschapv2_challenge_c12check_headerEv @ 736 NONAME
-	_ZNK20mschapv2_challenge_c13get_challengeEv @ 737 NONAME
-	_ZNK20mschapv2_challenge_c15get_name_lengthEv @ 738 NONAME
-	_ZNK20mschapv2_challenge_c8get_nameEv @ 739 NONAME
-	_ZNK20tls_record_message_c11get_versionEv @ 740 NONAME
-	_ZNK20tls_record_message_c12get_protocolEv @ 741 NONAME
-	_ZNK20tls_record_message_c13get_handshakeEm @ 742 NONAME
-	_ZNK20tls_record_message_c15get_alert_countEv @ 743 NONAME
-	_ZNK20tls_record_message_c15get_data_lengthEv @ 744 NONAME
-	_ZNK20tls_record_message_c17get_analyse_indexEv @ 745 NONAME
-	_ZNK20tls_record_message_c17get_parsed_recordEv @ 746 NONAME
-	_ZNK20tls_record_message_c19get_handshake_countEv @ 747 NONAME
-	_ZNK20tls_record_message_c20get_application_dataEm @ 748 NONAME
-	_ZNK20tls_record_message_c22get_change_cipher_specEm @ 749 NONAME
-	_ZNK20tls_record_message_c24get_cipher_suite_appliedEv @ 750 NONAME
-	_ZNK20tls_record_message_c26get_application_data_countEv @ 751 NONAME
-	_ZNK20tls_record_message_c28get_change_cipher_spec_countEv @ 752 NONAME
-	_ZNK20tls_record_message_c33get_tls_record_header_is_includedEv @ 753 NONAME
-	_ZNK20tls_record_message_c9get_alertEm @ 754 NONAME
-	_ZNK21eap_tls_peap_header_c12check_headerEP18abs_eap_am_tools_c19eap_expanded_type_cb14peap_version_eb @ 755 NONAME
-	_ZNK21eap_tls_peap_header_c12get_eap_codeEv @ 756 NONAME
-	_ZNK21eap_tls_peap_header_c12get_eap_typeEv @ 757 NONAME
-	_ZNK21eap_tls_peap_header_c13get_tls_flagsEv @ 758 NONAME
-	_ZNK21eap_tls_peap_header_c14get_eap_lengthEv @ 759 NONAME
-	_ZNK21eap_tls_peap_header_c14get_flag_startEv @ 760 NONAME
-	_ZNK21eap_tls_peap_header_c15get_code_stringEv @ 761 NONAME
-	_ZNK21eap_tls_peap_header_c15get_data_lengthEv @ 762 NONAME
-	_ZNK21eap_tls_peap_header_c15get_data_offsetEP18abs_eap_am_tools_cmm @ 763 NONAME
-	_ZNK21eap_tls_peap_header_c16get_flag_versionEv @ 764 NONAME
-	_ZNK21eap_tls_peap_header_c16get_tls_flag_bitEm @ 765 NONAME
-	_ZNK21eap_tls_peap_header_c16set_tls_flag_bitEbm @ 766 NONAME
-	_ZNK21eap_tls_peap_header_c17get_flag_reservedEv @ 767 NONAME
-	_ZNK21eap_tls_peap_header_c17get_header_lengthEv @ 768 NONAME
-	_ZNK21eap_tls_peap_header_c18get_eap_identifierEv @ 769 NONAME
-	_ZNK21eap_tls_peap_header_c18get_tls_flag_valueEmm @ 770 NONAME
-	_ZNK21eap_tls_peap_header_c18set_tls_flag_valueEhmm @ 771 NONAME
-	_ZNK21eap_tls_peap_header_c19get_eap_type_stringEv @ 772 NONAME
-	_ZNK21eap_tls_peap_header_c20get_tls_flags_offsetEv @ 773 NONAME
-	_ZNK21eap_tls_peap_header_c21get_tls_length_offsetEv @ 774 NONAME
-	_ZNK21eap_tls_peap_header_c22get_tls_message_lengthEPm @ 775 NONAME
-	_ZNK21eap_tls_peap_header_c23get_flag_more_fragmentsEv @ 776 NONAME
-	_ZNK21eap_tls_peap_header_c24get_start_offset_of_dataEv @ 777 NONAME
-	_ZNK21eap_tls_peap_header_c25get_tls_min_header_lengthEv @ 778 NONAME
-	_ZNK21eap_tls_peap_header_c28get_flag_tls_length_includedEv @ 779 NONAME
-	_ZNK21eap_tls_peap_header_c8get_dataEP18abs_eap_am_tools_cm @ 780 NONAME
-	_ZNK23eap_diameter_avp_code_c13get_vendor_idEv @ 781 NONAME
-	_ZNK23eap_diameter_avp_code_c15get_vendor_codeEv @ 782 NONAME
-	_ZNK23eap_diameter_avp_code_cadEv @ 783 NONAME
-	_ZNK23eap_diameter_avp_code_ceqE31eap_diameter_avp_code_of_ietf_e @ 784 NONAME
-	_ZNK23eap_diameter_avp_code_ceqERKS_ @ 785 NONAME
-	_ZNK23eap_diameter_avp_code_cneE31eap_diameter_avp_code_of_ietf_e @ 786 NONAME
-	_ZNK23eap_diameter_avp_code_cneERKS_ @ 787 NONAME
-	_ZNK23eap_diameter_payloads_c12get_is_validEv @ 788 NONAME
-	_ZNK23tls_handshake_message_c13get_dhe_primeEv @ 789 NONAME
-	_ZNK23tls_handshake_message_c14get_session_idEv @ 790 NONAME
-	_ZNK23tls_handshake_message_c16get_random_valueEv @ 791 NONAME
-	_ZNK23tls_handshake_message_c17get_cipher_suitesEv @ 792 NONAME
-	_ZNK23tls_handshake_message_c17get_finished_dataEv @ 793 NONAME
-	_ZNK23tls_handshake_message_c18get_handshake_typeEv @ 794 NONAME
-	_ZNK23tls_handshake_message_c18get_public_dhe_keyEv @ 795 NONAME
-	_ZNK23tls_handshake_message_c21get_certificate_chainEv @ 796 NONAME
-	_ZNK23tls_handshake_message_c21get_certificate_typesEv @ 797 NONAME
-	_ZNK23tls_handshake_message_c23get_compression_methodsEv @ 798 NONAME
-	_ZNK23tls_handshake_message_c23get_dhe_group_generatorEv @ 799 NONAME
-	_ZNK23tls_handshake_message_c23get_signed_message_hashEv @ 800 NONAME
-	_ZNK23tls_handshake_message_c25get_selected_cipher_suiteEv @ 801 NONAME
-	_ZNK23tls_handshake_message_c27get_certificate_authoritiesEv @ 802 NONAME
-	_ZNK23tls_handshake_message_c30get_encrypted_premaster_secretEv @ 803 NONAME
-	_ZNK23tls_handshake_message_c31get_selected_compression_methodEv @ 804 NONAME
-	_ZNK24peap_tlv_variable_data_c19get_original_headerEv @ 805 NONAME
-	_ZNK26mschapv2_change_password_c12check_headerEv @ 806 NONAME
-	_ZNK26mschapv2_change_password_c15get_nt_responseEv @ 807 NONAME
-	_ZNK26mschapv2_change_password_c18get_encrypted_hashEv @ 808 NONAME
-	_ZNK26mschapv2_change_password_c18get_peer_challengeEv @ 809 NONAME
-	_ZNK26mschapv2_change_password_c22get_encrypted_pw_blockEv @ 810 NONAME
-	_ZNK28eap_diameter_variable_data_c15get_data_lengthEv @ 811 NONAME
-	_ZNK28eap_diameter_variable_data_c16get_is_mandatoryEv @ 812 NONAME
-	_ZNK28eap_diameter_variable_data_c16get_payload_codeEv @ 813 NONAME
-	_ZNK28eap_diameter_variable_data_c4copyEv @ 814 NONAME
-	_ZNK28eap_diameter_variable_data_c8get_dataEm @ 815 NONAME
-	_ZNK32tls_change_cipher_spec_message_c27get_change_cipher_spec_typeEv @ 816 NONAME
-	_ZNK33eap_static_diameter_vendor_code_c8get_codeEv @ 817 NONAME
-	_ZTI11CEapTlsPeap @ 818 NONAME
-	_ZTI12CEapTypeInfo @ 819 NONAME
-	_ZTI12tls_record_c @ 820 NONAME
-	_ZTI13tls_message_c @ 821 NONAME
-	_ZTI16dummy_eap_core_c @ 822 NONAME
-	_ZTI16tls_completion_c @ 823 NONAME
-	_ZTI17mschapv2_header_c @ 824 NONAME
-	_ZTI17tls_base_record_c @ 825 NONAME
-	_ZTI19eap_type_tls_peap_c @ 826 NONAME
-	_ZTI19mschapv2_response_c @ 827 NONAME
-	_ZTI19peap_tlv_payloads_c @ 828 NONAME
-	_ZTI19tls_alert_message_c @ 829 NONAME
-	_ZTI19tls_record_header_c @ 830 NONAME
-	_ZTI20mschapv2_challenge_c @ 831 NONAME
-	_ZTI20tls_record_message_c @ 832 NONAME
-	_ZTI21CEapTlsPeapUiEapTypes @ 833 NONAME
-	_ZTI21eap_tls_peap_header_c @ 834 NONAME
-	_ZTI21tls_peap_tlv_header_c @ 835 NONAME
-	_ZTI22CEapTlsPeapCertFetcher @ 836 NONAME
-	_ZTI22eap_tls_trace_string_c @ 837 NONAME
-	_ZTI22tls_base_application_c @ 838 NONAME
-	_ZTI22tls_handshake_header_c @ 839 NONAME
-	_ZTI23CEapTlsPeapUiConnection @ 840 NONAME
-	_ZTI23eap_diameter_payloads_c @ 841 NONAME
-	_ZTI23tls_handshake_message_c @ 842 NONAME
-	_ZTI24CEapTlsPeapCertInterface @ 843 NONAME
-	_ZTI24CEapTlsPeapUiTlsPeapData @ 844 NONAME
-	_ZTI24peap_tlv_variable_data_c @ 845 NONAME
-	_ZTI25CEapTlsPeapUiCertificates @ 846 NONAME
-	_ZTI25CEapTlsPeapUiCipherSuites @ 847 NONAME
-	_ZTI25eap_diameter_avp_header_c @ 848 NONAME
-	_ZTI26mschapv2_change_password_c @ 849 NONAME
-	_ZTI26tls_application_eap_core_c @ 850 NONAME
-	_ZTI27CEapTlsPeapUiDataConnection @ 851 NONAME
-	_ZTI28eap_diameter_variable_data_c @ 852 NONAME
-	_ZTI30eap_am_type_tls_peap_symbian_c @ 853 NONAME
-	_ZTI30tls_application_data_message_c @ 854 NONAME
-	_ZTI32tls_change_cipher_spec_message_c @ 855 NONAME
-	_ZTI38eap_type_tls_peap_state_notification_c @ 856 NONAME
-	_ZTV11CEapTlsPeap @ 857 NONAME
-	_ZTV12CEapTypeInfo @ 858 NONAME
-	_ZTV12tls_record_c @ 859 NONAME
-	_ZTV13tls_message_c @ 860 NONAME
-	_ZTV16dummy_eap_core_c @ 861 NONAME
-	_ZTV16tls_completion_c @ 862 NONAME
-	_ZTV17mschapv2_header_c @ 863 NONAME
-	_ZTV17tls_base_record_c @ 864 NONAME
-	_ZTV19eap_type_tls_peap_c @ 865 NONAME
-	_ZTV19mschapv2_response_c @ 866 NONAME
-	_ZTV19peap_tlv_payloads_c @ 867 NONAME
-	_ZTV19tls_alert_message_c @ 868 NONAME
-	_ZTV19tls_record_header_c @ 869 NONAME
-	_ZTV20mschapv2_challenge_c @ 870 NONAME
-	_ZTV20tls_record_message_c @ 871 NONAME
-	_ZTV21CEapTlsPeapUiEapTypes @ 872 NONAME
-	_ZTV21eap_tls_peap_header_c @ 873 NONAME
-	_ZTV21tls_peap_tlv_header_c @ 874 NONAME
-	_ZTV22CEapTlsPeapCertFetcher @ 875 NONAME
-	_ZTV22eap_tls_trace_string_c @ 876 NONAME
-	_ZTV22tls_base_application_c @ 877 NONAME
-	_ZTV22tls_handshake_header_c @ 878 NONAME
-	_ZTV23CEapTlsPeapUiConnection @ 879 NONAME
-	_ZTV23eap_diameter_payloads_c @ 880 NONAME
-	_ZTV23tls_handshake_message_c @ 881 NONAME
-	_ZTV24CEapTlsPeapCertInterface @ 882 NONAME
-	_ZTV24CEapTlsPeapUiTlsPeapData @ 883 NONAME
-	_ZTV24peap_tlv_variable_data_c @ 884 NONAME
-	_ZTV25CEapTlsPeapUiCertificates @ 885 NONAME
-	_ZTV25CEapTlsPeapUiCipherSuites @ 886 NONAME
-	_ZTV25eap_diameter_avp_header_c @ 887 NONAME
-	_ZTV26mschapv2_change_password_c @ 888 NONAME
-	_ZTV26tls_application_eap_core_c @ 889 NONAME
-	_ZTV27CEapTlsPeapUiDataConnection @ 890 NONAME
-	_ZTV28eap_diameter_variable_data_c @ 891 NONAME
-	_ZTV30eap_am_type_tls_peap_symbian_c @ 892 NONAME
-	_ZTV30tls_application_data_message_c @ 893 NONAME
-	_ZTV32tls_change_cipher_spec_message_c @ 894 NONAME
-	_ZTV38eap_type_tls_peap_state_notification_c @ 895 NONAME
-	_ZThn12_N12tls_record_c20complete_query_realmEPK19eap_variable_data_c12eap_status_e @ 896 NONAME
-	_ZThn12_N12tls_record_c28complete_query_dh_parametersEPK19eap_variable_data_cS2_12eap_status_e @ 897 NONAME
-	_ZThn12_N12tls_record_c30complete_sign_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 898 NONAME
-	_ZThn12_N12tls_record_c31complete_verify_with_public_keyE12eap_status_e @ 899 NONAME
-	_ZThn12_N12tls_record_c32complete_query_certificate_chainEPK11eap_array_cI19eap_variable_data_cE12eap_status_e @ 900 NONAME
-	_ZThn12_N12tls_record_c33complete_verify_certificate_chainE12eap_status_e @ 901 NONAME
-	_ZThn12_N12tls_record_c36complete_rsa_encrypt_with_public_keyEPK19eap_variable_data_c12eap_status_e @ 902 NONAME
-	_ZThn12_N12tls_record_c37complete_rsa_decrypt_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 903 NONAME
-	_ZThn12_N12tls_record_c45complete_query_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_12eap_status_e @ 904 NONAME
-	_ZThn12_N12tls_record_c46complete_verify_ttls_pap_username_and_passwordE12eap_status_ePK19eap_variable_data_c @ 905 NONAME
-	_ZThn12_N12tls_record_c48complete_query_certificate_authorities_and_typesEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE12eap_status_e @ 906 NONAME
-	_ZThn12_N12tls_record_c49complete_query_cipher_suites_and_previous_sessionE18tls_session_type_ePK11eap_array_cItEPKS1_IhEPK19eap_variable_data_cSA_19tls_cipher_suites_e12eap_status_e @ 907 NONAME
-	_ZThn12_N12tls_record_c49complete_select_cipher_suite_and_check_session_idE18tls_session_type_etPK19eap_variable_data_cS3_12eap_status_e @ 908 NONAME
-	_ZThn12_N12tls_record_c9configureEv @ 909 NONAME
-	_ZThn12_N12tls_record_cD0Ev @ 910 NONAME
-	_ZThn12_N12tls_record_cD1Ev @ 911 NONAME
-	_ZThn12_N16dummy_eap_core_c12get_is_validEv @ 912 NONAME
-	_ZThn12_N16dummy_eap_core_c12set_is_validEv @ 913 NONAME
-	_ZThn12_N16dummy_eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 914 NONAME
-	_ZThn12_N16dummy_eap_core_c8shutdownEv @ 915 NONAME
-	_ZThn12_N16dummy_eap_core_c9configureEv @ 916 NONAME
-	_ZThn12_N16dummy_eap_core_cD0Ev @ 917 NONAME
-	_ZThn12_N16dummy_eap_core_cD1Ev @ 918 NONAME
-	_ZThn16_N12tls_record_c19message_hash_updateEb20tls_handshake_type_ePhm @ 919 NONAME
-	_ZThn16_N12tls_record_c26message_hash_save_finishedEb @ 920 NONAME
-	_ZThn16_N12tls_record_c28message_hash_create_finishedEbP19eap_variable_data_c @ 921 NONAME
-	_ZThn16_N12tls_record_c36message_hash_save_certificate_verifyEv @ 922 NONAME
-	_ZThn16_N12tls_record_cD0Ev @ 923 NONAME
-	_ZThn16_N12tls_record_cD1Ev @ 924 NONAME
-	_ZThn20_N12tls_record_c18change_cipher_specEb @ 925 NONAME
-	_ZThn20_N12tls_record_cD0Ev @ 926 NONAME
-	_ZThn20_N12tls_record_cD1Ev @ 927 NONAME
-	_ZThn20_N19eap_type_tls_peap_c13get_is_clientEv @ 928 NONAME
-	_ZThn20_N19eap_type_tls_peap_c27complete_eap_identity_queryEPK19eap_variable_data_cPK19eap_am_network_id_ch12eap_status_ebS2_bS2_ @ 929 NONAME
-	_ZThn20_N19eap_type_tls_peap_cD0Ev @ 930 NONAME
-	_ZThn20_N19eap_type_tls_peap_cD1Ev @ 931 NONAME
-	_ZThn24_N12tls_record_c23apply_send_cipher_suiteEP19eap_variable_data_c @ 932 NONAME
-	_ZThn24_N12tls_record_cD0Ev @ 933 NONAME
-	_ZThn24_N12tls_record_cD1Ev @ 934 NONAME
-	_ZThn24_N19eap_type_tls_peap_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 935 NONAME
-	_ZThn24_N19eap_type_tls_peap_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 936 NONAME
-	_ZThn24_N19eap_type_tls_peap_c12cancel_timerEP20abs_eap_base_timer_cm @ 937 NONAME
-	_ZThn24_N19eap_type_tls_peap_c13unload_moduleE19eap_expanded_type_c @ 938 NONAME
-	_ZThn24_N19eap_type_tls_peap_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 939 NONAME
-	_ZThn24_N19eap_type_tls_peap_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 940 NONAME
-	_ZThn24_N19eap_type_tls_peap_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 941 NONAME
-	_ZThn24_N19eap_type_tls_peap_c17get_header_offsetEPmS0_ @ 942 NONAME
-	_ZThn24_N19eap_type_tls_peap_c17peap_tunnel_readyEv @ 943 NONAME
-	_ZThn24_N19eap_type_tls_peap_c18state_notificationEPK28abs_eap_state_notification_c @ 944 NONAME
-	_ZThn24_N19eap_type_tls_peap_c19set_session_timeoutEm @ 945 NONAME
-	_ZThn24_N19eap_type_tls_peap_c20set_tls_session_typeE18tls_session_type_e @ 946 NONAME
-	_ZThn24_N19eap_type_tls_peap_c20tls_peap_packet_sendEP18eap_buf_chain_wr_cmmmb @ 947 NONAME
-	_ZThn24_N19eap_type_tls_peap_c21set_tls_master_secretEPK19eap_variable_data_c @ 948 NONAME
-	_ZThn24_N19eap_type_tls_peap_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 949 NONAME
-	_ZThn24_N19eap_type_tls_peap_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 950 NONAME
-	_ZThn24_N19eap_type_tls_peap_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 951 NONAME
-	_ZThn24_N19eap_type_tls_peap_c9set_timerEP20abs_eap_base_timer_cmPvm @ 952 NONAME
-	_ZThn24_N19eap_type_tls_peap_cD0Ev @ 953 NONAME
-	_ZThn24_N19eap_type_tls_peap_cD1Ev @ 954 NONAME
-	_ZThn28_N12tls_record_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 955 NONAME
-	_ZThn28_N12tls_record_c11packet_sendEP18eap_buf_chain_wr_cmmm @ 956 NONAME
-	_ZThn28_N12tls_record_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 957 NONAME
-	_ZThn28_N12tls_record_c12cancel_timerEP20abs_eap_base_timer_cm @ 958 NONAME
-	_ZThn28_N12tls_record_c13unload_moduleE19eap_expanded_type_c @ 959 NONAME
-	_ZThn28_N12tls_record_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 960 NONAME
-	_ZThn28_N12tls_record_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 961 NONAME
-	_ZThn28_N12tls_record_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 962 NONAME
-	_ZThn28_N12tls_record_c17get_header_offsetEPmS0_ @ 963 NONAME
-	_ZThn28_N12tls_record_c18state_notificationEPK28abs_eap_state_notification_c @ 964 NONAME
-	_ZThn28_N12tls_record_c19set_session_timeoutEm @ 965 NONAME
-	_ZThn28_N12tls_record_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 966 NONAME
-	_ZThn28_N12tls_record_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 967 NONAME
-	_ZThn28_N12tls_record_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 968 NONAME
-	_ZThn28_N12tls_record_c27get_ttls_implicit_challengeEP19eap_variable_data_cm @ 969 NONAME
-	_ZThn28_N12tls_record_c30get_eap_tls_master_session_keyEP19eap_variable_data_cS1_ @ 970 NONAME
-	_ZThn28_N12tls_record_c35get_next_tls_handshake_message_typeEv @ 971 NONAME
-	_ZThn28_N12tls_record_c36get_next_tls_record_message_protocolEv @ 972 NONAME
-	_ZThn28_N12tls_record_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 973 NONAME
-	_ZThn28_N12tls_record_c37verify_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_ @ 974 NONAME
-	_ZThn28_N12tls_record_c9set_timerEP20abs_eap_base_timer_cmPvm @ 975 NONAME
-	_ZThn28_N12tls_record_cD0Ev @ 976 NONAME
-	_ZThn28_N12tls_record_cD1Ev @ 977 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c11query_realmEPK11eap_array_cI19eap_variable_data_cE @ 978 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c12get_is_validEv @ 979 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c14alert_receivedE17tls_alert_level_e23tls_alert_description_e @ 980 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c16save_tls_sessionEPK19eap_variable_data_cS2_19tls_cipher_suites_e @ 981 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c16set_peap_versionE14peap_version_ebb @ 982 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 983 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c18cancel_query_realmEv @ 984 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c18get_tls_am_partnerEv @ 985 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c18query_eap_identityEP19eap_variable_data_cPK19eap_am_network_id_chPbS1_S5_S1_ @ 986 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c18set_tls_am_partnerEP21abs_tls_am_services_c @ 987 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c19query_dh_parametersEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 988 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 989 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 990 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c21cancel_identity_queryEv @ 991 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c21sign_with_private_keyEPK19eap_variable_data_c @ 992 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c22verify_with_public_keyEPK19eap_variable_data_cS2_ @ 993 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c23authentication_finishedEb18tls_session_type_e @ 994 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c23query_certificate_chainEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE19tls_cipher_suites_e @ 995 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c24verify_certificate_chainEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 996 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c25is_ttls_pap_session_validEv @ 997 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c26cancel_query_dh_parametersEv @ 998 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c27rsa_encrypt_with_public_keyEPK19eap_variable_data_c @ 999 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c28cancel_sign_with_private_keyEv @ 1000 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c28rsa_decrypt_with_private_keyEPK19eap_variable_data_c @ 1001 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c29cancel_verify_with_public_keyEv @ 1002 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c30cancel_query_certificate_chainEv @ 1003 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c31cancel_verify_certificate_chainEv @ 1004 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c34cancel_rsa_encrypt_with_public_keyEv @ 1005 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c35cancel_rsa_decrypt_with_private_keyEv @ 1006 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 1007 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c39query_certificate_authorities_and_typesEv @ 1008 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c40query_cipher_suites_and_previous_sessionEv @ 1009 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c40select_cipher_suite_and_check_session_idEPK11eap_array_cItEPK19eap_variable_data_c @ 1010 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c46cancel_query_certificate_authorities_and_typesEv @ 1011 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c47cancel_query_cipher_suites_and_previous_sessionEv @ 1012 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c47cancel_select_cipher_suite_and_check_session_idEv @ 1013 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c5resetEv @ 1014 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c8shutdownEv @ 1015 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_c9configureEv @ 1016 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_cD0Ev @ 1017 NONAME
-	_ZThn28_N30eap_am_type_tls_peap_symbian_cD1Ev @ 1018 NONAME
-	_ZThn32_N30eap_am_type_tls_peap_symbian_c13timer_expiredEmPv @ 1019 NONAME
-	_ZThn32_N30eap_am_type_tls_peap_symbian_c17timer_delete_dataEmPv @ 1020 NONAME
-	_ZThn32_N30eap_am_type_tls_peap_symbian_cD0Ev @ 1021 NONAME
-	_ZThn32_N30eap_am_type_tls_peap_symbian_cD1Ev @ 1022 NONAME
-	_ZThn36_N30eap_am_type_tls_peap_symbian_c11DlgCompleteEi @ 1023 NONAME
-	_ZThn4_N16dummy_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1024 NONAME
-	_ZThn4_N16dummy_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1025 NONAME
-	_ZThn4_N16dummy_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1026 NONAME
-	_ZThn4_N16dummy_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1027 NONAME
-	_ZThn4_N16dummy_eap_core_c13unload_moduleE19eap_expanded_type_c @ 1028 NONAME
-	_ZThn4_N16dummy_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1029 NONAME
-	_ZThn4_N16dummy_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1030 NONAME
-	_ZThn4_N16dummy_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1031 NONAME
-	_ZThn4_N16dummy_eap_core_c17get_header_offsetEPmS0_ @ 1032 NONAME
-	_ZThn4_N16dummy_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1033 NONAME
-	_ZThn4_N16dummy_eap_core_c19set_session_timeoutEm @ 1034 NONAME
-	_ZThn4_N16dummy_eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 1035 NONAME
-	_ZThn4_N16dummy_eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 1036 NONAME
-	_ZThn4_N16dummy_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1037 NONAME
-	_ZThn4_N16dummy_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1038 NONAME
-	_ZThn4_N16dummy_eap_core_c23set_authentication_roleEb @ 1039 NONAME
-	_ZThn4_N16dummy_eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 1040 NONAME
-	_ZThn4_N16dummy_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1041 NONAME
-	_ZThn4_N16dummy_eap_core_cD0Ev @ 1042 NONAME
-	_ZThn4_N16dummy_eap_core_cD1Ev @ 1043 NONAME
-	_ZThn4_N19eap_type_tls_peap_c12get_is_validEv @ 1044 NONAME
-	_ZThn4_N19eap_type_tls_peap_c12set_is_validEv @ 1045 NONAME
-	_ZThn4_N19eap_type_tls_peap_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 1046 NONAME
-	_ZThn4_N19eap_type_tls_peap_c15eap_acknowledgeEPK19eap_am_network_id_c @ 1047 NONAME
-	_ZThn4_N19eap_type_tls_peap_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 1048 NONAME
-	_ZThn4_N19eap_type_tls_peap_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 1049 NONAME
-	_ZThn4_N19eap_type_tls_peap_c5resetEv @ 1050 NONAME
-	_ZThn4_N19eap_type_tls_peap_c8shutdownEv @ 1051 NONAME
-	_ZThn4_N19eap_type_tls_peap_c9configureEv @ 1052 NONAME
-	_ZThn4_N19eap_type_tls_peap_cD0Ev @ 1053 NONAME
-	_ZThn4_N19eap_type_tls_peap_cD1Ev @ 1054 NONAME
-	_ZThn4_N26tls_application_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1055 NONAME
-	_ZThn4_N26tls_application_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1056 NONAME
-	_ZThn4_N26tls_application_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1057 NONAME
-	_ZThn4_N26tls_application_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1058 NONAME
-	_ZThn4_N26tls_application_eap_core_c13unload_moduleE19eap_expanded_type_c @ 1059 NONAME
-	_ZThn4_N26tls_application_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1060 NONAME
-	_ZThn4_N26tls_application_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1061 NONAME
-	_ZThn4_N26tls_application_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1062 NONAME
-	_ZThn4_N26tls_application_eap_core_c17get_header_offsetEPmS0_ @ 1063 NONAME
-	_ZThn4_N26tls_application_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1064 NONAME
-	_ZThn4_N26tls_application_eap_core_c19set_session_timeoutEm @ 1065 NONAME
-	_ZThn4_N26tls_application_eap_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 1066 NONAME
-	_ZThn4_N26tls_application_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1067 NONAME
-	_ZThn4_N26tls_application_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1068 NONAME
-	_ZThn4_N26tls_application_eap_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 1069 NONAME
-	_ZThn4_N26tls_application_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1070 NONAME
-	_ZThn4_N26tls_application_eap_core_cD0Ev @ 1071 NONAME
-	_ZThn4_N26tls_application_eap_core_cD1Ev @ 1072 NONAME
-	_ZThn4_NK16dummy_eap_core_c19get_is_tunneled_eapEv @ 1073 NONAME
-	_ZThn8_N16dummy_eap_core_c13timer_expiredEmPv @ 1074 NONAME
-	_ZThn8_N16dummy_eap_core_c17timer_delete_dataEmPv @ 1075 NONAME
-	_ZThn8_N16dummy_eap_core_cD0Ev @ 1076 NONAME
-	_ZThn8_N16dummy_eap_core_cD1Ev @ 1077 NONAME
 
--- a/eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -1,72 +1,3 @@
 EXPORTS
 	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_Z30new_eap_am_client_message_if_cP18abs_eap_am_tools_cbm @ 2 NONAME
-	_ZN17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 3 NONAME
-	_ZN17CEapCoreInterface12get_is_validEv @ 4 NONAME
-	_ZN17CEapCoreInterface12process_dataEPKvm @ 5 NONAME
-	_ZN17CEapCoreInterface8SendDataEPKvi @ 6 NONAME
-	_ZN17CEapCoreInterface8shutdownEv @ 7 NONAME
-	_ZN17CEapCoreInterface9ConstrucLEP18abs_eap_am_tools_c @ 8 NONAME
-	_ZN17CEapCoreInterface9configureEPK19eap_variable_data_c @ 9 NONAME
-	_ZN28eap_core_client_message_if_c12get_is_validEv @ 10 NONAME
-	_ZN28eap_core_client_message_if_c12set_is_validEv @ 11 NONAME
-	_ZN28eap_core_client_message_if_c13timer_expiredEmPv @ 12 NONAME
-	_ZN28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 13 NONAME
-	_ZN28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 14 NONAME
-	_ZN28eap_core_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 15 NONAME
-	_ZN28eap_core_client_message_if_c17timer_delete_dataEmPv @ 16 NONAME
-	_ZN28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 17 NONAME
-	_ZN28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 18 NONAME
-	_ZN28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 19 NONAME
-	_ZN28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 20 NONAME
-	_ZN28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 21 NONAME
-	_ZN28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 22 NONAME
-	_ZN28eap_core_client_message_if_c5resetEv @ 23 NONAME
-	_ZN28eap_core_client_message_if_c8shutdownEv @ 24 NONAME
-	_ZN28eap_core_client_message_if_c9configureEv @ 25 NONAME
-	_ZN28eap_core_client_message_if_c9send_dataEPKvm @ 26 NONAME
-	_ZN28eap_core_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 27 NONAME
-	_ZN28eap_core_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 28 NONAME
-	_ZN28eap_core_client_message_if_cD0Ev @ 29 NONAME
-	_ZN28eap_core_client_message_if_cD1Ev @ 30 NONAME
-	_ZN28eap_core_client_message_if_cD2Ev @ 31 NONAME
-	_ZTI17CEapCoreInterface @ 32 NONAME
-	_ZTI21CEapVpnInterfaceTimer @ 33 NONAME
-	_ZTI28eap_core_client_message_if_c @ 34 NONAME
-	_ZTI30CEapVpnInterfaceImplementation @ 35 NONAME
-	_ZTV17CEapCoreInterface @ 36 NONAME
-	_ZTV21CEapVpnInterfaceTimer @ 37 NONAME
-	_ZTV28eap_core_client_message_if_c @ 38 NONAME
-	_ZTV30CEapVpnInterfaceImplementation @ 39 NONAME
-	_ZThn12_N28eap_core_client_message_if_c12get_is_validEv @ 40 NONAME
-	_ZThn12_N28eap_core_client_message_if_c12set_is_validEv @ 41 NONAME
-	_ZThn12_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 42 NONAME
-	_ZThn12_N28eap_core_client_message_if_c8shutdownEv @ 43 NONAME
-	_ZThn12_N28eap_core_client_message_if_c9configureEv @ 44 NONAME
-	_ZThn12_N28eap_core_client_message_if_cD0Ev @ 45 NONAME
-	_ZThn12_N28eap_core_client_message_if_cD1Ev @ 46 NONAME
-	_ZThn4_N17CEapCoreInterface8SendDataEPKvi @ 47 NONAME
-	_ZThn4_N28eap_core_client_message_if_c12get_is_validEv @ 48 NONAME
-	_ZThn4_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 49 NONAME
-	_ZThn4_N28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 50 NONAME
-	_ZThn4_N28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 51 NONAME
-	_ZThn4_N28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 52 NONAME
-	_ZThn4_N28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 53 NONAME
-	_ZThn4_N28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 54 NONAME
-	_ZThn4_N28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 55 NONAME
-	_ZThn4_N28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 56 NONAME
-	_ZThn4_N28eap_core_client_message_if_c5resetEv @ 57 NONAME
-	_ZThn4_N28eap_core_client_message_if_c8shutdownEv @ 58 NONAME
-	_ZThn4_N28eap_core_client_message_if_c9configureEv @ 59 NONAME
-	_ZThn4_N28eap_core_client_message_if_cD0Ev @ 60 NONAME
-	_ZThn4_N28eap_core_client_message_if_cD1Ev @ 61 NONAME
-	_ZThn8_N17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 62 NONAME
-	_ZThn8_N17CEapCoreInterface12get_is_validEv @ 63 NONAME
-	_ZThn8_N17CEapCoreInterface12process_dataEPKvm @ 64 NONAME
-	_ZThn8_N17CEapCoreInterface8shutdownEv @ 65 NONAME
-	_ZThn8_N17CEapCoreInterface9configureEPK19eap_variable_data_c @ 66 NONAME
-	_ZThn8_N28eap_core_client_message_if_c13timer_expiredEmPv @ 67 NONAME
-	_ZThn8_N28eap_core_client_message_if_c17timer_delete_dataEmPv @ 68 NONAME
-	_ZThn8_N28eap_core_client_message_if_cD0Ev @ 69 NONAME
-	_ZThn8_N28eap_core_client_message_if_cD1Ev @ 70 NONAME
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_symbian/eabi/wlaneapolifu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z24ImplementationGroupProxyRi @ 1 NONAME
+
--- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026FC8.rss	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2000 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:  ECom resources for the EapTools
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#include <registryinfo.rh>
-#include "EapolUID.h"
-// ---------------------------------------------------------
-//   
-//    
-//    ECOM resource definitions for EapPlugin plugin
-//
-// ---------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = EAP_TOOLS_DLL_UID;
-				
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = EAP_TOOLS_INTERFACE_UID;
-			implementations = 
-				{
-				// Info for EapTools
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = EAP_TOOLS_IMPLEMENTATION_UID;
-					version_no         = 1;
-					display_name       = "EapTools";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
--- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fcd.rss	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2000 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:  ECom resources for the EapCoreInterfaceImplementation
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-#include <registryinfo.rh>
-#include "EapolUID.h"
-// ---------------------------------------------------------
-//   
-//    
-//    ECOM resource definitions for EapCoreInterfaceImplementation plugin
-//
-// ---------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = EAP_CORE_INTERFACEIMPLEMENTATION_DLL_UID;
-				
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = EAP_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID;
-			implementations = 
-				{
-				// Info for EapCoreInterfaceImplementation
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID;
-					version_no         = 1;
-					display_name       = "EapCoreInterfaceImplementation";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
--- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd1.rss	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2000 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:  ECom resources for the EapGeneral
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-#include <registryinfo.rh>
-#include "EapolUID.h"
-// ---------------------------------------------------------
-//   
-//    
-//    ECOM resource definitions for EapGeneric plugin
-//
-// ---------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = EAP_GENERIC_DLL_UID;
-				
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = EAP_GENERIC_INTERFACE_UID;
-			implementations = 
-				{
-				// Info for EapGeneric
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = EAP_GENERIC_IMPLEMENTATION_UID;
-					version_no         = 1;
-					display_name       = "EapGeneric";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
--- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd6.rss	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2000 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:  ECom resources for the EapGeneralSettings
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#include <registryinfo.rh>
-#include "EapolUID.h"
-// ---------------------------------------------------------
-//   
-//    
-//    ECOM resource definitions for EapGeneralSettings plugin
-//
-// ---------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = EAP_GENERAL_SETTINGS_DLL_UID;
-				
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = EAP_GENERAL_SETTINGS_INTERFACE_UID;
-			implementations = 
-				{
-				// Info for EapGeneralSettings
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = EAP_GENERAL_SETTINGS_IMPLEMENTATION_UID;
-					version_no         = 1;
-					display_name       = "EapGeneralSettings";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
--- a/eapol/eapol_framework/eapol_symbian/eap_if/data/2002BC91.rss	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2000 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:  ECom resources for the EapGeneralSettings
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#include <registryinfo.rh>
-#include "EapolUID.h"
-// ---------------------------------------------------------
-//   
-//    
-//    ECOM resource definitions for EapFastPacStoreImpl plugin
-//
-// ---------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x2002BC91;
-				
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = 0x2002BC92;
-			implementations = 
-				{
-				// Info for EapFastPacStoreImpl
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x2002BC93;
-					version_no         = 1;
-					display_name       = "EapFastPacStore";
-					default_data       = "";
-					opaque_data        = "";
-					}
-				};
-			}
-		};
-	}
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapClientIf.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef EAPCLIENTIF_H_
-#define EAPCLIENTIF_H_
-
-#include <e32base.h>
-#include "EapServerClientDef.h"
-
-class EapClientIf
-{
-public:
-
-    IMPORT_C EapClientIf();
-
-    IMPORT_C virtual ~EapClientIf();
-
-protected:
-    IMPORT_C static TInt GetServerNameAndExe(TBuf<KMaxServerExe> * const ServerName, TBuf<KMaxServerExe> * const ServerExe);
-};
-
-
-#endif /* EAPCLIENTIF_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#ifndef EAPCOREINTERFACE_H_
-#define EAPCOREINTERFACE_H_
-
-
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "EapSendInterface.h"
-#include "EapProcessInterface.h"
-#include "EapServerClientDef.h"
-
-class CEapCoreInterface : 
-    public CBase,
-    public MEapSendInterface,
-    public eap_am_message_if_c
-
-    {
-public:
-    /**
-     * Two-phased constructor.
-     */
-    CEapCoreInterface(const u32_t MTU);
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CEapCoreInterface();
-
-public: // New functions
-    
-    /**
-     * From eap_am_message_if_c 
-     * Initialize interface to EAPOL or WAPI.
-     * @since S60 v9.2
-     */
-
-    EAP_FUNC_IMPORT bool get_is_valid();
- 
-    /// Function receives the data message from lower layer.
-    /// Data is formatted to Attribute-Value Pairs.
-    /// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-    EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-    // This is documented in abs_eap_stack_interface_c::configure().
-    EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-    // This is documented in abs_eap_stack_interface_c::shutdown().
-    EAP_FUNC_IMPORT eap_status_e shutdown();
-
-    EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const client);
-    
-    /**
-  * from MEapSendInterface 
-     */
-    EAP_FUNC_IMPORT TInt SendData(
-        const void * const aData, 
-        const TInt aLength );
-
-    EAP_FUNC_IMPORT CEapProcessInterface* ConstrucL(abs_eap_am_tools_c * const tools );
-
-private:
-    
-    
-    abs_eap_am_message_if_c* iClient;
-    TBool iIsValid;
-    abs_eap_am_tools_c* iTools;
-    CEapCoreInterface* iEapCoreInterface;
-    CEapProcessInterface* iServer;
-    TUint32 iMTU;
-    };
-
-#endif /* EAPCOREINTERFACE_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterfaceImplementation.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-#ifndef EAP_CORE_INTERFACE_IMPLEMENTATION_H_
-#define EAP_CORE_INTERFACE_IMPLEMENTATION_H_
-
-// INCLUDES
-#include <e32std.h>
-#include "EapProcessInterface.h"
-#include "REapSession.h"
-#include "SendPacketHandler.h"
-#include "EapSendInterface.h"
-#include "abs_eap_am_tools.h"
-#include "EapClientIf.h"
-
-class MEapSendInterface;
-class EapMessageBuffer;
-
-
-/**
- * Implementation for MWlanEapolInterface interface.
- *
- * @lib wlaneapolif.dll
- * @since S60 v3.2
- */
-class CEapCoreInterfaceImplementation
-: public CEapProcessInterface
-, public MSendPacketHandler
-, public EapClientIf
-{
-
-public:
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// Functions from CWlanEapolClient.
-
-	/**
-	 * Static constructor.
-	 * @param aPartner Pointer to callback instance.
-	 * @return Pointer to the constructed instance.
-	 */
-	static CEapProcessInterface* NewL(MEapSendInterface * aPartner);
-
-
-	/**
-	 * Destructor.
-	 */
-	virtual ~CEapCoreInterfaceImplementation();
-
-	/**
-	 * Configure plugin implementation.
-	 *
-	 * @since S60 v3.2
-	 * @param aHeaderOffset Offset of EAP-header in packet_send.
-	 * @param aMTU Maximum transfer unit (MTU).
-	 * @param aTrailerLength Length of trailer needed by lower levels..
-	 * @return Return value is specified in interface specification.
-	 */
-	TInt Configure(
-		const TInt aHeaderOffset,
-		const TInt aMTU,
-		const TInt aTrailerLength,
-		const void * const aConfigurationData,
-		const TInt aConfigurationDataLength);
-
-	TInt SetEnv(abs_eap_am_tools_c * const tools, const u32_t MTU);
-	 
-	/**
-	 * Shutdown plugin implementation.
-	 *
-	 * @since S60 v3.2
-	 * @return Return value is specified in interface specification.
-	 */        
-	TInt Shutdown();
-
-	/**
-	 * Send data to EAPOL.
-	 *
-	 * @since S60 v3.2
-	 * @param aData Pointer to the data to be sent.
-	 * @param aLength Length of the data to be sent.
-	 * @return Return value is specified in interface specification.
-	 */
-	TInt ProcessData(
-		const void * const aData, 
-		const TInt aLength );
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// Functions from MSendPacketHandler.
-
-	/// Function sends the data message to lower layer.
-	/// Data is formatted to Attribute-Value Pairs.
-	/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-	eap_status_e send_data(const TDesC8& message);
-
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    CEapCoreInterfaceImplementation();
-
-    /**
-     * Symbian 2nd phase constructor.
-     */
-    void ConstructL(MEapSendInterface * aPartner);
-
-	/**
-	 * The get_is_valid() function returns the status of the CEapCoreInterfaceImplementation object.
-	 * @return True indicates the object is initialized.
-	 */
-	bool get_is_valid();
-	
-//	eap_status_e SendData(const void * const data, const u32_t length);
-	
-//	static TInt GetServerNameAndExe(TBuf<KMaxServerExe> * const ServerName, TBuf<KMaxServerExe> * const ServerExe);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	MEapSendInterface * m_partner;
-
-	REapSession iSession;
-
-	bool m_is_valid;
-	
-	TUint32 iMTU;
-	
-	abs_eap_am_tools_c * iTools;
-};
-
-
-#endif // EAP_CORE_INTERFACE_IMPLEMENTATION_H_
-
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapFastPacStoreImpl.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: %
-*/
-
-#include "EapFastPacStore.h"
-#include "abs_eap_pac_store_message.h"
-#include "eap_pac_store_message_base.h"
-#include "eap_pac_store_client_message_if.h"
-#include "eap_am_message_if.h"
-#include "EapClientIf.h"
-#include "eap_am_message_if_symbian.h"
-
-enum eap_fast_pac_store_impl_wait_state_e
-{
-	eap_fast_pac_store_impl_wait_state_none,
-	eap_fast_pac_store_impl_wait_state_complete_open_pac_store,
-	eap_fast_pac_store_impl_wait_state_complete_create_device_seed,
-	eap_fast_pac_store_impl_wait_state_complete_is_master_key_present,
-	eap_fast_pac_store_impl_wait_state_complete_is_master_key_and_password_matching,
-	eap_fast_pac_store_impl_wait_state_complete_create_and_save_master_key,
-	eap_fast_pac_store_impl_wait_state_complete_compare_pac_store_password,
-	eap_fast_pac_store_impl_wait_state_complete_is_pacstore_password_present,
-	eap_fast_pac_store_impl_wait_state_complete_set_pac_store_password,
-	eap_fast_pac_store_impl_wait_state_complete_destroy_pac_store,
-};
-
-class CEapFastPacStoreImpl
-: public CEapFastPacStore
-	,public abs_eap_pac_store_message_c
-{
-public:
-	
-	static CEapFastPacStore* NewL();
-	
-	CEapFastPacStoreImpl();
-	
-	virtual ~CEapFastPacStoreImpl();
-
-	void OpenPacStoreL();
-    
-  void CreateDeviceSeedL();
-
-  TBool IsMasterKeyPresentL();
-
-  TBool IsMasterKeyAndPasswordMatchingL(
-		const TDesC8 & aPassword8);
-
-  TInt CreateAndSaveMasterKeyL(
-		const TDesC8 & aPassword8);
-
-  TBool ComparePacStorePasswordL(
-		TDes8 & aPassword8);
-
-  TBool IsPacStorePasswordPresentL();
-
-  TInt SetPacStorePasswordL(
-		const TDesC8 & aPassword8);
-
-  TInt DestroyPacStore();
-  
-  eap_status_e complete_open_pac_store(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_create_device_seed(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_is_master_key_present(
-		bool is_present
-		,const eap_status_e completion_status);
-
-	eap_status_e complete_is_master_key_and_password_matching(
-	  bool is_matching
-		,const eap_status_e completion_status);
-
-	eap_status_e complete_create_and_save_master_key(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_compare_pac_store_password(
-			bool is_matching);
-
-	eap_status_e complete_is_pacstore_password_present(
-			bool is_present);
-
-	eap_status_e complete_set_pac_store_password(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_destroy_pac_store(
-		const eap_status_e completion_status);
-
-	void ConstructL();
-	
-protected:
-	
-
-private:
-	
-	void Activate();
-	
-	void Complete();
-
-	void WaitCompletion();
-
-	abs_eap_am_tools_c* iTools;
-	eap_pac_store_message_base_c * iPartner;
-	TBool iIsValid;
-	eap_fast_pac_store_impl_wait_state_e iWaitState;
-	eap_status_e iCompletionStatus;
-	TRequestStatus iAsyncronousStatus;
-	eap_variable_data_c* iPacStorePassword;
-	TBool iIsPresent;
-	TBool iIsMatching;
-	TBool iIsPwMatching;
-	TBool iIsPwPresent;
-	CActiveSchedulerWait iWait;
-
-};
\ No newline at end of file
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapGeneralSettingsImpl.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  This is implementation of CEapGeneralSettings interface.
-*
-*/
-
-/*
-* %version: 28 %
-*/
-
-#ifndef _EAP_GENERAL_SETTINGS_IMPL_H_
-#define _EAP_GENERAL_SETTINGS_IMPL_H_
-
-// INCLUDES
-#include <EapType.h>
-#include <EapGeneralSettings.h>
-#include "eap_header.h"
-#include "eap_array.h"
-#include "abs_eap_general_settings_message.h"
-#include "eap_configuration_field.h"
-#include "EapExpandedType.h"
-#include "EapClientIf.h"
-
-// FORWARD DECLARATIONS
-class eap_am_network_id_c;
-class eap_method_settings_c;
-class abs_eap_am_tools_c;
-class eap_general_settings_message_c;
-
-
-enum eap_general_settings_wait_state_e
-{
-	eap_general_settings_wait_state_none,
-	eap_general_settings_wait_state_complete_set_eap_methods,
-	eap_general_settings_wait_state_complete_get_eap_methods,
-	eap_general_settings_wait_state_complete_get_certificate_lists,
-	eap_general_settings_wait_state_complete_delete_all_eap_settings,
-	eap_general_settings_wait_state_complete_copy_all_eap_settings,
-};
-
-
-// CLASS DECLARATION
-/**
-* This is implementation of CEapGeneralSettings interface.
-*/
-class CEapGeneralSettingsImpl
-: public CEapGeneralSettings
-, public abs_eap_general_settings_message_c
-, public EapClientIf
-{
-public:		
-
-	/**
-	* Construction function. Called by ECom after the EAP generic plugin has been loaded.
-	* @param aIapInfo Pointer to the class that contains information about bearer type and unique index.
-	* @return Pointer to the instance.
-	*/
-	static CEapGeneralSettingsImpl* NewL(SIapInfo* aIapInfo);
-
-	/**
-	* Destructor does nothing.
-	*/
-	virtual ~CEapGeneralSettingsImpl();
-	
-	/**
-	* Returns the version of the interface that the EAP type implements.
-	* The client-side of the interface must always check the version with this function 
-	* and not call the functions that are not implemented. New functions must be
-	* added to the end of the interface so that the order of the old functions
-	* does not change.
-	* @return Integer indicating the version.
-	*/
-	TUint GetInterfaceVersion();
-
-	TInt SetEapMethods(
-		const RArray<TEapExpandedType> & aActiveEapMethods,
-		const RArray<TEapExpandedType> & aDisabledEapMethods);
-
-	TInt GetEapMethods(
-		RArray<TEapExpandedType> & aActiveEapMethods,
-		RArray<TEapExpandedType> & aDisabledEapMethods);
-
-	TInt GetCertificateLists(
-		RPointerArray<EapCertificateEntry> & aUserCerts,
-		RPointerArray<EapCertificateEntry> & aCACerts);
-
-	TInt DeleteAllEapSettings();
-
-	TInt CopyAllEapSettings(
-		const TIndexType aDestinationIndexType,
-		const TInt aDestinationIndex);
-
-	eap_status_e complete_get_eap_methods(
-		const eap_method_settings_c * const internal_settings);
-
-	eap_status_e complete_set_eap_methods(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_get_certificate_lists(
-		const eap_method_settings_c * const internal_settings);
-
-	eap_status_e complete_delete_all_eap_settings(
-		const eap_status_e completion_status);
-
-	eap_status_e complete_copy_all_eap_settings(
-		const eap_status_e completion_status);
-
-protected:
-
-	/**
-	* Constructor initialises member variables.
-	*/
-	CEapGeneralSettingsImpl(const TIndexType aIndexType, const TInt aIndex);
-
-	void ConstructL();
-
-private:
-
-	void Activate();
-	
-	void Complete();
-
-	void WaitCompletion();
-
-	void SetCompletionStatusIfStillOk(const eap_status_e status);
-
-	/// This is pointer to the tools class.
-	abs_eap_am_tools_c * const m_am_tools;
-
-	eap_general_settings_message_c * const m_server;
-
-	CActiveSchedulerWait iWait;
-
-	// Bearer type
-	TIndexType iIndexType;
-
-	// Unique index in the bearer space.
-	TInt iIndex;
-
-	RArray<TEapExpandedType> * iActiveEapMethods;
-	RArray<TEapExpandedType> * iDisabledEapMethods;
-
-	RPointerArray<EapCertificateEntry> * iUserCerts;
-	RPointerArray<EapCertificateEntry> * iCACerts;
-
-	eap_general_settings_wait_state_e iWaitState;
-
-	eap_status_e iCompletionStatus;
-
-	TRequestStatus iAsyncronousStatus;
-};
-
-#endif // _EAP_GENERAL_SETTINGS_IMPL_H_
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Wrapper class for instantiating an implementation of
-*                MWlanEapolInterface via ECom framework.
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#ifndef EAP_PROCESS_INTERFACE_H
-#define EAP_PROCESS_INTERFACE_H
-
-#include <ecom/ecom.h>
-#include "abs_eap_am_tools.h"
-#include "EapSendInterface.h"
-
-//const TInt KCWlanEapolClientUid = 0x2000B05C;
-//const TInt KCWlanWapiClientUid = 0x200195A1;
-
-/**
- * @brief Class for instantiating an implementation of MWlanEapolInterface 
- *
- * @since S60 v3.2
- */
-class CEapProcessInterface: public CBase
-    {
-
-public:
-
-    /**
-     * Static constructor.
-     * @param aUid UID of implementation to instantiate.
-     * @param aPartner Pointer to callback instance.
-     * @return Pointer to the constructed instance.
-     */
-    inline static CEapProcessInterface* NewL(
-        TInt aUid,
-        MEapSendInterface* aPartner);
-
-    /**
-     * Destructor.
-     */
-    inline virtual ~CEapProcessInterface();
-
-
-		virtual TInt SetEnv(abs_eap_am_tools_c * const tools, const u32_t MTU) = 0;
-
-    /**
-      * Configure plugin implementation.
-      *
-      * @since S60 v3.2
-      * @param aHeaderOffset Offset of EAP-header in packet_send.
-      * @param aMTU Maximum transfer unit (MTU).
-      * @param aTrailerLength Length of trailer needed by lower levels..
-      * @return Return value is specified in interface specification.
-      */
-	virtual TInt Configure(
-		const TInt aHeaderOffset,
-		const TInt aMTU,
-		const TInt aTrailerLength,
-		const void * const aConfigurationData,
-		const TInt aConfigurationDataLength
-		) = 0;
-
-     /**
-      * Shutdown plugin implementation.
-      *
-      * @since S60 v3.2
-      * @return Return value is specified in interface specification.
-      */        
-     virtual TInt Shutdown() = 0;
-
-     /**
-      * Send data to EAPOL.
-      *
-      * @since S60 v3.2
-      * @param aData Pointer to the data to be sent.
-      * @param aLength Length of the data to be sent.
-      * @return Return value is specified in interface specification.
-      */
-     virtual TInt ProcessData(
-         const void * const aData, 
-         const TInt aLength ) = 0;
-
-  private: // data
-
-     /**
-      * Identifies the instance of an implementation created by
-      * the ECOM framework.
-      */
-     TUid iInstanceIdentifier;
-
-    };
-
-#include "EapProcessInterface.inl"
-
-#endif // EAP_PROCESS_INTERFACE_H
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.inl	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Inline functions of CWlanEapolClient class.
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-#include <ecom/ecom.h>
-#include "EapTraceSymbian.h"
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-
-inline CEapProcessInterface* CEapProcessInterface::NewL(
-    TInt aUid,
-    MEapSendInterface * aPartner)
-    {
-     
-    EAP_TRACE_DEBUG_SYMBIAN(
-        (_L("CEapProcessInterface::NewL")));  
-
-    const TUid KTMPUid = { aUid };
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-        (_L("CEapProcessInterface::NewL KTMPUid created ")));  
-
-    TAny* aInterface = REComSession::CreateImplementationL(
-        KTMPUid,
-        _FOFF( CEapProcessInterface, iInstanceIdentifier ),
-        aPartner);
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-        (_L("CEapProcessInterface::NewL CreateImplementationL done")));  
-
-    return reinterpret_cast<CEapProcessInterface*>( aInterface );
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-inline CEapProcessInterface::~CEapProcessInterface()
-    {
-    REComSession::DestroyedImplementation( iInstanceIdentifier );
-    }
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapSendInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  ECom interface definition for WLAN EAPOL interface API.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef EAP_SEND_INTERFACE_H
-#define EAP_SEND_INTERFACE_H
-
-// INCLUDES
-#include <e32std.h>
-
-
-/**
- * @brief ECom interface definition for WLAN EAPOL inteface API.
- *
- * This class defines the method used for sending data from EAPOL to WLAN Engine.
- *
- * @since S60 v3.2
- */
-class MEapSendInterface
-    {
-
-public:
-
-    /**
-     * Callback interface to partner.
-     *
-     * @since S60 v3.2
-     * @param aData Pointer to the data to be sent.
-     * @param aLength Length of the data to be sent.
-     * @return Return value is specified in interface specification.
-     */
-    virtual TInt SendData(
-        const void * const aData, 
-        const TInt aLength ) = 0;
-
-    };
-
-
-#endif // EAP_SEND_INTERFACE_H
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/REapSession.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 21 %
-*/
-
-
-#ifndef EAPSESSION_H_
-#define EAPSESSION_H_
-
-#include <e32base.h>
-#include <e32std.h>
-#include <ecom.h>
-#include "EapServerClientDef.h"
-#include "EapServer.h"
-#include "EapScheduler.h"
-#include "eap_am_tools.h"
-#include "eap_am_types.h"
-#include "SendPacketHandler.h"
-#include "EapMessageQueue.h"
-
-//----------------------------------------------------------------
-
-class MEapolPacketHandler
-    {
-public:
-    virtual void EapolHandleL(const TDesC8& aData) = 0;
-    };
-
-//----------------------------------------------------------------
-
-class CSendHandler;
-class CEapCoreInterfaceImplementation;
-class CEapClientProcessHandler;
-
-//----------------------------------------------------------------
-
-class CEapolPacketHandler : public CBase, public MEapolPacketHandler
-    {
-    void EapolHandleL(const TDesC8& aData);
-private:
-    CEapCoreInterfaceImplementation* iClient;
-    };
-
-//----------------------------------------------------------------
-
-class EAP_EXPORT REapSession :  public RSessionBase
-    {
-public:
-
-    // construct
-    inline REapSession()
-		: iSendHandler(0)
-		, iProcessHandler(0)
-		, iStatus(KErrNone)
-		, iTools(0)
-		, iClient(0)
-		, iEapMessageQueue(0)
-	{
-	};
-
-	EAP_FUNC_IMPORT virtual ~REapSession();
-
-
-	EAP_FUNC_IMPORT void ConnectL(
-		abs_eap_am_tools_c * const tools,
-		MSendPacketHandler * Client,
-		const TBuf<KMaxServerExe> ServerName,
-		const TBuf<KMaxServerExe> ServerExe,
-		const void * const aConfigurationData,
-		const TInt aConfigurationDataLength,
-		const TEapRequests aIfRequest);
-
-    EAP_FUNC_IMPORT void Close();
-
-    EAP_FUNC_IMPORT bool get_is_valid();
- 
-    /// Function receives the data message from lower layer.
-    /// Data is formatted to Attribute-Value Pairs.
-    /// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-    EAP_FUNC_IMPORT eap_status_e process_data(const TEapRequests aMessageType, const void * const data, const u32_t length);
-
-	const EapMessageBuffer * GetFirstMessage();
-
-	TInt DeleteFirstMessage();
-
-	void Process(const EapMessageBuffer * const buffer, TRequestStatus &aStatus) const;
-
-private:
-    /**
-    * Version information.
-    * @return Version information.
-    */
-    TVersion Version() const;
-
-    friend class CSendHandler;
-
-    void Receive(TDes8& aBuffer, TRequestStatus& aStatus);
-
-    void CancelReceive();
-
-    CSendHandler* iSendHandler;
-
-	CEapClientProcessHandler* iProcessHandler;
-
-    TRequestStatus iStatus;
-
-    abs_eap_am_tools_c * iTools;
-
-    MSendPacketHandler* iClient;
-
-    RProcess iServer;
-
-	EapMessageQueue* iEapMessageQueue;
-    };
-
-//----------------------------------------------------------------
-
-class CSendHandler : public CActive
-    {
-
-public:
-    // construct/destruct
-    CSendHandler(
-		abs_eap_am_tools_c * const tools,
-		REapSession& aSession); //MEapolPacketHandler& aHandler, 
-
-    virtual ~CSendHandler();
-
-    // operation
-    void Receive();
-
-private:
-    // from CActive
-    void RunL();
-    void DoCancel();
-	TInt RunError(TInt aError);
-
-
-private:
-
-    abs_eap_am_tools_c * iTools;
-
-    REapSession& iSession;
-
-    TBuf8<KMaxEapData> iBuffer;
-   
-    };
-
-//----------------------------------------------------------------
-
-class CEapClientProcessHandler
-: public CActive
-    {
-
-public:
-
-    CEapClientProcessHandler(
-		abs_eap_am_tools_c * const tools,
-		REapSession& aSession);
-
-    virtual ~CEapClientProcessHandler();
-
-	void Activate();
-
-private:
-
-    // from CActive
-    void RunL();
-    void DoCancel();
-	TInt RunError(TInt aError);
-
-
-private:
-
-    abs_eap_am_tools_c * iTools;
-
-    REapSession& iSession;
-
-	bool iProcessPending;
-    };
-
-//----------------------------------------------------------------
-
-#endif /* EAPSESSION_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/SendPacketHandler.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef SENDPACKETHANDLER_H_
-#define SENDPACKETHANDLER_H_
-
-class EapMessageBuffer;
-
-class EAP_EXPORT MSendPacketHandler
-    {
-public:
-
-    virtual eap_status_e send_data(const TDesC8& message) = 0;
-
-    };
-
-
-#endif /* SENDPACKETHANDLER_H_ */
-
--- a/eapol/eapol_framework/eapol_symbian/eap_if/include/eap_am_message_if_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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:  Message interface on client side.
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#ifndef _EAP_AM_MESSAGE_IF_SYMBIAN_H_
-#define _EAP_AM_MESSAGE_IF_SYMBIAN_H_
-
-// INCLUDES
-#include <e32std.h>
-#include "REapSession.h"
-#include "SendPacketHandler.h"
-#include "EapSendInterface.h"
-#include "abs_eap_am_tools.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "EapClientIf.h"
-
-class EapMessageBuffer;
-
-/**
- * Message interface on client side.
- */
-class EAP_EXPORT eap_am_message_if_symbian_c
-: public eap_am_message_if_c
-, public MSendPacketHandler
-, public EapClientIf
-{
-
-public:
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// Functions from CWlanEapolClient.
-
-    /**
-     * C++ default constructor.
-     */
-    EAP_FUNC_IMPORT eap_am_message_if_symbian_c(
-		abs_eap_am_tools_c * const tools,
-		const TEapRequests if_request);
-
-	/**
-	 * Destructor.
-	 */
-    EAP_FUNC_IMPORT virtual ~eap_am_message_if_symbian_c();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// Functions from eap_am_message_if_c.
-
-    EAP_FUNC_IMPORT bool get_is_valid();
-
-    EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const client);
-
-	/// Function receives the data message from lower layer.
-	/// Data is formatted to Attribute-Value Pairs.
-	/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-    EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-    EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-    EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	// Functions from MSendPacketHandler.
-
-	/// Function sends the data message to lower layer.
-	/// Data is formatted to Attribute-Value Pairs.
-	/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-    EAP_FUNC_IMPORT eap_status_e send_data(const TDesC8& message);
-
-
-private:
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	abs_eap_am_tools_c * const m_am_tools;
-
-	abs_eap_am_message_if_c * m_partner;
-
-	const TEapRequests m_if_request;
-
-	REapSession iSession;
-
-	bool m_is_valid;
-	
-};
-
-
-#endif // _EAP_AM_MESSAGE_IF_SYMBIAN_H_
-
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapClientIf.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Class stores the EAP-server name.
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-#include "EapClientIf.h"
-
-
-EXPORT_C EapClientIf::EapClientIf()
-{
-}
-
-EXPORT_C EapClientIf::~EapClientIf()
-{
-}
-
-    
-EXPORT_C TInt EapClientIf::GetServerNameAndExe(TBuf<KMaxServerExe> * const ServerName, TBuf<KMaxServerExe> * const ServerExe)
-{
-	_LIT( KEapServerName,"EapAuthServer" );
-	_LIT( KEapServerExe, "EapAuthServerExe.exe");
-
-	ServerName->Copy(KEapServerName);
-	ServerExe->Copy(KEapServerExe);
-	return KErrNone;
-}
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterface.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 21 %
-*/
-
-#include "EapCoreInterface.h"
-#include "eap_am_tools.h"
-#include "EapolUID.h"
-#include "EapPluginTools.h"
-
-CEapCoreInterface::CEapCoreInterface(const u32_t MTU):
-  iClient(NULL)
-  ,iIsValid(FALSE)
-  ,iTools(0)
-  ,iEapCoreInterface(0)
-  ,iServer(0)
-  ,iMTU(MTU)
-     {
-     }
-
-CEapCoreInterface::~CEapCoreInterface()
-    {
-    delete iEapCoreInterface;
-    }
-
-EAP_FUNC_EXPORT CEapProcessInterface* CEapCoreInterface::ConstrucL(abs_eap_am_tools_c * const tools)
-    {
-    iTools = tools;
-
-    //TInt implementationUid( EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID );
-
-	const TUid KimplementationInterfaceUid = { EAP_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID };
-		
-    RImplInfoPtrArray aImplInfoArray;
-
-	CleanupStack::PushL( TCleanupItem( EapPluginTools::CleanupImplArray, &aImplInfoArray ) );
-
-    REComSession::ListImplementationsL(KimplementationInterfaceUid,
-            aImplInfoArray);
-
-	   	EAP_TRACE_DEBUG(
-	      tools, 
-	      TRACE_FLAGS_DEFAULT, 
-	      (EAPL("CEapCoreInterface::ConstrucL Implementation %d\n"),aImplInfoArray[0]->ImplementationUid().iUid));
-
-    iServer = CEapProcessInterface::NewL(
-            aImplInfoArray[0]->ImplementationUid().iUid,
-            this);
-
-    EAP_TRACE_DEBUG(
-      tools, 
-      TRACE_FLAGS_DEFAULT, 
-      (EAPL("CEapCoreInterface::ConstrucL CEapProcessInterface::NewL done\n")));
-
-    iIsValid = TRUE;
-
-	CleanupStack::PopAndDestroy(&aImplInfoArray);
-
-    return iServer;
-    
-    }
-
-EAP_FUNC_EXPORT eap_am_message_if_c * new_eap_am_client_message_if_c(
-        abs_eap_am_tools_c * const tools,
-        const bool /* is_client_when_true */,
-        const u32_t MTU)
-    {   
-     CEapCoreInterface * aEapCoreInterface = 0;
-     CEapProcessInterface* aServer =0;
-     
-	   	EAP_TRACE_DEBUG(
-	      tools, 
-	      TRACE_FLAGS_DEFAULT, 
-	      (EAPL("new_eap_am_client_message_if_c()\n")));
-	      
-     aEapCoreInterface = new CEapCoreInterface(MTU);
-     if (aEapCoreInterface != 0)
-         {
-		 TRAPD( err, aServer = aEapCoreInterface->ConstrucL(tools));
-         if (err)
-             {    
-             	EAP_TRACE_DEBUG(
-				        tools, 
-				        TRACE_FLAGS_DEFAULT, 
-				        (EAPL("new_eap_am_client_message_if_c() NO SERVER IF, err = %d\n"),err));
-
-               return 0;
-             }
-         else if(aServer == NULL)
-            {
-             	EAP_TRACE_DEBUG(
-				        tools, 
-				        TRACE_FLAGS_DEFAULT, 
-				        (EAPL("new_eap_am_client_message_if_c() SERVER IF == 0\n")));
-          	}   
-         else
-  	       {
-	    	   aServer->SetEnv(tools, MTU);
-  	       }
-          
-         }
-       else
-       		{
-          EAP_TRACE_DEBUG(
-				        tools, 
-				        TRACE_FLAGS_DEFAULT, 
-				        (EAPL("new_eap_am_client_message_if_c() new(ELeave) CEapCoreInterface(MTU) failed\n")));
-       	 	return 0;
-					}
-     return aEapCoreInterface;
-
-    }
-
-EAP_FUNC_EXPORT bool CEapCoreInterface::get_is_valid()
-    {
-    EAP_TRACE_DEBUG(
-             iTools, 
-             TRACE_FLAGS_DEFAULT, 
-             (EAPL("CEapCoreInterface::get_is_valid() = %d\n"),iIsValid ));
-      return iIsValid;
-    }
-
-EAP_FUNC_EXPORT eap_status_e CEapCoreInterface::process_data(const void * const data, const u32_t length)
-    {
-    EAP_TRACE_DEBUG(
-            iTools, 
-            TRACE_FLAGS_DEFAULT, 
-            (EAPL("CEapCoreInterface::process_data()\n")));
-
-    TInt err = iServer->ProcessData(data, length);
-
-    return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(err));
-    }
-
-
-EAP_FUNC_EXPORT eap_status_e CEapCoreInterface::configure(
-	const eap_variable_data_c * const client_configuration)
-    {
-    EAP_TRACE_DEBUG(
-            iTools, 
-            TRACE_FLAGS_DEFAULT, 
-            (EAPL("CEapCoreInterface::configure()\n")));
-
-    TInt err = iServer->Configure(0,0,0, client_configuration->get_data(), client_configuration->get_data_length());
-
-    return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(err));
-    }
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-EAP_FUNC_EXPORT eap_status_e CEapCoreInterface::shutdown()
-    {
-    EAP_TRACE_DEBUG(
-            iTools, 
-            TRACE_FLAGS_DEFAULT, 
-            (EAPL("CEapCoreInterface::shutdown()\n")));
-
-    TInt err = iServer->Shutdown();
-
-    return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(err));
-    }
-
-EAP_FUNC_EXPORT void CEapCoreInterface::set_partner(abs_eap_am_message_if_c * const client)
-    {
-    EAP_TRACE_DEBUG(
-            iTools, 
-            TRACE_FLAGS_DEFAULT, 
-            (EAPL("CEapCoreInterface::set_partner()\n")));
-    iClient = client;
-    }
-
-EAP_FUNC_EXPORT TInt CEapCoreInterface::SendData(
-    const void * const aData, 
-    const TInt aLength )
-    {
-    EAP_TRACE_DEBUG(
-            iTools, 
-            TRACE_FLAGS_DEFAULT, 
-            (EAPL("CEapCoreInterface::SendData()\n")));
-    if (iClient != NULL)
-        {
-        return iClient->send_data( aData, aLength);
-        }
-    else
-        {
-        return KErrNone;
-        }
-    }
-
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterfaceImplementation.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 22 %
-*/
-
-// INCLUDES
-#include <e32std.h>
-#include <implementationproxy.h>
-#include "EapCoreInterfaceImplementation.h"
-#include "EapolUID.h"
-#include "EapTraceSymbian.h"
-//-----------------------------------------------------------------------------------------
-
-/**
- * Pairs ECom implementation UIDs with a pointer to the instantiation 
- * method for that implementation. Required for all ECom implementation
- * collections.
- */
-const TImplementationProxy ImplementationTable[] =
-{
-    {{ EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID }, reinterpret_cast<TProxyNewLPtr>(CEapCoreInterfaceImplementation::NewL)}
-};
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * Static constructor.
- * @param aPartner Pointer to callback instance.
- * @return Pointer to the constructed instance.
- */
-CEapProcessInterface* CEapCoreInterfaceImplementation::NewL(MEapSendInterface * aPartner)
-    {
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::NewL")));  
-
-    CEapCoreInterfaceImplementation* self = new (ELeave) CEapCoreInterfaceImplementation();
-	
-	CleanupStack::PushL(self);
-
-	self->ConstructL(aPartner);
-
-	if (self->get_is_valid() != true)
-	{
-		User::Leave(KErrGeneral);
-	}
-
-	CleanupStack::Pop(self);
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::NewL end")));  
-	return self;
-    }
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * C++ default constructor.
-*/ 
-CEapCoreInterfaceImplementation::CEapCoreInterfaceImplementation()
-	{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::CEapCoreInterfaceImplementation")));  
-	m_partner = 0;
-	m_is_valid = false;
-	iMTU = 0;
-	iTools = 0;
-	}
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * Destructor.
- */
-CEapCoreInterfaceImplementation::~CEapCoreInterfaceImplementation()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::~CEapCoreInterfaceImplementation")));  
-	m_partner = 0;
-	iTools = 0;
-	iMTU = 0;
-//	iSession.Close();
-    }
-
-//-----------------------------------------------------------------------------------------
-TInt CEapCoreInterfaceImplementation::SetEnv(abs_eap_am_tools_c * const tools, const u32_t MTU)
-    {
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::SetEnv")));  
-	iTools = tools;
-	iMTU = MTU;
-	return KErrNone;
-    }
-
-/**
- * Configure plugin implementation.
- *
- * @since S60 v3.2
- * @param aHeaderOffset Offset of EAP-header in packet_send.
- * @param aMTU Maximum transfer unit (MTU).
- * @param aTrailerLength Length of trailer needed by lower levels..
- * @return Return value is specified in interface specification.
- */
-TInt CEapCoreInterfaceImplementation::Configure(
-	const TInt /* aHeaderOffset */,
-	const TInt /* aMTU */,
-	const TInt /* aTrailerLength */,
-	const void * const aConfigurationData,
-	const TInt aConfigurationDataLength)
-	{
-	EAP_TRACE_DEBUG_SYMBIAN(
-	(_L("CEapCoreInterfaceImplementation::Configure")));  
-
-	TBuf<KMaxServerExe> ServerName;
-	TBuf<KMaxServerExe> ServerExe;
-
-	GetServerNameAndExe(&ServerName, &ServerExe);
-
-	TRAPD(err, iSession.ConnectL(iTools, this, ServerName, ServerExe, aConfigurationData, aConfigurationDataLength, EEapCoreIfNew));
-
-	if(err)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapCoreInterfaceImplementation::Configure - iSession.ConnectL err=%d\n"), err ));
-		return err;
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapCoreInterfaceImplementation::Configure end")));
-
-	return err;
-	}
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * Shutdown plugin implementation.
- *
- * @since S60 v3.2
- * @return Return value is specified in interface specification.
- */        
-TInt CEapCoreInterfaceImplementation::Shutdown()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::Shutdown")));  
-    iSession.Close();
-
-	return 0;
-    }
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * Send data to EAPOL.
- *
- * @since S60 v3.2
- * @param aData Pointer to the data to be sent.
- * @param aLength Length of the data to be sent.
- * @return Return value is specified in interface specification.
- */
-TInt CEapCoreInterfaceImplementation::ProcessData(
-        const void * const aData, 
-        const TInt aLength )
-    {
-    EAP_TRACE_DEBUG(
-            iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("CEapCoreInterfaceImplementation::ProcessData()\n")));
-
-	EAP_TRACE_DATA_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapCoreInterfaceImplementation::ProcessData()"),
-		aData,
-		aLength));
-
-    return iSession.process_data(EEapCoreProcessData, aData, aLength);
-    }
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * Symbian 2nd phase constructor.
- */
-void CEapCoreInterfaceImplementation::ConstructL(MEapSendInterface * aPartner)
-    {
-	m_partner = aPartner;
-	m_is_valid = true;
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapCoreInterfaceImplementation::ConstructL")));  
-	
-//    RWapiSession session;
-//    __UHEAP_MARK;
-//    CTestPacketHandler* tph = new (ELeave) CTestPacketHandler;
-//    CleanupStack::PushL( tph );
-
-//    CleanupStack::Pop( tph );
-    
-//    delete tph;
-
-    }
-
-//-----------------------------------------------------------------------------------------
-
-bool CEapCoreInterfaceImplementation::get_is_valid()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN(
-      (_L("CEapCoreInterfaceImplementation::get_is_valid = %d"),m_is_valid ));  
-    
-	return m_is_valid;
-    }
-
-//-----------------------------------------------------------------------------------------
-
-/// Function sends the data message to lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-eap_status_e CEapCoreInterfaceImplementation::send_data(const TDesC8& message)
-    {
-    EAP_TRACE_DEBUG(
-            iTools,
-        TRACE_FLAGS_DEFAULT,
-    (EAPL("CEapCoreInterfaceImplementation::send_data \n")));
-
-	return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(
-		m_partner->SendData(
-            message.Ptr(), 
-            message.Length())));
-    }
-
-//-----------------------------------------------------------------------------------------
-
-// ======== GLOBAL FUNCTIONS ========
-
-// ---------------------------------------------------------
-// Returns an instance of the proxy table.
-// Returns: KErrNone
-// ---------------------------------------------------------
-//
-EAP_FUNC_EXPORT const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    EAP_TRACE_DEBUG_SYMBIAN(
-            (_L("TImplementationProxy* ImplementationGroupProxy")));  
-
-    aTableCount = sizeof( ImplementationTable) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
-
-//-----------------------------------------------------------------------------------------
-
-// End of file.
-
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapFastPacStoreImpl.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,875 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 22 %
-*/
-
-#include <e32base.h>
-#include <ecom/implementationproxy.h>
-#include "EapolUID.h"
-#include "EapTraceSymbian.h"
-#include "EapFastPacStoreImpl.h"
-#include "eap_automatic_variable.h"
-
-// ----------------------------------------------------------
-
-const TImplementationProxy ImplementationTable[] = 
-{
-	{{0x2002BC93}, reinterpret_cast<TProxyNewLPtr> (CEapFastPacStoreImpl::NewL)}
-};
-
-// ----------------------------------------------------------
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-	return ImplementationTable;
-}
-
-// ----------------------------------------------------------
-
-CEapFastPacStore* CEapFastPacStoreImpl::NewL()
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::NewL")));  
-
-    CEapFastPacStoreImpl* self = new (ELeave) CEapFastPacStoreImpl();
-		
-		self->ConstructL();
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::NewL end")));  
-	return self;
- 	
-}
-
-// ----------------------------------------------------------
-
-CEapFastPacStoreImpl::CEapFastPacStoreImpl():
-   	iTools(abs_eap_am_tools_c::new_abs_eap_am_tools_c())
-	  ,iPartner(eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c(
-			iTools,
-			this))
-    ,iIsValid (EFalse)
-   	,iWaitState(eap_fast_pac_store_impl_wait_state_none)
-    ,iPacStorePassword (new eap_variable_data_c(iTools))
-    ,iIsPresent(EFalse)
-		,iIsMatching(EFalse)
-	{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::CEapFastPacStoreImpl")));
-		
-		
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::CEapFastPacStoreImpl end")));  
-	}
-	
-// ----------------------------------------------------------
-
-void CEapFastPacStoreImpl::ConstructL()
-	{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::ConstructL")));
-
-	eap_status_e status = iPartner->configure();
-	if (status != eap_status_ok)
-		{
-			TInt aError = iTools->convert_eapol_error_to_am_error(status);
-			
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-		delete iPartner;
-		iPartner = NULL;
-		User::Leave(aError);
-		}
-			
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::ConstructL end")));  
-		
-	}
-	
-// ----------------------------------------------------------
-
-CEapFastPacStoreImpl::~CEapFastPacStoreImpl()
-	{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::~CEapFastPacStoreImpl")));
- 
-     if ( iPacStorePassword != NULL )
-        {
-        delete iPacStorePassword;
-        }
-
-		if (iPartner != 0)
-			{
-			iPartner->shutdown();
-			}
-		delete iPartner;
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::~CEapFastPacStoreImpl end")));  
-		
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-		iTools = NULL;
-	}
-	
-
-// ----------------------------------------------------------
-
-void CEapFastPacStoreImpl::Activate()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::Activate(): iAsyncronousStatus=%u\n"),
-			iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapFastPacStoreImpl::Activate()");
-
-	iAsyncronousStatus = KRequestPending;
-}
-
-//----------------------------------------------------------------
-
-void CEapFastPacStoreImpl::Complete()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::Complete(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapFastPacStoreImpl::Complete()");
-
-	iAsyncronousStatus = KErrNone;
-
-	// This is needed to continue the execution after Wait.Start(); 
-	iWait.AsyncStop();
-}
-
-//----------------------------------------------------------------
-
-void CEapFastPacStoreImpl::WaitCompletion()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::WaitCompletion(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapFastPacStoreImpl::WaitCompletion()");
-
-	while (iAsyncronousStatus == KRequestPending)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapFastPacStoreImpl::WaitCompletion(): calls iWait.Start()\n")));
-
-		iWait.Start();
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapFastPacStoreImpl::WaitCompletion(): iWait.Start() returns, iAsyncronousStatus=%u\n"),
-			iAsyncronousStatus.Int()));
-	}
-}
-
-// ----------------------------------------------------------
-
-void CEapFastPacStoreImpl::OpenPacStoreL()
-	{
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::OpenPacStoreL")));  
-
-		eap_status_e status = iPartner->open_pac_store(
-		iCompletionStatus);
-		
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_open_pac_store;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::OpenPacStoreL end")));  
-
-}
-    
-// ----------------------------------------------------------
-
-void CEapFastPacStoreImpl::CreateDeviceSeedL()
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::CreateDeviceSeedL")));  
-
-	eap_status_e status = iPartner->create_device_seed(
-		iCompletionStatus);
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_create_device_seed;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::CreateDeviceSeedL end")));  
-
-}
-
-// ----------------------------------------------------------
-
-TBool CEapFastPacStoreImpl::IsMasterKeyPresentL()
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::IsMasterKeyPresentL")));  
-
-	eap_status_e status = iPartner->is_master_key_present(
-		iCompletionStatus);
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_is_master_key_present;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::IsMasterKeyPresentL end")));  
-
-	return iIsPresent;
-
-}
-
-// ----------------------------------------------------------
-
-TBool CEapFastPacStoreImpl::IsMasterKeyAndPasswordMatchingL(
-		const TDesC8 & aPassword8)
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::IsMasterKeyAndPasswordMatchingL")));  
-
-	(void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size());
-
-	eap_status_e status = iPartner->is_master_key_and_password_matching(
-		iPacStorePassword
-		,iCompletionStatus);
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_is_master_key_and_password_matching;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::IsMasterKeyAndPasswordMatchingL end")));  
-
-	return iIsMatching;
-
-}
-
-// ----------------------------------------------------------
-
-TInt CEapFastPacStoreImpl::CreateAndSaveMasterKeyL(
-		const TDesC8 & aPassword8)
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::CreateAndSaveMasterKeyL")));  
-
-	
-	(void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size());
-
-	eap_status_e status = iPartner->create_and_save_master_key(
-		iPacStorePassword
-		,iCompletionStatus);
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_create_and_save_master_key;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::CreateAndSaveMasterKeyL end")));  
-
-  return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-TBool CEapFastPacStoreImpl::ComparePacStorePasswordL(
-		TDes8 & aPassword8)
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::ComparePacStorePasswordL")));  
-
-	(void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size());
-
-	eap_status_e status = iPartner->compare_pac_store_password(
-		iPacStorePassword);
-		
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_compare_pac_store_password;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::ComparePacStorePasswordL end")));  
-     
-  return iIsPwMatching;
-
-}
-
- TBool CEapFastPacStoreImpl::IsPacStorePasswordPresentL()
- 	{
-     EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::IsPacStorePasswordPresentL")));  
-
-	eap_status_e status = iPartner->is_pacstore_password_present();
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_is_pacstore_password_present;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::IsPacStorePasswordPresentL end")));  
-
-	return iIsPwPresent;
-		
- 	}
-
-// ----------------------------------------------------------
-
-TInt CEapFastPacStoreImpl::SetPacStorePasswordL(
-		const TDesC8 & aPassword8)
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::SetPacStorePasswordL")));  
-
-	(void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size());
-	
-	eap_status_e status = iPartner->set_pac_store_password(
-		iPacStorePassword
-		,iCompletionStatus);
-
-	if (status != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_set_pac_store_password;
-    Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		User::Leave(iTools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(iTools, iCompletionStatus)));
-	}
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::SetPacStorePasswordL end")));  
-
-	return iCompletionStatus;
-
-
-}
-
-// ----------------------------------------------------------
-
-TInt CEapFastPacStoreImpl::DestroyPacStore()
-{
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::DestroyPacStore")));  
-
-	eap_status_e status = iPartner->destroy_pac_store(
-		iCompletionStatus);
-
-	if (status != eap_status_ok)
-	{
-		return iTools->convert_eapol_error_to_am_error(status);
-	}
-
-	iWaitState = eap_fast_pac_store_impl_wait_state_complete_destroy_pac_store;
-    Activate();
-    WaitCompletion();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::DestroyPacStore end")));  
-
-	return iCompletionStatus;
-
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_open_pac_store(
-		const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_open_pac_store(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_open_pac_store
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	Complete();
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_open_pac_store end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_create_device_seed(
-		const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_create_device_seed(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_create_device_seed
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_create_device_seed end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_is_master_key_present(
-		bool is_present
-		,const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_is_master_key_present(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iIsPresent = is_present;
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_is_master_key_present
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-	
-	iIsPresent = is_present;
-	Complete();
-
-    EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_is_master_key_present end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_is_master_key_and_password_matching(
-		bool is_matching
-		,const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_is_master_key_and_password_matching(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = completion_status;
-
-	iIsMatching = is_matching;
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_is_master_key_and_password_matching
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-	iIsMatching = is_matching;
-	
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_is_master_key_and_password_matching end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_create_and_save_master_key(
-		const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_create_and_save_master_key(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_create_and_save_master_key
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_create_and_save_master_key end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_compare_pac_store_password(
-		bool is_matching)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_compare_pac_store_password(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = eap_status_ok;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_compare_pac_store_password)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	iIsPwMatching = is_matching;
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_compare_pac_store_password end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_is_pacstore_password_present(
-		bool is_present)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_is_pacstore_password_present(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = eap_status_ok;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_is_pacstore_password_present)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	iIsPwPresent = is_present;
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_is_pacstore_password_present end")));  
-
-	return iCompletionStatus;
-
-}
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_set_pac_store_password(
-		const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_set_pac_store_password(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_set_pac_store_password
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_set_pac_store_password end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapFastPacStoreImpl::complete_destroy_pac_store(
-		const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapFastPacStoreImpl::complete_destroy_pac_store(): this=0x%08x, iWaitState=%d\n"),
-		this,
-		iWaitState));
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_destroy_pac_store
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR wrong state.
-		iCompletionStatus = eap_status_wrong_eap_type_state;
-	}
-
-	Complete();
-
-  EAP_TRACE_DEBUG_SYMBIAN(
-     (_L("CEapFastPacStoreImpl::complete_destroy_pac_store end")));  
-
-	return iCompletionStatus;
-
-}
-
-// ----------------------------------------------------------
-
-eap_am_message_if_c * eap_am_message_if_c::new_eap_am_message_if_c(
-	abs_eap_am_tools_c * const tools)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_message_if_c::new_eap_am_server_pac_store_message_c()\n")));
-
-    eap_am_message_if_c *client_if = new eap_am_message_if_symbian_c(tools, EEapPacStoreNew);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_client_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_general_settings_c(): client_if->shutdown()\n")));
-
-			client_if->shutdown();
-		}
-		return 0;
-	}
-
-	automatic_client_if.do_not_free_variable();
-
-	return client_if;
-
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_pac_store_message_base_c * eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_pac_store_message_c * const partner)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c()\n")));
-
-	eap_am_message_if_c *client_if = eap_am_message_if_c::new_eap_am_message_if_c(
-		tools);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_client_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c(): client_if->shutdown()\n")));
-
-			(void) client_if->shutdown();
-		}
-		return 0;
-	}
-
-	eap_pac_store_client_message_if_c * new_session_core = new eap_pac_store_client_message_if_c(tools, client_if, partner);
-
-	eap_automatic_variable_c<eap_pac_store_client_message_if_c> automatic_new_session_core(
-		tools,
-		new_session_core);
-
-	if (new_session_core == 0
-		|| new_session_core->get_is_valid() == false)
-	{
-		// ERROR.
-		if (new_session_core != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c(): new_session_core->shutdown()\n")));
-
-			new_session_core->shutdown();
-		}
-		return 0;
-	}
-
-	client_if->set_partner(new_session_core);
-
-	automatic_client_if.do_not_free_variable();
-	automatic_new_session_core.do_not_free_variable();
-
-	return new_session_core;
-}
-
-
-// ----------------------------------------------------------
-
-
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsImpl.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,850 +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:  This is implementation of CEapGeneralSettings interface.
-*
-*/
-
-/*
-* %version: 49 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 740 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-// INCLUDE FILES
-
-#include "EapGeneralSettingsImpl.h"
-#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_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_automatic_variable.h"
-#include "eap_general_settings_message.h"
-#include "eap_am_message_if_symbian.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_general_settings_client_message_if.h"
-
-// LOCAL CONSTANTS
-
-// The version number of this interface.
-const TUint KInterfaceVersion = 1;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-CEapGeneralSettingsImpl::CEapGeneralSettingsImpl(
-	const TIndexType aIndexType,	
-	const TInt aIndex)
-: m_am_tools(abs_eap_am_tools_c::new_abs_eap_am_tools_c())
-, m_server(new_eap_general_settings_client_message_if_c(
-		m_am_tools,
-		this))
-, iIndexType(aIndexType)
-, iIndex(aIndex)
-, iActiveEapMethods(0)
-, iDisabledEapMethods(0)
-, iUserCerts(0)
-, iCACerts(0)
-, iWaitState(eap_general_settings_wait_state_none)
-, iCompletionStatus(eap_status_process_general_error)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::CEapGeneralSettingsImpl(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::CEapGeneralSettingsImpl()");
-
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneralSettingsImpl::ConstructL()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::ConstructL(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::ConstructL()");
-
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_server == 0
-		|| m_server->get_is_valid() == false)
-	{
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
-		delete m_server;
-
-		User::Leave(KErrNoMemory);
-	}
-
-	eap_status_e status = m_server->configure();
-	if (status != eap_status_ok)
-	{
-		TInt aStatus = m_am_tools->convert_eapol_error_to_am_error(status);
-			
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
-		delete m_server;
-
-		User::Leave(aStatus);
-	}
-}
-
-// ----------------------------------------------------------
-
-CEapGeneralSettingsImpl* CEapGeneralSettingsImpl::NewL(SIapInfo* aIapInfo)
-{
-	CEapGeneralSettingsImpl* self = new(ELeave) CEapGeneralSettingsImpl(aIapInfo->indexType, aIapInfo->index);
-
-	CleanupStack::PushL(self);
-
-	self->ConstructL();
-
-	CleanupStack::Pop();
-
-	return self;
-}
-
-// ----------------------------------------------------------
-
-CEapGeneralSettingsImpl::~CEapGeneralSettingsImpl()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::~CEapGeneralSettingsImpl(): this=0x%08x.\n"),
-		this));
-
-	if (m_server != 0)
-	{
-		m_server->shutdown();
-	}
-	delete m_server;
-
-	abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools);
-}
-
-// ----------------------------------------------------------
-
-TUint CEapGeneralSettingsImpl::GetInterfaceVersion()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::GetInterfaceVersion(): this=0x%08x\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::GetInterfaceVersion()");
-
-	return KInterfaceVersion;
-}
-
-//----------------------------------------------------------------
-
-void CEapGeneralSettingsImpl::Activate()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::Activate(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::Activate()");
-
-	iAsyncronousStatus = KRequestPending;
-
-}
-
-//----------------------------------------------------------------
-
-void CEapGeneralSettingsImpl::Complete()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::Complete(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::Complete()");
-
-	iAsyncronousStatus = KErrNone;
-
-	// This is needed to continue the execution after Wait.Start(); 
-	iWait.AsyncStop();
-}
-
-//----------------------------------------------------------------
-
-void CEapGeneralSettingsImpl::WaitCompletion()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::WaitCompletion(): iAsyncronousStatus=%u\n"),
-		iAsyncronousStatus.Int()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::WaitCompletion()");
-
-	while (iAsyncronousStatus == KRequestPending)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapGeneralSettingsImpl::WaitCompletion(): calls iWait.Start()\n")));
-
-		iWait.Start();
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapGeneralSettingsImpl::WaitCompletion(): iWait.Start() returns, iAsyncronousStatus=%u\n"),
-			iAsyncronousStatus.Int()));
-	}
-}
-
-// ----------------------------------------------------------
-
-void CEapGeneralSettingsImpl::SetCompletionStatusIfStillOk(const eap_status_e status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::SetCompletionStatusIfStillOk(): iCompletionStatus=%d=%s, status=%d=%s\n"),
-		iCompletionStatus,
-		eap_status_string_c::get_status_string(iCompletionStatus),
-		status,
-		eap_status_string_c::get_status_string(status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::SetCompletionStatusIfStillOk()");
-
-	if (iCompletionStatus == eap_status_ok)
-	{
-		iCompletionStatus = status;
-	}
-}
-
-// ----------------------------------------------------------
-
-TInt CEapGeneralSettingsImpl::GetEapMethods(
-	RArray<TEapExpandedType> & ActiveEapMethods,
-	RArray<TEapExpandedType> & DisabledEapMethods)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::GetEapMethods(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::GetEapMethods()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(
-		m_am_tools,
-		internal_settings);
-
-	if (internal_settings == 0)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	iActiveEapMethods = &ActiveEapMethods;
-	iDisabledEapMethods = &DisabledEapMethods;
-
-	eap_status_e status = m_server->get_eap_methods(internal_settings);
-
-	iWaitState = eap_general_settings_wait_state_complete_get_eap_methods;
-	Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus));
-	}
-
-	return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status));
-}
-
-// ----------------------------------------------------------
-
-TInt CEapGeneralSettingsImpl::SetEapMethods(
-	const RArray<TEapExpandedType> & ActiveEapMethods,
-	const RArray<TEapExpandedType> & DisabledEapMethods)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::SetEapMethods(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::SetEapMethods()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(
-		m_am_tools,
-		internal_settings);
-
-	if (internal_settings == 0)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-
-	TInt error = CEapConversion::ConvertExpandedEAPTypesToInternalTypes(
-		m_am_tools,
-		&ActiveEapMethods,
-		&(internal_settings->m_active_eap_methods));
-	if (error != KErrNone)
-	{
-		return error;
-	}
-
-
-	error = CEapConversion::ConvertExpandedEAPTypesToInternalTypes(
-		m_am_tools,
-		&DisabledEapMethods,
-		&(internal_settings->m_disabled_eap_methods));
-	if (error != KErrNone)
-	{
-		return error;
-	}
-
-	internal_settings->m_SelectedEAPTypesPresent = true;
-
-	eap_status_e status = m_server->set_eap_methods(internal_settings);
-
-	iWaitState = eap_general_settings_wait_state_complete_set_eap_methods;
-	Activate();
-    WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus));
-	}
-
-	return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status));
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneralSettingsImpl::complete_get_eap_methods(
-	const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::complete_get_eap_methods(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		internal_settings->m_completion_status,
-		eap_status_string_c::get_status_string(internal_settings->m_completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_get_eap_methods()");
-
-	if (internal_settings == 0)
-	{
-		iCompletionStatus = eap_status_illegal_parameter;
-
-		Complete();
-
-		return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-	}
-
-	iCompletionStatus = internal_settings->m_completion_status;
-
-	if (iWaitState == eap_general_settings_wait_state_complete_get_eap_methods
-		&& iCompletionStatus == eap_status_ok)
-	{
-		if (iActiveEapMethods != 0
-			&& iDisabledEapMethods != 0
-			&& internal_settings != 0)
-		{
-			TInt error(KErrNone);
-
-			error = CEapConversion::ConvertInternalTypesToExpandedEAPTypes(
-				m_am_tools,
-				&(internal_settings->m_active_eap_methods),
-				iActiveEapMethods);
-			if (error != KErrNone)
-			{
-				SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)));
-			}
-			else
-			{
-				error = CEapConversion::ConvertInternalTypesToExpandedEAPTypes(
-					m_am_tools,
-					&(internal_settings->m_disabled_eap_methods),
-					iDisabledEapMethods);
-				if (error != KErrNone)
-				{
-					SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)));
-				}
-			}
-		}
-		else
-		{
-			SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter));
-		}
-	}
-	else if (iCompletionStatus == eap_status_ok)
-	{
-		// ERROR, wrong state. Other function was completed successfully not the function that was waited.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneralSettingsImpl::complete_set_eap_methods(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::complete_set_eap_methods(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_set_eap_methods()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_general_settings_wait_state_complete_set_eap_methods
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR, wrong state. Other function was completed successfully not the function that was waited.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-
-TInt CEapGeneralSettingsImpl::GetCertificateLists(
-	RPointerArray<EapCertificateEntry> & aUserCerts,
-	RPointerArray<EapCertificateEntry> & aCACerts)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::GetCertificateLists(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::GetCertificateLists()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(
-		m_am_tools,
-		internal_settings);
-
-	if (internal_settings == 0)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	iUserCerts = &aUserCerts;
-	iCACerts = &aCACerts;
-
-	eap_status_e status = m_server->get_certificate_lists(internal_settings);
-
-	iWaitState = eap_general_settings_wait_state_complete_get_certificate_lists;
-	Activate();
-	WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus));
-	}
-
-	return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status));
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneralSettingsImpl::complete_get_certificate_lists(
-	const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::complete_get_certificate_lists(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		internal_settings->m_completion_status,
-		eap_status_string_c::get_status_string(internal_settings->m_completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_get_certificate_lists()");
-
-	if (internal_settings == 0)
-	{
-		// ERROR
-		iCompletionStatus = eap_status_illegal_parameter;
-
-		Complete();
-
-		return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-	}
-
-	iCompletionStatus = internal_settings->m_completion_status;
-
-	if (iWaitState == eap_general_settings_wait_state_complete_get_certificate_lists
-		&& iCompletionStatus == eap_status_ok)
-	{
-		if (iUserCerts != 0
-			&& iCACerts != 0
-			&& internal_settings != 0)
-		{
-			TInt error = CEapConversion::ConvertInternalTypeToCertificates(
-				m_am_tools,
-				eap_certificate_entry_c::eap_certificate_type_user,
-				&(internal_settings->m_Certificates),
-				iUserCerts);
-			if (error != KErrNone)
-			{
-				// ERROR
-				SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)));
-			}
-			else
-			{
-				error = CEapConversion::ConvertInternalTypeToCertificates(
-					m_am_tools,
-					eap_certificate_entry_c::eap_certificate_type_CA,
-					&(internal_settings->m_Certificates),
-					iCACerts);
-				if (error != KErrNone)
-				{
-					// ERROR
-					SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)));
-				}
-			}
-		}
-		else
-		{
-			// ERROR
-			SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter));
-		}
-	}
-	else if (iCompletionStatus == eap_status_ok)
-	{
-		// ERROR, wrong state. Other function was completed successfully not the function that was waited.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus);
-}
-
-// ----------------------------------------------------------
-
-TInt CEapGeneralSettingsImpl::DeleteAllEapSettings()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::DeleteAllEapSettings(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::DeleteAllEapSettings()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(
-		m_am_tools,
-		internal_settings);
-
-	if (internal_settings == 0)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-
-	eap_status_e status = m_server->delete_all_eap_settings(internal_settings);
-
-	iWaitState = eap_general_settings_wait_state_complete_delete_all_eap_settings;
-	Activate();
-	WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus));
-	}
-
-	return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status));
-}
-
-// ----------------------------------------------------------
-
-TInt CEapGeneralSettingsImpl::CopyAllEapSettings(
-	const TIndexType aDestinationIndexType,
-	const TInt aDestinationIndex)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::CopyAllEapSettings(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::CopyAllEapSettings()");
-
-	eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_internal_settings(
-		m_am_tools,
-		internal_settings);
-
-	if (internal_settings == 0)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error));
-	}
-
-	internal_settings->m_IndexType = iIndexType;
-	internal_settings->m_Index = iIndex;
-	internal_settings->m_DestinationIndexType = aDestinationIndexType;
-	internal_settings->m_DestinationIndex = aDestinationIndex;
-
-	eap_status_e status = m_server->copy_all_eap_settings(internal_settings);
-
-	iWaitState = eap_general_settings_wait_state_complete_copy_all_eap_settings;
-	Activate();
-	WaitCompletion();
-
-	if (iCompletionStatus != eap_status_ok)
-	{
-		return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus));
-	}
-
-	return m_am_tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(m_am_tools, status));
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneralSettingsImpl::complete_delete_all_eap_settings(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::complete_delete_all_eap_settings(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_delete_all_eap_settings()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_general_settings_wait_state_complete_delete_all_eap_settings
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR, wrong state. Other function was completed successfully not the function that was waited.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-
-eap_status_e CEapGeneralSettingsImpl::complete_copy_all_eap_settings(
-	const eap_status_e completion_status)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapGeneralSettingsImpl::complete_copy_all_eap_settings(): this=0x%08x, iWaitState=%d, status=%d=%s\n"),
-		this,
-		iWaitState,
-		completion_status,
-		eap_status_string_c::get_status_string(completion_status)));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_copy_all_eap_settings()");
-
-	iCompletionStatus = completion_status;
-
-	if (iWaitState != eap_general_settings_wait_state_complete_copy_all_eap_settings
-		&& iCompletionStatus == eap_status_ok)
-	{
-		// ERROR, wrong state. Other function was completed successfully not the function that was waited.
-		SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state));
-	}
-
-	Complete();
-
-	return EAP_STATUS_RETURN(m_am_tools, completion_status);
-}
-
-// ----------------------------------------------------------
-// ----------------------------------------------------------
-// ----------------------------------------------------------
-
-eap_am_message_if_c * eap_am_message_if_c::new_eap_am_message_if_c(
-	abs_eap_am_tools_c * const tools)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_message_if_c::new_eap_am_server_general_settings_c()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_message_if_c::new_eap_am_message_if_c()");
-
-    eap_am_message_if_c *client_if = new eap_am_message_if_symbian_c(tools, EEapSettingsNew);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_client_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_general_settings_c(): client_if->shutdown()\n")));
-
-			client_if->shutdown();
-		}
-		return 0;
-	}
-
-	automatic_client_if.do_not_free_variable();
-
-	return client_if;
-
-}
-
-// ----------------------------------------------------------
-
-eap_general_settings_message_c * new_eap_general_settings_client_message_if_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_general_settings_message_c * const partner)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("new_eap_general_settings_client_message_if_c()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: new_eap_general_settings_client_message_if_c()");
-
-	eap_am_message_if_c *client_if = eap_am_message_if_c::new_eap_am_message_if_c(
-		tools);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_client_if(
-		tools,
-		client_if);
-
-	if (client_if == 0
-		|| client_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (client_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: new_eap_general_settings_client_message_if_c(): client_if->shutdown()\n")));
-
-			(void) client_if->shutdown();
-		}
-		return 0;
-	}
-
-	eap_general_settings_client_message_if_c * new_session_core = new eap_general_settings_client_message_if_c(tools, client_if, partner);
-
-	eap_automatic_variable_c<eap_general_settings_client_message_if_c> automatic_new_session_core(
-		tools,
-		new_session_core);
-
-	if (new_session_core == 0
-		|| new_session_core->get_is_valid() == false)
-	{
-		// ERROR.
-		if (new_session_core != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("ERROR: calls: new_eap_general_settings_client_message_if_c(): new_session_core->shutdown()\n")));
-
-			new_session_core->shutdown();
-		}
-		return 0;
-	}
-
-	client_if->set_partner(new_session_core);
-
-	automatic_client_if.do_not_free_variable();
-	automatic_new_session_core.do_not_free_variable();
-
-	return new_session_core;
-}
-
-// ----------------------------------------------------------
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsProxy.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 14 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 606 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-// INCLUDE FILES
-#include "EapGeneralSettingsImpl.h"
-#include <e32base.h>
-#include <ecom/implementationproxy.h>
-#include "EapolUID.h"
-
-const TImplementationProxy ImplementationTable[] = 
-{
-	{{EAP_GENERAL_SETTINGS_IMPLEMENTATION_UID}, reinterpret_cast<TProxyNewLPtr> (CEapGeneralSettingsImpl::NewL)}
-};
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-	return ImplementationTable;
-}
-
-// End of file
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,732 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 34 %
-*/
-
-#include "REapSession.h"
-#include <e32base.h>
-#include "EapTraceSymbian.h"
-#include "EapCoreInterfaceImplementation.h"
-#include "EapServerStrings.h"
-#include "eap_automatic_variable.h"
-
-//----------------------------------------------------------------
-
-void Panic(TInt aPanic)
-    {
-    _LIT(KPanicCategory,"Eapol Client");
-    User::Panic(KPanicCategory, aPanic);
-    }
-
-//----------------------------------------------------------------
-
-TVersion REapSession::Version() const
-    {
-    return( TVersion(
-            KEapMajorVersionNumber,
-            KEapMinorVersionNumber,
-            KEapBuildVersionNumber ) );
-    }
-
-//----------------------------------------------------------------
-
-EAP_FUNC_EXPORT REapSession::~REapSession()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::~REapSession()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::~REapSession()");
-
-	delete iEapMessageQueue;
-	iEapMessageQueue = 0;
-}
-
-//----------------------------------------------------------------
-
-EAP_FUNC_EXPORT void REapSession::ConnectL(
-	abs_eap_am_tools_c * const tools,
-	MSendPacketHandler * Client,
-	TBuf<KMaxServerExe> ServerName,
-	TBuf<KMaxServerExe> ServerExe,
-	const void * const aConfigurationData,
-	const TInt aConfigurationDataLength,
-	const TEapRequests aIfRequest)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::ConnectL()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: REapSession::ConnectL()");
-
-	iClient = Client;
-	iTools = tools;
-	iEapMessageQueue = new(ELeave) EapMessageQueue(iTools);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::ConnectL(): iEapMessageQueue=0x%08x\n"),
-		iEapMessageQueue));
-
-
-	// connect to iServer
-	TInt error=KErrNone;
-
-
-	TFindServer findServer(ServerName);
-	TFullName name;
-
-	error = findServer.Next( name );
-
-	if ( error == KErrNone )
-	{
-		// Server already running
-	}
-	else
-	{
-		error = iServer.Create(ServerExe,KNullDesC);
-
-		if (error != KErrNone)
-		{
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("REapSession::ConnectL(): create iServer error=%d\n"),
-				error));
-			User::Leave(error);
-		}
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): iServer successfully created\n")));
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): iServer.SetPriority(EPriorityHigh)\n")));
-
-		iServer.SetPriority(EPriorityHigh);
-
-		TRequestStatus stat;
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): iServer.Rendezvous\n")));
-
-		iServer.Rendezvous( stat );
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): iServer.Rendezvous stat = %d\n"),
-			stat.Int()));
-
-		if ( stat!=KRequestPending )
-		{
-			iServer.Kill(0);     // abort startup
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: REapSession::ConnectL(): iServer killed\n")));
-		}
-		else
-		{
-			iServer.Resume();    // logon OK - start the iServer
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("REapSession::ConnectL(): iServer started OK\n")));
-		}
-
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): WaitForRequest\n")));
-
-		User::WaitForRequest(stat);
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): WaitForRequest got, stat.Int()=%d\n"),
-			stat.Int()));
-
-		error = ( iServer.ExitType()==EExitPanic ) ? KErrGeneral : stat.Int();
-		iServer.Close();
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("REapSession::ConnectL(): Server closed, error=%d\n"),
-			error));
-	}
-
-
-	// create active object receive handler and add it to scheduler
-	CleanupClosePushL(*this);  // Close if next operations leave
-
-	User::LeaveIfError(error);
-
-	iSendHandler = new (ELeave) CSendHandler(iTools, *this); //*aHandler,
-	CActiveScheduler::Add(iSendHandler);
-
-	iProcessHandler = new (ELeave) CEapClientProcessHandler(iTools, *this); //*aHandler,
-	CleanupStack::Pop(this);
-	CActiveScheduler::Add(iProcessHandler);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::ConnectL(): calls CreateSession()\n")));
-
-	error = CreateSession(ServerName,Version(), KMaxEapMessageSlots);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::ConnectL(): CreateSession(), error=%d\n"),
-		error));
-
-	if (error != KErrNone)
-	{
-		User::Leave(error);
-	}
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): calls process_data(%d)"),
-		aIfRequest));
-
-	eap_status_e status = process_data(aIfRequest, aConfigurationData, aConfigurationDataLength);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): process_data(%d) returns status=%d, iStatus.Int()=%d"),
-		aIfRequest,
-		status,
-		iStatus.Int()));
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): calls iSendHandler->Receive()")));
-
-	iSendHandler->Receive();
-}
-
-//----------------------------------------------------------------
-
-EAP_FUNC_EXPORT void REapSession::Close()
-	{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::Close()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Close()");
-
-	// destroy receiver-handler
-	delete iSendHandler;
-	iSendHandler = 0;
-
-	delete iProcessHandler;
-	iProcessHandler = 0;
-
-	// destroy iServer session
-	iServer.Close();
-	RSessionBase::Close();
-	}
-
-//----------------------------------------------------------------
-
-/**
- * From eap_am_message_if_c 
- * Initialize interface to EAPOL or WAPI.
- * @since S60 v9.2
- */
-
-EAP_FUNC_EXPORT bool REapSession::get_is_valid()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::get_is_valid")));           
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::get_is_valid()");
-
-    return ETrue;    
-    }
-
-//----------------------------------------------------------------
-
-/// Function receives the data message from lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-EAP_FUNC_EXPORT eap_status_e REapSession::process_data(const TEapRequests aMessageType, const void * const data, const u32_t length)
-    {
-	EAP_TRACE_DATA_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::process_data()"),
-		data,
-		length));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::process_data(): calls iEapMessageQueue->AddMessage(): iEapMessageQueue=0x%08x\n"),
-		iEapMessageQueue));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::process_data()");
-
-	TInt error = iEapMessageQueue->AddMessage(aMessageType, data, length);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: REapSession::process_data(): failed = %d\n"),
-			error));
-		return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
-	}
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::process_data(): calls iProcessHandler->Activate(): iProcessHandler=0x%08x\n"),
-		iProcessHandler));
-
-	iProcessHandler->Activate();
-
-    return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
-    }
-
-//----------------------------------------------------------------
-
-void REapSession::Receive(TDes8& aBuffer, TRequestStatus& aStatus)
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::Receive()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Receive()");
-
-    TIpcArgs args( &aBuffer );
-
-    SendReceive( EEapIfReqReceive, args, aStatus );
-    }
-
-//----------------------------------------------------------------
-
-void REapSession::CancelReceive()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::CancelReceive()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::CancelReceive()");
-
-    SendReceive(EEapIfCancelReceive, iStatus);
-    }
-
-//----------------------------------------------------------------
-
-const EapMessageBuffer * REapSession::GetFirstMessage()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::GetFirstMessage()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::GetFirstMessage()");
-
-	return iEapMessageQueue->GetFirstMessage();
-}
-
-//----------------------------------------------------------------
-
-TInt REapSession::DeleteFirstMessage()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::DeleteFirstMessage()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::DeleteFirstMessage()");
-
-	return iEapMessageQueue->DeleteFirstMessage();
-}
-
-//----------------------------------------------------------------
-
-void REapSession::Process(const EapMessageBuffer * const buffer, TRequestStatus &aStatus) const
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::Process(): calls SendReceive(), aRequestType=%d=%s\n"),
-		buffer->GetRequestType(),
-		EapServerStrings::GetEapRequestsString(buffer->GetRequestType())));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Process()");
-
-	TIpcArgs args( buffer->GetData() );
-
-	SendReceive(buffer->GetRequestType(), args, aStatus);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("REapSession::Process(): end iStatus=%d\n"),
-		iStatus.Int()));
-}
-
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-
-/*
-    CSendHandler
-*/
-
-// construct/destruct
-
-CSendHandler::CSendHandler(
-	abs_eap_am_tools_c * const tools,
-	REapSession& aSession)
-    : CActive(0)
-	, iTools(tools)
-	, iSession(aSession)
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CSendHandler::CSendHandler()\n")));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::CSendHandler()");
-
-    }
-
-//----------------------------------------------------------------
-
-CSendHandler::~CSendHandler()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CSendHandler::~CSendHandler()\n")));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::~CSendHandler()");
-
-    Cancel();
-    }
-
-//----------------------------------------------------------------
-
-// operation
-
-void CSendHandler::Receive()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CSendHandler::Receive()\n")));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::Receive()");
-
-    iSession.Receive(iBuffer, iStatus);
-
-	if(!IsActive())
-		{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CSendHandler::Receive(): calls SetActive()\n")));
-
-	    SetActive();
-		}
-    }
-
-//----------------------------------------------------------------
-
-// from CActive
-
-void CSendHandler::RunL()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CSendHandler::RunL(): iStatus=%d\n"),
-		iStatus.Int()));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::RunL()");
-
-	if (iStatus.Int() == KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CSendHandler::RunL(): iStatus = KErrNone, calls send_data()\n")));
-
-		iSession.iClient->send_data(iBuffer);
-
-		// initiate next receive
-		Receive();
-	}
-	else if (iStatus.Int() == KErrCancel)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CSendHandler::RunL(): iStatus = KErrCancel, calls Close()\n")));
-
-		iSession.Close();
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CSendHandler::RunL(): does nothing\n")));
-
-	}
-}
-
-//----------------------------------------------------------------
-
-void CSendHandler::DoCancel()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CSendHandler::DoCancel()\n")));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::DoCancel()");
-
-    iSession.CancelReceive();
-    }
-
-//----------------------------------------------------------------------------
-
-TInt CSendHandler::RunError(TInt aError)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CSendHandler::RunError(): aError=%d, this=0x%08x\n"),
-		aError,
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::RunError()");
-
-	Cancel();
-
-	return aError;
-}
-
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-
-void CEapolPacketHandler::EapolHandleL(const TDesC8& /* data */)
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapolPacketHandler::EapolHandleL(): (do nothing now)")));           
-    }
-
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-
-CEapClientProcessHandler::CEapClientProcessHandler(
-	abs_eap_am_tools_c * const tools,
-	REapSession& aSession)
-	: CActive(0)
-	, iTools(tools)
-	, iSession(aSession)
-	, iProcessPending(false)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::CEapClientProcessHandler()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::CEapClientProcessHandler()");
-
-}
-
-//----------------------------------------------------------------
-
-CEapClientProcessHandler::~CEapClientProcessHandler()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::~CEapClientProcessHandler()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::~CEapClientProcessHandler()");
-
-	Cancel();
-}
-
-//----------------------------------------------------------------
-
-// from CActive
-void CEapClientProcessHandler::RunL()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("=start=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=\n")));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::RunL()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::RunL()");
-
-	TInt error(KErrNone);
-
-	if (iProcessPending == true)
-	{
-		error = iSession.DeleteFirstMessage();
-		if (error != KErrNone)
-		{
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: CEapClientProcessHandler::RunL(): iSession.DeleteFirstMessage() failed = %d\n"),
-				error));
-
-			User::Leave(error);
-		}
-	}
-
-	const EapMessageBuffer * buffer = iSession.GetFirstMessage();
-
-	if (buffer != 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapClientProcessHandler::RunL(): calls SendReceive(), buffer->GetRequestType()=%d=%s\n"),
-			buffer->GetRequestType(),
-			EapServerStrings::GetEapRequestsString(buffer->GetRequestType())));
-
-		TIpcArgs args( buffer->GetData() );
-
-		iSession.Process( buffer, iStatus );
-
-		SetActive();
-
-		iProcessPending = true;
-	}
-	else
-	{
-		iProcessPending = false;
-	}
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::RunL(): end error=%d, iStatus=%d\n"),
-		error,
-		iStatus.Int()));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("=end=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=\n")));
-}
-
-//----------------------------------------------------------------
-
-void CEapClientProcessHandler::Activate()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::Activate()\n")));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::Activate()");
-
-	if(!IsActive())
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapClientProcessHandler::Activate(): calls User::RequestComplete()\n")));
-
-		TRequestStatus* status = &iStatus;
-		User::RequestComplete(status, KErrNone);
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapClientProcessHandler::Activate(): calls SetActive()\n")));
-
-		SetActive();
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapClientProcessHandler::Activate(): Already active.\n")));
-	}
-}
-
-//----------------------------------------------------------------
-
-void CEapClientProcessHandler::DoCancel()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::DoCancel()\n")));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::DoCancel()");
-}
-
-//----------------------------------------------------------------------------
-
-TInt CEapClientProcessHandler::RunError(TInt aError)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapClientProcessHandler::RunError(): aError=%d, this=0x%08x\n"),
-		aError,
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::RunError()");
-
-	Cancel();
-
-	return aError;
-}
-
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-//----------------------------------------------------------------
-
-/*
-    DLL harness
-*/
-#ifndef EKA2
-EAP_FUNC_EXPORT TInt E32Dll(TDllReason)
-    {
-    return KErrNone;
-    }
-#endif
-
-//----------------------------------------------------------------
-// end
-
--- a/eapol/eapol_framework/eapol_symbian/eap_if/src/eap_am_message_if_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 19 %
-*/
-
-// INCLUDES
-#include <e32std.h>
-
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_am_message_if_symbian.h"
-#include "eap_variable_data.h"
-#include "eap_automatic_variable.h"
-#include "EapServerStrings.h"
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * C++ default constructor.
- */
-EAP_FUNC_EXPORT eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(
-	abs_eap_am_tools_c * const tools,
-	const TEapRequests if_request)
-: m_am_tools(tools)
-, m_partner(0)
-, m_if_request(if_request)
-, m_is_valid(false)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::eap_am_message_if_symbian_c()");
-
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-}
-
-//-----------------------------------------------------------------------------------------
-
-/**
- * Destructor.
- */
-EAP_FUNC_EXPORT eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c()");
-
-	m_partner = 0;
-}
-
-//-----------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT void eap_am_message_if_symbian_c::set_partner(abs_eap_am_message_if_c * const client)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::set_partner(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::set_partner()");
-
-	m_partner = client;
-
-	if (m_partner == 0)
-	{
-		m_is_valid = false;
-	}
-
-}
-
-//-----------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::configure(
-	const eap_variable_data_c * const client_configuration)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::configure(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::configure()");
-
-	TBuf<KMaxServerExe> ServerName;
-	TBuf<KMaxServerExe> ServerExe;
-
-	GetServerNameAndExe(&ServerName, &ServerExe);
-
-	const void * aConfigurationData = 0;
-	TInt aConfigurationDataLength = 0ul;
-
-	if (client_configuration != 0)
-	{
-		aConfigurationData = client_configuration->get_data();
-		aConfigurationDataLength = client_configuration->get_data_length();
-	}
-
-	TRAPD(err, iSession.ConnectL(m_am_tools, this, ServerName, ServerExe, aConfigurationData, aConfigurationDataLength, m_if_request));
-
-	if(err)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_message_if_symbian_c::configure(): - iSession.ConnectL err=%d\n"), err ));    
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-}
-
-//-----------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::shutdown(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::shutdown()");
-
-    iSession.Close();
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-//-----------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::process_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::process_data(): this = 0x%08x, m_if_request=%d=%s.\n"),
-		this,
-		m_if_request,
-		EapServerStrings::GetEapRequestsString(m_if_request)));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::process_data()");
-
-	TEapRequests aRequest(EEapNone);
-
-	if (m_if_request == EEapPluginNew)
-	{
-		aRequest = EEapPluginProcessData;
-	}
-	else if (m_if_request == EEapSettingsNew)
-	{
-		aRequest = EEapSettingsProcessData;
-	}
-	else if (m_if_request == EEapPacStoreNew)
-	{
-		aRequest = EEapPacStoreProcessData;
-	}
-	else if (m_if_request == EWapiCoreIfNew)
-    {
-        aRequest = EWapiCoreProcessData;
-    }
-    else if (m_if_request == EWapiSettingsNew)
-    {
-        aRequest = EWapiSettingsProcessData;
-    }
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::process_data(): calls iSession.process_data(), this = 0x%08x, aRequest=%d=%s.\n"),
-		this,
-		aRequest,
-		EapServerStrings::GetEapRequestsString(aRequest)));
-
-	return EAP_STATUS_RETURN(
-		m_am_tools,
-		m_am_tools->convert_am_error_to_eapol_error(
-			iSession.process_data(aRequest, data, length)));
-}
-
-//-----------------------------------------------------------------------------------------
-
-EAP_FUNC_EXPORT bool eap_am_message_if_symbian_c::get_is_valid()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::get_is_valid(): this = 0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::get_is_valid()");
-
-	return m_is_valid;
-}
-
-//-----------------------------------------------------------------------------------------
-
-/// Function sends the data message to lower layer.
-/// Data is formatted to Attribute-Value Pairs.
-/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::send_data(const TDesC8& message)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("eap_am_message_if_symbian_c::send_data(): this = 0x%08x, data=0x%08x, length=%d.\n"),
-		this,
-		message.Ptr(),
-		message.Length()));
-
-	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::send_data()");
-
-	return EAP_STATUS_RETURN(
-		m_am_tools, 
-		m_partner->send_data(message.Ptr(), message.Length()));
-}
-
-//-----------------------------------------------------------------------------------------
-
-// End of file.
-
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapProcessSendInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef ABSEAPPROCESSSENDINTERFACE_H_
-#define ABSEAPPROCESSSENDINTERFACE_H_
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-
-class EapMessageBuffer;
-
-class EAP_EXPORT AbsEapProcessSendInterface
-    {
-
-private:
-
-public:
-
-    virtual ~AbsEapProcessSendInterface()
-        {
-        }
-
-    /// Function sends the data message to lower layer.
-    /// Data is formatted to Attribute-Value Pairs.
-    /// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-    virtual eap_status_e SendData(EapMessageBuffer * const message) = 0;
-
-	virtual TBool GetReceiveActive() = 0;
-
-    };
-
-#endif /* ABSEAPPROCESSSENDINTERFACE_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapSendInterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#ifndef ABSEAPSENDINTERFACE_H_
-#define ABSEAPSENDINTERFACE_H_
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "EapServerClientDef.h"
-
-class EAP_EXPORT AbsEapSendInterface
-    {
-
-private:
-
-public:
-
-    virtual ~AbsEapSendInterface()
-        {
-        }
-
-    /// Function sends the data message to lower layer.
-    /// Data is formatted to Attribute-Value Pairs.
-    /// Look at eap_tlv_header_c and eap_tlv_message_data_c.
-    virtual eap_status_e SendData(const void * const data, const u32_t length, TEapRequests message) = 0;
-
-    };
-#endif /* ABSEAPSENDINTERFACE_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapCoreIf.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:  EAP-authentication interface in EAP-server.
-*
-*/
-
-/*
-* %version: 12 %
-*/
-
-
-#ifndef EAPCOREIF_H_
-#define EAPCOREIF_H_
-
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_tools.h"
-#include "AbsEapSendInterface.h"
-
-class eap_file_config_c;
-
-//--------------------------------------------------
-
-/** @file */
-
-/// This class is the EAP-authentication interface in EAP-server.
-class CEapCoreIf
-: public CBase
-, public abs_eap_am_message_if_c
-{
-
-private:
-
-    // ----------------------------------------------------------------------
-
-    /// This is pointer to the tools class.
-    abs_eap_am_tools_c * const m_am_tools;
-
-    // client interface
-    AbsEapSendInterface * m_client_if;
-
-    /// CEapCoreIf deletes m_server_if in destructor.
-    eap_am_message_if_c * m_server_if;
-
-    eap_file_config_c * m_fileconfig;
-
-    bool m_use_asyncronous_test;
-    
-    bool iIsValid;
-
-    // ----------------------------------------------------------------------
-
-public:
-
-    // ----------------------------------------------------------------------
-
-    CEapCoreIf(
-        abs_eap_am_tools_c * const tools,
-        eap_am_message_if_c * const server,
-        AbsEapSendInterface * client);
-
-    virtual ~CEapCoreIf();
-
-    bool get_is_valid();
-
-    eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-    eap_status_e send_data(const void * const data, const u32_t length);
-
-    eap_status_e process_data(const void * const data, const u32_t length);
-
-    eap_status_e shutdown();
-
-    // ------------------------------------------------------
-
-    static CEapCoreIf * new_CEapCoreIf(
-        abs_eap_am_tools_c * const tools,
-        const bool is_client_when_true,
-        const u32_t MTU,
-        AbsEapSendInterface * client);
-
-    // ----------------------------------------------------------------------
-};
-
-#endif /* EAPCOREIF_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapPluginIf.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  EAP-configuration interface in the EAP-server.
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-
-#ifndef _EAP_PLUGIN_IF_H_
-#define _EAP_PLUGIN_IF_H_
-
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "abs_eap_am_plugin.h"
-#include "eap_am_plugin.h"
-#include "eap_tools.h"
-#include "AbsEapSendInterface.h"
-
-//--------------------------------------------------
-
-/** @file */
-
-/// This class is the EAP-configuration interface in the EAP-server.
-class CEapPluginIf
-: public CBase
-, public abs_eap_am_message_if_c
-{
-
-public:
-
-    // ----------------------------------------------------------------------
-
-    CEapPluginIf(
-        abs_eap_am_tools_c * const tools,
-        eap_am_message_if_c * const server);
-
-    virtual ~CEapPluginIf();
-
-    bool get_is_valid();
-
-    eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-    void set_partner(AbsEapSendInterface * const client);
-
-    eap_status_e send_data(const void * const data, const u32_t length);
-
-    eap_status_e process_data(const void * const data, const u32_t length);
-
-    eap_status_e shutdown();
-
-    // ------------------------------------------------------
-
-    static CEapPluginIf * new_CEapPluginIf(
-        abs_eap_am_tools_c * const tools);
-
-    // ----------------------------------------------------------------------
-
-private:
-
-    // ----------------------------------------------------------------------
-
-    /// This is pointer to the tools class.
-    abs_eap_am_tools_c * const m_am_tools;
-
-    // client interface
-    AbsEapSendInterface * m_client_if;
-
-    /// CEapPluginIf deletes m_server_if in destructor.
-    eap_am_message_if_c * m_server_if;
-
-    bool m_use_asyncronous_test;
-    
-    bool m_is_valid;
-
-    // ----------------------------------------------------------------------
-
-};
-
-
-#endif /* _EAP_PLUGIN_IF_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapScheduler.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 10 %
-*/
-
-
-#ifndef EAPSCHEDULER_H_
-#define EAPSCHEDULER_H_
-
-#include "EapServerClientDef.h"
-#include "abs_eap_am_tools.h"
-#include "EapClientIf.h"
-#include <e32math.h>
-
-class CEapServer;
-
-// -------------------------------------------------------------------------
-
-class CEapScheduler
-: public CActiveScheduler
-, public EapClientIf
-{
-
-public:
-
-	EAP_FUNC_IMPORT static CEapScheduler* NewL();
-
-	EAP_FUNC_IMPORT static TInt LaunchFromClient(const TBuf<KMaxServerExe> Server);
-
-	class TServerStart
-	{
-
-	public:
-
-		TServerStart(TRequestStatus& aStatus);
-
-		TPtrC AsCommand() const;
-
-		inline TServerStart() {};
-
-		void SignalL();
-
-	private:
-
-		TThreadId iId;
-
-		TRequestStatus* iStatus;
-
-	};
-
-public:
-
-#ifdef __WINS__
-    static TInt ThreadFunction(TAny* aThreadParms);
-#endif
-
-    EAP_FUNC_IMPORT static TInt ThreadStart(TServerStart& aSignal);
-
-    static void ConstructL(TServerStart& aStart);
-
-    virtual ~CEapScheduler();
-
-    void Error(TInt aError) const; // from CActiveScheduler
-
-private:
-
-    CEapServer* iServer;
-
-};
-
-// -------------------------------------------------------------------------
-
-inline CEapScheduler::TServerStart::TServerStart(TRequestStatus& aStatus)
-    : iId(RThread().Id())
-	, iStatus(&aStatus)
-{
-	aStatus=KRequestPending;
-}
-
-// -------------------------------------------------------------------------
-
-inline TPtrC CEapScheduler::TServerStart::AsCommand() const
-{
-	return TPtrC(reinterpret_cast<const TText*>(this),sizeof(TServerStart)/sizeof(TText));
-}
-
-// -------------------------------------------------------------------------
-
-#endif /* EAPSCHEDULER_H_ */
-
-// -------------------------------------------------------------------------
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServer.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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:  EAP-server class.
-*
-*/
-
-/*
-* %version: 12 %
-*/
-
-
-#ifndef EAPAUTHSERVER_H_
-#define EAPAUTHSERVER_H_
-
-#include <e32base.h>
-#include <e32svr.h>
-#include <ecom/implementationinformation.h>
-#include <ecom/ecom.h>
-#include "EapServerClientDef.h"
-#include "EapScheduler.h"
-#include "EapSession.h"
-#include "abs_eap_am_tools.h"
-#include "EapClientIf.h"
-#include "EapServerBackup.h"
-
-class CEapDelayedShutdown;
-
-class CEapServer
-: public CServer2
-, public EapClientIf
-, public AbsEapserverBackup
-    {
-
-public:
-
-    // construct
-    CEapServer();
-    void ConstructL();
-    static CEapServer* NewL();
-    virtual ~CEapServer();
-    // from CServer2
-    CSession2* NewSessionL(const TVersion& aVersion, const RMessage2 &aMessage ) const;
-    // session counting
-    void IncrementSessions();
-    void DecrementSessions();
-    // utility
-    void PanicClient(TInt aPanic) const;
-
-	void StopL();
-
-	void BackupOrRestoreCompleteL();
-
-	void BackupOrRestoreStartingL();
-
-private:
-
-    TInt RunError(TInt aErr);
-    CEapDelayedShutdown* iShutdown;
-	CEapserverBackup * iBackupRestore;
-
-    TInt iSessionCount;
-    abs_eap_am_tools_c * iTools;
-    TBool iIsValid;
-    };
-
-
-// Handles timer that stops EAP-server after some idle time.
-class CEapDelayedShutdown : public CActive
-    {
-public:
-    CEapDelayedShutdown(abs_eap_am_tools_c * const tools, CEapServer * const aServer);
-    void ConstructL();
-    virtual ~CEapDelayedShutdown();
-    void Start();
-private:
-    void DoCancel();
-    void RunL();
-	TInt RunError(TInt aError);
-
-private:
-	abs_eap_am_tools_c * const iTools;
-    RTimer iTimer;
-	CEapServer * const iServer;
-    };
-
-
-#endif /* EAPAUTHSERVER_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerBackup.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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:  EAP-server backup and restore.
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-
-#ifndef _EAP_SERVER_BACKUP_H_
-#define _EAP_SERVER_BACKUP_H_
-
-#include <e32base.h>
-#include <e32property.h>
-
-/**
- @file
-*/
-
-//------------------------------------------------------------------------------------------------
-
-class AbsEapserverBackup
-{
-
-public:
-
-	virtual void BackupOrRestoreCompleteL() = 0;
-
-	virtual void BackupOrRestoreStartingL() = 0;
-};
-
-//------------------------------------------------------------------------------------------------
-
-class CEapserverBackup
-: public CActive
-{
-
-public:
-
-	static CEapserverBackup* NewL(AbsEapserverBackup * const aBackupAndRestoreObserver);
-
-	virtual ~CEapserverBackup();
-
-	TBool IsBackupOrRestoreInProgress();
-
-	CEapserverBackup(AbsEapserverBackup * const aBackupAndRestoreObserver);
-
-	void ConstructL();
-
-private:
-
-	void RunL();
-
-	void DoCancel();
-
-private:
-
-	AbsEapserverBackup * iBackupAndRestoreObserver;
-
-	RProperty iBackupProperty;
-
-	TBool iBackupOrRestoreInProgress;
-};
-
-#endif // _EAP_SERVER_BACKUP_H_
-
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerClientDef.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:  EAP-server and client definitions.
-*
-*/
-
-/*
-* %version: 20 %
-*/
-
-
-#ifndef EAPSERVERCLIENTDEF_H_
-#define EAPSERVERCLIENTDEF_H_
-
-#include <e32base.h>
-
-enum TEapPanic // both client-side and server-side - see category to distinguish
-    {
-    ECannotStartServer,
-    EBadRequest,
-    EBadDescriptor,
-    EListenAlreadyListening,
-    EErrorFromNonClientObject,
-    EReceiveReceiveAlreadyActive,
-    };
-
-enum TEapRequests
-    {
-    EEapNone                 =  0,
-    EEapCoreIfNew            =  1,
-    EEapPluginNew            =  2,
-    EEapSettingsNew          =  3,
-    EEapCoreProcessData      =  4,
-    EEapPluginProcessData    =  5,
-    EEapSettingsProcessData  =  6,
-    EEapCoreSendData         =  7,
-    EEapPluginSendData       =  8,
-    EEapSettingsSendData     =  9,
-    EEapIfReqReceive         = 10,
-    EEapIfCancelReceive      = 11,
-    EEapPacStoreNew          = 12,
-    EEapPacStoreProcessData  = 13,
-    EEapPacStoreSendData     = 14,
-    EWapiCoreIfNew           = 15,
-    EWapiSettingsNew         = 16,
-    EWapiCoreProcessData     = 17,
-    EWapiSettingsProcessData = 18,
-    EWapiCoreSendData        = 19,
-    EWapiSettingsSendData    = 20,
-    };
-
-//the server version. A version must be specifyed when creating a session with the server
-const TUint KEapMajorVersionNumber = 0;
-const TUint KEapMinorVersionNumber = 1;
-const TUint KEapBuildVersionNumber = 1;
-
-_LIT(KEapAuthServerSemaphore,   "EapAuthServerSemaphore");
-const TInt KMaxServerExe = 24;
-const TInt KEapShutdownInterval=5000000; // 5 seconds.
-const TInt KMaxCategoryLength = 16;
-const TInt KMaxEapData = 30000;
-const TInt KMaxEapMessageSlots = 50;
-
-#endif /* EAPSERVERCLIENTDEF_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerProcessHandler.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  EAP-server process handler.
-*
-*/
-
-/*
-* %version: 22 %
-*/
-
-
-#ifndef EAPPROCESSHANDLER_H_
-#define EAPPROCESSHANDLER_H_
-
-#include "EapServerClientDef.h"
-#include "AbsEapSendInterface.h"
-#include "EapCoreIf.h"
-#include "EapPluginIf.h"
-#include "EapSettingsIf.h"
-
-#if defined (USE_WAPI_CORE)
-#include "WapiCoreIf.h"
-#include "WapiSettingsIf.h"
-#endif
-
-#if defined(USE_EAP_PAC_STORE_IF)
-#include "PacStoreIf.h"
-#endif //#if defined(USE_EAP_PAC_STORE_IF)
-
-#include "EapMessageQueue.h"
-#include "AbsEapProcessSendInterface.h"
-
-class CEapServerProcessHandler
-: public CActive
-, public AbsEapSendInterface
-{
-    
-public:
-    
-	virtual ~CEapServerProcessHandler();
-
-	void ConstructL(AbsEapProcessSendInterface* const client, abs_eap_am_tools_c * const tools);
-
-	static CEapServerProcessHandler* NewL();
-
-	void SaveMessage(TEapRequests message, const void * const data, const TUint length);
-
-	eap_status_e SendData(const void * const data, const u32_t length, TEapRequests message);
-
-	void Activate();
-
-private:
-
-	CEapServerProcessHandler();
-
-
-	//from CActive
-
-	void DoCancel();
-	void RunL();
-	TInt RunError(TInt aError);
-
-
-	AbsEapProcessSendInterface * iClient;
-	abs_eap_am_tools_c * iTools;
-	CEapCoreIf * iEapCore;
-	CEapPluginIf* iEapPlugin;
-	CEapSettingsIf* iEapSettings;
-
-#if defined (USE_WAPI_CORE)
-	CWapiCoreIf * iWapiCore;
-  CWapiSettingsIf* iWapiSettings;
-#endif
-
-#if defined(USE_EAP_PAC_STORE_IF) // JPH: does not compile anymore
-    CPacStoreIf* iPacStore;
-#endif //#if defined(USE_EAP_PAC_STORE_IF) // JPH: does not compile anymore
-
-	EapMessageQueue* iEapMessageQueue;
-	
-
-};
-    
-#endif /* EAPPROCESSHANDLER_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerStrings.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#if !defined( _EAP_SERVER_STRINGS_H_ )
-#define _EAP_SERVER_STRINGS_H_
-
-/** @file */
-
-#include "EapServerClientDef.h"
-#include "eap_am_types.h"
-
-//----------------------------------------------------------------------------------
-
-/// This class includes the debug strings of the EAP-SERVER.
-class EapServerStrings
-{
-public:
-
-	IMPORT_C virtual ~EapServerStrings();
-
-	IMPORT_C EapServerStrings();
-
-	/**
-	 * Function returns string of TEapRequests.
-	 * @param request is the queried string.
-	 */
-	IMPORT_C static eap_const_string GetEapRequestsString(const TEapRequests request);
-
-	/**
-	 * Function returns string of TEapRequests.
-	 * @param request is the queried string.
-	 */
-	IMPORT_C static eap_const_string GetEapRequestsString(const TInt request);
-
-};
-
-//----------------------------------------------------------------------------------
-
-#endif //#if !defined( _EAP_SERVER_STRINGS_H_ )
-
-// End.
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapSession.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +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:  EAP-session inside the EAP-server.
-*
-*/
-
-/*
-* %version: 15 %
-*/
-
-
-#ifndef EAPSESSION_H_
-#define EAPSESSION_H_
-
-#include <e32base.h>
-#include <e32svr.h>
-#include <ecom/implementationinformation.h>
-#include <ecom/ecom.h>
-#include "AbsEapProcessSendInterface.h"
-
-
-class CEapServer;
-class CEapServerProcessHandler;
-class EapMessageBuffer;
-
-class CEapSession
-: public CSession2
-, public AbsEapProcessSendInterface
-    {
-
-public:
-
-    CEapSession();
-
-    void ConstructL(CEapServer& aServer, abs_eap_am_tools_c * const tools);
-
-    virtual ~CEapSession();
-
-    // service dispatcher - from CSession2
-    void ServiceL(const RMessage2& aMessage);
-
-    void ReceiveAll();
-
-    void Receive(RMessage2& aBuffer);
-
-    void CancelReceive();
-
-    eap_status_e SendData(EapMessageBuffer * const message);
-
-	TBool GetReceiveActive();
-
- private:
-
-    CEapServer* Server() const;
-
-	void CheckCapabilityL(
-		const RMessage2& aMessage,
-		const TBool aMustHaveCapabilityWhenTrue,
-		const TCapability aCapability,
-		const char *aDiagnostic);
-
-    // receive support
-    TBool iReceiveActive;
-
-    RMessage2 iReceiveMessage;
-
-    CEapServerProcessHandler* iEapProcessHandler;
-
-    TRequestStatus iStatus;
-
-    abs_eap_am_tools_c * iTools;
-    };
-
-#endif /* EAPSESSION_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapSettingsIf.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:  EAP-general-settings interface inside the EAP-server.
-*
-*/
-
-/*
-* %version: 10 %
-*/
-
-#ifndef _EAP_SETTINGS_IF_H_
-#define _EAP_SETTINGS_IF_H_
-
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "abs_eap_am_plugin.h"
-#include "eap_am_plugin.h"
-#include "eap_tools.h"
-#include "AbsEapSendInterface.h"
-
-//--------------------------------------------------
-
-/** @file */
-
-/// This class is the EAP-general-settings interface inside the EAP-server.
-class CEapSettingsIf
-: public CBase
-, public abs_eap_am_message_if_c
-{
-
-public:
-
-    // ----------------------------------------------------------------------
-
-    CEapSettingsIf(
-        abs_eap_am_tools_c * const tools,
-        eap_am_message_if_c * const server);
-
-    virtual ~CEapSettingsIf();
-
-    bool get_is_valid();
-
-    eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-    void set_partner(AbsEapSendInterface * const client);
-
-    eap_status_e send_data(const void * const data, const u32_t length);
-
-    eap_status_e process_data(const void * const data, const u32_t length);
-
-    eap_status_e shutdown();
-
-    // ------------------------------------------------------
-
-    static CEapSettingsIf * new_CEapSettingsIf(
-        abs_eap_am_tools_c * const tools);
-
-    // ----------------------------------------------------------------------
-
-private:
-
-    // ----------------------------------------------------------------------
-
-    /// This is pointer to the tools class.
-    abs_eap_am_tools_c * const m_am_tools;
-
-    // client interface
-    AbsEapSendInterface * m_client_if;
-
-    /// CEapSettingsIf deletes m_server_if in destructor.
-    eap_am_message_if_c * m_server_if;
-
-    bool m_use_asyncronous_test;
-
-	bool m_is_valid;
-
-    // ----------------------------------------------------------------------
-
-};
-
-
-#endif /* _EAP_PLUGIN_IF_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/PacStoreIf.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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:  PAC-store interface inside the EAP-server.
-*
-*/
-
-/*
-* %version: 10 %
-*/
-
-
-#ifndef PACSTOREIF_H_
-#define PACSTOREIF_H_
-
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_tools.h"
-#include "AbsEapSendInterface.h"
-#include "eap_pac_store_server_message_if.h"
-
-class eap_file_config_c;
-
-//--------------------------------------------------
-
-/** @file */
-
-/// This class is the PAC-store interface inside the EAP-server.
-class CPacStoreIf
-: public CBase
-, public abs_eap_am_message_if_c
-{
-
-public:
-
-    // ----------------------------------------------------------------------
-
-    EAP_FUNC_IMPORT CPacStoreIf(
-        abs_eap_am_tools_c * const tools,
-        eap_am_message_if_c * const server,
-        AbsEapSendInterface * client);
-
-    EAP_FUNC_IMPORT virtual ~CPacStoreIf();
-
-    EAP_FUNC_IMPORT bool get_is_valid();
-
-    EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-    EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length);
-
-    EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length);
-
-    EAP_FUNC_IMPORT eap_status_e shutdown();
-
-    // ------------------------------------------------------
-
-    EAP_FUNC_IMPORT static CPacStoreIf * new_CPacStoreIf(
-        abs_eap_am_tools_c * const tools,
-        const bool is_client_when_true,
-        const u32_t MTU,
-        AbsEapSendInterface * client);
-
-    // ----------------------------------------------------------------------
-
-private:
-
-    // ----------------------------------------------------------------------
-
-    /// This is pointer to the tools class.
-    abs_eap_am_tools_c * const m_am_tools;
-
-    // client interface
-    AbsEapSendInterface * m_client_if;
-
-    /// CPacStoreIf deletes m_server_if in destructor.
-    eap_am_message_if_c * m_server_if;
-
-    eap_file_config_c * m_fileconfig;
-
-    bool m_use_asyncronous_test;
-    
-    bool iIsValid;
-
-    // ----------------------------------------------------------------------
-
-};
-
-#endif /* PACSTOREIF_H_ */
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_general_settings_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 26 %
-*/
-
-#if !defined(_EAP_AM_GENERAL_SETTINGS_SYMBIAN_H_)
-#define _EAP_AM_GENERAL_SETTINGS_SYMBIAN_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eap_am_general_settings.h"
-#include "eap_process_tlv_message_data.h"
-#include <d32dbms.h>
-#include <AbsEapCertificateFetcher.h>
-#include <implementationinformation.h>
-
-class eap_method_settings_c;
-class CEapTlsPeapCertFetcher;
-
-/** @file */
-
-/// This class is the common part of EAP message interface.
-/// This class is interface to the message creation and parsing function.
-class EAP_EXPORT eap_am_general_settings_symbian_c
-: public eap_am_general_settings_c
-, public CAbsEapCertificateFetcher
-{
-
-public:
-
-	// ----------------------------------------------------------------------
-
-	eap_am_general_settings_symbian_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_am_general_settings_c * const partner);
-
-	eap_am_general_settings_symbian_c(
-		abs_eap_am_tools_c * const tools);
-
-	virtual ~eap_am_general_settings_symbian_c();
-
-	bool get_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	eap_status_e shutdown();
-
-	eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings);
-
-
-	void CompleteReadCertificatesL(
-		const RPointerArray<EapCertificateEntry>& aUserCerts, 
-		const RPointerArray<EapCertificateEntry>& aCACerts);
-
-	// This function reads synchronously enabled and disabled EAP-methods from database.
-	// This function is used only by EAP-SERVER directly.
-	// Use constructor without partner parameter.
-	eap_status_e read_eap_methods_synchronously(
-		const TUint indexType,
-		const TUint index,
-		eap_array_c<eap_type_value_e> * const aEnabledEapMethodsArray,
-		eap_array_c<eap_type_value_e> * const aDisabledEapMethodsArray);
-
-	// ----------------------------------------------------------------------
-
-private:
-
-	// ----------------------------------------------------------------------
-
-	abs_eap_am_tools_c * const m_am_tools;
-
-	abs_eap_am_general_settings_c * m_partner;
-
-	bool m_is_valid;
-
-	/// Function shutdown() is called already.
-	bool m_shutdown_was_called;
-
-	RDbNamedDatabase iGeneralSettingsDb;
-	RFs iGeneralSettingsFileServerSession;	
-
-	TBool iGeneralSettingsDbCreated;
-	TBool iGeneralSettingsSessionOpened;
-
-	CEapTlsPeapCertFetcher * iCertificateFetcher;
-
-	/// Status of the operation.
-	eap_status_e m_completion_status;
-
-	/// Specifies the EAP-method these settings are for. 
-	eap_type_value_e m_EAPType;
-
-	/// Specifies the index type (bearer protocol) these settings are for.
-	/// Values are ELan or EVpn.
-	u32_t m_IndexType;
-
-	/// Specifies unique index in the settings of the bearer protocol.
-	u32_t m_Index;
-
-	// ----------------------------------------------------------------------
-
-	void CloseGeneralSettings();
-
-	void OpenGeneralSettingsL();
-
-	void CreateGeneralSettingsL();
-
-	void GetGeneralSettingsLongBinaryL(
-		RDbView &aViev,
-		const TDesC &aColName,
-		HBufC8** const aMethods);
-
-	void GetGeneralSettingsDataL(
-		const TUint indexType,
-		const TUint index,
-		HBufC8** const aEnabledEapMethods,
-		HBufC8** const aDisabledEapMethods);
-
-
-	void SetGeneralSettingsLongBinaryL(
-		RDbView &aViev,
-		const TDesC &aColName,
-		const TDesC8& aMethods);
-
-	void SetGeneralSettingsDataL(
-		const TUint indexType,
-		const TUint index,
-		const TDesC8& aEnabledEapMethods,
-		const TDesC8& aDisabledEapMethods);
-
-	void DeleteGeneralSettingsDataL(
-		const TUint indexType,
-		const TUint index);
-
-	void CopyGeneralSettingsDataL(
-		const TUint aSourceIndexType,
-		const TUint aSourceIndex,
-		const TUint aDestinationIndexType,
-		const TUint aDestinationIndex);
-
-	eap_status_e error_complete(
-		const eap_status_e completion_status,
-		const eap_method_settings_c * const internal_settings,
-		const eap_tlv_message_type_function_e error_completion_function);
-
-	eap_status_e filter_eap_methods(
-		eap_array_c<eap_type_value_e> * const disabled_eap_methods,
-		RPointerArray<TEapExpandedType> * const aPlugins);
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_EAP_AM_GENERAL_SETTINGS_SYMBIAN_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_pac_store_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2009-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:  interface to PAC-store.
-*
-*/
-
-/*
-* %version: 8 %
-*/
-
-#if !defined(_EAP_AM_PAC_STORE_SYMBIAN_H_)
-#define _EAP_AM_PAC_STORE_SYMBIAN_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eap_am_pac_store.h"
-#include "eap_process_tlv_message_data.h"
-#include "pac_store_db_symbian.h"
-#include <d32dbms.h>
-
-class eap_method_settings_c;
-class abs_eap_am_pac_store_c;
-
-/** @file */
-
-/// This class is the interface to PAC-store.
-class EAP_EXPORT eap_am_pac_store_symbian_c
-: public eap_am_pac_store_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-	abs_eap_am_tools_c * const m_am_tools;
-
-	abs_eap_am_pac_store_c * m_partner;
-
-	bool m_is_valid;
-
-	/// Function shutdown() is called already.
-	bool m_shutdown_was_called;
-
-	TBool iClientCreated;
-	TBool iPacStoreSessionOpened;
-	
-	CPacStoreDatabase* iClient;
-	
-	eap_variable_data_c m_PAC_store_password;
-
-	// ----------------------------------------------------------------------
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	// ----------------------------------------------------------------------
-
-    static eap_am_pac_store_c* new_eap_am_pac_store_symbian_c(
-            abs_eap_am_tools_c * const tools,
-            abs_eap_am_pac_store_c * const partner);
-    
-	eap_am_pac_store_symbian_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_am_pac_store_c * const partner);
-
-	virtual ~eap_am_pac_store_symbian_c();
-
-	EAP_FUNC_IMPORT bool get_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	EAP_FUNC_IMPORT	eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	EAP_FUNC_IMPORT eap_status_e shutdown();
-
-	EAP_FUNC_IMPORT eap_status_e open_pac_store();
-
-	EAP_FUNC_IMPORT eap_status_e create_device_seed();
-
-	EAP_FUNC_IMPORT eap_status_e is_master_key_present();
-
-	EAP_FUNC_IMPORT eap_status_e is_master_key_and_password_matching(
-		const eap_variable_data_c * const pac_store_password);
-
-	EAP_FUNC_IMPORT eap_status_e create_and_save_master_key(
-		const eap_variable_data_c * const pac_store_password);
-
-	EAP_FUNC_IMPORT eap_status_e compare_pac_store_password(
-		eap_variable_data_c * const pac_store_password);
-
-	EAP_FUNC_IMPORT eap_status_e is_pacstore_password_present();
-
-	EAP_FUNC_IMPORT eap_status_e set_pac_store_password(
-		const eap_variable_data_c * pac_store_password);
-
-	EAP_FUNC_IMPORT eap_status_e destroy_pac_store();
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_EAP_AM_PAC_STORE_SYMBIAN_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_plugin_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP-plugin adaptation.
-*
-*/
-
-/*
-* %version: 16 %
-*/
-
-#if !defined(_EAP_AM_PLUGIN_SYMBIAN_H_)
-#define _EAP_AM_PLUGIN_SYMBIAN_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eap_am_plugin.h"
-#include "eap_process_tlv_message_data.h"
-#include "eap_loaded_type.h"
-
-class eap_method_settings_c;
-class abs_eap_am_plugin_c;
-class CEapTypePlugin;
-
-/** @file */
-
-/// This class is EAP-plugin adaptation.
-class EAP_EXPORT eap_am_plugin_symbian_c
-: public eap_am_plugin_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-	abs_eap_am_tools_c * const m_am_tools;
-
-	abs_eap_am_plugin_c * m_partner;
-
-	eap_array_c<eap_loaded_type_c> m_loaded_types;
-
-	bool m_is_valid;
-
-	bool m_shutdown_was_called;
-
-	// ----------------------------------------------------------------------
-
-	eap_status_e error_complete(
-		const eap_status_e completion_status,
-		const eap_method_settings_c * const internal_settings,
-		const eap_tlv_message_type_function_e completion_function);
-
-	CEapTypePlugin * get_eap_type(
-		const eap_type_value_e eap_type,
-		u32_t index_type,
-		u32_t index);
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	// ----------------------------------------------------------------------
-
-	eap_am_plugin_symbian_c(
-		abs_eap_am_tools_c * const tools,
-		abs_eap_am_plugin_c * const partner);
-
-	virtual ~eap_am_plugin_symbian_c();
-
-	bool get_is_valid();
-
-	// This is documented in abs_eap_stack_interface_c::configure().
-	eap_status_e configure();
-
-	// This is documented in abs_eap_stack_interface_c::shutdown().
-	eap_status_e shutdown();
-
-	eap_status_e get_configuration(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e set_configuration(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e set_index(const eap_method_settings_c * const internal_settings);
-
-	eap_status_e get_type_info(const eap_method_settings_c * const internal_settings);
-
-
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_EAP_AM_PLUGIN_SYMBIAN_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_stack_symbian.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 27 %
-*/
-
-#ifndef EAP_AM_STACK_SYMBIAN_H_
-#define EAP_AM_STACK_SYMBIAN_H_
-
-#include "eap_am_stack.h"
-#include "abs_eap_am_stack.h"
-#include "abs_eap_am_tools.h"
-#include "eap_automatic_variable.h"
-#include <e32base.h>
-#include <e32std.h>
-#include <d32dbms.h>
-#include "eap_config.h"
-#include "eap_file_config.h"
-#include "eap_am_file_input_symbian.h"
-#include "eap_type_selection.h"
-#include "eapol_key_types.h"
-
-#include "eapol_wlan_database_reference.h"
-#include <EapTypePlugin.h>
-#include "eap_base_type.h"
-#include "abs_eap_configuration_if.h"
-#include "eap_tlv_header.h"
-
-class EAP_EXPORT eap_am_stack_symbian_c
-: public CActive
-, public eap_am_stack_c
-, public abs_eap_configuration_if_c
-{
-public:
-   
-    EAP_FUNC_IMPORT eap_am_stack_symbian_c(class abs_eap_am_tools_c * tools, bool is_client_when_true);
-    
-    EAP_FUNC_IMPORT virtual ~eap_am_stack_symbian_c();
-  
-    EAP_FUNC_IMPORT bool get_is_valid();
-
-    EAP_FUNC_IMPORT eap_status_e set_partner(
-        abs_eap_am_stack_c * const partner
-        , abs_eap_configuration_if_c * const configuration_if
-        );
-
-    // This is documented in abs_eap_stack_interface_c::configure().
-    EAP_FUNC_IMPORT eap_status_e configure(
-		const eap_variable_data_c * const client_configuration);
-
-    // This is documented in abs_eap_stack_interface_c::shutdown().
-    EAP_FUNC_IMPORT eap_status_e shutdown();
-
-    EAP_FUNC_IMPORT eap_status_e read_configure(
-        const eap_configuration_field_c * const field,
-        eap_variable_data_c * const data);
-
-    EAP_FUNC_IMPORT eap_status_e set_timer(
-        abs_eap_base_timer_c * const p_initializer, 
-        const u32_t p_id, 
-        void * const p_data,
-        const u32_t p_time_ms);
-
-    EAP_FUNC_IMPORT eap_status_e cancel_timer(
-        abs_eap_base_timer_c * const p_initializer, 
-        const u32_t p_id);
-
-    EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(
-        const eap_type_value_e eap_type);
-
-    EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
-        eap_array_c<eap_type_value_e> * const eap_type_list);
-
-    EAP_FUNC_IMPORT eap_status_e load_module(
-        const eap_type_value_e type,
-        const eap_type_value_e tunneling_type,
-        abs_eap_base_type_c * const partner,
-        eap_base_type_c ** const eap_type,
-        const bool is_client_when_true,
-        const eap_am_network_id_c * const receive_network_id);
-
-    EAP_FUNC_IMPORT eap_status_e save_simple_config_session(
-        const simple_config_state_e state,
-        EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-        const eap_variable_data_c * const new_password,
-        const simple_config_Device_Password_ID_e Device_Password_ID,
-        const simple_config_payloads_c * const other_configuration);
-    
-    EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values(
-            const eap_variable_data_c * const reference);
-
-	EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode(
-		const eap_am_network_id_c * const receive_network_id,
-		const eapol_key_authentication_type_e authentication_type);
-
-private:
-    
-    /// Function reads one configuration value from database.
-    void read_configureL(
-        const TDesC& aDbName,
-        const TDesC& aTableName,
-        eap_config_string field,
-        const u32_t /*field_length*/,
-        eap_variable_data_c * const data);
-
-    /// Control function of this active-object.
-    void RunL();
-
-    /// Cancel function for active-object.
-    void DoCancel();
-
-    /// RunError function for active-object.
-	TInt RunError(TInt aError);
-
-
-	void SetToTopPriorityL(const eap_type_value_e aEapType);
-
-	eap_status_e reset_eap_configuration();
-
-	void ReadEAPSettingsL();
-
-	eap_status_e reset_eap_plugins();
-
-	TInt get_current_eap_index();
-
-	void set_current_eap_index(const TInt ind);
-
-    
-    abs_eap_am_tools_c * const iTools;
-
-    TBool iIsValid;
-
-    const TBool iIsClient;
-
-    abs_eap_am_stack_c* iPartner;
-
-    /// Handle of database session.
-    RDbs iSession;
-
-    /// Handle of database file.
-    RFs iFs;
-    
-	eap_file_config_c m_client_config;
-
-    eap_file_config_c * iFileconfig;
-    
-    RPointerArray<CEapTypePlugin> m_plugin_if_array;
-
-
-	eap_array_c<eap_type_value_e> iEnabledEapMethodsArray;
-	eap_array_c<eap_type_value_e> iDisabledEapMethodsArray;
-
-
-    /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. 
-    eap_array_c<eap_type_value_e> m_eap_type_array;
-
-	abs_eap_configuration_if_c* iConfigurationIf;
-
-	TIndexType iIndexType;
-
-	TUint iIndex;
-
-	TInt iCurrentEapIndex;
-
-	/// WLAN authentication type.
-	eapol_key_authentication_type_e m_selected_eapol_key_authentication_type;
-};
-
-#endif /* EAP_AM_STACK_SYMBIAN_H_ */
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_loaded_type.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2009-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:  This class stores the information on loaded EAP-type plugin.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#if !defined(_EAP_LOADED_TYPE_H_)
-#define _EAP_LOADED_TYPE_H_
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eap_am_plugin.h"
-#include "eap_process_tlv_message_data.h"
-#include <EapTypePlugin.h>
-
-/** @file */
-
-/// This class stores the information on loaded EAP-type plugin.
-class EAP_EXPORT eap_loaded_type_c
-{
-
-private:
-
-	// ----------------------------------------------------------------------
-
-	abs_eap_am_tools_c * const m_am_tools;
-
-	CEapTypePlugin * const m_type_plugin;
-
-	const eap_type_value_e m_eap_type;
-
-	const u32_t m_index_type;
-
-	const u32_t m_index;
-
-	// ----------------------------------------------------------------------
-
-public:
-
-	// ----------------------------------------------------------------------
-
-	// Destructor will delete type_plugin. So pass only object allocated from heap.
-	eap_loaded_type_c(
-		abs_eap_am_tools_c * const tools,
-		CEapTypePlugin * const type_plugin,
-		const eap_type_value_e eap_type,
-		const u32_t index_type,
-		const u32_t index);
-
-	virtual ~eap_loaded_type_c();
-
-	i32_t compare(const eap_loaded_type_c * const right);
-
-	CEapTypePlugin * get_type_plugin();
-
-	eap_type_value_e get_eap_type() const;
-
-	u32_t get_index_type() const;
-
-	u32_t get_index() const;
-
-	// ----------------------------------------------------------------------
-};
-
-#endif //#if !defined(_EAP_LOADED_TYPE_H_)
-
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapCoreIf.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 17 %
-*/
-
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "EapCoreIf.h"
-#include "eap_automatic_variable.h"
-#include "eap_config.h"
-#include "eap_file_config.h"
-#include "abs_eap_am_mutex.h"
-#include "EapServerClientDef.h"
-
-/** @file */
-
-//--------------------------------------------------
-
-/**
- * This is the timer ID used with abs_eap_am_tools_c::set_timer() and abs_eap_am_tools_c::cancel_timer().
- */
-enum eap_am_core_message_if_timer_id
-{
-    EAP_AM_CORE_MESSAGE_IF_TIMER_PROCESS_DATA_ID,
-    EAP_AM_CORE_MESSAGE_IF_TIMER_SEND_DATA_ID,
-};
-
-//--------------------------------------------------
-
-CEapCoreIf::CEapCoreIf(
-    abs_eap_am_tools_c * const tools,
-    eap_am_message_if_c * const server,
-    AbsEapSendInterface * client)
-    : m_am_tools(tools)
-    , m_client_if(client)
-    , m_server_if(server)
-    , m_fileconfig(0)
-    , m_use_asyncronous_test(false)
-    , iIsValid(false)
-{
-	if (m_am_tools == 0 || m_am_tools->get_is_valid() == false)
-	{
-		return;
-	}
-
-	if (m_client_if == 0)
-	{
-		return;
-	}
-
-	if (m_server_if == 0 || m_server_if->get_is_valid() == false)
-	{
-		return;
-	}
-
-	iIsValid = true;
-}
-
-//--------------------------------------------------
-
-CEapCoreIf::~CEapCoreIf()
-{
-	if (m_server_if != 0)
-	{
-		m_server_if->shutdown();
-	}
-    delete m_server_if;
-    m_server_if = 0;
-
-    delete m_fileconfig;
-    m_fileconfig = 0;
-}
-
-//--------------------------------------------------
-
-bool CEapCoreIf::get_is_valid()
-{
-    return iIsValid;
-}
-
-//--------------------------------------------------
-
-eap_status_e CEapCoreIf::configure(
-	const eap_variable_data_c * const client_configuration)
-{
-	return m_server_if->configure(client_configuration);
-}
-
-// ----------------------------------------------------------------
-
-eap_status_e CEapCoreIf::send_data(const void * const data, const u32_t length)
-{
-	return m_client_if->SendData(data, length, EEapCoreSendData);
-}
-
-// ----------------------------------------------------------------
-
-eap_status_e CEapCoreIf::process_data(const void * const data, const u32_t length)
-{
-	return m_server_if->process_data(data, length);
-}
-
-//--------------------------------------------------
-
-//
-eap_status_e CEapCoreIf::shutdown()
-{
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("CEapCoreIf::shutdown(): this = 0x%08x.\n"),
-        this));
-
-    eap_status_e status(eap_status_process_general_error);
-
-    if (m_server_if != 0)
-    {
-        m_server_if->shutdown();
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-CEapCoreIf* CEapCoreIf::new_CEapCoreIf(
-    abs_eap_am_tools_c * const tools,
-    const bool is_client_when_true,
-    const u32_t MTU,
-    AbsEapSendInterface * client)
-{
-	eap_am_message_if_c *server =  eap_am_message_if_c::new_eap_am_server_message_if_c(
-		tools,
-		is_client_when_true,
-		MTU);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-		tools,
-		server);
-
-	if (server == 0
-		|| server->get_is_valid() == false)
-	{
-		// ERROR.
-		if (server != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("calls: CEapCoreIf(): server->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			server->shutdown();
-		}
-
-		return 0;
-	}
-
-	CEapCoreIf * core_if = new CEapCoreIf(
-		tools,
-		server,
-		client);
-
-	eap_automatic_variable_c<CEapCoreIf> automatic_core_if(
-		tools,
-		core_if);
-
-	if (core_if == 0
-		|| core_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (core_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("calls: CEapCoreIf(): core_if->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			// automatic_core_if will delete core_if and core_if will delete server too.
-			automatic_server.do_not_free_variable();
-			core_if->shutdown();
-		}
-
-		return 0;
-	}
-
-	server->set_partner(core_if);
-
-	automatic_server.do_not_free_variable();
-	automatic_core_if.do_not_free_variable();
-
-	return core_if;
-}
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapPluginIf.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +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:  EAP-plugin interface.
-*
-*/
-
-/*
-* %version: 17 %
-*/
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "EapPluginIf.h"
-#include "eap_automatic_variable.h"
-#include "eap_config.h"
-#include "eap_file_config.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_am_plugin.h"
-#include "eap_am_plugin_symbian.h"
-#include "eap_plugin_server_message_if.h"
-
-/** @file */
-
-//--------------------------------------------------
-
-CEapPluginIf::CEapPluginIf(
-    abs_eap_am_tools_c * const tools,
-    eap_am_message_if_c * const server)
-    : m_am_tools(tools)
-    , m_client_if(0)
-    , m_server_if(server)
-    , m_use_asyncronous_test(false)
-		, m_is_valid(false)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapPluginIf::CEapPluginIf()\n")));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapPluginIf::CEapPluginIf()");
-
-	if (m_am_tools == 0 || m_am_tools->get_is_valid() == false)
-	{
-		return;
-	}
-
-	if (m_server_if == 0 || m_server_if->get_is_valid() == false)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-
-
-}
-
-//--------------------------------------------------
-
-CEapPluginIf::~CEapPluginIf()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapPluginIf::~CEapPluginIf()\n")));
-
-	if (m_server_if != 0)
-	{
-		m_server_if->shutdown();
-	}
-    delete m_server_if;
-    m_server_if = 0;
-}
-
-//--------------------------------------------------
-
-bool CEapPluginIf::get_is_valid()
-{
-    return m_is_valid;
-}
-
-//--------------------------------------------------
-
-eap_status_e CEapPluginIf::configure(
-	const eap_variable_data_c * const client_configuration)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapPluginIf::configure()\n")));
-
-	return m_server_if->configure(client_configuration);
-}
-
-//--------------------------------------------------
-
-void CEapPluginIf::set_partner(AbsEapSendInterface * const client)
-{
-    m_client_if = client;
-}
-
-// ----------------------------------------------------------------
-
-eap_status_e CEapPluginIf::send_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapPluginIf::send_data()\n")));
-
-	return EAP_STATUS_RETURN(m_am_tools, m_client_if->SendData(data, length, EEapPluginSendData));
-}
-
-// ----------------------------------------------------------------
-
-eap_status_e CEapPluginIf::process_data(const void * const data, const u32_t length)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapPluginIf::process_data()\n")));
-
-	return EAP_STATUS_RETURN(m_am_tools, m_server_if->process_data(data, length));
-}
-
-//--------------------------------------------------
-
-//
-eap_status_e CEapPluginIf::shutdown()
-{
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("CEapPluginIf::shutdown(): this = 0x%08x.\n"),
-        this));
-
-    eap_status_e status(eap_status_ok);
-
-    if (m_server_if != 0)
-    {
-        status = m_server_if->shutdown();
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_am_plugin_c * new_eap_am_plugin_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_plugin_c * const partner)
-{
-	eap_am_plugin_c * const plugin = new eap_am_plugin_symbian_c(tools, partner);
-
-	eap_automatic_variable_c<eap_am_plugin_c> automatic_plugin(
-		tools,
-		plugin);
-
-	if (plugin == 0
-	|| plugin->get_is_valid() == false)
-	{
-		// ERROR.
-		if (plugin != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: new_eap_am_plugin_c(): plugin->shutdown()\n")));
-
-			plugin->shutdown();
-		}
-		return 0;
-	}
-
-	eap_status_e status = plugin->configure();
-	if (status != eap_status_ok)
-	{
-		plugin->shutdown();
-		return 0;
-	}
-
-	automatic_plugin.do_not_free_variable();
-
-	return plugin;
-}
-
-//--------------------------------------------------
-
-eap_am_message_if_c * eap_am_message_if_c::new_eap_plugin_server_message_if_c(
-	abs_eap_am_tools_c * const tools)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_message_if_c::new_eap_plugin_server_message_if_c()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_message_if_c::new_eap_plugin_server_message_if_c()");
-
-	eap_am_message_if_c * const server = new eap_plugin_server_message_if_c(
-		tools);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-		tools,
-		server);
-
-	if (server == 0
-	|| server->get_is_valid() == false)
-	{
-		// ERROR.
-		if (server != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: CEapPluginIf::new_CEapPluginIf(): server->shutdown()\n")));
-
-			server->shutdown();
-		}
-		return 0;
-	}
-
-	eap_status_e status = server->configure(0);
-	if (status != eap_status_ok)
-	{
-		server->shutdown();
-		return 0;
-	}
-
-	automatic_server.do_not_free_variable();
-
-	return server;
-}
-
-//--------------------------------------------------
-
-CEapPluginIf* CEapPluginIf::new_CEapPluginIf(
-    abs_eap_am_tools_c * const tools)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapPluginIf::new_CEapPluginIf()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapPluginIf::new_CEapPluginIf()");
-
-	eap_am_message_if_c * const server = eap_am_message_if_c::new_eap_plugin_server_message_if_c(
-		tools);
-
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-		tools,
-		server);
-
-	if (server == 0
-	|| server->get_is_valid() == false)
-	{
-		// ERROR.
-		if (server != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("calls: CEapPluginIf::new_CEapPluginIf(): server->shutdown()\n")));
-
-			server->shutdown();
-		}
-
-		return 0;
-	}
-
-	CEapPluginIf * const plugin_if = new CEapPluginIf(
-		tools,
-		server);
-
-	eap_automatic_variable_c<CEapPluginIf> automatic_plugin_if(
-		tools,
-		plugin_if);
-
-	if (plugin_if == 0
-	|| plugin_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (plugin_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: CEapPluginIf::new_CEapPluginIf(): plugin_if->shutdown()\n")));
-
-			// automatic_plugin_if will delete plugin_if and plugin_if will delete server too.
-			automatic_server.do_not_free_variable();
-			plugin_if->shutdown();
-		}
-
-		return 0;
-	}
-
-	server->set_partner(plugin_if);
-
-	automatic_server.do_not_free_variable();
-	automatic_plugin_if.do_not_free_variable();
-
-	return plugin_if;
-}
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapScheduler.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +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:  scheduler of EAP-server.
-*
-*/
-
-/*
-* %version: 18 %
-*/
-
-#include "EapScheduler.h"
-#include "EapTraceSymbian.h"
-#include "EapServer.h"
-
-void CEapScheduler::TServerStart::SignalL()
-//
-// Signal the owning thread that the server has started successfully
-// This may itself fail
-//
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::SignalL()")));
-    TBuf<KMaxServerExe> ServerName;
-    TBuf<KMaxServerExe> ServerExe;
-    
-    //EapClientIf * aClientIf = new (ELeave)EapClientIf();
-    
-    GetServerNameAndExe(&ServerName, &ServerExe);
-    TFindThread aProcess(ServerName);
-    TFullName result;
-
-   while(aProcess.Next(result) == KErrNone) 
-      {
-      RThread starter;
-      User::LeaveIfError(starter.Open(aProcess));
-      starter.RequestComplete(iStatus,KErrNone);
-      starter.Close();
-      }
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::SignalL(): end")));           
-    }
-
-/*
-    class CEapScheduler
-*/
-
-EAP_FUNC_EXPORT CEapScheduler* CEapScheduler::NewL()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::NewL()")));
-
-    CEapScheduler* self = new(ELeave)CEapScheduler();
-    CleanupStack::PushL(self);
-
-    TRequestStatus started;
-    TServerStart start(started);
-
-    self->ConstructL(start);
-
-    CleanupStack::Pop(self);
-    return self;
-
-    }
-
-EAP_FUNC_EXPORT TInt CEapScheduler::LaunchFromClient(const TBuf<KMaxServerExe> Server)
-    {
-    TRequestStatus started;
-    TServerStart start(started);
-    
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient()")));           
-
-    //
-    // EPOC is easy, we just create a new server process. Simultaneous
-    // launching of two such processes should be detected when the
-    // second one attempts to create the server object, failing with
-    // KErrAlreadyExists.
-    //
-    RProcess server;
-    TInt r=server.Create(Server,KNullDesC);
-
-    if (r!=KErrNone)
-        {
-        EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: TServerStart::LaunchFromClient(): server create error")));
-        return r;
-        }
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server created")));
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server.SetPriority(EPriorityHigh)")));
-	server.SetPriority(EPriorityHigh);
-
-    TRequestStatus stat;
-    server.Rendezvous( stat );
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server.Rendezvous(), stat.Int()=%d"),
-		stat.Int()));
-    if ( stat!=KRequestPending )
-        {
-	    EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: TServerStart::LaunchFromClient(): server.Kill()")));
-        server.Kill(0);     // abort startup
-        }
-    else
-        {
-	    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server.Resume(), OK")));
-        server.Resume();    // logon OK - start the server
-        }
-        
-    
-    User::WaitForRequest(stat);
-    EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): User::WaitForRequest(stat), stat.Int()=%d"),
-		stat.Int()));
-
-    r = ( server.ExitType()==EExitPanic ) ? KErrGeneral : stat.Int();
-
-    server.Close();
-
-    return r;
-    }
-
-EAP_FUNC_EXPORT TInt CEapScheduler::ThreadStart(TServerStart& aStart)
-    {
-    // get cleanup stack
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart()")));           
-
-#if defined(USE_EAP_HEAP_CHECK)
-    __UHEAP_MARK;
-#endif //#if defined(USE_EAP_HEAP_CHECK)
-
-    CTrapCleanup* cleanup=CTrapCleanup::New();
-
-    // initialize all up to and including starting scheduler
-    TInt err = KErrNoMemory;
-    if (cleanup)
-		{
-		TRAP(err, ConstructL(aStart));
-		delete cleanup;
-		}
-
-#if defined(USE_EAP_HEAP_CHECK)
-    __UHEAP_MARKEND;
-#endif //#if defined(USE_EAP_HEAP_CHECK)
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart end err=%d"), err));           
-    return err;
-    }
-
-void CEapScheduler::ConstructL(TServerStart& aStart)
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL()")));           
-
-    // construct active scheduler
-    CEapScheduler* self=new(ELeave) CEapScheduler;
-    CleanupStack::PushL(self);
-    CActiveScheduler::Install(self);
-
-    // construct server
-    self->iServer=new(ELeave) CEapServer;
-    self->iServer->ConstructL();
-
-    // Let the client know we've started OK
-    aStart.SignalL();
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart Rendezvous")));           
-    RProcess::Rendezvous(KErrNone);
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart Rendezvous end")));           
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL(): CActiveScheduler::Start() starts")));
-    CActiveScheduler::Start();
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL(): CActiveScheduler::Start() ends")));
-
-    // Destroy the scheduler
-    CleanupStack::PopAndDestroy(self);
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL(): end")));
-    }
-
-CEapScheduler::~CEapScheduler()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::~CEapScheduler()")));
-
-    delete iServer;
-    }
-
-void CEapScheduler::Error(TInt aError) const
-    {
-    EAP_UNREFERENCED_PARAMETER(aError);
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::Error(): aError=%d"),
-		aError));
-
-    __DEBUGGER();
-//    PanicServer(EErrorFromNonClientObject);
-    }
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServer.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,539 +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:  scheduler of EAP-server.
-*
-*/
-
-/*
-* %version: 35 %
-*/
-
-#include "EapServer.h"
-#include "EapTraceSymbian.h"
-#include <ecom.h>
-#include "eap_automatic_variable.h"
-
-/*
-    class CEapServer
-*/
-
-//----------------------------------------------------------------------------
-
-CEapServer::CEapServer()
-    : CServer2(0, EGlobalSharableSessions) // //ESharableSessions
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapServer::CEapServer(): this=0x%08x"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapServer::CEapServer()"));
-    }
-
-//----------------------------------------------------------------------------
-
-void CEapServer::ConstructL()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapServer::ConstructL(): start")));
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-    iIsValid = EFalse;
-    iTools = abs_eap_am_tools_c::new_abs_eap_am_tools_c();
-
-    // Check if creation went ok and the the iIsValid variable
-    if (iTools == 0
-		|| iTools->get_is_valid() == false)
-	{
-		if (iTools != 0)
-		{
-			iTools->am_cancel_all_timers();
-		}
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-		User::Leave(KErrNoMemory);
-	}
-	else
-	{
-		iIsValid = iTools->get_is_valid();
-	}
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::ConstructL()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
-		const u8_t DEFAULT_PREFIX[] = "EAP-SERVER";
-		eap_variable_data_c tmp_prefix(iTools);
-
-		if (tmp_prefix.get_is_valid() == false)
-		{
-			iTools->am_cancel_all_timers();
-			abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-			User::Leave(KErrNoMemory);
-		}
-
-		eap_status_e status = tmp_prefix.set_copy_of_buffer(DEFAULT_PREFIX, sizeof(DEFAULT_PREFIX)-1ul);;
-		if (status != eap_status_ok)
-		{
-			iTools->am_cancel_all_timers();
-			abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-			User::Leave(KErrNoMemory);
-		}
-
-		status = tmp_prefix.add_end_null();
-		if (status != eap_status_ok)
-		{
-			iTools->am_cancel_all_timers();
-			abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-			User::Leave(KErrNoMemory);
-		}
-
-		status = iTools->set_trace_prefix(&tmp_prefix);
-		if (status != eap_status_ok)
-		{
-			iTools->am_cancel_all_timers();
-			abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-			User::Leave(KErrNoMemory);
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
-		TInt error;
-		RFs aFileServerSession;
-
-		// Open file server session
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::ConstructL(): - calls aFileServerSession.Connect()\n")));
-
-		error = aFileServerSession.Connect();
-
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::ConstructL(): - aFileServerSession.Connect(), error=%d\n"),
-			error));
-
-		User::LeaveIfError(error);
-
-		// Create the private path - it is not automatically created by Symbian OS.
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::ConstructL(): - calls aFileServerSession.CreatePrivatePath(%d)\n"),
-			RFs::GetSystemDrive()));
-
-		error = aFileServerSession.CreatePrivatePath(RFs::GetSystemDrive());
-
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::ConstructL(): - aFileServerSession.CreatePrivatePath(%d), error=%d\n"),
-			RFs::GetSystemDrive(),
-			error));
-
-		User::LeaveIfError(error);
-
-		// Set the session path to the private directory
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::ConstructL(): - calls aFileServerSession.SetSessionToPrivate(%d)\n"),
-			RFs::GetSystemDrive()));
-
-		error = aFileServerSession.SetSessionToPrivate(RFs::GetSystemDrive());
-
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::ConstructL(): - aFileServerSession.SetSessionToPrivate(%d), error=%d\n"),
-			RFs::GetSystemDrive(),
-			error));
-
-		User::LeaveIfError(error);
-
-		// Close the session with the file server.
-		aFileServerSession.Close();
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-    {
-		// construct shutdown timer
-		iShutdown = new(ELeave) CEapDelayedShutdown(iTools, this);
-		iShutdown->ConstructL();
-		// identify ourselves and open for service
-		TBuf<KMaxServerExe> ServerName;
-		TBuf<KMaxServerExe> ServerExe;
-    
-		GetServerNameAndExe(&ServerName, &ServerExe);
-
-		StartL(ServerName);
-
-		// Initiates shut down timer. Timer will close server unless we get client connections.
-		iShutdown->Start();
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-    {
-		// construct backup and restore observer
-		iBackupRestore = new(ELeave) CEapserverBackup(this);
-		iBackupRestore->ConstructL();
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-   }
-
-//----------------------------------------------------------------------------
-
-CEapServer* CEapServer::NewL()
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapServer::NewL(): starts")));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapServer::NewL()"));
-
-    CEapServer* self = new(ELeave)CEapServer();
-    CleanupStack::PushL(self);
-
-    self->ConstructL();
-
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-//----------------------------------------------------------------------------
-
-CEapServer::~CEapServer()
-	{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::~CEapServer(): this=0x%08x\n"),
-		this));
-
-	// Do not use iTools, because it will be destroyed before return.
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapServer::~CEapServer()"));
-
-	delete iShutdown;
-	delete iBackupRestore;
-	
-	if (iTools) 
-	{
-		iTools->am_cancel_all_timers();
-		abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools);
-	}
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("REComSession::FinalClose(): start")));
-
-	REComSession::FinalClose();
-
-    EAP_TRACE_DEBUG_SYMBIAN((_L("REComSession::FinalClose(): ready")));
-
-	}
-
-//----------------------------------------------------------------------------
-
-// from CServer
-
-CSession2* CEapServer::NewSessionL(const TVersion& /* aVersion */, const RMessage2& /* aMessage */) const
-    {
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::NewSessionL(): starts\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::NewSessionL()");
-
-    CEapSession* session = new(ELeave) CEapSession();
-    CleanupStack::PushL(session);
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::NewSessionL(): session=0x%08x\n"),
-		session));
-
-    EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::NewSessionL(): session->ConstructL() starts")));
-
-    session->ConstructL(*const_cast<CEapServer*>(this), iTools);
-
-    EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::NewSessionL(): session->ConstructL() ends")));
-
-    CleanupStack::Pop(session);
-
-    const_cast<CEapServer*>(this)->IncrementSessions();
-
-	return session;
-    }
-
-//----------------------------------------------------------------------------
-
-TInt CEapServer::RunError(TInt aErr)
-    /**
-       Handle leaves from ServiceL.
-
-       Any leave from a ServiceL() will land up here.
-    */
-    {
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::RunError(), aErr=%d\n"),
-		aErr));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::RunError()");
-
-    // if it's a bad descriptor, panic the client
-    if (aErr==KErrBadDescriptor)    // client had a bad descriptor
-        {
-        PanicClient(EBadDescriptor);
-        }
-
-    // anyway, complete the outstanding message
-    Message().Complete(aErr);
-    ReStart(); // really means just continue reading client requests
-    return KErrNone;
-    }
-
-//----------------------------------------------------------------------------
-
-/**
-   session count support
-*/
-void CEapServer::IncrementSessions()
-{   
-	iSessionCount++;
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::IncrementSessions(): iSessionCount=%d\n"),
-		iSessionCount));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::IncrementSessions()");
-
-	iShutdown->Cancel();
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServer::DecrementSessions()
-{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::DecrementSessions(): iSessionCount=%d\n"),
-		iSessionCount));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::DecrementSessions()");
-
-	iSessionCount--;
-	if (iSessionCount>0)
-		return;
-
-	iShutdown->Start();
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServer::PanicClient(TInt aPanic) const
-{
-	EAP_UNREFERENCED_PARAMETER(aPanic);
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::PanicClient(): aPanic=%d\n"),
-		aPanic));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::PanicClient()");
-
-	// let's have a look before we panic the client
-	__DEBUGGER()
-	// ok, go for it
-
-	const TBufC<KMaxCategoryLength> aCategory; 
-	Message().Panic(aCategory, EBadRequest);
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServer::StopL()
-{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapServer::StopL()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::StopL()");
-
-	for (iSessionIter.SetToFirst(); iSessionIter; iSessionIter++)
-	{
-		CSession2 * aSession = iSessionIter;
-
-		EAP_TRACE_DEBUG(
-			iTools, 
-			TRACE_FLAGS_DEFAULT, 
-			(EAPL("CEapServer::StopL(): aSession=0x%08x calls CancelReceive()\n"),
-			aSession));
-
-		if (static_cast<CEapSession *>(aSession) != NULL)
-			{
-			static_cast<CEapSession *>(aSession)->CancelReceive();
-			}
-	}
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServer::BackupOrRestoreCompleteL()
-{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("ERROR: CEapServer::BackupOrRestoreCompleteL(): Do something\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::BackupOrRestoreCompleteL()");
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServer::BackupOrRestoreStartingL()
-{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("WARNING: CEapServer::BackupOrRestoreStartingL(): Terminates EAP-SERVER. All sessions are also closed. All files are unlocked for backup or restore.\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::BackupOrRestoreStartingL()");
-
-    StopL();
-}
-
-//----------------------------------------------------------------------------
-
-/*
-    class CEapDelayedShutdown
-*/
-
-CEapDelayedShutdown::CEapDelayedShutdown(abs_eap_am_tools_c * const tools, CEapServer * const aServer)
-    : CActive(0)
-	, iTools(tools)
-	, iServer(aServer)
-    {
-    }
-
-//----------------------------------------------------------------------------
-
-void CEapDelayedShutdown::ConstructL()
-    {
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapDelayedShutdown::ConstructL()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::ConstructL()");
-
-    CActiveScheduler::Add(this);
-    User::LeaveIfError(iTimer.CreateLocal());
-    }
-
-//----------------------------------------------------------------------------
-
-CEapDelayedShutdown::~CEapDelayedShutdown()
-    {
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapDelayedShutdown::~CEapDelayedShutdown()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::~CEapDelayedShutdown()");
-
-    Cancel();
-    iTimer.Close();
-    }
-
-//----------------------------------------------------------------------------
-
-void CEapDelayedShutdown::Start()
-    {
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapDelayedShutdown::Start()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::Start()");
-
-    iTimer.After(iStatus, KEapShutdownInterval);
-    SetActive();
-    }
-
-//----------------------------------------------------------------------------
-
-void CEapDelayedShutdown::DoCancel()
-{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapDelayedShutdown::DoCancel()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::DoCancel()");
-
-	iTimer.Cancel();
-}
-
-//----------------------------------------------------------------------------
-
-TInt CEapDelayedShutdown::RunError(TInt aError)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapDelayedShutdown::RunError(): aError=%d, this=0x%08x\n"),
-		aError,
-		this));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::RunError()");
-
-	iTimer.Cancel();
-
-	return aError;
-}
-
-//----------------------------------------------------------------------------
-
-void CEapDelayedShutdown::RunL()
-{
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("CEapDelayedShutdown::RunL(), calls CActiveScheduler::Stop()\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::RunL()");
-
-	CActiveScheduler::Stop();
-}
-
-//----------------------------------------------------------------------------
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerBackup.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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:  scheduler of EAP-server.
-*
-*/
-
-/*
-* %version: %
-*/
-
-/**
- @file
-*/
-
-#include <e32std.h>
-#include "EapServerBackup.h"
-#include <connect/sbdefs.h>
-#include "EapTraceSymbian.h"
-
-using namespace conn;
-
-//----------------------------------------------------------------------------
-
-CEapserverBackup* CEapserverBackup::NewL(AbsEapserverBackup * const aBackupAndRestoreObserver)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::NewL()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::NewL()\n"));
-
-	CEapserverBackup* self = new(ELeave) CEapserverBackup(aBackupAndRestoreObserver);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-}
-
-//----------------------------------------------------------------------------
-
-CEapserverBackup::CEapserverBackup(AbsEapserverBackup * const aBackupAndRestoreObserver)
-:CActive(EPriorityStandard)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::CEapserverBackup()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::CEapserverBackup()\n"));
-
-	iBackupAndRestoreObserver = aBackupAndRestoreObserver;
-}
-
-//----------------------------------------------------------------------------
-
-void CEapserverBackup::ConstructL()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::ConstructL()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::ConstructL()\n"));
-
-	iBackupOrRestoreInProgress = EFalse;
-	User::LeaveIfError(iBackupProperty.Attach(KUidSystemCategory,KUidBackupRestoreKey));
-	CActiveScheduler::Add(this);
-	iBackupProperty.Subscribe(iStatus);
-	SetActive();
-}
-
-//----------------------------------------------------------------------------
-
-CEapserverBackup::~CEapserverBackup()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::~CEapserverBackup()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::~CEapserverBackup()\n"));
-
-	Cancel();
-	iBackupProperty.Close();
-}
-
-//----------------------------------------------------------------------------
-
-void CEapserverBackup::DoCancel()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::DoCancel()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::DoCancel()\n"));
-
-	iBackupProperty.Cancel();
-}
-
-//----------------------------------------------------------------------------
-
-TBool CEapserverBackup::IsBackupOrRestoreInProgress()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::IsBackupOrRestoreInProgress()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::IsBackupOrRestoreInProgress()\n"));
-
-	return iBackupOrRestoreInProgress;
-}
-
-//----------------------------------------------------------------------------
-
-/**
- *  @leave KErrNotSupported if unknown backup flag is found
- */
-void CEapserverBackup::RunL()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL()")));
-    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::RunL()\n"));
-
-	iBackupProperty.Subscribe(iStatus);
-	SetActive();
-
-
-	TInt backupRestoreFlag;
-	iBackupProperty.Get(backupRestoreFlag);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL(): backupRestoreFlag=0x%08x"),
-		backupRestoreFlag));
-
-	switch(backupRestoreFlag & KBURPartTypeMask)
-	{
- 		case EBURUnset:
- 		case EBURNormal:
- 			if(iBackupOrRestoreInProgress) //only report complete if already reported starting
- 			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL(): Backup or restore complete")));
- 				iBackupAndRestoreObserver->BackupOrRestoreCompleteL();
- 				iBackupOrRestoreInProgress=EFalse;
- 			}
- 			break;
- 		case EBURBackupFull:
- 		case EBURBackupPartial:
-		case EBURRestoreFull:
-		case EBURRestorePartial:
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL(): Backup or restore starts")));
-				iBackupOrRestoreInProgress=ETrue;
-				iBackupAndRestoreObserver->BackupOrRestoreStartingL();
-			}
-			break;
-		default:
-			User::Leave(KErrNotSupported); //unexpected value
-	};
-}
-
-//----------------------------------------------------------------------------
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerExe.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  scheduler of EAP-server.
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#include "EapServer.h"
-
-GLDEF_C TInt E32Main()
-{
-	CEapScheduler::TServerStart start;
-	TInt r=CEapScheduler::ThreadStart(start);
-	return r;
-}
-
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,921 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version:  41 %
-*/
-
-#include "EapServerProcessHandler.h"
-#include "EapTraceSymbian.h"
-#if defined(USE_FAST_EAP_TYPE)
-#include "PacStoreIf.h"
-#endif //#if defined(USE_FAST_EAP_TYPE)
-#include "EapServerStrings.h"
-#include "eap_automatic_variable.h"
-
-//----------------------------------------------------------------------------
-
-CEapServerProcessHandler::CEapServerProcessHandler()
-: CActive (0)
-, iClient(0)
-, iTools(0)
-, iEapCore(0)
-, iEapPlugin(0)
-, iEapSettings(0)
-#if defined (USE_WAPI_CORE)
-, iWapiCore(0)
-, iWapiSettings(0)
-#endif
-#if defined(USE_FAST_EAP_TYPE)
-, iPacStore(0)
-#endif //#if defined(USE_FAST_EAP_TYPE)
-, iEapMessageQueue(0)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::CEapServerProcessHandler(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::CEapServerProcessHandler()");
-}
-
-//----------------------------------------------------------------------------
-
-CEapServerProcessHandler::~CEapServerProcessHandler()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::~CEapServerProcessHandler(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::~CEapServerProcessHandler()");
-
-	if(IsActive())
-	{
-		Cancel();
-	}
-
-	delete iEapCore;
-	iEapCore = 0;
-
-	delete iEapPlugin;
-	iEapPlugin = 0;
-
-	delete iEapSettings;
-	iEapSettings = 0;
-
-#if defined (USE_WAPI_CORE)
-    delete iWapiCore;
-    iWapiCore = 0;
-
-    delete iWapiSettings;
-    iWapiSettings = 0;
-#endif
-
-#if defined(USE_FAST_EAP_TYPE)
-    delete iPacStore;
-    iPacStore = 0;
-#endif //#if defined(USE_FAST_EAP_TYPE)
-
-    delete iEapMessageQueue;
-	iEapMessageQueue = 0;
-}
-    
-//----------------------------------------------------------------------------
-
-CEapServerProcessHandler* CEapServerProcessHandler::NewL()
-{
-	return new (ELeave) CEapServerProcessHandler();
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServerProcessHandler::ConstructL(AbsEapProcessSendInterface* const client, abs_eap_am_tools_c * const tools)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::ConstructL(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapServerProcessHandler::ConstructL()");
-
-	iClient = client;
-	iTools = tools;
-
-	iEapMessageQueue = new(ELeave) EapMessageQueue(iTools);
-}
-
-//----------------------------------------------------------------------------
-
-eap_status_e CEapServerProcessHandler::SendData(const void * const data, const u32_t length, TEapRequests message)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::SendData(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::SendData()");
-
-	eap_status_e status(eap_status_ok);
-
-	SaveMessage(message, data, length);
-
-	return status;
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServerProcessHandler::SaveMessage(TEapRequests message, const void * const data, const TUint length)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::SaveMessage(): this=0x%08x, message=%d=%s\n"),
-		this,
-		message,
-		EapServerStrings::GetEapRequestsString(message)));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::SaveMessage()");
-
-	EAP_TRACE_DATA_DEBUG(
-		iTools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("CEapServerProcessHandler::SaveMessage()"),
-		data,
-		length));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::SaveMessage(): calls iEapMessageQueue->AddMessage()\n")));
-
-	TInt error = iEapMessageQueue->AddMessage(message, data, length);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: CEapServerProcessHandler::SaveMessage(): failed = %d\n"),
-			error));
-		return;
-	}
-
-	Activate();
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::SaveMessage(): returns this=0x%08x, message=%d=%s\n"),
-		this,
-		message,
-		EapServerStrings::GetEapRequestsString(message)));
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServerProcessHandler::Activate()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::Activate(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::Activate()");
-
-	if(!IsActive())
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapServerProcessHandler::Activate(): calls User::RequestComplete()\n")));
-
-		TRequestStatus* status = &iStatus;
-		User::RequestComplete(status, KErrNone);
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapServerProcessHandler::Activate(): calls SetActive()\n")));
-
-		SetActive();
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapServerProcessHandler::Activate(): Already active.\n")));
-	}
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServerProcessHandler::RunL()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("=start=====================================================================\n")));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::RunL()");
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::RunL(): this=0x%08x\n"),
-		this));
-
-	EapMessageBuffer * const message = iEapMessageQueue->GetFirstMessage();
-
-	if (message != 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapServerProcessHandler::RunL(): message->GetRequestType()=%d=%s, data=0x%08x, size=%d\n"),
-			message->GetRequestType(),
-			EapServerStrings::GetEapRequestsString(message->GetRequestType()),
-			message->GetData()->Ptr(),
-			message->GetData()->Size()));
-
-		eap_status_e status(eap_status_ok);
-
-		switch (message->GetRequestType())
-		{
-
-		case EEapCoreIfNew:
-
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapCoreIfNew\n")));
-
-				CEapCoreIf * tmpEapCore = CEapCoreIf::new_CEapCoreIf(
-					iTools,
-					ETrue,
-					0,
-					this);
-
-				if (tmpEapCore != 0)
-				{
-					CleanupStack::PushL(tmpEapCore);
-
-					if (tmpEapCore->get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapCoreIf::new_CEapCoreIf() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					const void * const aData = reinterpret_cast<const void *>(message->GetData()->Ptr());
-					const TInt aLength = message->GetData()->Size();
-
-					const eap_variable_data_c client_configuration(
-						iTools,
-						aData,
-						aLength,
-						false,
-						false);
-					if (client_configuration.get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					status = tmpEapCore->configure(&client_configuration);
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapCore->configure() failed, this=0x%08x, status=%d=%s\n"),
-							this,
-							status,
-							eap_status_string_c::get_status_string(status)));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-					}
-
-					iEapCore = tmpEapCore;
-
-					CleanupStack::Pop(tmpEapCore);
-				}
-				else
-				{
-					EAP_TRACE_DEBUG(
-						iTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapCoreIfNew, iEapCore is NULL\n")));
-				}
-			}
-
-			break;
-
-		case EEapPluginNew:
-
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapPluginNew\n")));
-
-				CEapPluginIf * tmpEapPlugin = CEapPluginIf::new_CEapPluginIf(iTools);
-
-				if (tmpEapPlugin != 0)
-				{
-					CleanupStack::PushL(tmpEapPlugin);
-
-					if (tmpEapPlugin->get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapPluginIf::new_CEapPluginIf() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					tmpEapPlugin->set_partner(this);
-
-					const void * const aData = reinterpret_cast<const void *>(message->GetData()->Ptr());
-					const TInt aLength = message->GetData()->Size();
-
-					const eap_variable_data_c client_configuration(
-						iTools,
-						aData,
-						aLength,
-						false,
-						false);
-					if (client_configuration.get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					status = tmpEapPlugin->configure(&client_configuration);
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapPlugin->configure() failed, this=0x%08x, status=%d=%s\n"),
-							this,
-							status,
-							eap_status_string_c::get_status_string(status)));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-					}
-
-					iEapPlugin = tmpEapPlugin;
-
-					CleanupStack::Pop(tmpEapPlugin);
-				}
-				else
-				{
-					EAP_TRACE_DEBUG(
-						iTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPluginNew, iEapPlugin is NULL\n")));
-				}
-			}
-
-			break;
-
-		case EEapSettingsNew:
-
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapSettingsNew\n")));
-
-				CEapSettingsIf * tmpEapSettings = CEapSettingsIf::new_CEapSettingsIf(iTools);
-
-				if (tmpEapSettings != 0)
-				{
-					CleanupStack::PushL(tmpEapSettings);
-
-					if (tmpEapSettings->get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapSettingsIf::new_CEapSettingsIf() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					tmpEapSettings->set_partner(this);
-
-					const void * const aData = reinterpret_cast<const void *>(message->GetData()->Ptr());
-					const TInt aLength = message->GetData()->Size();
-
-					const eap_variable_data_c client_configuration(
-						iTools,
-						aData,
-						aLength,
-						false,
-						false);
-					if (client_configuration.get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					status = tmpEapSettings->configure(&client_configuration);
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapSettings->configure() failed, this=0x%08x, status=%d=%s\n"),
-							this,
-							status,
-							eap_status_string_c::get_status_string(status)));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-					}
-
-					iEapSettings = tmpEapSettings;
-
-					CleanupStack::Pop(tmpEapSettings);
-				}
-				else
-				{
-					EAP_TRACE_DEBUG(
-						iTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapSettingsNew, iEapSettings is NULL\n")));
-				}
-			}
-
-			break;
-
-#if defined (USE_WAPI_CORE)
-	     case EWapiCoreIfNew:
-
-	            EAP_TRACE_DEBUG(
-	                iTools,
-	                TRACE_FLAGS_DEFAULT,
-	                (EAPL("CEapServerProcessHandler::RunL() EWapiCoreIfNew\n")));
-
-                iWapiCore = CWapiCoreIf::NewL(iTools, this);
-
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EWapiCoreIfNew - iWapiCore = 0x%08x.\n"),
-					iWapiCore));
-
-
-	            break;
-
-	        case EWapiSettingsNew:
-
-	            EAP_TRACE_DEBUG(
-	                iTools,
-	                TRACE_FLAGS_DEFAULT,
-	                (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsNew\n")));
-
-	            iWapiSettings = CWapiSettingsIf::NewL(iTools, this);
-
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EWapiSettingsNew - iWapiSettings = 0x%08x.\n"),
-					iWapiSettings));
-	            break;
-#endif
-	            
-        case EEapPacStoreNew:
-
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapPacStoreNew\n")));
-
-#if defined(USE_FAST_EAP_TYPE)
-
-				CPacStoreIf * tmpPacStore = CPacStoreIf::new_CPacStoreIf(
-					iTools,
-					ETrue,
-					0,
-					this);
-
-				if (tmpPacStore != 0)
-				{
-					CleanupStack::PushL(tmpPacStore);
-
-					if (tmpPacStore->get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): CPacStoreIf::new_CPacStoreIf() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					const void * const aData = reinterpret_cast<const void *>(message->GetData()->Ptr());
-					const TInt aLength = message->GetData()->Size();
-
-					const eap_variable_data_c client_configuration(
-						iTools,
-						aData,
-						aLength,
-						false,
-						false);
-					if (client_configuration.get_is_valid() == false)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"),
-							this));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error)));
-					}
-
-					status = tmpPacStore->configure(&client_configuration);
-					if (status != eap_status_ok)
-					{
-						EAP_TRACE_DEBUG(
-							iTools,
-							TRACE_FLAGS_DEFAULT,
-							(EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpPacStore->configure() failed, this=0x%08x, status=%d=%s\n"),
-							this,
-							status,
-							eap_status_string_c::get_status_string(status)));
-
-						User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-					}
-
-					iPacStore = tmpPacStore;
-
-					CleanupStack::Pop(tmpPacStore);
-				}
-				else
-				{
-					EAP_TRACE_DEBUG(
-						iTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPacStoreNew, iPacStore is NULL\n")));
-				}
-
-#endif //#if defined(USE_FAST_EAP_TYPE)
-
-			}
-
-            break;
-
-        case EEapCoreProcessData:
-
-            EAP_TRACE_DEBUG(
-                iTools,
-                TRACE_FLAGS_DEFAULT,
-                (EAPL("CEapServerProcessHandler::RunL() EEapCoreProcessData\n")));
-
-            if (iEapCore !=0)
-            {
-                void* aData = reinterpret_cast<void *>(const_cast<TUint8 *>(message->GetData()->Ptr()));
-                TInt aLength = message->GetData()->Size();
-                iEapCore->process_data(aData, aLength);
-            }
-            else
-            {
-                EAP_TRACE_DEBUG(
-                    iTools,
-                    TRACE_FLAGS_DEFAULT,
-                    (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapCoreProcessData, iEapCore is NULL\n")));
-            }
-
-            break;
-
-        case EEapPacStoreProcessData:
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapServerProcessHandler::RunL() EEapPacStoreProcessData\n")));
-
-#if defined(USE_FAST_EAP_TYPE)
-			if (iPacStore !=0)
-			{
-				void* aData = reinterpret_cast<void *>(const_cast<TUint8 *>(message->GetData()->Ptr()));
-				TInt aLength = message->GetData()->Size();
-				iPacStore->process_data(aData, aLength);
-			}
-			else
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPacStoreProcessData, iPacStore is NULL\n")));
-			}
-#endif //#if defined(USE_FAST_EAP_TYPE)
-			break;
-
-		case EEapPluginProcessData:
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapServerProcessHandler::RunL() EEapPluginProcessData\n")));
-
-			if (iEapPlugin !=0)
-			{
-				void* aData = reinterpret_cast<void *>(const_cast<TUint8 *>(message->GetData()->Ptr()));
-				TInt aLength = message->GetData()->Size();
-				iEapPlugin->process_data(aData, aLength);
-			}
-			else
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPluginProcessData, iEapPlugin is NULL\n")));
-			}
-
-			break;
-
-		case EEapSettingsProcessData:
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapServerProcessHandler::RunL() EEapSettingsProcessData\n")));
-
-			if (iEapSettings !=0)
-			{
-				void* aData = reinterpret_cast<void *>(const_cast<TUint8 *>(message->GetData()->Ptr()));
-				TInt aLength = message->GetData()->Size();
-				iEapSettings->process_data(aData, aLength);
-			}
-			else
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapSettingsProcessData, iEapSettings is NULL\n")));
-			}
-
-			break;
-
-#if defined (USE_WAPI_CORE)
-		case EWapiCoreProcessData:
-
-            EAP_TRACE_DEBUG(
-                iTools,
-                TRACE_FLAGS_DEFAULT,
-                (EAPL("CEapServerProcessHandler::RunL() EWapiCoreProcessData\n")));
-
-            if (iWapiCore !=0)
-            {
-                void* aData = reinterpret_cast<void *>(const_cast<TUint8 *>(message->GetData()->Ptr()));
-                TInt aLength = message->GetData()->Size();
-                iWapiCore->process_data(aData, aLength);
-            }
-            else
-            {
-                EAP_TRACE_DEBUG(
-                    iTools,
-                    TRACE_FLAGS_DEFAULT,
-                    (EAPL("ERROR: CEapServerProcessHandler::RunL(): EWapiCoreProcessData, iWapiCore is NULL\n")));
-            }
-            break;
-
-		case EWapiSettingsProcessData:
-
-            EAP_TRACE_DEBUG(
-                iTools,
-                TRACE_FLAGS_DEFAULT,
-                (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsProcessData\n")));
-
-            if (iWapiSettings !=0)
-            {
-                void* aData = reinterpret_cast<void *>(const_cast<TUint8 *>(message->GetData()->Ptr()));
-                TInt aLength = message->GetData()->Size();
-                iWapiSettings->process_data(aData, aLength);
-            }
-            else
-            {
-                EAP_TRACE_DEBUG(
-                    iTools,
-                    TRACE_FLAGS_DEFAULT,
-                    (EAPL("ERROR: CEapServerProcessHandler::RunL(): EWapiSettingsProcessData, iWapiSettings is NULL\n")));
-            }
-
-            break;
-#endif
-
-		case EEapCoreSendData:
-		case EEapPluginSendData:
-		case EEapSettingsSendData:
-        case EEapPacStoreSendData:
-#if defined (USE_WAPI_CORE)
-        case EWapiCoreSendData:
-        case EWapiSettingsSendData:
-#endif
-			if (message->GetRequestType() == EEapCoreSendData)
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapCoreSendData\n")));
-			}
-			else if (message->GetRequestType() == EEapPluginSendData)
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapPluginSendData\n")));
-			}
-			else if (message->GetRequestType() == EEapSettingsSendData)
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("CEapServerProcessHandler::RunL() EEapSettingsSendData\n")));
-			}
-            else if (message->GetRequestType() == EEapPacStoreSendData)
-            {
-                EAP_TRACE_DEBUG(
-                    iTools,
-                    TRACE_FLAGS_DEFAULT,
-                    (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreSendData\n")));
-            }
-#if defined (USE_WAPI_CORE)
-            else if (message->GetRequestType() == EWapiCoreSendData)
-            {
-                EAP_TRACE_DEBUG(
-                    iTools,
-                    TRACE_FLAGS_DEFAULT,
-                    (EAPL("CEapServerProcessHandler::RunL() EWapiCoreSendData\n")));
-            }
-            else if (message->GetRequestType() == EWapiSettingsSendData)
-            {
-                EAP_TRACE_DEBUG(
-                    iTools,
-                    TRACE_FLAGS_DEFAULT,
-                    (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsSendData\n")));
-            }
-#endif
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("CEapServerProcessHandler::RunL(): iClient=0x%08x\n"),
-				iClient));
-
-			if (iClient != 0)
-			{
-				status = iClient->SendData(message);
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_DEBUG(
-						iTools,
-						TRACE_FLAGS_DEFAULT,
-						(EAPL("ERROR: CEapServerProcessHandler::RunL(): SendData() failed, iClient=0x%08x, status=%d=%s\n"),
-						iClient,
-						status,
-						eap_status_string_c::get_status_string(status)));
-
-					// We do not return here. Even the iClient->SendData() fails we run this function to the end.
-				}
-			}
-			else
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: CEapServerProcessHandler::RunL(): EEap*SendData, iClient is NULL\n")));
-			}
-
-			break;
-
-		default:
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: CEapServerProcessHandler::RunL(): unknown message->GetRequestType()=%d=%s\n"),
-				message->GetRequestType(),
-				EapServerStrings::GetEapRequestsString(message->GetRequestType())));
-			break;
-
-		} // switch()
-
-		if (status == eap_status_ok)
-		{
-			// First one handled, remove message.
-			// iClient->SendData() call may fail, then we do not remove the message.
-			iEapMessageQueue->DeleteFirstMessage();
-		}
-
-	} // if ()
-
-	if (iEapMessageQueue->GetFirstMessage() != 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapServerProcessHandler::RunL(): Still messages waiting.\n")));
-
-		if (iClient != NULL)
-		{
-			if (iClient->GetReceiveActive())
-			{
-				Activate();
-			}
-			else
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("WARNING: CEapServerProcessHandler::RunL(): cannot call User::RequestComplete() because no receive is active.\n")));
-			}
-		}
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapServerProcessHandler::RunL(): No more messages to process.\n")));
-	}
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("=end======================================================================\n")));
-}
-
-//----------------------------------------------------------------------------
-
-void CEapServerProcessHandler::DoCancel()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::DoCancel(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::DoCancel()");
-
-}
-
-//----------------------------------------------------------------------------
-
-TInt CEapServerProcessHandler::RunError(TInt aError)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapServerProcessHandler::RunError(): aError=%d, this=0x%08x\n"),
-		aError,
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::RunError()");
-
-	Cancel();
-
-	return aError;
-}
-
-//----------------------------------------------------------------------------
-// end
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerStrings.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 714
-	#undef EAP_FILE_NUMBER_DATE
-	#define EAP_FILE_NUMBER_DATE 1127594498
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-
-/** @file */
-
-#include "EapServerStrings.h"
-#include "eap_tools.h"
-
-//------------------------------------------------------------------------------
-
-EXPORT_C EapServerStrings::~EapServerStrings()
-{
-}
-
-//------------------------------------------------------------------------------
-
-EXPORT_C EapServerStrings::EapServerStrings()
-{
-}
-
-//------------------------------------------------------------------------------
-
-EXPORT_C eap_const_string EapServerStrings::GetEapRequestsString(const TEapRequests request)
-{
-
-#if defined(USE_EAP_TRACE_STRINGS)
-	EAP_IF_RETURN_STRING(request, EEapNone)
-	else EAP_IF_RETURN_STRING(request, EEapCoreIfNew)
-	else EAP_IF_RETURN_STRING(request, EEapPluginNew)
-	else EAP_IF_RETURN_STRING(request, EEapSettingsNew)
-	else EAP_IF_RETURN_STRING(request, EEapCoreProcessData)
-	else EAP_IF_RETURN_STRING(request, EEapPluginProcessData)
-	else EAP_IF_RETURN_STRING(request, EEapSettingsProcessData)
-	else EAP_IF_RETURN_STRING(request, EEapCoreSendData)
-	else EAP_IF_RETURN_STRING(request, EEapPluginSendData)
-	else EAP_IF_RETURN_STRING(request, EEapSettingsSendData)
-	else EAP_IF_RETURN_STRING(request, EEapIfReqReceive)
-	else EAP_IF_RETURN_STRING(request, EEapIfCancelReceive)
-	else EAP_IF_RETURN_STRING(request, EEapPacStoreNew)
-	else EAP_IF_RETURN_STRING(request, EEapPacStoreProcessData)
-	else EAP_IF_RETURN_STRING(request, EEapPacStoreSendData)
-	else EAP_IF_RETURN_STRING(request, EWapiCoreIfNew)
-	else EAP_IF_RETURN_STRING(request, EWapiSettingsNew)
-	else EAP_IF_RETURN_STRING(request, EWapiCoreProcessData)
-	else EAP_IF_RETURN_STRING(request, EWapiSettingsProcessData)
-	else EAP_IF_RETURN_STRING(request, EWapiCoreSendData)
-	else EAP_IF_RETURN_STRING(request, EWapiSettingsSendData)
-
-	else
-#endif // #if defined(USE_EAP_TRACE_STRINGS)
-	{
-		EAP_UNREFERENCED_PARAMETER(request);
-		return EAPL("Unknown TEapRequests");
-	}
-
-}
-
-//------------------------------------------------------------------------------
-
-EXPORT_C eap_const_string EapServerStrings::GetEapRequestsString(const TInt request)
-{
-	return EapServerStrings::GetEapRequestsString(static_cast<TEapRequests>(request));
-}
-
-//------------------------------------------------------------------------------
-// End.
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapSession.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,542 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP-session inside EAP-server.
-*
-*/
-
-/*
-* %version: 32 %
-*/
-
-
-#define __REFERENCE_CAPABILITY_NAMES__
-#define __INCLUDE_CAPABILITY_NAMES__
-
-#include "EapSession.h"
-#include "EapServerStrings.h"
-#include "EapServer.h"
-#include "EapServerProcessHandler.h"
-#include "EapServerClientDef.h"
-#include "abs_eap_am_tools.h"
-#include "EapTraceSymbian.h"
-
-#include "eap_automatic_variable.h"
-
-/*
-    CEapSession
-*/
-
-const TInt KMaxMessageLength = 1000000;
-
-// -----------------------------------------------------------------------------------------
-
-// construct/destruct
-
-CEapSession::CEapSession()
-: iReceiveActive(EFalse)
-, iEapProcessHandler(0)
-, iTools(0)
-    {
-    EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSession::CEapSession(): this=0x%08x"),
-		this));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapSession::CEapSession()"));
-
-    }
-
-// -----------------------------------------------------------------------------------------
-
-void CEapSession::ConstructL(CEapServer& /* aServer */, abs_eap_am_tools_c * const tools)
-    {
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ConstructL(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapSession::ConstructL()");
-
-    iTools = tools;
-
-    iEapProcessHandler = CEapServerProcessHandler::NewL();
-    iEapProcessHandler->ConstructL(this, iTools);
-	CActiveScheduler::Add(iEapProcessHandler);
-    }
-
-// -----------------------------------------------------------------------------------------
-
-CEapSession::~CEapSession()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::~CEapSession(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::~CEapSession()");
-
-    // cancel any receive
-    CancelReceive();
-    if (iEapProcessHandler != 0)
-        {
-        delete iEapProcessHandler;
-        iEapProcessHandler = 0;
-        }
-    // decrement session count, so server may terminate if no longer needed
-    Server()->DecrementSessions();
-    }
-
-// -----------------------------------------------------------------------------------------
-
-CEapServer* CEapSession::Server() const
-    /**
-       Return the EAP-server.
-
-       This deliberately hides the ugly casts around the code.
-    */
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::Server(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::Server()");
-
-    return const_cast<CEapServer*>(static_cast<const CEapServer*>(CSession2::Server()));
-    }
-
-// -----------------------------------------------------------------------------------------
-
-void CEapSession::CheckCapabilityL(
-	const RMessage2& aMessage,
-	const TBool aMustHaveCapabilityWhenTrue,
-	const TCapability aCapability,
-	const char *aDiagnostic)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::CheckCapabilityL(): this=0x%08x: aMessage.Function()=%d=%s\n"),
-		this,
-		aMessage.Function(),
-		EapServerStrings::GetEapRequestsString(aMessage.Function())));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::CheckCapabilityL()");
-
-	if (aMustHaveCapabilityWhenTrue != aMessage.HasCapability(aCapability, aDiagnostic))
-	{
-		// Capability check failed.
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: CEapSession::CheckCapability(): aMessage.Function()=%d=%s, failed capability check: %d=%s, %s\n"),
-			aMessage.Function(),
-			EapServerStrings::GetEapRequestsString(aMessage.Function()),
-			aCapability,
-			CapabilityNames[aCapability],
-			aDiagnostic));
-		Server()->PanicClient(EBadRequest);
-		User::Leave(EBadRequest);
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::CheckCapability(): aMessage.Function()=%d=%s, OK capability check: %d=%s\n"),
-			aMessage.Function(),
-			EapServerStrings::GetEapRequestsString(aMessage.Function()),
-			aCapability,
-			CapabilityNames[aCapability]));
-	}
-}
-
-// -----------------------------------------------------------------------------------------
-
-// service dispatcher - from CSharableSession
-
-void CEapSession::ServiceL(const RMessage2& aMessage)
-    {
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("-start--------------------------------------------------------------------\n")));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ServiceL(): this=0x%08x: starts, aMessage.Function()=%d=%s\n"),
-		this,
-		aMessage.Function(),
-		EapServerStrings::GetEapRequestsString(aMessage.Function())));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::ServiceL()");
-
-
-	{
-#if 0
-		// Add this later.
-		CheckCapabilityL(
-			aMessage,
-			ETrue,
-			ECapabilityNetworkControl,
-			"EAP-SERVER: Missing ECapabilityNetworkControl");
-#endif
-
-		CheckCapabilityL(
-			aMessage,
-			ETrue,
-			ECapabilityReadDeviceData,
-			"EAP-SERVER: Missing ECapabilityReadDeviceData");
-
-		CheckCapabilityL(
-			aMessage,
-			ETrue,
-			ECapabilityWriteDeviceData,
-			"EAP-SERVER: Missing ECapabilityWriteDeviceData");
-	}
-
-
-	if (aMessage.Function() == EEapIfCancelReceive)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): aMessage.Function()=%d=%s, calls CancelReceive()\n"),
-			aMessage.Function(),
-			EapServerStrings::GetEapRequestsString(aMessage.Function())));
-        CancelReceive();
-		return;
-	}
-
-	// length of passed descriptor (1st parameter passed from client)
-	TInt deslen = aMessage.GetDesLength(0);
-
-	if (deslen > KMaxMessageLength)
-	{
-		Server()->PanicClient(EBadRequest);
-		return;
-	}
-
-	// Passed data will be saved in this descriptor.
-	RBuf8 buffer;
-
-	// Max length set to the value of "deslen", but current length is zero
-	buffer.CreateL(deslen);
-
-	// Do the right cleanup if anything subsequently goes wrong
-	buffer.CleanupClosePushL();
-
-	// Copy the client's descriptor data into our buffer.
-	aMessage.ReadL(0,buffer,0);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ServiceL(): calls buffer.Length()\n")));
-
-	TUint aLength = buffer.Length();
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ServiceL(): calls buffer.Ptr(): aLength=%d\n"),
-		aLength));
-
-	const void * aData = buffer.Ptr();
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ServiceL(): aData=0x%08x, aLength=%d\n"),
-		aData,
-		aLength));
-
-	EAP_TRACE_DATA_DEBUG(
-		iTools,
-		EAP_TRACE_FLAGS_NEVER,
-		(EAPL("CEapSession::ServiceL()"),
-		aData,
-		aLength));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ServiceL(): switch aMessage.Function()=%d=%s, iEapProcessHandler=0x%08x\n"),
-		aMessage.Function(),
-		EapServerStrings::GetEapRequestsString(aMessage.Function()),
-		iEapProcessHandler));
-
-
-    switch (aMessage.Function())
-        {
-    case EEapCoreIfNew:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapCoreIfNew\n")));
-        ReceiveAll();
-        iEapProcessHandler->SaveMessage(EEapCoreIfNew, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapPluginNew:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapPluginNew\n")));
-        iEapProcessHandler->SaveMessage(EEapPluginNew, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapSettingsNew:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapSettingsNew\n")));
-        iEapProcessHandler->SaveMessage(EEapSettingsNew, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapPacStoreNew:
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("CEapSession::ServiceL(): EEapPacStoreNew\n")));
-        iEapProcessHandler->SaveMessage(EEapPacStoreNew, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EWapiCoreIfNew:
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("CEapSession::ServiceL(): EWapiCoreIfNew\n")));
-        ReceiveAll();
-        iEapProcessHandler->SaveMessage(EWapiCoreIfNew, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EWapiSettingsNew:
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("CEapSession::ServiceL(): EWapiSettingsNew\n")));
-        ReceiveAll();
-        iEapProcessHandler->SaveMessage(EWapiSettingsNew, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapCoreProcessData:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapCoreProcessData\n")));
-        // Read message
-        iEapProcessHandler->SaveMessage(EEapCoreProcessData, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapPluginProcessData:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapPluginProcessData\n")));
-        iEapProcessHandler->SaveMessage(EEapPluginProcessData, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapSettingsProcessData:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapSettingsProcessData\n")));
-        iEapProcessHandler->SaveMessage(EEapSettingsProcessData, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapPacStoreProcessData:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapPacStoreProcessData\n")));
-        iEapProcessHandler->SaveMessage(EEapPacStoreProcessData, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EWapiCoreProcessData:
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("CEapSession::ServiceL(): EWapiCoreProcessData\n")));
-        iEapProcessHandler->SaveMessage(EWapiCoreProcessData, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EWapiSettingsProcessData:
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("CEapSession::ServiceL(): EWapiSettingsProcessData\n")));
-        iEapProcessHandler->SaveMessage(EWapiSettingsProcessData, aData, aLength);
-        aMessage.Complete(KErrNone);
-        break;
-    case EEapIfReqReceive: // TAny& aBuffer - async
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapIfReqReceive\n")));
-        __ASSERT_DEBUG(!iReceiveActive, Server()->PanicClient(EReceiveReceiveAlreadyActive));
-        // remember receive request
-        iReceiveMessage = aMessage;
-        iReceiveActive=ETrue;
-		iEapProcessHandler->Activate();
-        break;
-    case EEapIfCancelReceive:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::ServiceL(): EEapIfCancelReceive\n")));
-        CancelReceive();
-        break;
-    default:
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: CEapSession::ServiceL(): unknown aMessage.Function()=%d=%s, calls Server()->PanicClient()\n"),
-			aMessage.Function(),
-			EapServerStrings::GetEapRequestsString(aMessage.Function())));
-
-		Server()->PanicClient(EBadRequest);
-        };
-
-	CleanupStack::PopAndDestroy(&buffer);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ServiceL(): ends aMessage.Function()=%d=%s\n"),
-		aMessage.Function(),
-		EapServerStrings::GetEapRequestsString(aMessage.Function())));
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("-end----------------------------------------------------------------------\n")));
-    }
-
-// -----------------------------------------------------------------------------------------
-
-void CEapSession::ReceiveAll()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::ReceiveAll(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::ReceiveAll()");
-
-    }
-
-// -----------------------------------------------------------------------------------------
-
-void CEapSession::Receive(RMessage2& aBuffer)
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::Receive(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::Receive()");
-
-    __ASSERT_DEBUG(!iReceiveActive,Server()->PanicClient(EReceiveReceiveAlreadyActive));
-
-    // remember receive request
-    iReceiveMessage = aBuffer;
-    iReceiveActive=ETrue;
-    }
-
-// -----------------------------------------------------------------------------------------
-
-void CEapSession::CancelReceive()
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::CancelReceive(): this=0x%08x\n"),
-		this));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::CancelReceive()");
-
-    if (!iReceiveActive)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::CancelReceive(): No receive active\n")));
-        return;
-	}
-
-    iReceiveMessage.Complete(KErrCancel);
-    iReceiveActive=EFalse;
-    }
-
-// -----------------------------------------------------------------------------------------
-
-TBool CEapSession::GetReceiveActive()
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::GetReceiveActive(): this=0x%08x: iReceiveActive=%d\n"),
-		this,
-		iReceiveActive));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::GetReceiveActive()");
-
-	return iReceiveActive;
-}
-
-// -----------------------------------------------------------------------------------------
-
-eap_status_e CEapSession::SendData(EapMessageBuffer * const message)
-    {
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::SendData(): this=0x%08x: message->GetRequestType()=%d=%s, message->GetData()->Length()=%d\n"),
-		this,
-		message->GetRequestType(),
-		EapServerStrings::GetEapRequestsString(message->GetRequestType()),
-		message->GetData()->Length()));
-	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::SendData()");
-
-    if (!iReceiveActive)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("CEapSession::SendData(): No receive active\n")));
-        return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(KErrCancel));
-	}
-
-    TInt error(KErrNone);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::SendData(): calls iReceiveMessage.Write()\n")));
-
-	error = iReceiveMessage.Write(0, message->GetData()->Des());
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapSession::SendData(): calls iReceiveMessage.Complete(): Write() error=%d\n"),
-		error));
-
-    iReceiveMessage.Complete(KErrNone);
-    iReceiveActive=EFalse;
-
-    return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
-    }
-
-// -----------------------------------------------------------------------------------------
-// end
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapSettingsIf.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP-settings interface in EAP-server.
-*
-*/
-
-/*
-* %version: 18 %
-*/
-
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "EapSettingsIf.h"
-#include "eap_automatic_variable.h"
-#include "eap_config.h"
-#include "eap_file_config.h"
-#include "abs_eap_am_mutex.h"
-#include "eap_am_general_settings.h"
-#include "eap_am_general_settings_symbian.h"
-#include "eap_general_settings_server_message_if.h"
-#include "EapServerClientDef.h"
-
-/** @file */
-
-//--------------------------------------------------
-
-CEapSettingsIf::CEapSettingsIf(
-	abs_eap_am_tools_c * const tools,
-	eap_am_message_if_c * const server)
-	: m_am_tools(tools)
-	, m_client_if(0)
-	, m_server_if(server)
-	, m_use_asyncronous_test(false)
-	, m_is_valid(false)
-{
-	if (m_am_tools == 0 || m_am_tools->get_is_valid() == false)
-	{
-		return;
-	}
-
-	if (m_server_if == 0 || m_server_if->get_is_valid() == false)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-}
-
-//--------------------------------------------------
-
-CEapSettingsIf::~CEapSettingsIf()
-{
-	if (m_server_if != 0)
-	{
-		m_server_if->shutdown();
-	}
-    delete m_server_if;
-    m_server_if = 0;
-}
-
-//--------------------------------------------------
-
-bool CEapSettingsIf::get_is_valid()
-{
-    return m_is_valid;
-}
-
-//--------------------------------------------------
-
-eap_status_e CEapSettingsIf::configure(
-	const eap_variable_data_c * const client_configuration)
-{
-	return m_server_if->configure(client_configuration);
-}
-
-//--------------------------------------------------
-
-void CEapSettingsIf::set_partner(AbsEapSendInterface * const client)
-{
-    m_client_if = client;
-}
-
-// ----------------------------------------------------------------
-
-eap_status_e CEapSettingsIf::send_data(const void * const data, const u32_t length)
-{
-	return EAP_STATUS_RETURN(m_am_tools, m_client_if->SendData(data, length, EEapSettingsSendData));
-}
-
-// ----------------------------------------------------------------
-
-eap_status_e CEapSettingsIf::process_data(const void * const data, const u32_t length)
-{
-	return EAP_STATUS_RETURN(m_am_tools, m_server_if->process_data(data, length));
-}
-
-//--------------------------------------------------
-
-//
-eap_status_e CEapSettingsIf::shutdown()
-{
-	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools, 
-		EAP_TRACE_FLAGS_MESSAGE_DATA, 
-		(EAPL("CEapSettingsIf::shutdown(): this = 0x%08x.\n"),
-		this));
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_server_if != 0)
-	{
-		status = m_server_if->shutdown();
-	}
-
-	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-
-eap_am_general_settings_c * new_eap_am_general_settings_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_general_settings_c * const partner)
-{
-	eap_am_general_settings_c * const plugin = new eap_am_general_settings_symbian_c(tools, partner);
-
-	// This will delete the plugin memory automatically.
-	eap_automatic_variable_c<eap_am_general_settings_c> automatic_plugin(
-		tools,
-		plugin);
-
-	if (plugin == 0
-	|| plugin->get_is_valid() == false)
-	{
-		// ERROR.
-		if (plugin != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: new_eap_am_general_settings_c(): plugin->shutdown()\n")));
-
-			(void) plugin->shutdown();
-		}
-		return 0;
-	}
-
-	eap_status_e status = plugin->configure();
-	if (status != eap_status_ok)
-	{
-		(void) plugin->shutdown();
-		return 0;
-	}
-
-	// This will prevent automatic deletion of the plugin memory.
-	automatic_plugin.do_not_free_variable();
-
-	return plugin;
-}
-
-//--------------------------------------------------
-
-eap_am_message_if_c * eap_am_message_if_c::new_eap_general_settings_server_message_if_c(
-	abs_eap_am_tools_c * const tools)
-{
-	eap_am_message_if_c * const server = new eap_general_settings_server_message_if_c(
-		tools);
-
-	// This will delete the server memory automatically.
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-		tools,
-		server);
-
-	if (server == 0
-	|| server->get_is_valid() == false)
-	{
-		// ERROR.
-		if (server != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: eap_am_message_if_c::new_eap_general_settings_server_message_if_c(): server->shutdown()\n")));
-
-			(void) server->shutdown();
-		}
-		return 0;
-	}
-
-	eap_status_e status = server->configure(0);
-	if (status != eap_status_ok)
-	{
-		(void) server->shutdown();
-		return 0;
-	}
-
-	// This will prevent automatic deletion of the server memory.
-	automatic_server.do_not_free_variable();
-
-	return server;
-}
-
-//--------------------------------------------------
-
-CEapSettingsIf* CEapSettingsIf::new_CEapSettingsIf(
-    abs_eap_am_tools_c * const tools)
-{
-	eap_am_message_if_c * const server = eap_am_message_if_c::new_eap_general_settings_server_message_if_c(
-		tools);
-
-	// This will delete the server memory automatically.
-	eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-		tools,
-		server);
-
-	if (server == 0
-	|| server->get_is_valid() == false)
-	{
-		// ERROR.
-		if (server != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: CEapSettingsIf::new_CEapPluginIf(): server->shutdown()\n")));
-
-			(void) server->shutdown();
-		}
-		return 0;
-	}
-
-	CEapSettingsIf * const settings_if = new CEapSettingsIf(
-		tools,
-		server);
-
-	// This will delete the settings_if memory automatically.
-	eap_automatic_variable_c<CEapSettingsIf> automatic_settings_if(
-		tools,
-		settings_if);
-
-	if (settings_if == 0
-	|| settings_if->get_is_valid() == false)
-	{
-		// ERROR.
-		if (settings_if != 0)
-		{
-			EAP_TRACE_DEBUG(
-			tools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("calls: CEapSettingsIf::new_CEapPluginIf(): settings_if->shutdown()\n")));
-
-			// This will prevent automatic deletion of the server memory.
-			// automatic_settings_if will delete settings_if and server too.
-			automatic_server.do_not_free_variable();
-
-			(void) settings_if->shutdown();
-		}
-		return 0;
-	}
-
-	server->set_partner(settings_if);
-
-	// This will prevent automatic deletion of the server memory.
-	automatic_server.do_not_free_variable();
-	// This will prevent automatic deletion of the settings_if memory.
-	automatic_settings_if.do_not_free_variable();
-
-	return settings_if;
-}
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/PacStoreIf.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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:  PAC-store interface inside the EAP-server.
-*
-*/
-
-/*
-* %version: 11 %
-*/
-
-#include "eap_am_tools.h"
-#include "eap_am_export.h"
-#include "PacStoreIf.h"
-#include "eap_automatic_variable.h"
-#include "eap_config.h"
-#include "eap_file_config.h"
-#include "abs_eap_am_mutex.h"
-
-
-/** @file */
-
-//--------------------------------------------------
-
-/**
- * This is the timer ID used with abs_eap_am_tools_c::set_timer() and abs_eap_am_tools_c::cancel_timer().
- */
-enum pac_store_message_if_timer_id
-{
-    pac_store_message_IF_TIMER_PROCESS_DATA_ID,
-    pac_store_message_IF_TIMER_SEND_DATA_ID,
-};
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT CPacStoreIf::CPacStoreIf(
-    abs_eap_am_tools_c * const tools,
-    eap_am_message_if_c * const server,
-    AbsEapSendInterface * client)
-    : m_am_tools(tools)
-    , m_client_if(client)
-    , m_server_if(server)
-    , m_fileconfig(0)
-    , m_use_asyncronous_test(false)
-    , iIsValid(false)
-{
-	if (m_am_tools == 0 || m_am_tools->get_is_valid() == false)
-		{
-		return;
-		}
-	if (m_client_if == 0)
-		{
-		return;
-		}
-	if (m_server_if == 0 || m_server_if->get_is_valid() == false)
-		{
-		return;
-		}
-		 
-	iIsValid = true;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT CPacStoreIf::~CPacStoreIf()
-{
-	if (m_server_if != 0)
-	{
-		m_server_if->shutdown();
-	}
-    delete m_server_if;
-    m_server_if = 0;
-
-    delete m_fileconfig;
-    m_fileconfig = 0;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool CPacStoreIf::get_is_valid()
-{
-    return iIsValid;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e CPacStoreIf::configure(
-	const eap_variable_data_c * const client_configuration)
-{
-	return m_server_if->configure(client_configuration);
-}
-
-// ----------------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e CPacStoreIf::send_data(const void * const data, const u32_t length)
-    {
-    return m_client_if->SendData(data, length, EEapPacStoreSendData);
-    }
-
-// ----------------------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e CPacStoreIf::process_data(const void * const data, const u32_t length)
-    {
-    return m_server_if->process_data(data, length);
-    }
-
-//--------------------------------------------------
-
-//
-EAP_FUNC_EXPORT eap_status_e CPacStoreIf::shutdown()
-{
-    EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
-
-    EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
-
-    EAP_TRACE_DEBUG(
-        m_am_tools, 
-        EAP_TRACE_FLAGS_MESSAGE_DATA, 
-        (EAPL("CPacStoreIf::shutdown(): this = 0x%08x.\n"),
-        this));
-
-    eap_status_e status(eap_status_ok);
-
-    if (m_server_if != 0)
-    {
-        status = m_server_if->shutdown();
-    }
-
-    EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-//--------------------------------------------------
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_pac_store_server_message_if_c * eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c(
-    abs_eap_am_tools_c * const tools)
-{
-    EAP_TRACE_DEBUG(
-        tools,
-        TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-        (EAPL("eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c()\n")));
-
-    EAP_TRACE_RETURN_STRING(tools, "returns: eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c()");
-
-    eap_pac_store_server_message_if_c * const server = new eap_pac_store_server_message_if_c(
-        tools);
-
-    eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-        tools,
-        server);
-
-    if (server == 0
-    || server->get_is_valid() == false)
-    {
-        // ERROR.
-        if (server != 0)
-        {
-            EAP_TRACE_DEBUG(
-            tools,
-            TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-            (EAPL("calls: CPacStoreIf::CPacStoreIf(): server->shutdown()\n")));
-
-            (void) server->shutdown();
-        }
-        return 0;
-    }
-
-    eap_status_e status = server->configure(0);
-    if (status != eap_status_ok)
-    {
-        (void) server->shutdown();
-        return 0;
-    }
-
-    automatic_server.do_not_free_variable();
-
-    return server;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT CPacStoreIf* CPacStoreIf::new_CPacStoreIf(
-    abs_eap_am_tools_c * const tools,
-    const bool is_client_when_true,
-    const u32_t MTU,
-    AbsEapSendInterface * client)
-    {
-    EAP_UNREFERENCED_PARAMETER(is_client_when_true);
-    EAP_UNREFERENCED_PARAMETER(MTU);
-    eap_pac_store_server_message_if_c *server =  eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c(
-        tools);
-    
-    eap_automatic_variable_c<eap_am_message_if_c> automatic_server(
-        tools,
-        server);
-
-    if (server == 0
-        || server->get_is_valid() == false)
-        {
-        // ERROR.
-        if (server != 0)
-            {
-            EAP_TRACE_DEBUG(
-                tools,
-                TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-                (EAPL("calls: CPacStoreIf(): server->shutdown(): %s.\n"),
-                (is_client_when_true == true) ? "client": "server"));
-
-            (void) server->shutdown();
-            }
-        return 0;
-        }
-
-    CPacStoreIf * pacstore_if = new CPacStoreIf(
-        tools,
-        server,
-        client);
-
-    eap_automatic_variable_c<CPacStoreIf> automatic_pacstore_if(
-        tools,
-        pacstore_if);
-
-    if (pacstore_if == 0
-        || pacstore_if->get_is_valid() == false)
-        {
-        // ERROR.
-        if (pacstore_if != 0)
-            {
-            EAP_TRACE_DEBUG(
-                tools,
-                TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-                (EAPL("calls: CPacStoreIf(): pacstore_if->shutdown(): %s.\n"),
-                (is_client_when_true == true) ? "client": "server"));
-
-			// automatic_pacstore_if will delete pacstore_if and pacstore_if will delete server too.
-			automatic_server.do_not_free_variable();
-
-            (void) pacstore_if->shutdown();
-            }
-        return 0;
-        }
-
-    server->set_partner(pacstore_if);
-
-    automatic_server.do_not_free_variable();
-    automatic_pacstore_if.do_not_free_variable();
-    
-    return pacstore_if;
-    }
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_general_settings_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2660 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP general settings configuration.
-*
-*/
-
-/*
-* %version: 60 %
-*/
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eap_am_general_settings_symbian.h"
-#include "abs_eap_am_general_settings.h"
-#include "eap_automatic_variable.h"
-#include "EapTraceSymbian.h"
-#include "EapConversion.h"
-#include "EapTlsPeapCertFetcher.h"
-#include "EapPluginTools.h"
-#include <EapTypePlugin.h>
-#include "EapAutomatic.h"
-
-/** @file */
-
-// ----------------------------------------------------------------------
-
-EAP_LITERAL_SYMBIAN(KGeneralsettingsDatabaseName, "eap_methods.dat");
-
-EAP_LITERAL_SYMBIAN(KGeneralSettingsTableName, "eap_general_settings");
-
-_LIT(KEapMethodEnabledValue, "enabled");
-_LIT(KEapMethodDisabledValue, "disabled");
-
-_LIT(KServiceType, "service_type");
-_LIT(KServiceIndex, "service_index");
-
-_LIT(KSQL, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d");
-
-const TUint KMaxSqlQueryLength = 512;
-const TInt	KDefaultColumnInView_One = 4; // For DB view.
-
-// ----------------------------------------------------------------------
-
-eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_general_settings_c * const partner)
-	: m_am_tools(tools)
-	, m_partner(partner)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-	, iGeneralSettingsDbCreated(EFalse)
-	, iGeneralSettingsSessionOpened(EFalse)
-	, iCertificateFetcher(0)
-	, m_completion_status(eap_status_process_general_error)
-	, m_EAPType(eap_type_none)
-	, m_IndexType(0ul)
-	, m_Index(0ul)
-{
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_partner == 0)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c(): this=0x%08x.\n"),
-		this));
-}
-
-// ----------------------------------------------------------------------
-
-eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c(
-	abs_eap_am_tools_c * const tools)
-	: m_am_tools(tools)
-	, m_partner(0)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-	, iGeneralSettingsDbCreated(EFalse)
-	, iGeneralSettingsSessionOpened(EFalse)
-	, iCertificateFetcher(0)
-	, m_completion_status(eap_status_process_general_error)
-	, m_EAPType(eap_type_none)
-	, m_IndexType(0ul)
-	, m_Index(0ul)
-{
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c(): this=0x%08x.\n"),
-		this));
-}
-
-// ----------------------------------------------------------------------
-
-eap_am_general_settings_symbian_c::~eap_am_general_settings_symbian_c()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::~eap_am_general_settings_symbian_c(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::~eap_am_general_settings_symbian_c()");
-
-	EAP_UNREFERENCED_PARAMETER(KGeneralsettingsDatabaseName_8bit);
-
-	EAP_UNREFERENCED_PARAMETER(KGeneralSettingsTableName_8bit);
-
-	CloseGeneralSettings();
-
-	delete iCertificateFetcher;
-	iCertificateFetcher = 0;
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-}
-
-// ----------------------------------------------------------------------
-
-bool eap_am_general_settings_symbian_c::get_is_valid()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::get_is_valid(): this=0x%08x, m_is_valid=%d.\n"),
-		this,
-		m_is_valid));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::get_is_valid()");
-
-	return m_is_valid;
-}
-
-// ----------------------------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-eap_status_e eap_am_general_settings_symbian_c::configure()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::configure(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::configure()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-eap_status_e eap_am_general_settings_symbian_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::shutdown(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::shutdown()");
-
-	m_shutdown_was_called = true;
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::CloseGeneralSettings()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CloseGeneralSettings(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CloseGeneralSettings()");
-
-	iGeneralSettingsDb.Close();
-	iGeneralSettingsDbCreated = EFalse;
-
-	iGeneralSettingsFileServerSession.Close();
-	iGeneralSettingsSessionOpened = EFalse;
-}
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::OpenGeneralSettingsL()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::OpenGeneralSettingsL(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::OpenGeneralSettingsL()");
-
-	if(iGeneralSettingsDbCreated == EFalse
-		|| iGeneralSettingsSessionOpened == EFalse)
-	{
-		// The general settings store DB and tables are not created. So create it.
-		CreateGeneralSettingsL();
-	}
-}
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::CreateGeneralSettingsL()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CreateGeneralSettingsL()");
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// 1. Open/create a database
-
-	TInt error(KErrNone);
-
-	// Connect to the DBMS server, if not connected already.
-	if(iGeneralSettingsSessionOpened == EFalse)
-	{
-		error = iGeneralSettingsFileServerSession.Connect();
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::LeaveIfError(error);
-
-		iGeneralSettingsSessionOpened = ETrue;
-	}
-
-	TFileName aPrivateDatabasePathName;
-
-	EapPluginTools::CreateDatabaseLC(
-		iGeneralSettingsDb,
-		iGeneralSettingsFileServerSession,
-		error,
-		KGeneralsettingsDatabaseName,
-		aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - Created Secure DB for %S. error=%d (-11=DB already exist)\n"),
-		&KGeneralsettingsDatabaseName_8bit,
-		error) );
-
-	if(error == KErrNone)
-	{
-		// Database is closed if it was created in EapPluginTools::CreateDatabaseLC().
-		// If database exists it was not opened in EapPluginTools::CreateDatabaseLC().
-		iGeneralSettingsDb.Close();
-	}
-	else if (error != KErrAlreadyExists)
-	{
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::LeaveIfError(error);
-	}
-
-	error = iGeneralSettingsDb.Open(iGeneralSettingsFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - Open Secure DB for %S. error=%d (-11=DB already exist)\n"),
-		&KGeneralsettingsDatabaseName_8bit,
-		error) );
-
-	User::LeaveIfError(error);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	// 2. Create the tables to database (ignore error if tables exist)
-
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-
-	// Create table for enabled and disabled EAP-types.
-
-	//// NAME //////////////////// TYPE ///////////// Constant ////////////////////
-	//| ServiceType				| UNSIGNED INTEGER | KServiceType				|//
-	//| ServiceIndex			| UNSIGNED INTEGER | KServiceIndex				|//
-	//| Enabled EAP-methods		| LONG VARBINARY   | KEapMethodEnabledValue		|//
-	//| Disabled EAP-methods	| LONG VARBINARY   | KEapMethodDisabledValue	|//
-	///////////////////////////////////////////////////////////////////////////////
-
-	_LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \
-		%S UNSIGNED INTEGER, \
-		%S LONG VARBINARY, \
-		%S LONG VARBINARY)");
-
-	sqlStatement.Format(
-		KSQLCreateTable2,
-		&KGeneralSettingsTableName,
-		&KServiceType,
-		&KServiceIndex,
-		&KEapMethodEnabledValue,
-		&KEapMethodDisabledValue);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - SQL query formated OK\n")));
-
-	error = iGeneralSettingsDb.Execute(sqlStatement);
-	if (error != KErrNone
-		&& error != KErrAlreadyExists)
-	{
-		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-		User::Leave(error);
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() Created Groups table\n")));
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	CleanupStack::PopAndDestroy( buf );
-	CleanupStack::Pop(&iGeneralSettingsDb);
-	CleanupStack::Pop(&iGeneralSettingsFileServerSession);
-
-	iGeneralSettingsDbCreated = ETrue;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL(): End \n")));	
-
-} // eap_am_general_settings_symbian_c::CreateGeneralSettingsL()
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(
-	RDbView &aViev,
-	const TDesC &aColName,
-	HBufC8** const aMethods)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL()");
-
-	// Get column set so we get the correct column numbers
-	CDbColSet* colSet = aViev.ColSetL();
-	CleanupStack::PushL(colSet);
-
-	TDbColNo colNoReference = 0;
-	colNoReference = colSet->ColNo(aColName);
-
-	switch (aViev.ColType(colNoReference))
-	{
-		case EDbColLongBinary:
-		{
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL() - Long Binary column"),
-				aColName.Ptr(),
-				aColName.Size()));
-
-			// A stream is needed for LONG columns in DB.
-			RDbColReadStream readStream;
-
-			// Get the value from DB.
-			HBufC8* valueBuf = HBufC8::NewLC(aViev.ColLength(colNoReference)); // Buffer for the data.
-			TPtr8 value8 = valueBuf->Des();
-
-			readStream.OpenLC(aViev, colNoReference);
-			readStream.ReadL(value8, aViev.ColLength(colNoReference));
-			readStream.Close();
-			CleanupStack::PopAndDestroy(&readStream);
-
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): LONG BINARY value from DB"),
-				value8.Ptr(), 
-				value8.Size()));
-
-			*aMethods = HBufC8::New(value8.Size());
-
-			// This to avoid the use of clean up stack for output parameter.
-			if ((*aMethods) != 0)
-			{
-				TPtr8 aDbBinaryColumnValuePtr = (*aMethods)->Des();			
-
-				aDbBinaryColumnValuePtr.Copy(value8);
-
-				EAP_TRACE_DATA_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): LONG BINARY value to caller"),
-					aDbBinaryColumnValuePtr.Ptr(), 
-					aDbBinaryColumnValuePtr.Size()));
-			}
-			else
-			{
-				User::Leave(KErrNoMemory);
-			}
-
-			CleanupStack::PopAndDestroy(valueBuf);
-
-			break;
-		}
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): Unsupported DB field:%d = %S\n"),
-				aViev.ColType(colNoReference),
-				&aColName));	
-
-			User::Leave(KErrNotSupported);
-			break;
-	} // End: switch ()
-
-	CleanupStack::PopAndDestroy(colSet);
-}
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(
-	const TUint indexType,
-	const TUint index,
-	HBufC8** const aEnabledEapMethods,
-	HBufC8** const aDisabledEapMethods)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"),
-		iGeneralSettingsSessionOpened,
-		iGeneralSettingsDbCreated));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::GetGeneralSettingsDataL()");
-
-	*aEnabledEapMethods = 0;
-	*aDisabledEapMethods = 0;
-
-	if(iGeneralSettingsSessionOpened == EFalse)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): ERROR: General settings session not opened!")));
-
-		User::Leave(KErrSessionClosed);
-	}	
-
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-
-	sqlStatement.Format(
-		KSQL,
-		&KServiceType,
-		&KServiceIndex,
-		&KEapMethodEnabledValue,
-		&KEapMethodDisabledValue,
-		&KGeneralSettingsTableName,
-		&KServiceType,
-		indexType,
-		&KServiceIndex,
-		index);
-
-
-	RDbView view;
-
-	User::LeaveIfError(view.Prepare(
-		iGeneralSettingsDb, 
-		TDbQuery(sqlStatement), 
-		TDbWindow::EUnlimited,
-		RDbView::EReadOnly));
-
-	CleanupClosePushL(view);
-
-	User::LeaveIfError(view.EvaluateAll());
-
-	if (view.IsEmptyL())
-	{				
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): No entries in this table (%S) RETURN EMPTY VALUE"),
-			&KGeneralSettingsTableName_8bit));
-
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL():sqlStatement"),
-			sqlStatement.Ptr(), 
-			sqlStatement.Size()));
-
-		CleanupStack::PopAndDestroy(&view);
-
-		CleanupStack::PopAndDestroy(buf);	
-
-		return;
-	}
-	else
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): Number of entries in table %S=%d"),
-			&KGeneralSettingsTableName_8bit, view.CountL()));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL() - view evaluated OK\n")));
-
-
-	if (view.FirstL())
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL() - First OK\n")));
-
-		view.GetL();
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL() - First Got\n")));
-
-		GetGeneralSettingsLongBinaryL(view, KEapMethodEnabledValue, aEnabledEapMethods);
-
-		GetGeneralSettingsLongBinaryL(view, KEapMethodDisabledValue, aDisabledEapMethods);
-	}
-
-	CleanupStack::PopAndDestroy( &view );
-
-	CleanupStack::PopAndDestroy(buf); // We don't need buf or sqlStatement any more.
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): End")));	
-}
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL(
-	RDbView &aViev,
-	const TDesC &aColName,
-	const TDesC8& aMethods)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"),
-		iGeneralSettingsSessionOpened,
-		iGeneralSettingsDbCreated));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL()");
-
-	// Get column set so we get the correct column numbers
-	CDbColSet* colSet = aViev.ColSetL();
-	CleanupStack::PushL(colSet);
-
-	TDbColNo colNoReference = 0;
-	colNoReference = colSet->ColNo(aColName);
-
-	switch (aViev.ColType(colNoReference))
-	{
-		case EDbColLongBinary:
-		{
-			EAP_TRACE_DATA_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL() - Long Binary column"),
-				aColName.Ptr(), 
-				aColName.Size()));
-
-			// A stream is needed for LONG columns in DB.
-			RDbColWriteStream writeStream;					
-			writeStream.OpenLC( aViev, colNoReference );
-			writeStream.WriteL( aMethods );
-			writeStream.Close();
-			CleanupStack::PopAndDestroy( &writeStream );
-			break;
-		}
-		default:
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL(): ERROR: Unsupported DB field:%d = %S\n"),
-				aViev.ColType(colNoReference),
-				&aColName));	
-
-			User::Leave(KErrNotSupported);
-			break;
-
-	} // End: switch (aViev.ColType(colNoReference))
-
-	CleanupStack::PopAndDestroy(colSet);
-}
-
-//-------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(
-	const TUint indexType,
-	const TUint index,
-	const TDesC8& aEnabledEapMethods,
-	const TDesC8& aDisabledEapMethods)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"),
-		iGeneralSettingsSessionOpened, iGeneralSettingsDbCreated));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::SetGeneralSettingsDataL()");
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): Set this value in general settings DB"),
-		aEnabledEapMethods.Ptr(),
-		aEnabledEapMethods.Size()));
-
-	if(iGeneralSettingsSessionOpened == EFalse)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): ERROR: General settings session not opened!")));
-
-		User::Leave(KErrSessionClosed);
-	}	
-
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-
-	sqlStatement.Format(
-		KSQL,
-		&KServiceType,
-		&KServiceIndex,
-		&KEapMethodEnabledValue,
-		&KEapMethodDisabledValue,
-		&KGeneralSettingsTableName,
-		&KServiceType,
-		indexType,
-		&KServiceIndex,
-		index);
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL():sqlStatement"),
-		sqlStatement.Ptr(), 
-		sqlStatement.Size()));
-
-	RDbView view;
-
-	User::LeaveIfError(view.Prepare(
-		iGeneralSettingsDb, 
-		TDbQuery(sqlStatement), 
-		TDbWindow::EUnlimited,
-		RDbView::EUpdatable));
-
-	CleanupClosePushL(view);
-
-	User::LeaveIfError(view.EvaluateAll());
-
-	{	
-		if(view.ColCount() != KDefaultColumnInView_One)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): ERROR: Problem with rows or columns in DB view, view.IsEmptyL()=%d, row count=%d, col count=%d \n"),
-				view.IsEmptyL(),
-				view.CountL(),
-				view.ColCount()));	
-
-			User::Leave(KErrNotFound);				
-		}	
-
-		if (view.FirstL())
-		{
-			view.UpdateL(); // Here it is update.
-		}
-		else
-		{
-			view.InsertL(); // Here it is insert.
-		}
-
-		{
-			CDbColSet* colSet = view.ColSetL();
-			CleanupStack::PushL(colSet);		
-
-			TDbColNo colNoServiceType = 0;
-			TDbColNo colNoServiceIndex = 0;
-
-			colNoServiceType = colSet->ColNo(KServiceType);
-			colNoServiceIndex = colSet->ColNo(KServiceIndex);		
-			
-			CleanupStack::PopAndDestroy(colSet); // delete colSet.
-
-			view.SetColL(colNoServiceType, indexType);
-			view.SetColL(colNoServiceIndex, index);
-
-			SetGeneralSettingsLongBinaryL(view,	KEapMethodEnabledValue, aEnabledEapMethods);
-
-			SetGeneralSettingsLongBinaryL(view,	KEapMethodDisabledValue, aDisabledEapMethods);
-		}
-	}
-
-	// Now it should go to the DB.
-	view.PutL();	
-
-	CleanupStack::PopAndDestroy( &view );
-
-	CleanupStack::PopAndDestroy(buf);
-}
-
-//-------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL(
-	const TUint indexType,
-	const TUint index)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"),
-		iGeneralSettingsSessionOpened, iGeneralSettingsDbCreated));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL()");
-
-	if(iGeneralSettingsSessionOpened == EFalse)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL(): ERROR: General settings session not opened!")));
-
-		User::Leave(KErrSessionClosed);
-	}	
-
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-
-	sqlStatement.Format(
-		KSQL,
-		&KServiceType,
-		&KServiceIndex,
-		&KEapMethodEnabledValue,
-		&KEapMethodDisabledValue,
-		&KGeneralSettingsTableName,
-		&KServiceType,
-		indexType,
-		&KServiceIndex,
-		index);
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL():sqlStatement"),
-		sqlStatement.Ptr(), 
-		sqlStatement.Size()));
-
-	RDbView view;
-
-	User::LeaveIfError(view.Prepare(
-		iGeneralSettingsDb, 
-		TDbQuery(sqlStatement), 
-		TDbWindow::EUnlimited,
-		RDbView::EUpdatable));
-
-	CleanupClosePushL(view);
-
-	User::LeaveIfError(view.EvaluateAll());
-
-	{	
-		// Delete old row and also rows that are for same IAP.
-		if (view.FirstL())
-		{
-			CDbColSet* colSet = view.ColSetL();
-			CleanupStack::PushL(colSet);
-
-			do {
-				view.GetL();
-
-				if (view.ColUint32(colSet->ColNo(KServiceType)) == static_cast<TUint>(indexType)
-						&& view.ColUint32(colSet->ColNo(KServiceIndex)) == static_cast<TUint>(index))
-				{
-					view.DeleteL();
-				}
-				
-			} while (view.NextL() != EFalse);
-
-			CleanupStack::PopAndDestroy(colSet); // delete colSet.
-		}
-	}
-
-	CleanupStack::PopAndDestroy( &view );
-
-	CleanupStack::PopAndDestroy(buf);
-}
-
-// ----------------------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(
-	const TUint aSourceIndexType,
-	const TUint aSourceIndex,
-	const TUint aDestinationIndexType,
-	const TUint aDestinationIndex)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"),
-		iGeneralSettingsSessionOpened, iGeneralSettingsDbCreated));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL()");
-
-	if(iGeneralSettingsSessionOpened == EFalse)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): ERROR: General settings session not opened!")));
-
-		User::Leave(KErrSessionClosed);
-	}
-
-	if (aSourceIndexType == aDestinationIndexType
-		&& aSourceIndex == aDestinationIndex)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): ERROR: aSourceIndexType == aDestinationIndexType && aSourceIndex == aDestinationIndex")));
-
-		User::Leave(KErrArgument);
-	}
-
-	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-	TPtr sqlStatement = buf->Des();
-
-	sqlStatement.Format(
-		KSQL,
-		&KServiceType,
-		&KServiceIndex,
-		&KEapMethodEnabledValue,
-		&KEapMethodDisabledValue,
-		&KGeneralSettingsTableName,
-		&KServiceType,
-		aDestinationIndexType,
-		&KServiceIndex,
-		aDestinationIndex);
-
-	EAP_TRACE_DATA_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL():sqlStatement"),
-		sqlStatement.Ptr(), 
-		sqlStatement.Size()));
-
-	RDbView view;
-
-	User::LeaveIfError(view.Prepare(
-		iGeneralSettingsDb, 
-		TDbQuery(sqlStatement), 
-		TDbWindow::EUnlimited,
-		RDbView::EUpdatable));
-
-	CleanupClosePushL(view);
-
-	User::LeaveIfError(view.EvaluateAll());
-
-	{	
-		// Delete destination old data.
-		if (view.FirstL())
-		{
-			CDbColSet* colSet = view.ColSetL();
-			CleanupStack::PushL(colSet);
-
-  			do 
-  			{
-	  			view.GetL();
-
-				if (view.ColUint(colSet->ColNo(KServiceType)) == static_cast<TUint>(aDestinationIndexType)
-					&& view.ColUint(colSet->ColNo(KServiceIndex)) == static_cast<TUint>(aDestinationIndex))
-				{  		
-      				EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): Delete old records\n") ) );
-      				view.DeleteL();
-   				}
-			}
-			while (view.NextL() != EFalse);
-
-			view.Close();
-
-			CleanupStack::PopAndDestroy(colSet); // delete colSet.
-		}
-
-		sqlStatement.Format(
-			KSQL,
-			&KServiceType,
-			&KServiceIndex,
-			&KEapMethodEnabledValue,
-			&KEapMethodDisabledValue,
-			&KGeneralSettingsTableName,
-			&KServiceType,
-			aSourceIndexType,
-			&KServiceIndex,
-			aSourceIndex);
-
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL():sqlStatement"),
-			sqlStatement.Ptr(), 
-			sqlStatement.Size()));
-
-		User::LeaveIfError(view.Prepare(
-			iGeneralSettingsDb, 
-			TDbQuery(sqlStatement), 
-			TDbWindow::EUnlimited,
-			RDbView::EUpdatable));
-
-		User::LeaveIfError(view.EvaluateAll());
-
-		// Copy source row to destination.
-		if (view.FirstL())
-		{
-			CDbColSet* colSet = view.ColSetL();
-			CleanupStack::PushL(colSet);
-			TDbBookmark bookmark;
-
-			do
-			{
-				view.GetL();
-
-				if (view.ColUint32(colSet->ColNo(KServiceType)) == static_cast<TUint>(aSourceIndexType)
-						&& view.ColUint32(colSet->ColNo(KServiceIndex)) == static_cast<TUint>(aSourceIndex))
-				{	
-					bookmark = view.Bookmark();
-					
-					view.InsertCopyL();
-					
-					view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestinationIndexType));
-	    			view.SetColL(colSet->ColNo(KServiceIndex), static_cast<TUint>(aDestinationIndex));
-					
-					view.PutL();
-				
-					view.GotoL(bookmark);
-				}
-				
-			}
-			while (view.NextL() != EFalse);
-
-			CleanupStack::PopAndDestroy(colSet); // delete colSet.
-		}
-	}
-
-	CleanupStack::PopAndDestroy( &view );
-
-	CleanupStack::PopAndDestroy(buf);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::error_complete(
-	const eap_status_e completion_status,
-	const eap_method_settings_c * const internal_settings,
-	const eap_tlv_message_type_function_e error_completion_function)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::error_complete(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::error_complete()");
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::error_complete(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	if (internal_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	complete_settings->m_completion_status = completion_status;
-
-	eap_status_e status(eap_status_not_supported);
-
-	switch(error_completion_function)
-	{
-	case eap_tlv_message_type_function_general_settings_complete_get_eap_methods:
-		status = m_partner->complete_get_eap_methods(complete_settings);
-		break;
-	case eap_tlv_message_type_function_general_settings_complete_set_eap_methods:
-		status = m_partner->complete_set_eap_methods(complete_settings);
-		break;
-	case eap_tlv_message_type_function_general_settings_complete_get_certificate_lists:
-		status = m_partner->complete_get_certificate_lists(complete_settings);
-		break;
-	case eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings:
-		status = m_partner->complete_delete_all_eap_settings(complete_settings);
-		break;
-	case eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings:
-		status = m_partner->complete_copy_all_eap_settings(complete_settings);
-		break;
-	default:
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::error_complete(): unknown function %d.\n"),
-			 error_completion_function));
-
-		EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::filter_eap_methods(
-	eap_array_c<eap_type_value_e> * const eap_methods,
-	RPointerArray<TEapExpandedType> * const aPlugins)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::filter_eap_methods()");
-
-	eap_status_e status(eap_status_ok);
-
-	for (TInt act_ind = 0; act_ind < eap_methods->get_object_count(); ++act_ind)
-	{
-		const eap_type_value_e * active_type = eap_methods->get_object(act_ind);
-		if (active_type == 0)
-		{
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-		}
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): eap_methods[%d] EAP-type=0xfe%06x%08x\n"),
-			act_ind,
-			active_type->get_vendor_id(),
-			active_type->get_vendor_type()));
-
-		bool exists(false);
-
-		for (TInt plugin_ind = 0; plugin_ind < aPlugins->Count(); ++plugin_ind)
-		{
-			const TEapExpandedType * eap_type = (*aPlugins)[plugin_ind];
-			if (eap_type == 0)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			}
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_general_settings_symbian_c::filter_eap_methods(): aPlugins[%d] EAP-type=0xfe%06x%08x\n"),
-				plugin_ind,
-				eap_type->GetVendorId(),
-				eap_type->GetVendorType()));
-
-			const eap_type_value_e common_eap_type(
-				static_cast<eap_type_vendor_id_e>(eap_type->GetVendorId()),
-				eap_type->GetVendorType());
-
-			if (common_eap_type == *active_type)
-			{
-				// OK, this active EAP-method have implementation.
-				exists = true;
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): Removes from aPlugins EAP-type=0xfe%06x%08x\n"),
-					common_eap_type.get_vendor_id(),
-					common_eap_type.get_vendor_type()));
-
-				// Remove this plugin EAP-method because it is in the list of EAP-methods.
-				delete (*aPlugins)[plugin_ind];
-				aPlugins->Remove(plugin_ind);
-
-				break;
-			}
-		} // for()
-
-		if (exists == false)
-		{
-			// Remove this EAP-method because there are no implementation.
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): Removes from eap_methods EAP-type=0xfe%06x%08x\n"),
-				active_type->get_vendor_id(),
-				active_type->get_vendor_type()));
-
-			status = eap_methods->remove_object(act_ind);
-			if (status != eap_status_ok)
-			{
-				return EAP_STATUS_RETURN(m_am_tools, status);
-			}
-
-			--act_ind;
-		}
-	} // for()
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::read_eap_methods_synchronously(
-	const TUint indexType,
-	const TUint index,
-	eap_array_c<eap_type_value_e> * const aEnabledEapMethodsArray,
-	eap_array_c<eap_type_value_e> * const aDisabledEapMethodsArray)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::read_eap_methods_synchronously()");
-
-	TInt error = KErrNone;
-
-	TRAP(error, (OpenGeneralSettingsL()));
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): OpenGeneralSettingsL() failed, indexType=%d, index=%d, error=%d.\n"),
-			indexType,
-			index,
-			error));
-
-		CloseGeneralSettings();
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"),
-			this));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			m_am_tools->convert_am_error_to_eapol_error(error));
-	}
-
-
-	HBufC8 *aEnabledEapMethods = 0;
-	HBufC8 *aDisabledEapMethods = 0;
-
-	// The output parameters aEnabledEapMethods and aDisabledEapMethods are NOT in clean up stack.
-	TRAP(error, (GetGeneralSettingsDataL(
-		indexType,
-		index,
-		&aEnabledEapMethods,
-		&aDisabledEapMethods)));
-
-	eap_automatic_variable_c<HBufC8> automatic_aEnabledEapMethods(
-		m_am_tools,
-		aEnabledEapMethods);
-
-	eap_automatic_variable_c<HBufC8> automatic_aDisabledEapMethods(
-		m_am_tools,
-		aDisabledEapMethods);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): GetGeneralSettingsDataL() failed, index_type=%d, index=%d, error=%d.\n"),
-			indexType,
-			index,
-			error));
-
-		CloseGeneralSettings();
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"),
-			this));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			m_am_tools->convert_am_error_to_eapol_error(error));
-	}
-
-	if (aEnabledEapMethods != 0)
-	{
-		error = CEapConversion::ConvertHBufC8ToInternalTypes(
-			m_am_tools,
-			aEnabledEapMethods,
-			aEnabledEapMethodsArray);
-
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): index_type=%d, index=%d.\n"),
-				indexType,
-				index));
-
-			CloseGeneralSettings();
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"),
-				this));
-
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				m_am_tools->convert_am_error_to_eapol_error(error));
-		}
-	}
-
-	if (aDisabledEapMethods != 0)
-	{
-		error = CEapConversion::ConvertHBufC8ToInternalTypes(
-			m_am_tools,
-			aDisabledEapMethods,
-			aDisabledEapMethodsArray);
-
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): index_type=%d, index=%d.\n"),
-				indexType,
-				index));
-
-			CloseGeneralSettings();
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"),
-				this));
-
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				m_am_tools->convert_am_error_to_eapol_error(error));
-		}
-	}
-
-	iGeneralSettingsDb.Compact();
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::get_eap_methods(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::get_eap_methods()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_get_eap_methods);
-
-	HBufC8 *aEnabledEapMethods = 0;
-	HBufC8 *aDisabledEapMethods = 0;
-
-	TInt error(KErrNone);
-	eap_status_e status(eap_status_ok);
-
-	TRAP(error, (OpenGeneralSettingsL()));
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			error));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-
-	// The output parameters aEnabledEapMethods and aDisabledEapMethods are NOT in clean up stack.
-	TRAP(error, (GetGeneralSettingsDataL(
-		internal_settings->m_IndexType,
-		internal_settings->m_Index,
-		&aEnabledEapMethods,
-		&aDisabledEapMethods)));
-
-	eap_automatic_variable_c<HBufC8> automatic_aEnabledEapMethods(
-		m_am_tools,
-		aEnabledEapMethods);
-
-	eap_automatic_variable_c<HBufC8> automatic_aDisabledEapMethods(
-		m_am_tools,
-		aDisabledEapMethods);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): GetGeneralSettingsDataL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			error));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-
-	RPointerArray<TEapExpandedType> plugins_array;
-
-	PointerArrayResetAndDestroy<TEapExpandedType> aAutomaticPlugins(&plugins_array, EFalse);
-
-	EapPluginTools aPluginTool;
-
-	TEapExpandedType aTunnelingType(*EapExpandedTypeNone.GetType());
-
-	TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast<TIndexType>(internal_settings->m_IndexType), aTunnelingType, plugins_array)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): aPluginTool.ListAllEapPluginsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			error));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (aEnabledEapMethods != 0)
-	{
-		error = CEapConversion::ConvertHBufC8ToInternalTypes(
-			m_am_tools,
-			aEnabledEapMethods,
-			&(complete_settings->m_active_eap_methods));
-
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-				internal_settings->m_EAPType.get_vendor_id(),
-				internal_settings->m_EAPType.get_vendor_type(),
-				internal_settings->m_IndexType,
-				internal_settings->m_Index));
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					m_am_tools->convert_am_error_to_eapol_error(error),
-					internal_settings,
-					error_completion_function));
-		}
-	}
-
-	if (aDisabledEapMethods != 0)
-	{
-		error = CEapConversion::ConvertHBufC8ToInternalTypes(
-			m_am_tools,
-			aDisabledEapMethods,
-			&(complete_settings->m_disabled_eap_methods));
-
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-				internal_settings->m_EAPType.get_vendor_id(),
-				internal_settings->m_EAPType.get_vendor_type(),
-				internal_settings->m_IndexType,
-				internal_settings->m_Index));
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					m_am_tools->convert_am_error_to_eapol_error(error),
-					internal_settings,
-					error_completion_function));
-		}
-	}
-
-	// Next filter out unimplemented EAP-methods.
-	status = filter_eap_methods(
-		&(complete_settings->m_active_eap_methods),
-		&plugins_array);
-	if (status != eap_status_ok)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				status,
-				internal_settings,
-				error_completion_function));
-	}
-
-	// Check the disabled EAP-method have implementation.
-	status = filter_eap_methods(
-		&(complete_settings->m_disabled_eap_methods),
-		&plugins_array);
-	if (status != eap_status_ok)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				status,
-				internal_settings,
-				error_completion_function));
-	}
-
-	// Add the rest of the implemented EAP-methods to the disabled EAP-methods.
-	for (TInt plugin_ind = 0; plugin_ind < plugins_array.Count(); ++plugin_ind)
-	{
-		const TEapExpandedType * eap_type = plugins_array[plugin_ind];
-		if (eap_type == 0)
-		{
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					eap_status_allocation_error,
-					internal_settings,
-					error_completion_function));
-		}
-
-		const eap_type_value_e common_eap_type(
-			static_cast<eap_type_vendor_id_e>(eap_type->GetVendorId()),
-			eap_type->GetVendorType());
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): Adds disabled EAP-type=0xfe%06x%08x\n"),
-			eap_type->GetVendorId(),
-			eap_type->GetVendorType()));
-
-		status = complete_settings->m_disabled_eap_methods.add_object(common_eap_type.copy(), true);
-		if (status != eap_status_ok)
-		{
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					status,
-					internal_settings,
-					error_completion_function));
-		}
-	} // for()
-
-	complete_settings->m_SelectedEAPTypesPresent = true;
-
-	complete_settings->m_completion_status = eap_status_ok;
-	complete_settings->m_EAPType = internal_settings->m_EAPType;
-	complete_settings->m_IndexType = internal_settings->m_IndexType;
-	complete_settings->m_Index = internal_settings->m_Index;
-
-	status = m_partner->complete_get_eap_methods(complete_settings);
-
-
-	iGeneralSettingsDb.Compact();
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::set_eap_methods(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::set_eap_methods(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::set_eap_methods()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_set_eap_methods);
-
-	TInt error = KErrNone;
-
-	TRAP(error, (OpenGeneralSettingsL()));
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			error));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-
-	HBufC8 *aEnabledEapMethods = 0;
-	HBufC8 *aDisabledEapMethods = 0;
-
-	error = CEapConversion::ConvertInternalTypesToHBufC8(
-		m_am_tools,
-		&(internal_settings->m_active_eap_methods),
-		&aEnabledEapMethods);
-
-	eap_automatic_variable_c<HBufC8> automatic_aEnabledEapMethods(
-		m_am_tools,
-		aEnabledEapMethods);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	error = CEapConversion::ConvertInternalTypesToHBufC8(
-		m_am_tools,
-		&(internal_settings->m_disabled_eap_methods),
-		&aDisabledEapMethods);
-
-	eap_automatic_variable_c<HBufC8> automatic_aDisabledEapMethods(
-		m_am_tools,
-		aDisabledEapMethods);
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	TRAP(error, (SetGeneralSettingsDataL(
-		internal_settings->m_IndexType,
-		internal_settings->m_Index,
-		*aEnabledEapMethods,
-		*aDisabledEapMethods)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-	complete_settings->m_EAPType = internal_settings->m_EAPType;
-	complete_settings->m_IndexType = internal_settings->m_IndexType;
-	complete_settings->m_Index = internal_settings->m_Index;
-
-	eap_status_e status = m_partner->complete_set_eap_methods(complete_settings);
-
-	iGeneralSettingsDb.Compact();
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::set_eap_methods(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::get_certificate_lists(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::get_certificate_lists(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::get_certificate_lists()");
-
-	TInt error(KErrNone);
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_get_certificate_lists);
-
-	if (iCertificateFetcher == 0)
-	{
-		TRAP(error, iCertificateFetcher = CEapTlsPeapCertFetcher::NewL(this));
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::get_certificate_lists(): this=0x%08x: CEapTlsPeapCertFetcher::NewL() failed=%d\n"),
-				this,
-				error));
-
-			eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-			eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-				m_am_tools,
-				complete_settings);
-
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					m_am_tools->convert_am_error_to_eapol_error(error),
-					complete_settings,
-					error_completion_function));
-		}
-	}
-
-	m_completion_status = internal_settings->m_completion_status;
-	m_EAPType = internal_settings->m_EAPType;
-	m_IndexType = internal_settings->m_IndexType;
-	m_Index = internal_settings->m_Index;
-
-	TRAP(error, (iCertificateFetcher->GetCertificatesL()));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::get_certificate_lists(): iCertificateFetcher->GetCertificatesL(), error=%d\n"),
-			error));
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::get_certificate_lists(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------
-
-void eap_am_general_settings_symbian_c::CompleteReadCertificatesL(
-		const RPointerArray<EapCertificateEntry>& aAvailableUserCerts, 
-		const RPointerArray<EapCertificateEntry>& aAvailableCACerts)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::CompleteReadCertificatesL(): - Available cert count in device - USER=%d, CA=%d \n"),
-		aAvailableUserCerts.Count(),
-		aAvailableCACerts.Count()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CompleteReadCertificatesL()");
-
-	// Now all available certificates have been read.
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_get_certificate_lists);
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		(void) EAP_STATUS_RETURN(m_am_tools, error_complete(
-			eap_status_allocation_error,
-			complete_settings,
-			error_completion_function));
-	}
-
-	TInt error = CEapConversion::ConvertCertificatesToInternalType(
-		m_am_tools,
-		&aAvailableUserCerts,
-		&(complete_settings->m_Certificates));
-	if (error != KErrNone)
-	{
-		(void) EAP_STATUS_RETURN(m_am_tools, error_complete(
-			m_am_tools->convert_am_error_to_eapol_error(error),
-			complete_settings,
-			error_completion_function));
-	}
-
-	error = CEapConversion::ConvertCertificatesToInternalType(
-		m_am_tools,
-		&aAvailableCACerts,
-		&(complete_settings->m_Certificates));
-	if (error != KErrNone)
-	{
-		(void) EAP_STATUS_RETURN(m_am_tools, error_complete(
-			m_am_tools->convert_am_error_to_eapol_error(error),
-			complete_settings,
-			error_completion_function));
-	}
-
-	complete_settings->m_CertificatesPresent = true;
-
-	complete_settings->m_completion_status = eap_status_ok;
-	complete_settings->m_EAPType = m_EAPType;
-	complete_settings->m_IndexType = m_IndexType;
-	complete_settings->m_Index = m_Index;
-
-	eap_status_e status = m_partner->complete_get_certificate_lists(complete_settings);
-
-	(void) EAP_STATUS_RETURN(m_am_tools, status);
-	EAP_UNREFERENCED_PARAMETER(status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::delete_all_eap_settings(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::delete_all_eap_settings()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings);
-
-	TInt error(KErrNone);
-
-	TRAP(error, (OpenGeneralSettingsL()));
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			error));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: DeleteGeneralSettingsDataL(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-		this,
-		internal_settings->m_EAPType.get_vendor_id(),
-		internal_settings->m_EAPType.get_vendor_type(),
-		internal_settings->m_IndexType,
-		internal_settings->m_Index));
-
-	TRAP(error, (DeleteGeneralSettingsDataL(
-		internal_settings->m_IndexType,
-		internal_settings->m_Index)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	{
-		RPointerArray<TEapExpandedType> plugins_array;
-
-		PointerArrayResetAndDestroy<TEapExpandedType> aAutomaticPlugins(&plugins_array, EFalse);
-
-		EapPluginTools aPluginTool;
-
-		TEapExpandedType aTunnelingType(*EapExpandedTypeNone.GetType());
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-			this,
-			aTunnelingType.GetVendorId(),
-			aTunnelingType.GetVendorType(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-
-		// This will list all outer EAP-methods because aTunnelingType = None.
-		TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast<TIndexType>(internal_settings->m_IndexType), aTunnelingType, plugins_array)));
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-				aTunnelingType.GetVendorId(),
-				aTunnelingType.GetVendorType(),
-				internal_settings->m_IndexType,
-				internal_settings->m_Index,
-				error));
-
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					m_am_tools->convert_am_error_to_eapol_error(error),
-					internal_settings,
-					error_completion_function));
-		}
-
-		TUint ind_outer(0ul);
-
-		for (ind_outer = 0ul; ind_outer < plugins_array.Count(); ++ind_outer)
-		{
-
-			// List all plugins that could be used inside the each outer EAP-method on each plugin.
-
-			RPointerArray<TEapExpandedType> tunneled_plugins;
-
-			PointerArrayResetAndDestroy<TEapExpandedType> aAutomaticTunneledPlugins(&tunneled_plugins, EFalse);
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-				this,
-				plugins_array[ind_outer]->GetVendorId(),
-				plugins_array[ind_outer]->GetVendorType(),
-				internal_settings->m_IndexType,
-				internal_settings->m_Index));
-
-			// This will list all inner EAP-methods of EAP-type.
-			TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast<TIndexType>(internal_settings->m_IndexType), plugins_array[ind_outer], tunneled_plugins)));
-			if (error != KErrNone)
-			{
-				EAP_TRACE_ERROR(
-					m_am_tools,
-					TRACE_FLAGS_ERROR,
-					(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-					plugins_array[ind_outer]->GetVendorId(),
-					plugins_array[ind_outer]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index,
-					error));
-
-				return EAP_STATUS_RETURN(
-					m_am_tools,
-					error_complete(
-						m_am_tools->convert_am_error_to_eapol_error(error),
-						internal_settings,
-						error_completion_function));
-			}
-
-
-			// Delete possible configuration of each inner EAP-method that could be configured inside of outer EAP-method.
-
-			TUint ind_inner(0ul);
-
-			for (ind_inner = 0ul; ind_inner < tunneled_plugins.Count(); ++ind_inner)
-			{
-				CEapTypePlugin * eapType = NULL;
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-					this,
-					tunneled_plugins[ind_inner]->GetVendorId(),
-					tunneled_plugins[ind_inner]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index));
-
-				TRAP(error, (eapType = CEapTypePlugin::NewL(
-					tunneled_plugins[ind_inner]->GetValue(),
-					static_cast<TIndexType>(internal_settings->m_IndexType),
-					internal_settings->m_Index)));
-
-				// This will automatically delete eapType.
-				eap_automatic_variable_c<CEapTypePlugin> automatic_eap_type(
-					m_am_tools,
-					eapType);
-
-				if(error != KErrNone
-					|| eapType == NULL)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): CEapTypePlugin::NewL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-						tunneled_plugins[ind_inner]->GetVendorId(),
-						tunneled_plugins[ind_inner]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-				
-			    eapType->SetTunnelingType(plugins_array[ind_outer]);
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: eapType->DeleteConfigurationL(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-					this,
-					tunneled_plugins[ind_inner]->GetVendorId(),
-					tunneled_plugins[ind_inner]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index));
-
-				TRAP(error, (eapType->DeleteConfigurationL()));
-				if(error != KErrNone)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): eapType->DeleteConfigurationL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-						tunneled_plugins[ind_inner]->GetVendorId(),
-						tunneled_plugins[ind_inner]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-
-			} // for()
-
-
-			{
-
-				// Delete possible configuration of each outer EAP-method on each plugin.
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-					this,
-					plugins_array[ind_outer]->GetVendorId(),
-					plugins_array[ind_outer]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index));
-
-				CEapTypePlugin * eapType = NULL;
-
-				TRAP(error, (eapType = CEapTypePlugin::NewL(
-					plugins_array[ind_outer]->GetValue(),
-					static_cast<TIndexType>(internal_settings->m_IndexType),
-					internal_settings->m_Index)));
-
-				// This will automatically delete eapType.
-				eap_automatic_variable_c<CEapTypePlugin> automatic_eap_type(
-					m_am_tools,
-					eapType);
-				
-				if(error != KErrNone
-					|| eapType == NULL)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): CEapTypePlugin::NewL() failed, outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-						plugins_array[ind_outer]->GetVendorId(),
-						plugins_array[ind_outer]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-				
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: eapType->DeleteConfigurationL(): outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"),
-					this,
-					plugins_array[ind_outer]->GetVendorId(),
-					plugins_array[ind_outer]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index));
-
-				TRAP(error, (eapType->DeleteConfigurationL()));
-				if(error != KErrNone)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): eapType->DeleteConfigurationL() failed, outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-						plugins_array[ind_outer]->GetVendorId(),
-						plugins_array[ind_outer]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-			}
-
-		} // for()
-
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-	complete_settings->m_EAPType = internal_settings->m_EAPType;
-	complete_settings->m_IndexType = internal_settings->m_IndexType;
-	complete_settings->m_Index = internal_settings->m_Index;
-
-	eap_status_e status = m_partner->complete_delete_all_eap_settings(complete_settings);
-
-	iGeneralSettingsDb.Compact();
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_general_settings_symbian_c::copy_all_eap_settings(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::copy_all_eap_settings()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings);
-
-	TInt error(KErrNone);
-
-	TRAP(error, (OpenGeneralSettingsL()));
-
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			error));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings == 0
-		|| internal_settings->m_DestinationIndexAndTypePresent == false)
-	{
-		// Cannot copy without destination.
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_illegal_parameter,
-				internal_settings,
-				error_completion_function));
-	}
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: DeleteGeneralSettingsDataL(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-		this,
-		internal_settings->m_EAPType.get_vendor_id(),
-		internal_settings->m_EAPType.get_vendor_type(),
-		internal_settings->m_IndexType,
-		internal_settings->m_Index,
-		internal_settings->m_DestinationIndexType,
-		internal_settings->m_DestinationIndex));
-
-	TRAP(error, (CopyGeneralSettingsDataL(
-		internal_settings->m_IndexType,
-		internal_settings->m_Index,
-		internal_settings->m_DestinationIndexType,
-		internal_settings->m_DestinationIndex)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_ERROR,
-			(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			internal_settings->m_DestinationIndexType,
-			internal_settings->m_DestinationIndex,
-			error));
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	{
-		RPointerArray<TEapExpandedType> plugins;
-
-		PointerArrayResetAndDestroy<TEapExpandedType> aAutomaticPlugins(&plugins, EFalse);
-
-		EapPluginTools aPluginTool;
-
-		TEapExpandedType aTunnelingType(*EapExpandedTypeNone.GetType());
-
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-			this,
-			aTunnelingType.GetVendorId(),
-			aTunnelingType.GetVendorType(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			internal_settings->m_DestinationIndexType,
-			internal_settings->m_DestinationIndex));
-
-		// This will list all outer EAP-methods because aTunnelingType = None.
-		TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast<TIndexType>(internal_settings->m_IndexType), aTunnelingType, plugins)));
-		if (error != KErrNone)
-		{
-			EAP_TRACE_ERROR(
-				m_am_tools,
-				TRACE_FLAGS_ERROR,
-				(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-				aTunnelingType.GetVendorId(),
-				aTunnelingType.GetVendorType(),
-				internal_settings->m_IndexType,
-				internal_settings->m_Index,
-				internal_settings->m_DestinationIndexType,
-				internal_settings->m_DestinationIndex,
-				error));
-
-			return EAP_STATUS_RETURN(
-				m_am_tools,
-				error_complete(
-					m_am_tools->convert_am_error_to_eapol_error(error),
-					internal_settings,
-					error_completion_function));
-		}
-
-		TUint ind_outer(0ul);
-
-		for (ind_outer = 0ul; ind_outer < plugins.Count(); ++ind_outer)
-		{
-
-			// List all plugins that could be used inside the each outer EAP-method on each plugin.
-
-			RPointerArray<TEapExpandedType> tunneled_plugins;
-
-			PointerArrayResetAndDestroy<TEapExpandedType> aAutomaticTunneledPlugins(&tunneled_plugins, EFalse);
-
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-				this,
-				plugins[ind_outer]->GetVendorId(),
-				plugins[ind_outer]->GetVendorType(),
-				internal_settings->m_IndexType,
-				internal_settings->m_Index,
-				internal_settings->m_DestinationIndexType,
-				internal_settings->m_DestinationIndex));
-
-			// This will list all inner EAP-methods of EAP-type.
-			TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast<TIndexType>(internal_settings->m_IndexType), plugins[ind_outer], tunneled_plugins)));
-			if (error != KErrNone)
-			{
-				EAP_TRACE_ERROR(
-					m_am_tools,
-					TRACE_FLAGS_ERROR,
-					(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-					plugins[ind_outer]->GetVendorId(),
-					plugins[ind_outer]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index,
-					internal_settings->m_DestinationIndexType,
-					internal_settings->m_DestinationIndex,
-					error));
-
-				return EAP_STATUS_RETURN(
-					m_am_tools,
-					error_complete(
-						m_am_tools->convert_am_error_to_eapol_error(error),
-						internal_settings,
-						error_completion_function));
-			}
-
-
-			// Copy possible configuration of each inner EAP-method that could be configured inside of outer EAP-method.
-
-			TUint ind_inner(0ul);
-
-			for (ind_inner = 0ul; ind_inner < tunneled_plugins.Count(); ++ind_inner)
-			{
-				CEapTypePlugin * eapType = NULL;
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-					this,
-					tunneled_plugins[ind_inner]->GetVendorId(),
-					tunneled_plugins[ind_inner]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index,
-					internal_settings->m_DestinationIndexType,
-					internal_settings->m_DestinationIndex));
-
-				TRAP(error, (eapType = CEapTypePlugin::NewL(
-					tunneled_plugins[ind_inner]->GetValue(),
-					static_cast<TIndexType>(internal_settings->m_IndexType),
-					internal_settings->m_Index)));
-
-				// This will automatically delete eapType.
-				eap_automatic_variable_c<CEapTypePlugin> automatic_eap_type(
-					m_am_tools,
-					eapType);
-
-				if(error != KErrNone
-					|| eapType == NULL)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): CEapTypePlugin::NewL() failed, EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-						tunneled_plugins[ind_inner]->GetVendorId(),
-						tunneled_plugins[ind_inner]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						internal_settings->m_DestinationIndexType,
-						internal_settings->m_DestinationIndex,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-				
-			    eapType->SetTunnelingType(plugins[ind_outer]);
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: eapType->CopySettingsL(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-					this,
-					tunneled_plugins[ind_inner]->GetVendorId(),
-					tunneled_plugins[ind_inner]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index,
-					internal_settings->m_DestinationIndexType,
-					internal_settings->m_DestinationIndex));
-
-				TRAP(error, (eapType->CopySettingsL(
-					static_cast<TIndexType>(internal_settings->m_DestinationIndexType),
-					internal_settings->m_DestinationIndex)));
-				if(error != KErrNone)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): eapType->CopySettingsL() failed, EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-						tunneled_plugins[ind_inner]->GetVendorId(),
-						tunneled_plugins[ind_inner]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						internal_settings->m_DestinationIndexType,
-						internal_settings->m_DestinationIndex,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-
-			} // for()
-
-
-			{
-
-				// Copy possible configuration of each outer EAP-method on each plugin.
-
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-					this,
-					plugins[ind_outer]->GetVendorId(),
-					plugins[ind_outer]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index,
-					internal_settings->m_DestinationIndexType,
-					internal_settings->m_DestinationIndex));
-
-				CEapTypePlugin * eapType = NULL;
-
-				TRAP(error, (eapType = CEapTypePlugin::NewL(
-					plugins[ind_outer]->GetValue(),
-					static_cast<TIndexType>(internal_settings->m_IndexType),
-					internal_settings->m_Index)));
-
-				// This will automatically delete eapType.
-				eap_automatic_variable_c<CEapTypePlugin> automatic_eap_type(
-					m_am_tools,
-					eapType);
-				
-				if(error != KErrNone
-					|| eapType == NULL)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): CEapTypePlugin::NewL() failed, outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-						plugins[ind_outer]->GetVendorId(),
-						plugins[ind_outer]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						internal_settings->m_DestinationIndexType,
-						internal_settings->m_DestinationIndex,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-				
-				EAP_TRACE_DEBUG(
-					m_am_tools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: eapType->CopySettingsL(): outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"),
-					this,
-					plugins[ind_outer]->GetVendorId(),
-					plugins[ind_outer]->GetVendorType(),
-					internal_settings->m_IndexType,
-					internal_settings->m_Index,
-					internal_settings->m_DestinationIndexType,
-					internal_settings->m_DestinationIndex));
-
-				TRAP(error, (eapType->CopySettingsL(
-					static_cast<TIndexType>(internal_settings->m_DestinationIndexType),
-					internal_settings->m_DestinationIndex)));
-				if(error != KErrNone)
-				{
-					EAP_TRACE_ERROR(
-						m_am_tools,
-						TRACE_FLAGS_ERROR,
-						(EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): eapType->CopySettingsL() failed, outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"),
-						plugins[ind_outer]->GetVendorId(),
-						plugins[ind_outer]->GetVendorType(),
-						internal_settings->m_IndexType,
-						internal_settings->m_Index,
-						internal_settings->m_DestinationIndexType,
-						internal_settings->m_DestinationIndex,
-						error));
-
-					return EAP_STATUS_RETURN(
-						m_am_tools,
-						error_complete(
-							m_am_tools->convert_am_error_to_eapol_error(error),
-							internal_settings,
-							error_completion_function));
-				}
-			}
-
-		} // for()
-
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-	complete_settings->m_EAPType = internal_settings->m_EAPType;
-	complete_settings->m_IndexType = internal_settings->m_IndexType;
-	complete_settings->m_Index = internal_settings->m_Index;
-
-	eap_status_e status = m_partner->complete_copy_all_eap_settings(complete_settings);
-
-	iGeneralSettingsDb.Compact();
-
-	CloseGeneralSettings();
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): this=0x%08x, CloseGeneralSettings()\n"),
-		this));
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_pac_store_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,494 +0,0 @@
-/*
-* Copyright (c) 2009-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:  interface to PAC-store.
-*
-*/
-
-/*
-* %version: 14 %
-*/
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_am_pac_store_symbian.h"
-#include "abs_eap_am_pac_store.h"
-#include "eap_automatic_variable.h"
-#include "EapTraceSymbian.h"
-#include "EapConversion.h"
-#include "eap_type_tls_peap_types.h"
-#include "pac_store_db_parameters.h"
-#include "pac_store_db_symbian.h"
-#include <f32file.h>
-#include "EapPluginDbDefaults.h"
-
-/** @file */
-
-// ----------------------------------------------------------------------
-const TUint KMaxDBFieldNameLength = 255;
-
-// ----------------------------------------------------------------------
-
-eap_am_pac_store_symbian_c::eap_am_pac_store_symbian_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_pac_store_c * const partner)
-	: m_am_tools(tools)
-	, m_partner(partner)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-	, iClientCreated(false)
-	, iPacStoreSessionOpened(false)
-	, iClient(NULL)
-	, m_PAC_store_password(tools)
-
-{
-
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_partner == 0)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::eap_am_pac_store_symbian_c(): this=0x%08x.\n"),
-		this));
-		
-	return;
-}
-
-// ----------------------------------------------------------------------
-
-eap_am_pac_store_symbian_c::~eap_am_pac_store_symbian_c()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::~eap_am_pac_store_symbian_c(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::~eap_am_pac_store_symbian_c()");
-
-	delete iClient;
-	iClient = NULL;
-	
-	EAP_ASSERT(m_shutdown_was_called == true);
-}
-
-// ----------------------------------------------------------------------
-
-EAP_FUNC_EXPORT bool eap_am_pac_store_symbian_c::get_is_valid()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::get_is_valid(): this=0x%08x. valid=%d\n"),
-		this, m_is_valid));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::get_is_valid()");
-
-	return m_is_valid;
-}
-
-// ----------------------------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::configure()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::configure(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::configure()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::shutdown(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::shutdown()");
-
-	m_shutdown_was_called = true;
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::open_pac_store()
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::open_pac_store(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::open_pac_store()");
-
-	TRAPD(err, iClient = CPacStoreDatabase::NewL());
-	if (err || iClient == NULL)
-			{
-			m_partner->complete_open_pac_store(eap_status_process_general_error);
-			return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-			}
-	EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("eap_am_pac_store_symbian_c::open_pac_store Created PAC store")));	
-		
-	TRAP(err, iClient->OpenPacStoreL());
-	if (err || iClient == NULL)
-		{
-		m_partner->complete_open_pac_store(eap_status_process_general_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-	EAP_TRACE_DEBUG_SYMBIAN(
-			(_L("eap_am_pac_store_symbian_c::open_pac_store Opened PAC store")));	
-
-	iClientCreated = ETrue;
-
-	m_partner->complete_open_pac_store(eap_status_ok);
-	
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::create_device_seed()
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::create_device_seed(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::create_device_seed()");
-
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_create_device_seed(eap_status_process_general_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
-	eap_variable_data_c aDeviceSeed(m_am_tools);
-	
-	eap_status_e status = iClient->CreateDeviceSeed(&aDeviceSeed);
-
-	m_partner->complete_create_device_seed(status);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::is_master_key_present()
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::is_master_key_present(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::is_master_key_present()");
-
-	TBool present = EFalse;
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_is_master_key_present(EFalse);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
-	eap_status_e status(eap_status_ok);
-
-	TRAPD(err, present = iClient->IsMasterKeyPresentL());
-	if (err)
-		{
-		present = EFalse;
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	m_partner->complete_is_master_key_present(present);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::is_master_key_and_password_matching(
-		const eap_variable_data_c * const pac_store_password)
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::is_master_key_and_password_matching(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::is_master_key_and_password_matching()");
-
-	TBool matching = EFalse;
-	
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_is_master_key_and_password_matching(EFalse);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
-	HBufC8* pacStorePW8(NULL);
-	
-	TRAPD(err, pacStorePW8 = HBufC8::NewL(pac_store_password->get_data_length()));
-	if (err)
-		{
-		m_partner->complete_is_master_key_and_password_matching(EFalse);
-		return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-	
-	TPtr8 pacStorePW8Ptr = 	pacStorePW8->Des();
-	
-	pacStorePW8Ptr.Copy(pac_store_password->get_data(), pac_store_password->get_data_length());
-		
-	eap_status_e status(eap_status_ok);
-
-	TRAP(err, matching = iClient->IsMasterKeyAndPasswordMatchingL(pacStorePW8Ptr));
-	if (err)
-		{
-		matching = EFalse;
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	delete pacStorePW8;	
-
-	m_partner->complete_is_master_key_and_password_matching(matching);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	
-	}
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::create_and_save_master_key(
-		const eap_variable_data_c * const pac_store_password)
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::create_and_save_master_key(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::create_and_save_master_key()");
-
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_create_and_save_master_key(eap_status_process_general_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
-	HBufC8* pacStorePW8(NULL);
-	
-	eap_status_e status(eap_status_ok);
-
-	TRAPD(err, pacStorePW8 = HBufC8::NewL(pac_store_password->get_data_length()));
-	if (err)
-		{
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		m_partner->complete_create_and_save_master_key(status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-	
-	TPtr8 pacStorePW8Ptr = 	pacStorePW8->Des();
-	
-	pacStorePW8Ptr.Copy(pac_store_password->get_data(), pac_store_password->get_data_length());
-
-	TRAP(err, iClient->CreateAndSaveMasterKeyL(pacStorePW8Ptr));
-	if (err)
-		{
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	delete pacStorePW8;	
-
-	m_partner->complete_create_and_save_master_key(status);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::is_pacstore_password_present()
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::is_pacstore_password_present(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::is_pacstore_password_present()");
-
-	TBool present = EFalse;
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_is_pacstore_password_present(EFalse);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
-	eap_status_e status(eap_status_ok);
-
-	TRAPD(err, present = iClient->IsPacPasswordPresentL());
-	if (err)
-		{
-		present = EFalse;
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	m_partner->complete_is_pacstore_password_present(present);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::compare_pac_store_password(
-		eap_variable_data_c * const pac_store_password)
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::compare_pac_store_password(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::compare_pac_store_password()");
-
-	TBool matching = EFalse;
-	
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_compare_pac_store_password(EFalse);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-
-	HBufC8* pacStorePW8(NULL);
-	
-	TRAPD(err, pacStorePW8 = HBufC8::NewL(pac_store_password->get_data_length()));
-	if (err)
-		{
-		m_partner->complete_compare_pac_store_password(EFalse);
-		return EAP_STATUS_RETURN(m_am_tools, EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)));
-		}
-	
-	TPtr8 pacStorePW8Ptr = 	pacStorePW8->Des();
-	
-	pacStorePW8Ptr.Copy(pac_store_password->get_data(), pac_store_password->get_data_length());
-		
-
-	eap_status_e status(eap_status_ok);
-
-	TRAP(err, matching = iClient->ComparePacStorePasswordL(pacStorePW8Ptr));
-	if (err)
-		{
-		matching = EFalse;
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	delete pacStorePW8;
-
-	m_partner->complete_compare_pac_store_password(matching);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::set_pac_store_password(
-		const eap_variable_data_c * pac_store_password)
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::set_pac_store_password(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::set_pac_store_password()");
-
-	if(iClientCreated == EFalse)
-		{
-		m_partner->complete_set_pac_store_password(eap_status_process_general_error);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error);
-		}
-		
-	TBuf<KMaxDBFieldNameLength> pacStoreDBColName;
-	HBufC8* pacStoreDBColValBuf8(NULL);
-	
-	pacStoreDBColName.Copy(cf_str_EAP_FAST_PAC_store_password_literal);			
-
-	eap_status_e status(eap_status_ok);
-
-	TRAPD(err, pacStoreDBColValBuf8 = HBufC8::NewL(KMaxPasswordLengthInDB));
-	if (err)
-		{
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		m_partner->complete_set_pac_store_password(status);
-		return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	TPtr8 pacStoreDBColValPtr8 = pacStoreDBColValBuf8->Des();
-	pacStoreDBColValPtr8.Copy(pac_store_password->get_data(), pac_store_password->get_data_length());
-
-	TRAP( err, iClient->SetPacStoreDataL(pacStoreDBColName, pacStoreDBColValPtr8));
-	if (err)
-		{
-		status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err));
-		}
-
-	delete pacStoreDBColValBuf8;
-	m_partner->complete_set_pac_store_password(status);
-	return EAP_STATUS_RETURN(m_am_tools, status);
-	}
-
-// ----------------------------------------------------------------------
-EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::destroy_pac_store()
-	{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_pac_store_symbian_c::destroy_pac_store(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::destroy_pac_store()");
-
-	if(iClientCreated == EFalse)
-		{
-		eap_status_e status(eap_status_process_general_error);
-
-		m_partner->complete_destroy_pac_store(status);
-
-		return EAP_STATUS_RETURN(m_am_tools, status);
-		}
-
-	iClient->DestroyPacStore();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_pac_store_symbian_c::open_pac_store destroy_pac_store end")));
-
-	m_partner->complete_destroy_pac_store(eap_status_ok);
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-	}
-
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_plugin_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1110 +0,0 @@
-/*
-* Copyright (c) 2009-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:  EAP-plugin adaptation.
-*
-*/
-
-/*
-* %version: 29 %
-*/
-
-#include "eap_tools.h"
-#include "eap_status.h"
-#include "eap_am_export.h"
-#include "eap_expanded_type.h"
-#include "eap_array.h"
-#include "eap_database_reference_if.h"
-#include "eap_am_plugin_symbian.h"
-#include "eap_automatic_variable.h"
-#include <EapTypePlugin.h>
-#include <EapSettings.h>
-#include <EapTypeInfo.h>
-#include "EapConversion.h"
-#include "abs_eap_am_plugin.h"
-
-/** @file */
-
-// ----------------------------------------------------------------------
-
-eap_am_plugin_symbian_c::eap_am_plugin_symbian_c(
-	abs_eap_am_tools_c * const tools,
-	abs_eap_am_plugin_c * const partner)
-	: m_am_tools(tools)
-	, m_partner(partner)
-	, m_loaded_types(tools)
-	, m_is_valid(false)
-	, m_shutdown_was_called(false)
-{
-	if (m_am_tools == 0
-		|| m_am_tools->get_is_valid() == false
-		|| m_partner == 0)
-	{
-		return;
-	}
-
-	m_is_valid = true;
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::eap_am_plugin_symbian_c(): this=0x%08x.\n"),
-		this));
-}
-
-// ----------------------------------------------------------------------
-
-eap_am_plugin_symbian_c::~eap_am_plugin_symbian_c()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::~eap_am_plugin_symbian_c(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::~eap_am_plugin_symbian_c()");
-
-	EAP_ASSERT(m_shutdown_was_called == true);
-}
-
-// ----------------------------------------------------------------------
-
-bool eap_am_plugin_symbian_c::get_is_valid()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::get_is_valid(): this=0x%08x, m_is_valid=%d.\n"),
-		this,
-		m_is_valid));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_is_valid()");
-
-	return m_is_valid;
-}
-
-// ----------------------------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-eap_status_e eap_am_plugin_symbian_c::configure()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::configure(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::configure()");
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-eap_status_e eap_am_plugin_symbian_c::shutdown()
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::shutdown(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::shutdown()");
-
-	m_shutdown_was_called = true;
-
-	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::error_complete(
-	const eap_status_e completion_status,
-	const eap_method_settings_c * const internal_settings,
-	const eap_tlv_message_type_function_e error_completion_function)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::error_complete(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::error_complete()");
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-	}
-
-	complete_settings->m_completion_status = completion_status;
-
-	eap_status_e status(eap_status_not_supported);
-
-	switch(error_completion_function)
-	{
-	case eap_tlv_message_type_function_plugin_complete_get_configuration:
-		status = m_partner->complete_get_configuration(complete_settings);
-		break;
-	case eap_tlv_message_type_function_plugin_complete_set_configuration:
-		status = m_partner->complete_set_configuration(complete_settings);
-		break;
-	case eap_tlv_message_type_function_plugin_complete_copy_configuration:
-		status = m_partner->complete_copy_configuration(complete_settings);
-		break;
-	case eap_tlv_message_type_function_plugin_complete_delete_configuration:
-		status = m_partner->complete_delete_configuration(complete_settings);
-		break;
-	case eap_tlv_message_type_function_plugin_complete_set_index:
-		status = m_partner->complete_set_index(complete_settings);
-		break;
-	case eap_tlv_message_type_function_plugin_complete_get_type_info:
-		status = m_partner->complete_get_type_info(complete_settings);
-		break;
-
-	default:
-		EAP_TRACE_ERROR(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: eap_am_plugin_symbian_c::error_complete(): unknown function %d.\n"),
-			 error_completion_function));
-
-		EAP_ASSERT_ANYWAY_TOOLS(m_am_tools);
-
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter);
-	}
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-CEapTypePlugin * eap_am_plugin_symbian_c::get_eap_type(
-	const eap_type_value_e eap_type,
-	u32_t index_type,
-	u32_t index)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::get_eap_type(): this=0x%08x, index_type=%d, index=%d, EAP-type=0xfe%06x%08x.\n"),
-		this,
-		index_type,
-		index,
-		eap_type.get_vendor_id(),
-		eap_type.get_vendor_type()));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_eap_type()");
-
-	CEapTypePlugin *eap_plugin = 0;
-
-	eap_loaded_type_c search(
-		m_am_tools,
-		0,
-		eap_type,
-		index_type,
-		index);
-
-	i32_t found_index = find<eap_loaded_type_c>(&m_loaded_types, &search, m_am_tools);
-
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::get_eap_type(): this=0x%08x, found_index=%d.\n"),
-		this,
-		found_index));
-
-	if (found_index >= 0)
-	{
-		// OK, EAP-type for index_type and index is already loaded.
-		eap_loaded_type_c * const loaded_type = m_loaded_types.get_object(found_index);
-		if (loaded_type == 0)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			return 0;
-		}
-
-		eap_plugin = loaded_type->get_type_plugin();
-
-		return eap_plugin;
-	}
-	else
-	{
-		// Load a new instance of EAP-type.
-
-		TEapExpandedType expanded_type;
-
-		eap_variable_data_c eap_data(m_am_tools);
-
-		eap_status_e status = eap_type.get_expanded_type_data(
-			m_am_tools,
-			&eap_data);
-		if (status != eap_status_ok)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, status);
-			return 0;
-		}
-
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_data"),
-			eap_data.get_data(),
-			eap_data.get_data_length()));
-
-		TInt error = expanded_type.SetValue(
-			eap_data.get_data(),
-			eap_data.get_data_length());
-		if (error != KErrNone)
-		{
-			(void) EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
-			return 0;
-		}
-
-		EAP_TRACE_DATA_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("expanded_type.GetValue()"),
-			expanded_type.GetValue().Ptr(),
-			expanded_type.GetValue().Length()));
-
-		TIndexType IndexType(static_cast<TIndexType>(index_type));
-		TUint Index(static_cast<TUint>(index));
-
-		TRAP(error, (eap_plugin = CEapTypePlugin::NewL(
-			expanded_type.GetValue(),
-			IndexType,
-			Index)));
-		if (error != KErrNone
-			|| eap_plugin == 0)
-		{
-			// Interface not found or implementation creation function failed
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: ECom could not find/initiate implementation for EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error = %d.\n"),
-				eap_type.get_vendor_id(),
-				eap_type.get_vendor_type(),
-				index_type,
-				index,
-				error));
-			(void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			return 0;
-		}
-
-		eap_loaded_type_c * const new_eap_plugin = new eap_loaded_type_c(
-			m_am_tools,
-			eap_plugin,
-			eap_type,
-			index_type,
-			index);
-		if (new_eap_plugin == 0)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: Could not allocate EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-				eap_type.get_vendor_id(),
-				eap_type.get_vendor_type(),
-				index_type,
-				index));
-			(void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			delete eap_plugin;
-			return 0;
-		}
-
-		status = m_loaded_types.add_object(
-			new_eap_plugin,
-			true);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG(
-				m_am_tools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: Could not add EAP-type=0xfe%06x%08x, index_type=%d, index=%d to array.\n"),
-				eap_type.get_vendor_id(),
-				eap_type.get_vendor_type(),
-				index_type,
-				index));
-			(void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error);
-			return 0;
-		}
-
-		return eap_plugin;
-	}
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::get_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::get_configuration(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_configuration()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_get_configuration);
-
-	CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index);
-	if (eapType == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		TEapExpandedType aExpandedType;
-    
-		TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&(internal_settings->m_TunnelingType),
-				&aExpandedType);
-
-		eapType->SetTunnelingType(aExpandedType);
-	}
-
-	EAPSettings * local_settings = new EAPSettings;
-
-	eap_automatic_variable_c<EAPSettings> automatic_aSettings(
-		m_am_tools,
-		local_settings);
-
-	if (local_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TInt error(KErrNone);
-
-	TRAP(error, (eapType->GetConfigurationL(*local_settings)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Cannot read configuration from EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_EAPType = internal_settings->m_EAPType;
-	complete_settings->m_IndexType = internal_settings->m_IndexType;
-	complete_settings->m_Index = internal_settings->m_Index;
-	complete_settings->m_completion_status = eap_status_ok;
-
-	error = CEapConversion::ConvertEAPSettingsToInternalType(
-		m_am_tools,
-		local_settings,
-		complete_settings);
-	if (error != KErrNone)
-	{
-		complete_settings->m_completion_status = m_am_tools->convert_am_error_to_eapol_error(error);
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_status_e status = m_partner->complete_get_configuration(complete_settings);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::set_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::set_configuration(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::set_configuration()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_set_configuration);
-
-	CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index);
-	if (eapType == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		TEapExpandedType aExpandedType;
-    
-		TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&(internal_settings->m_TunnelingType),
-				&aExpandedType);
-
-		eapType->SetTunnelingType(aExpandedType);
-	}
-
-	EAPSettings * local_settings = new EAPSettings;
-
-	eap_automatic_variable_c<EAPSettings> automatic_aSettings(
-		m_am_tools,
-		local_settings);
-
-	if (local_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TInt error = CEapConversion::ConvertInternalTypeToEAPSettings(
-		m_am_tools,
-		internal_settings,
-		local_settings);
-	if (error != KErrNone)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	TRAP(error, (eapType->SetConfigurationL(*local_settings)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Cannot write configuration to EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-
-	eap_status_e status = m_partner->complete_set_configuration(complete_settings);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::copy_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::set_configuration(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::set_configuration()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_copy_configuration);
-
-	CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index);
-	if (eapType == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		TEapExpandedType aExpandedType;
-    
-		TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&(internal_settings->m_TunnelingType),
-				&aExpandedType);
-
-		eapType->SetTunnelingType(aExpandedType);
-	}
-
-	EAPSettings * local_settings = new EAPSettings;
-
-	eap_automatic_variable_c<EAPSettings> automatic_aSettings(
-		m_am_tools,
-		local_settings);
-
-	if (local_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TInt error = CEapConversion::ConvertInternalTypeToEAPSettings(
-		m_am_tools,
-		internal_settings,
-		local_settings);
-	if (error != KErrNone)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_DestinationIndexAndTypePresent == false)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_illegal_parameter,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TIndexType aDestinationIndexType(static_cast<TIndexType>(internal_settings->m_DestinationIndexType));
-	TUint aDestinationIndex(static_cast<TUint>(internal_settings->m_DestinationIndex));
-
-	TRAP(error, (eapType->CopySettingsL(
-		aDestinationIndexType, 
-		aDestinationIndex)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Cannot copy configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d) to (index_type=%d, index=%d).\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			internal_settings->m_DestinationIndexType,
-			internal_settings->m_DestinationIndex));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-
-	eap_status_e status = m_partner->complete_copy_configuration(complete_settings);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::delete_configuration(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::delete_configuration(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::delete_configuration()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_delete_configuration);
-
-	CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index);
-	if (eapType == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		TEapExpandedType aExpandedType;
-    
-		TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&(internal_settings->m_TunnelingType),
-				&aExpandedType);
-
-		eapType->SetTunnelingType(aExpandedType);
-	}
-
-	EAPSettings * local_settings = new EAPSettings;
-
-	eap_automatic_variable_c<EAPSettings> automatic_aSettings(
-		m_am_tools,
-		local_settings);
-
-	if (local_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TInt error = CEapConversion::ConvertInternalTypeToEAPSettings(
-		m_am_tools,
-		internal_settings,
-		local_settings);
-	if (error != KErrNone)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	TRAP(error, (eapType->DeleteConfigurationL()));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Cannot delete configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d).\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-
-	eap_status_e status = m_partner->complete_delete_configuration(complete_settings);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::set_index(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::set_index(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::set_index()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_set_index);
-
-	CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index);
-	if (eapType == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		TEapExpandedType aExpandedType;
-    
-		TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&(internal_settings->m_TunnelingType),
-				&aExpandedType);
-
-		eapType->SetTunnelingType(aExpandedType);
-	}
-
-	EAPSettings * local_settings = new EAPSettings;
-
-	eap_automatic_variable_c<EAPSettings> automatic_aSettings(
-		m_am_tools,
-		local_settings);
-
-	if (local_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TInt error = CEapConversion::ConvertInternalTypeToEAPSettings(
-		m_am_tools,
-		internal_settings,
-		local_settings);
-	if (error != KErrNone)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_DestinationIndexAndTypePresent == false)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_illegal_parameter,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TIndexType aDestinationIndexType(static_cast<TIndexType>(internal_settings->m_DestinationIndexType));
-	TUint aDestinationIndex(static_cast<TUint>(internal_settings->m_DestinationIndex));
-
-	TRAP(error, (eapType->SetIndexL(
-		aDestinationIndexType, 
-		aDestinationIndex)));
-	if (error != KErrNone)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Cannot copy configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d) to (index_type=%d, index=%d).\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index,
-			internal_settings->m_DestinationIndexType,
-			internal_settings->m_DestinationIndex));
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-
-	eap_status_e status = m_partner->complete_set_index(complete_settings);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-eap_status_e eap_am_plugin_symbian_c::get_type_info(const eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		m_am_tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_plugin_symbian_c::get_type_info(): this=0x%08x.\n"),
-		this));
-
-	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_type_info()");
-
-	const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_get_type_info);
-
-	CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index);
-	if (eapType == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_TunnelingTypePresent == true)
-	{
-		TEapExpandedType aExpandedType;
-    
-		TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&(internal_settings->m_TunnelingType),
-				&aExpandedType);
-
-		eapType->SetTunnelingType(aExpandedType);
-	}
-
-	EAPSettings * local_settings = new EAPSettings;
-
-	eap_automatic_variable_c<EAPSettings> automatic_aSettings(
-		m_am_tools,
-		local_settings);
-
-	if (local_settings == 0)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	TInt error = CEapConversion::ConvertInternalTypeToEAPSettings(
-		m_am_tools,
-		internal_settings,
-		local_settings);
-	if (error != KErrNone)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	if (internal_settings->m_DestinationIndexAndTypePresent == false)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_illegal_parameter,
-				internal_settings,
-				error_completion_function));
-	}
-
-	CEapTypeInfo * type_info = 0;
-
-	TRAP(error, (type_info = eapType->GetInfoL()));
-	if (error != KErrNone
-		|| type_info == 0)
-	{
-		EAP_TRACE_DEBUG(
-			m_am_tools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Cannot get type info configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d).\n"),
-			internal_settings->m_EAPType.get_vendor_id(),
-			internal_settings->m_EAPType.get_vendor_type(),
-			internal_settings->m_IndexType,
-			internal_settings->m_Index));
-
-		if (type_info != 0)
-		{
-			delete type_info;
-			type_info = 0;
-		}
-
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings);
-
-	eap_automatic_variable_c<eap_method_settings_c> automatic_complete_settings(
-		m_am_tools,
-		complete_settings);
-
-	if (complete_settings == 0)
-	{
-		delete type_info;
-		type_info = 0;
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				eap_status_allocation_error,
-				internal_settings,
-				error_completion_function));
-	}
-
-	error = CEapConversion::ConvertFromTDesCToInternal(
-		m_am_tools,
-		type_info->ReleaseDate(),
-		&(complete_settings->m_KReleaseDate));
-
-	if(error == KErrNone)
-	{
-		error = CEapConversion::ConvertFromTDesCToInternal(
-			m_am_tools,
-			type_info->Version(),
-			&(complete_settings->m_KEapTypeVersion));
-	}
-
-	if(error == KErrNone)
-	{
-		error = CEapConversion::ConvertFromTDesCToInternal(
-			m_am_tools,
-			type_info->Manufacturer(),
-			&(complete_settings->m_KManufacturer));
-	}
-
-	delete type_info;
-	type_info = 0;
-
-	if(error != KErrNone)
-	{
-		return EAP_STATUS_RETURN(
-			m_am_tools,
-			error_complete(
-				m_am_tools->convert_am_error_to_eapol_error(error),
-				internal_settings,
-				error_completion_function));
-	}
-
-	complete_settings->m_completion_status = eap_status_ok;
-
-	eap_status_e status = m_partner->complete_get_type_info(complete_settings);
-
-	return EAP_STATUS_RETURN(m_am_tools, status);
-}
-
-// ----------------------------------------------------------------------
-
-
-
-// ----------------------------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_stack_symbian.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1563 +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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 49 %
-*/
-
-#include "eap_am_stack_symbian.h"
-#include "eap_array_algorithms.h"
-#include "eap_base_type.h"
-#include "eap_header_string.h"
-#include "EapConversion.h"
-#include "eapol_key_state_string.h"
-#include "eap_type_tls_peap_types.h"
-#include "EapPluginDbDefaults.h"
-#include "EapConfigToolsSymbian.h"
-#include "eap_am_general_settings_symbian.h"
-
-class CEapTypePlugin;
-
-// LOCAL CONSTANTS
-const TUint KMaxSqlQueryLength = 2048;
-
-const TUint KExpandedEAPSize = 8;
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_am_stack_symbian_c::eap_am_stack_symbian_c(class abs_eap_am_tools_c * tools, bool is_client_when_true)
-	: CActive(0)
-	, iTools (tools)
-	, iIsClient(is_client_when_true)
-	, iPartner(0)
-	, m_client_config(tools)
-	, iFileconfig(0)
-	, iEnabledEapMethodsArray(tools)
-	, iDisabledEapMethodsArray(tools)
-	, m_eap_type_array(tools)
-	, iConfigurationIf(0)
-	, iIndexType(ELan)
-	, iIndex(0UL)
-	, iCurrentEapIndex(0)
-	, m_selected_eapol_key_authentication_type(eapol_key_authentication_type_none)
-{
-    EAP_TRACE_DEBUG(
-        tools, 
-        TRACE_FLAGS_DEFAULT, 
-        (EAPL("eap_am_stack_symbian_c::eap_am_stack_symbian_c()\n")));
-
-    EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_stack_symbian_c::eap_am_stack_symbian_c()");
-
-    iIsValid = ETrue;
-    
-    return;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_am_stack_symbian_c::~eap_am_stack_symbian_c()
-    {
-    EAP_TRACE_DEBUG(
-        iTools, 
-        TRACE_FLAGS_DEFAULT, 
-        (EAPL("eap_am_stack_symbian_c::~eap_am_stack_symbian_c()\n")));
-
-	Cancel();
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::~eap_am_stack_symbian_c()");
-    }
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT bool eap_am_stack_symbian_c::get_is_valid()
-    {
-    return iIsValid;
-    }
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::set_partner(abs_eap_am_stack_c * partner, abs_eap_configuration_if_c * configuration_if)
-    {
-    eap_status_e aStatus(eap_status_ok);
-    iPartner = partner;
-    iConfigurationIf = configuration_if;
-    return aStatus;
-    }
-
-//--------------------------------------------------
-
-eap_status_e eap_am_stack_symbian_c::reset_eap_configuration()
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_stack_symbian_c::reset_eap_configuration(): %s, this = 0x%08x\n"),
-		 (iIsClient == true) ? "client": "server",
-		 this));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::reset_eap_configuration()");
-
-	eap_status_e status(eap_status_ok);
-
-	TRAPD(error, ReadEAPSettingsL());
-	if (error != KErrNone)
-	{
-		EAP_TRACE_ERROR(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EAP settings reading from CommDb failed or cancelled(error %d).\n"), error));
-
-		status = iTools->convert_am_error_to_eapol_error(error);
-	}
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::configure().
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::configure(
-	const eap_variable_data_c * const client_configuration)
-    {
-    EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-    EAP_TRACE_DEBUG(
-        iTools, 
-        TRACE_FLAGS_DEFAULT, 
-        (EAPL("eap_am_stack_symbian_c::configure(): %s, this = 0x%08x => 0x%08x\n"),
-         (iIsClient == true) ? "client": "server",
-         this,
-         dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::configure()");
-
-    TInt error(KErrNone);
-	eap_status_e status(eap_status_ok);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (client_configuration != 0
-		&& client_configuration->get_is_valid_data() == true)
-	{
-		status = m_client_config.read_configuration_message(client_configuration);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, status);
-		}
-	}
-	
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-    // Open the database session
-    error = iSession.Connect();
-    if (error != KErrNone)
-    {
-        status = EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
-
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("RDbs::Connect() failed %d.\n"),
-            status));
-        EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(iTools, status);
-    }
-
-    EAP_TRACE_DEBUG(
-        iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("Database session initialized...\n")));
-
-    // Connect to FS
-    error = iFs.Connect();
-    if (error != KErrNone)
-    {
-        status = EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
-
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("RFs::Connect() failed %d.\n"),
-            status));
-        EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(iTools, status);
-    }
-
-    EAP_TRACE_DEBUG(
-        iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("Fileserver session initialized...\n")));
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian(
-		iTools,
-		&iFileconfig);
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(iTools, status);
-	}
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-#if defined(USE_EAP_FILE_TRACE)
-    {
-        eap_variable_data_c trace_output_file(iTools);
-
-        status = read_configure(
-            cf_str_EAP_TRACE_output_file_name.get_field(),
-            &trace_output_file);
-        if (status == eap_status_ok
-            && trace_output_file.get_is_valid_data() == true)
-        {
-            status = iTools->set_trace_file_name(&trace_output_file);
-            if (status == eap_status_ok)
-            {
-                // OK, set the default trace mask.
-                iTools->set_trace_mask(
-                    eap_am_tools_c::eap_trace_mask_debug
-                    | eap_am_tools_c::eap_trace_mask_always
-                    | eap_am_tools_c::eap_trace_mask_error
-                    | eap_am_tools_c::eap_trace_mask_message_data);
-            }
-        }
-    }
-#endif //#if defined(USE_EAP_FILE_TRACE)
-
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
-		eap_variable_data_c EAP_TRACE_enable_timer_traces(iTools);
-
-		status = read_configure(
-			cf_str_EAP_TRACE_enable_timer_traces.get_field(),
-			&EAP_TRACE_enable_timer_traces);
-		if (status == eap_status_ok
-			&& EAP_TRACE_enable_timer_traces.get_is_valid_data() == true)
-		{
-			u32_t *enable_timer_traces = reinterpret_cast<u32_t *>(
-				EAP_TRACE_enable_timer_traces.get_data(sizeof(u32_t)));
-			if (enable_timer_traces != 0
-				&& *enable_timer_traces != 0)
-			{
-				iTools->set_trace_mask(
-					iTools->get_trace_mask()
-					| TRACE_FLAGS_TIMER
-					);
-			}
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
-		eap_variable_data_c EAP_TRACE_enable_timer_queue_traces(iTools);
-
-		status = read_configure(
-			cf_str_EAP_TRACE_enable_timer_queue_traces.get_field(),
-			&EAP_TRACE_enable_timer_queue_traces);
-		if (status == eap_status_ok
-			&& EAP_TRACE_enable_timer_queue_traces.get_is_valid_data() == true)
-		{
-			u32_t *enable_timer_queue_traces = reinterpret_cast<u32_t *>(
-				EAP_TRACE_enable_timer_queue_traces.get_data(sizeof(u32_t)));
-			if (enable_timer_queue_traces != 0
-				&& *enable_timer_queue_traces != 0)
-			{
-				iTools->set_trace_mask(
-					iTools->get_trace_mask()
-					| TRACE_FLAGS_TIMER_QUEUE
-					);
-			}
-		}
-	}
-
-    {
-        eap_variable_data_c EAP_TRACE_enable_function_traces(iTools);
-
-        status = read_configure(
-            cf_str_EAP_TRACE_enable_function_traces.get_field(),
-            &EAP_TRACE_enable_function_traces);
-        if (status == eap_status_ok
-            && EAP_TRACE_enable_function_traces.get_is_valid_data() == true)
-        {
-            u32_t *enable_function_traces = reinterpret_cast<u32_t *>(
-                EAP_TRACE_enable_function_traces.get_data(sizeof(u32_t)));
-            if (enable_function_traces != 0
-                && *enable_function_traces != 0)
-            {
-                iTools->set_trace_mask(
-                    iTools->get_trace_mask()
-                    | eap_am_tools_c::eap_trace_mask_functions
-                    );
-            }
-        }
-    }
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-    EAP_TRACE_DEBUG(
-        iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("Created timer...\n")));
-
-    EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(iTools, eap_status_ok);
-  
-    }
-
-//--------------------------------------------------
-
-eap_status_e eap_am_stack_symbian_c::reset_eap_plugins()
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_stack_symbian_c::reset_eap_plugins(): %s, this = 0x%08x => 0x%08x\n"),
-		 (iIsClient == true) ? "client": "server",
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	// Unload all loaded plugins
-	for(int ind = 0; ind < m_plugin_if_array.Count(); ind++)
-	{
-		delete m_plugin_if_array[ind];
-	}
-
-	m_plugin_if_array.Close();
-
-
-	iEnabledEapMethodsArray.reset();
-	iDisabledEapMethodsArray.reset();
-
-	
-	m_eap_type_array.reset();
-	
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-// This is documented in abs_eap_stack_interface_c::shutdown().
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::shutdown()
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_ALWAYS(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_stack_symbian_c::shutdown(): %s, this = 0x%08x => 0x%08x\n"),
-		 (iIsClient == true) ? "client": "server",
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-	delete iFileconfig;
-	iFileconfig = 0;
-
-	(void) reset_eap_plugins();
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, eap_status_ok);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::read_configure(
-    const eap_configuration_field_c * const field,
-    eap_variable_data_c * const data) 
-{
-    EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-    EAP_ASSERT_ALWAYS_TOOLS(iTools, data != NULL);
-    
-    EAP_TRACE_DEBUG(
-        iTools, 
-        TRACE_FLAGS_DEFAULT, 
-        (EAPL("eap_am_stack_symbian_c::read_configure(): %s, %d=%s, this = 0x%08x => 0x%08x\n"),
-         (iIsClient == true) ? "client": "server",
-		 m_selected_eapol_key_authentication_type,
-		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type),
-         this,
-         dynamic_cast<abs_eap_base_timer_c *>(this)));
-    
-	EAP_TRACE_DATA_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_stack_symbian_c::read_configure()"),
-		 field->get_field(),
-		 field->get_field_length()));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::read_configure()");
-
-    // Trap must be set here because the OS independent portion of EAPOL
-    // that calls this function does not know anything about Symbian.   
-    eap_status_e status(eap_status_ok);
-
-    // Check if the wanted parameter is default type
-	if (field->compare(iTools, cf_str_EAP_default_type_hex_data.get_field()) == true)
-	{
-		// First check do we have read configuration from databases.
-		if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS)
-		{
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("m_selected_eapol_key_authentication_type = eapol_key_authentication_type_WPS\n")));
-
-			status = eap_expanded_type_simple_config.get_type().get_expanded_type_data(
-				iTools,
-				data);
-
-			if (status == eap_status_ok)
-			{
-				set_current_eap_index(0);
-			}
-
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, status);
-		}
-		else if (iEnabledEapMethodsArray.get_object_count() == 0ul)
-		{
-			EAP_TRACE_ERROR(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("EAP settings not read from CommsDat\n")));
-
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);	
-			return EAP_STATUS_RETURN(iTools, eap_status_process_general_error);
-		}
-
-		// Now we need to return here the next EAP type we should try
-
-		TInt ind = get_current_eap_index(); 
-
-
-		if (get_current_eap_index() < iEnabledEapMethodsArray.get_object_count())
-		{
-			eap_type_value_e * const next_eap_method = iEnabledEapMethodsArray.get_object(get_current_eap_index());
-			if (next_eap_method != 0
-				&& next_eap_method->get_is_valid() == true)
-			{
-				status = data->set_buffer_length(eap_expanded_type_c::get_eap_expanded_type_size());
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(iTools, eap_status_allocation_error);
-				}
-
-				status = data->set_data_length(eap_expanded_type_c::get_eap_expanded_type_size());
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(iTools, status);
-				}
-
-				status = eap_expanded_type_c::write_type(
-					iTools,
-					0ul,
-					data->get_data(),
-					data->get_data_length(),
-					true,
-					*next_eap_method);
-				if (status != eap_status_ok)
-				{
-					EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-					return EAP_STATUS_RETURN(iTools, status);
-				}
-			}
-		}
-
-
-
-		if (ind >= iEnabledEapMethodsArray.get_object_count())
-		{
-			// Not found any other EAP type as enabled.
-			// Send WLM notification because there is no way that the authentication
-			// can be successful if we don't have any EAP types to use...
-			if (iIsClient)
-			{
-				EAP_TRACE_ERROR(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: read_configure: No configured EAP types or all tried unsuccessfully.\n")));
-			}
-
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, eap_status_illegal_configure_field);
-		}
-
-		EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(iTools, status);
-
-	} // if ()
-
-
-#if defined(USE_EAP_FILECONFIG)
-    {
-		status = m_client_config.read_configure(field, data);
-		if (status != eap_status_ok)
-		{
-			if (iFileconfig != 0
-				&& iFileconfig->get_is_valid() == true)
-			{
-				// Here we could try the final configuration option.
-				status = iFileconfig->read_configure(
-					field,
-					data);
-			}
-		}
-    }
-#endif //#if defined(USE_EAP_FILECONFIG)
-
-
-    iTools->trace_configuration(
-        status,
-        field,
-        data);
-
-    EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::set_timer(
-    abs_eap_base_timer_c * const p_initializer, 
-    const u32_t p_id, 
-    void * const p_data,
-    const u32_t p_time_ms) 
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	const eap_status_e status = iTools->am_set_timer(
-		p_initializer, 
-		p_id, 
-		p_data,
-		p_time_ms);
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::cancel_timer(
-    abs_eap_base_timer_c * const p_initializer, 
-    const u32_t p_id) 
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	const eap_status_e status = iTools->am_cancel_timer(
-		p_initializer, 
-		p_id);
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::check_is_valid_eap_type(
-    const eap_type_value_e eap_type) 
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_stack_symbian_c::check_is_valid_eap_type():  %s, %d=%s, this = 0x%08x => 0x%08x, EAP-type=0xfe%06x%08x=%s\n"),
-		(iIsClient == true) ? "client": "server",
-		m_selected_eapol_key_authentication_type,
-		eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type),
-		this,
-		dynamic_cast<abs_eap_base_timer_c *>(this),
-		eap_type.get_vendor_id(),
-		eap_type.get_vendor_type(),
-		eap_header_string_c::get_eap_type_string(eap_type)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::check_is_valid_eap_type()");
-
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS
-		&& eap_type == eap_expanded_type_simple_config.get_type())
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::check_is_valid_eap_type(): WPS does not use CommDbIf anymore.\n")));
-
-		return EAP_STATUS_RETURN(iTools, eap_status_ok);
-	}
-
-
-	for (int ind = 0; ind < iEnabledEapMethodsArray.get_object_count(); ++ind)
-	{
-		const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind);
-
-		if (allowed_eap_method != 0
-			&& eap_type == *allowed_eap_method)
-		{
-			// This is Allowed and Valid.
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, eap_status_ok);
-		}
-	} // for()
-
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("ERROR: %s: check_is_valid_eap_type(): not supported EAP-type=0xfe%06x%08x=%s\n"),
-		 (iIsClient == true ? "client": "server"),
-		 eap_type.get_vendor_id(),
-		 eap_type.get_vendor_type(),
-		 eap_header_string_c::get_eap_type_string(eap_type)));
-
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, eap_status_illegal_eap_type);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::get_eap_type_list(
-    eap_array_c<eap_type_value_e> * const eap_type_list) 
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_stack_symbian_c::get_eap_type_list(): %s, %d=%s, this = 0x%08x => 0x%08x\n"),
-		 (iIsClient == true) ? "client": "server",
-		 m_selected_eapol_key_authentication_type,
-		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type),
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::get_eap_type_list()");
-
-	eap_status_e status(eap_status_illegal_eap_type);
-
-	status = eap_type_list->reset();
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(iTools, status);
-	}
-
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::get_eap_type_list(): WPS does not use CommDbIf anymore.\n")));
-
-		// This is for one expanded EAP type (for the above one).
-		eap_expanded_type_c * expandedEAPType = new eap_type_value_e(eap_expanded_type_simple_config.get_type());
-
-		// Add WPS EAP-type to list.		
-		status = eap_type_list->add_object(expandedEAPType, true);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, status);
-		}
-
-		return EAP_STATUS_RETURN(iTools, eap_status_ok);
-	}
-
-	// This function is same as get_selected_eap_types in behavior.
-
-	// We need to return only the EAP types available as enabled types.
-	// It means only the ones available in m_enabled_expanded_eap_array.
-	
-
-	for (TInt ind = 0; ind < iEnabledEapMethodsArray.get_object_count(); ++ind)
-	{	
-		const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind);
-
-		if (allowed_eap_method != 0
-			&& allowed_eap_method->get_is_valid() == true)
-		{
-			EAP_TRACE_DEBUG(
-				iTools, 
-				TRACE_FLAGS_DEFAULT, 
-				(EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Enabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"),
-				 ind,
-				 allowed_eap_method->get_vendor_id(),
-				 allowed_eap_method->get_vendor_type()));
-
-			status = eap_type_list->add_object(allowed_eap_method->copy(), true);
-			if (status != eap_status_ok)
-			{
-				EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(iTools, status);
-			}
-		}
-	} // for()
-
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::load_module(
-    const eap_type_value_e type,
-    const eap_type_value_e tunneling_type,
-    abs_eap_base_type_c * const partner,
-    eap_base_type_c ** const eap_type,
-    const bool is_client_when_true,
-    const eap_am_network_id_c * const receive_network_id) 
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_stack_symbian_c::load_module(type %d=%s, tunneling_type %d=%s)\n"),
-		convert_eap_type_to_u32_t(type),
-		eap_header_string_c::get_eap_type_string(type),
-		convert_eap_type_to_u32_t(tunneling_type),
-		eap_header_string_c::get_eap_type_string(tunneling_type)));
-
-	EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::load_module()");
-
-	eap_status_e status(eap_status_process_general_error);
-
-	CEapTypePlugin* eapType = 0;
-	TInt error(KErrNone);
-
-	// Check if this EAP type has already been loaded
-	TInt eapArrayIndex = find<eap_type_value_e>(
-		&m_eap_type_array,
-		&type,
-		iTools);
-
-	if (eapArrayIndex >= 0)
-	{
-		// We found the entry in the array.
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_stack_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) already loaded.\n"),
-			convert_eap_type_to_u32_t(type),
-			eap_header_string_c::get_eap_type_string(type),
-			convert_eap_type_to_u32_t(tunneling_type),
-			eap_header_string_c::get_eap_type_string(tunneling_type)));
-
-		// Yep. It was loaded already.
-		eapType = m_plugin_if_array[eapArrayIndex];     
-	}
-	else 
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_stack_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) load new, iIndexType=%d, iIndex=%d.\n"),
-			convert_eap_type_to_u32_t(type),
-			eap_header_string_c::get_eap_type_string(type),
-			convert_eap_type_to_u32_t(tunneling_type),
-			eap_header_string_c::get_eap_type_string(tunneling_type),
-			iIndexType,
-			iIndex));
-
-		TBuf8<KExpandedEAPSize> expanded_type;
-    
-		// Some indirect way of forming the 8 byte string of an EAP type for the cue is needed here.        
-		TUint8 tmp_expanded_type[KExpandedEAPSize];
-
-		// This is to make the tmp_expanded_type in 8 byte string with correct vendor type and vendor id details.
-		status = eap_expanded_type_c::write_type(iTools,
-												0, // index should be zero here.
-												tmp_expanded_type,
-												KExpandedEAPSize,
-												true,
-												type);
-		if (status != eap_status_ok)
-		{
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("load_module: eap_expanded_type_c::write_type(): failed status=%d=%s\n"),
-				status,
-				eap_status_string_c::get_status_string(status)));
-    
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, status);
-		}
-    
-		// Now copy the 8 byte string to the real expanded cue.
-		expanded_type.Copy(tmp_expanded_type, KExpandedEAPSize);
-
-		EAP_TRACE_DATA_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("EAPOL:eap_am_stack_symbian_c::load_module(): expanded_type:"),
-			expanded_type.Ptr(),
-			expanded_type.Size()));
-
-
-		// We must have a trap here since the EAPOL core knows nothing about Symbian.
-		TRAP(error, (eapType = CEapTypePlugin::NewL(
-			expanded_type,
-			iIndexType,
-			iIndex)));   
-		if (error != KErrNone
-			|| eapType == 0)
-		{
-			// Interface not found or implementation creation function failed
-			status = iTools->convert_am_error_to_eapol_error(error);
-			if (status == eap_status_ok)
-			{
-				status = eap_status_allocation_error;
-			}
-
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: ECom could not find/initiate implementation, error=%d, status=%d=%s.\n"),
-				error,
-				status,
-				eap_status_string_c::get_status_string(status)));
-
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, status);
-		}
-	}
-
-
-	{
-		TEapExpandedType expanded_type;
-    
-		error = CEapConversion::ConvertInternalTypeToExpandedEAPType(
-				&tunneling_type,
-				&expanded_type);
-		if (error != KErrNone)
-		{
-			status = iTools->convert_am_error_to_eapol_error(error);
-			EAP_TRACE_DEBUG(
-				iTools,
-				TRACE_FLAGS_DEFAULT,
-				(EAPL("ERROR: CEapConversion::ConvertInternalTypeToExpandedEAPType(): failed error=%d, status=%d=%s\n"),
-				error,
-				status,
-				eap_status_string_c::get_status_string(status)));
-			EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-			return EAP_STATUS_RETURN(iTools, status);
-		}
-
-		eapType->SetTunnelingType(expanded_type);
-	}
-
-	// Create the EAP protocol interface implementation.
-
-	TRAP(error, (*eap_type = eapType->GetStackInterfaceL(iTools, 
-		partner, 
-		is_client_when_true, 
-		receive_network_id,
-		this)));
-
-	if (error != KErrNone 
-		|| *eap_type == 0 
-		|| (*eap_type)->get_is_valid() == false)
-	{
-		status = iTools->convert_am_error_to_eapol_error(error);
-		if (status == eap_status_ok)
-		{
-			status = eap_status_allocation_error;
-		}
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Could not create EAP type interface instance. error=%d, status=%d=%s\n"),
-			error,
-			status,
-			eap_status_string_c::get_status_string(status)));
-
-		if  (eapArrayIndex == KErrNotFound)
-		{
-			// No need to call shutdown here because GetStackInterfaceL has done it.
-			delete eapType;
-		}
-		// Note: even in error cases eap_core_c deletes eap_type
-	}
-	else
-	{
-		status = eap_status_ok;
-		if (eapArrayIndex  == KErrNotFound)
-		{
-			// Add plugin information to the member arrays. There is no need to store eap_type pointer because
-			// the stack takes care of its deletion.
-			if (m_plugin_if_array.Append(eapType) != KErrNone)
-			{
-				delete eapType;
-				status = eap_status_allocation_error;
-				EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(iTools, status);               
-			}
-
-			eap_type_value_e * tmpEAPType = new eap_type_value_e();
-			if(tmpEAPType == NULL)
-			{
-				EAP_TRACE_DEBUG(
-					iTools,
-					TRACE_FLAGS_DEFAULT,
-					(EAPL("ERROR: eap_am_stack_symbian_c::load_module() eap_type_value_e creation failed\n")));
-				EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(iTools, eap_status_allocation_error);              
-			}
-        
-			*tmpEAPType = type;
-        
-			status = m_eap_type_array.add_object(tmpEAPType, true);
-        
-			if (status != eap_status_ok)            
-			{
-				// Remove the eap type added just previously
-				m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1);
-				delete eapType;
-				status = eap_status_allocation_error;
-				EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-				return EAP_STATUS_RETURN(iTools, status);               
-			}
-		} 
-	}
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-void eap_am_stack_symbian_c::RunL()
-{
-    EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);   
-    EAP_TRACE_DEBUG(
-        iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("eap_am_stack_symbian_c::RunL(): iStatus.Int() = %d\n"),
-        iStatus.Int()));
-
-    if (iStatus.Int() != KErrNone)
-    {
-        EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-        return;
-    }
-
-    // Authentication cancelled.
-    EAP_TRACE_ALWAYS(
-        iTools,
-        TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
-        (EAPL("Authentication cancelled.\n")));
-
-    // Reset index of current EAP-type.
-    set_current_eap_index(0ul);
-
-    EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); 
-}
-
-//--------------------------------------------------
-
-void eap_am_stack_symbian_c::read_configureL(
-    const TDesC& aDbName,
-    const TDesC& aTableName,
-    eap_config_string field,
-    const u32_t /*field_length*/,
-    eap_variable_data_c * const data)
-{   
-    EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-    
-    EAP_TRACE_DEBUG(
-        iTools, 
-        TRACE_FLAGS_DEFAULT, 
-        (EAPL("eap_am_stack_symbian_c::read_configureL(): %s, %d=%s, this = 0x%08x => 0x%08x\n"),
-         (iIsClient == true) ? "client": "server",
-		 m_selected_eapol_key_authentication_type,
-		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type),
-         this,
-         dynamic_cast<abs_eap_base_timer_c *>(this)));
-    
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::read_configureL()");
-
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::read_configureL(): WPS does not use CommDbIf anymore.\n")));
-		User::Leave(KErrNotSupported);
-	}
-
-    // Open database
-    RDbNamedDatabase db;
-
-    User::LeaveIfError(db.Open(iSession, aDbName, KEapSecureUIDFormat));  
-    
-    CleanupClosePushL(db);
-
-	const TUint BUFFER_SIZE = 128ul;
-
-    // Create a buffer for the ascii strings - initialised with the argument
-    HBufC8* asciibuf = HBufC8::NewLC(BUFFER_SIZE);
-    TPtr8 asciiString = asciibuf->Des();
-    asciiString.Copy(reinterpret_cast<const unsigned char *>(field));
-        
-    // Buffer for unicode parameter
-    HBufC* unicodebuf = HBufC::NewLC(BUFFER_SIZE);
-    TPtr unicodeString = unicodebuf->Des();
-    
-    // Convert to unicode 
-    unicodeString.Copy(asciiString);
-
-    // Now do the database query
-    HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
-    TPtr sqlStatement = buf->Des();
-    _LIT(KSQLQueryRow, "SELECT %S FROM %S");
-    sqlStatement.Format( KSQLQueryRow, &unicodeString, &aTableName );
-    
-    RDbView view;
-    User::LeaveIfError(view.Prepare(db, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
-    CleanupClosePushL(view);
-    User::LeaveIfError(view.EvaluateAll()); 
-    if (view.FirstL())
-    {
-        eap_status_e status(eap_status_process_general_error);
-		const TDbColNo FIRST_COLUMN = 1ul;
-        view.GetL();        
-        switch (view.ColType(FIRST_COLUMN))
-        {
-        case EDbColText:                
-            {
-                unicodeString = view.ColDes(FIRST_COLUMN);
-                // Convert to 8-bit
-                asciiString.Copy(unicodeString);
-                if (asciiString.Size() > 0)
-                {
-                    status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size());
-                    if (status != eap_status_ok)
-                    {
-                        User::Leave(KErrNoMemory);
-                    }
-                } 
-            }
-            break;
-        case EDbColUint32:
-            {
-                TUint value;
-                value = view.ColUint32(FIRST_COLUMN);
-                status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value));
-                if (status != eap_status_ok)
-                {
-                    User::Leave(KErrNoMemory);
-                }
-            }
-            break;
-        default:
-            EAP_TRACE_DEBUG(
-                iTools,
-                TRACE_FLAGS_DEFAULT,
-                (EAPL("read_configureL: Unexpected column type.\n")));
-            User::Panic(_L("EAPOL"), 1);            
-        }
-    } 
-    else 
-    {
-        // Could not find parameter
-        EAP_TRACE_DEBUG(
-            iTools,
-            TRACE_FLAGS_DEFAULT,
-            (EAPL("read_configureL: Could not find configuration parameter.\n")));
-        User::Leave(KErrNotFound);
-    }       
-    
-    // Close database
-    CleanupStack::PopAndDestroy(&view);
-    CleanupStack::PopAndDestroy(buf);
-    CleanupStack::PopAndDestroy(unicodebuf);
-    CleanupStack::PopAndDestroy(asciibuf);
-    CleanupStack::PopAndDestroy(&db);
-
-
-    EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-//
-void eap_am_stack_symbian_c::DoCancel()
-{   
-    EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-    EAP_TRACE_DEBUG(
-        iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("eap_am_stack_symbian_c::DoCancel()\n")));
-
-    EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); 
-}
-
-//----------------------------------------------------------------------------
-
-TInt eap_am_stack_symbian_c::RunError(TInt aError)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_stack_symbian_c::RunError(): aError=%d, this=0x%08x\n"),
-		aError,
-		this));
-
-	return aError;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::save_simple_config_session(
-    const simple_config_state_e state,
-    EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array,
-    const eap_variable_data_c * const new_password,
-    const simple_config_Device_Password_ID_e Device_Password_ID,
-    const simple_config_payloads_c * const other_configuration)
-{
-    EAP_TRACE_DEBUG(
-        iTools,
-        TRACE_FLAGS_DEFAULT,
-        (EAPL("%s: eap_am_stack_symbian_c::save_simple_config_session()\n"),
-        (iIsClient == true ? "client": "server")));
-
-    eap_status_e status(eap_status_ok);
-
-    status = iConfigurationIf->save_simple_config_session(
-        state,
-        credential_array,
-        new_password,
-        Device_Password_ID,
-        other_configuration);
-
-    EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-    return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-//
-void eap_am_stack_symbian_c::ReadEAPSettingsL()
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): %s, %d=%s, this = 0x%08x => 0x%08x\n"),
-		 (iIsClient == true) ? "client": "server",
-		 m_selected_eapol_key_authentication_type,
-		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type),
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::ReadEAPSettingsL()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS
-		|| iIndex == 0)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): WPS does not use CommDbIf anymore.\n")));
-		return;
-	}
-
-	status = reset_eap_plugins();
-	if (status != eap_status_ok)
-	{
-		EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-		User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-	}
-
-	if (iIndexType == ELan
-		|| iIndexType == EVpn)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Beginning to read IAP settings - Type: %d, Index: %d.\n"), iIndexType, iIndex));
-
-
-		{
-			{
-				eap_am_general_settings_symbian_c * const general_setting = new eap_am_general_settings_symbian_c(iTools);
-
-				if (general_setting == 0)
-				{
-					User::Leave(KErrNoMemory);
-				}
-				if (general_setting->get_is_valid() == false)
-				{
-					general_setting->shutdown();
-					delete general_setting;
-					User::Leave(KErrNoMemory);
-				}
-
-				status = general_setting->configure();
-				if (status != eap_status_ok)
-				{
-					general_setting->shutdown();
-					delete general_setting;
-					User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-				}
-
-				status = general_setting->read_eap_methods_synchronously(
-					iIndexType,
-					iIndex,
-					&iEnabledEapMethodsArray,
-					&iDisabledEapMethodsArray);
-
-				general_setting->shutdown();
-				delete general_setting;
-			}
-
-			if (status != eap_status_ok)
-			{
-				User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status)));
-			}
-
-			// Trace enabled.
-			for (TInt ind = 0; ind < iEnabledEapMethodsArray.get_object_count(); ++ind)
-			{	
-				const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind);
-
-				if (allowed_eap_method != 0
-					&& allowed_eap_method->get_is_valid() == true)
-				{
-					EAP_TRACE_DEBUG(
-						iTools, 
-						TRACE_FLAGS_DEFAULT, 
-						(EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Enabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"),
-						 ind,
-						 allowed_eap_method->get_vendor_id(),
-						 allowed_eap_method->get_vendor_type()));
-				}
-			} // for()
-
-			// Trace disabled.
-			for (TInt ind = 0; ind < iDisabledEapMethodsArray.get_object_count(); ++ind)
-			{	
-				const eap_type_value_e * const allowed_eap_method = iDisabledEapMethodsArray.get_object(ind);
-
-				if (allowed_eap_method != 0
-					&& allowed_eap_method->get_is_valid() == true)
-				{
-					EAP_TRACE_DEBUG(
-						iTools, 
-						TRACE_FLAGS_DEFAULT, 
-						(EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Disabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"),
-						 ind,
-						 allowed_eap_method->get_vendor_id(),
-						 allowed_eap_method->get_vendor_type()));
-				}
-			} // for()
-		}
-
-
-	} 
-	else
-	{
-		// Unsupported bearer.
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: eap_am_stack_symbian_c::ReadEAPSettingsL() - LEAVE - unsupported bearer\n")));
-
-		User::Leave(KErrNotSupported);
-	}
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-void eap_am_stack_symbian_c::SetToTopPriorityL(const eap_type_value_e /* aEapType */)
-{
-	EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT);
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_stack_symbian_c::SetToTopPriorityL() - for EXP EAP types, %d=%s\n"),
-		 m_selected_eapol_key_authentication_type,
-		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::SetToTopPriorityL()");
-
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS)
-	{
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::SetToTopPriorityL(): WPS does not use CommDbIf anymore.\n")));
-		return;
-	}
-
-	if (iIndexType == ELan
-		|| iIndexType == EVpn)
-	{
-
-
-
-	} 
-	else
-	{
-		// Unsupported bearer.
-
-		EAP_TRACE_DEBUG(
-			iTools,
-			TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: eap_am_stack_symbian_c::SetToTopPriorityL() - LEAVE - unsupported bearer\n")));
-		
-		User::Leave(KErrNotSupported);
-	}
-		
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::set_eap_database_reference_values(
-                const eap_variable_data_c * const reference)
-{
-    eap_status_e status(eap_status_ok);
-
-	EAP_TRACE_DEBUG(
-		iTools, 
-		TRACE_FLAGS_DEFAULT, 
-		(EAPL("eap_am_stack_symbian_c::set_eap_database_reference_values(): %s, this = 0x%08x => 0x%08x\n"),
-		 (iIsClient == true) ? "client": "server",
-		 this,
-		 dynamic_cast<abs_eap_base_timer_c *>(this)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::set_eap_database_reference_values()");
-
-	const eapol_wlan_database_reference_values_s * const database_reference_values
-		= reinterpret_cast<eapol_wlan_database_reference_values_s *>(
-		reference->get_data(sizeof(eapol_wlan_database_reference_values_s)));
-	if (database_reference_values == 0)
-	{
-		EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-		return EAP_STATUS_RETURN(iTools, eap_status_allocation_error);
-	}
-
-	iIndexType = static_cast<TIndexType>(database_reference_values->m_database_index_type);
-	iIndex = database_reference_values->m_database_index;
-
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("eap_am_stack_symbian_c::set_eap_database_reference_values(): iIndexType=%d, iIndex=%d.\n"),
-		 iIndexType,
-		 iIndex));
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-    return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-TInt eap_am_stack_symbian_c::get_current_eap_index()
-{
-	return iCurrentEapIndex;
-}
-
-//--------------------------------------------------
-
-void eap_am_stack_symbian_c::set_current_eap_index(const TInt ind)
-{
-	iCurrentEapIndex = ind;
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::get_802_11_authentication_mode(
-	const eap_am_network_id_c * const receive_network_id,
-	const eapol_key_authentication_type_e authentication_type)
-{
-	EAP_TRACE_DEBUG(
-		iTools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("%s: eap_am_stack_symbian_c::get_802_11_authentication_mode(): %d=%s\n"),
-		("client"),
-		 authentication_type,
-		 eapol_key_state_string_c::get_eapol_key_authentication_type_string(authentication_type)));
-
-    EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::get_802_11_authentication_mode()");
-
-	eap_status_e status(eap_status_ok);
-	eap_expanded_type_c expandedEAPType(eap_type_none);
-	u32_t ind_type = 0ul;
-
-	m_selected_eapol_key_authentication_type = authentication_type;
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	status = reset_eap_configuration();
-    if (status != eap_status_ok)
-    {
-        EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-        return EAP_STATUS_RETURN(iTools, status);
-    }
-
-    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-	for (ind_type = 0; ind_type < iEnabledEapMethodsArray.get_object_count(); ++ind_type)
-	{	
-		const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind_type);
-
-		if (allowed_eap_method != 0
-			&& allowed_eap_method->get_is_valid() == true)
-		{
-			EAP_TRACE_DEBUG(
-				iTools, 
-				TRACE_FLAGS_DEFAULT, 
-				(EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Enabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"),
-				 ind_type,
-				 allowed_eap_method->get_vendor_id(),
-				 allowed_eap_method->get_vendor_type()));
-
-			if (*allowed_eap_method != eap_type_none)
-			{
-				expandedEAPType = *allowed_eap_method;
-				break;
-			}
-		}
-	} // for()
-
-
-	if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS)
-	{
-		expandedEAPType = eap_expanded_type_simple_config.get_type();
-	}
-	else if (ind_type >= iEnabledEapMethodsArray.get_object_count())
-	{
-		// No enabled EAP types.
-		EAP_TRACE_ALWAYS(
-			iTools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: No enabled EAP types.\n")));
-		EAP_TRACE_ALWAYS(
-			iTools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT,
-			(EAPL("ERROR: Indication sent to WLM: eap_status_failed_completely.\n")));
-
-		status = iPartner->complete_get_802_11_authentication_mode(
-			eap_status_illegal_eap_type,
-			receive_network_id,
-			eapol_key_802_11_authentication_mode_none);
-
-		EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);	
-		return EAP_STATUS_RETURN(iTools, status);
-	}	
-
-	eapol_key_802_11_authentication_mode_e a802_11_authentication_mode(eapol_key_802_11_authentication_mode_none);
-
-	if (expandedEAPType == eap_type_leap)
-	{
-		if (authentication_type == eapol_key_authentication_type_dynamic_WEP)
-		{
-			// LEAP uses it's own 802.11 authentication mode when 802.1X (dynamic WEP) is used.
-			a802_11_authentication_mode = eapol_key_802_11_authentication_mode_leap;
-
-			EAP_TRACE_ALWAYS(
-				iTools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("start_authentication(): Trying auth mode LEAP (802.1x mode).\n")));
-		}
-		else
-		{
-			// If security mode is WPA or RSNA then even LEAP uses open authentication!
-			a802_11_authentication_mode = eapol_key_802_11_authentication_mode_open;
-
-			EAP_TRACE_ALWAYS(
-				iTools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("start_authentication(): Trying auth mode OPEN (LEAP in WPA mode).\n")));
-		}
-
-	}
-	else
-	{
-		a802_11_authentication_mode = eapol_key_802_11_authentication_mode_open;
-
-		EAP_TRACE_ALWAYS(
-			iTools,
-			TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-			(EAPL("start_authentication(): Trying auth mode OPEN.\n")));
-	}
-
-	status = iPartner->complete_get_802_11_authentication_mode(
-		status,
-		receive_network_id,
-		a802_11_authentication_mode);
-
-	EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT);
-	return EAP_STATUS_RETURN(iTools, status);
-}
-
-//--------------------------------------------------
-
-EAP_FUNC_EXPORT eap_am_stack_c * new_eap_am_stack_c(class abs_eap_am_tools_c * tools, bool is_client_when_true)
-{
-    eap_am_stack_symbian_c * am_stack = new eap_am_stack_symbian_c(tools, is_client_when_true);
-
-	eap_automatic_variable_c<eap_am_stack_c> automatic_am_stack(
-		tools,
-		am_stack);
-
-	if (am_stack == 0
-		|| am_stack->get_is_valid() == false)
-	{
-		// ERROR.
-		if (am_stack != 0)
-		{
-			EAP_TRACE_DEBUG(
-				tools,
-				TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
-				(EAPL("calls: new_eap_am_stack_c(): am_stack->shutdown(): %s.\n"),
-				(is_client_when_true == true) ? "client": "server"));
-
-			am_stack->shutdown();
-		}
-		return 0;
-	}
-
-	automatic_am_stack.do_not_free_variable();
-
-    return am_stack;
-}
-
-//--------------------------------------------------
-// end
-
--- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  EAP and WLAN authentication protocols.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-#include "eap_loaded_type.h"
-#include "eap_expanded_type.h"
-
-/** @file */
-
-//--------------------------------------------------
-
-eap_loaded_type_c::eap_loaded_type_c(
-	abs_eap_am_tools_c * const tools,
-	CEapTypePlugin * const type_plugin,
-	const eap_type_value_e eap_type,
-	const u32_t index_type,
-	const u32_t index)
-	: m_am_tools(tools)
-	, m_type_plugin(type_plugin)
-	, m_eap_type(eap_type)
-	, m_index_type(index_type)
-	, m_index(index)
-{
-}
-
-//--------------------------------------------------
-
-eap_loaded_type_c::~eap_loaded_type_c()
-{
-	delete m_type_plugin;
-}
-
-//--------------------------------------------------
-
-i32_t eap_loaded_type_c::compare(const eap_loaded_type_c * const right)
-{
-	if (get_index_type() != right->get_index_type())
-	{
-		return static_cast<i32_t>(get_index_type()) - static_cast<i32_t>(right->get_index_type());
-	}
-	else if (get_index() != right->get_index())
-	{
-		return static_cast<i32_t>(get_index()) - static_cast<i32_t>(right->get_index());
-	}
-	else
-	{
-		// Compares the EAP-type.
-		return get_eap_type().compare(&(right->get_eap_type()));
-	}
-}
-
-//--------------------------------------------------
-
-CEapTypePlugin * eap_loaded_type_c::get_type_plugin()
-{
-	return m_type_plugin;
-}
-
-//--------------------------------------------------
-
-eap_type_value_e eap_loaded_type_c::get_eap_type() const
-{
-	return m_eap_type;
-}
-
-//--------------------------------------------------
-
-u32_t eap_loaded_type_c::get_index_type() const
-{
-	return m_index_type;
-}
-
-//--------------------------------------------------
-
-u32_t eap_loaded_type_c::get_index() const
-{
-	return m_index;
-}
-
-//--------------------------------------------------
-// End
--- a/eapol/eapol_framework/eapol_symbian/group/backup_registration.xml	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" standalone="yes"?> 
-<backup_registration> 
-	<passive_backup> 
-	<include_directory name = "\" /> 
-	</passive_backup> 
-	<restore requires_reboot = "no"/> 
-</backup_registration>
--- a/eapol/eapol_framework/eapol_symbian/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 37 %
+* %version: 3 %
 */
 
 #include <platform_paths.hrh>
@@ -26,57 +26,41 @@
 
 PRJ_EXPORTS
 
-
+// Exporting IBY file (only for 5.0).
 ../rom/eapol.iby	CORE_MW_LAYER_IBY_EXPORT_PATH(eapol.iby) 
 
-// Secure policy file for saving all EAPOL and EAP databases in DBMS.
+// Secure policy file for saving all EAPOL AND EAP databases in DBMS.
 ../am/include/102072e9.spd 	/epoc32/data/z/private/100012a5/policy/102072e9.spd
 ../am/include/102072e9.spd  /epoc32/release/winscw/udeb/z/private/100012a5/policy/102072e9.spd
 ../am/include/102072e9.spd  /epoc32/release/winscw/urel/z/private/100012a5/policy/102072e9.spd
 
-// Backup registration file for backing up all EAPOL databases. Exported to the private cage path of WLAN engine.
+// Backup registration file for backing up all EAPOL related databases. Exported to the private cage path for WLAN engine.
 backup_registration_eapol.xml  /epoc32/data/z/private/101F8EC5/backup_registration_eapol.xml
 backup_registration_eapol.xml  /epoc32/release/winscw/udeb/z/private/101F8EC5/backup_registration_eapol.xml
 backup_registration_eapol.xml  /epoc32/release/winscw/urel/z/private/101F8EC5/backup_registration_eapol.xml
 
-// Backup registration file for backing up all EAP server databases. Exported to the private cage path of EAP server.
-backup_registration.xml  /epoc32/data/z/private/20026FCB/backup_registration.xml
-backup_registration.xml  /epoc32/release/udeb/urel/z/private/20026FCB/backup_registration.xml
-backup_registration.xml  /epoc32/release/winscw/urel/z/private/20026FCB/backup_registration.xml
-
-// copy EAPOL configuration file to WLAN server's private cage path
+// Copies configuration file of EAPOL.
 ../am/core/symbian/file_config/eap_symbian.conf  /epoc32/data/z/private/101F8EC5/eap.conf
 ../am/core/symbian/file_config/eap_symbian.conf  /epoc32/release/winscw/udeb/z/private/101F8EC5/eap.conf
 ../am/core/symbian/file_config/eap_symbian.conf  /epoc32/release/winscw/urel/z/private/101F8EC5/eap.conf
 
-// copy EAP server configuration file to EAP server's the private cage path
-../am/core/symbian/file_config/eap_symbian.conf  /epoc32/data/z/private/20026FCB/eap.conf
-../am/core/symbian/file_config/eap_symbian.conf  /epoc32/release/winscw/udeb/z/private/20026FCB/eap.conf
-../am/core/symbian/file_config/eap_symbian.conf  /epoc32/release/winscw/urel/z/private/20026FCB/eap.conf
+#ifndef __SERIES60_HELP
+../am/type/securid/symbian/plugin/inc/eapgtc.hlp.hrh     /epoc32/include/cshelp/eapgtc.hlp.hrh
+../am/type/mschapv2/symbian/plugin/inc/eapmschap.hlp.hrh /epoc32/include/cshelp/eapmschap.hlp.hrh
+../am/type/tls_peap/symbian/plugin/inc/eappeap.hlp.hrh   /epoc32/include/cshelp/eappeap.hlp.hrh
+../am/type/gsmsim/symbian/plugin/inc/eapsim.hlp.hrh      /epoc32/include/cshelp/eapsim.hlp.hrh
+../am/type/tls_peap/symbian/plugin/inc/eaptls.hlp.hrh    /epoc32/include/cshelp/eaptls.hlp.hrh
+#endif
+
+#ifndef __SERIES60_HELP
+// EAP-LEAP is part of WPX. You need special release to compile this. However the header is needed.
+../am/type/leap/symbian/plugin/inc/eapleap.hlp.hrh /epoc32/include/cshelp/eapleap.hlp.hrh
+#endif
+
 
 PRJ_MMPFILES
 
-// Tools libraries are needed by other modules. Must be built first.
-#include "../tools/group/bld.inf"
-
-eap_notifier.mmp
-
-// eap server
-eapauthserver.mmp
-
-// eap server exe
-eapauthserverexe.mmp
-
-// eapclientif
-eapclientif.mmp
-
-// coreinterfaceimplementation
-eapcoreinterfaceimplementation.mmp
-
-// coreinterface
-eapcoreinterface.mmp
-
-// compiles EAPOL WPX stub
+// This compiles stub of EAPOL WPX, the empty functions that implement WPX.
 eapolwpxstub.mmp
 
 // This is the basic set that should always be compiled for every environment.
@@ -86,14 +70,14 @@
 eapmschapv2.mmp
 eapsecurid.mmp
 eapaka.mmp
-eapprotectedsetup.mmp
-eapgeneric.mmp
-eapgeneralsettings.mmp
 
-// Interface for providing EAP authentication services to VPN
+// API for VPN.
 eapvpnif.mmp
 
-// Iterface for providing authentication services to WLAN
+eapprotectedsetup.mmp
+
+// API for WLAN-engine.
 wlaneapolif.mmp
 
+
 // End of file.
--- a/eapol/eapol_framework/eapol_symbian/group/eap_notifier.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  Project definition file for eap_notifier
-*
-*/
-
-/*
-* %version:  %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-
-TARGET        eap_notifier.dll
-TARGETTYPE    dll
-
-UID           0x1000008d 0x2002E6F1
-
-CAPABILITY    All -TCB
-
-deffile eap_notifier.def
-
-SOURCEPATH    ../am/eap_notifier/src
-SOURCE        eap_auth_notifier.cpp
-SOURCE        eap_auth_observer.cpp
-
-USERINCLUDE   ../am/eap_notifier/inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY       euser.lib
-LIBRARY	      eapsymbiantools.lib 
-LIBRARY	      eaptools.lib
-LIBRARY		  HbCore.lib
-LIBRARY	      HbWidgets.lib
-
-
--- a/eapol/eapol_framework/eapol_symbian/group/eapaka.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapaka.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 17.1.12 %
+* %version: 17.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -29,8 +29,6 @@
 TARGET	eapaka.dll
 UID		0x10009d8d 0x102073c1
 
-deffile eapaka.def
-
 SOURCEPATH    ../am/type/aka/symbian/plugin/src
 
 START RESOURCE 102073c1.rss
@@ -57,7 +55,15 @@
 SOURCE      eap_type_aka_header.cpp
 SOURCE		eap_type_aka_authentication_vector.cpp
 
+SOURCEPATH    ../am/common/symbian
+SOURCE		  eap_am_trace_symbian.cpp
 
+SOURCEPATH    	../am/type/aka/symbian/plugin/src
+SOURCE		  	EapAkaUiConnection.cpp
+SOURCE        	EapAkaUiDataConnection.cpp
+SOURCE        	EapAkaUiAkaData.cpp
+LIBRARY       	avkon.lib
+STATICLIBRARY 	eapakaui.lib
 
 USERINCLUDE		../am/include
 USERINCLUDE		../am/type/symbian/plugin/include
@@ -68,9 +74,13 @@
 USERINCLUDE  	../am/type/aka/symbian/plugin/inc
 USERINCLUDE   ../../eapol_common/type
 
+//SYSTEMINCLUDE 	/epoc32/include/ecom
+//SYSTEMINCLUDE 	/epoc32/include/libc
+//SYSTEMINCLUDE 	/epoc32/include/cshelp
+
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-LIBRARY     euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib 
+LIBRARY     euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib 
 LIBRARY		cone.lib eikcoctl.lib eikctl.lib bafl.lib
 LIBRARY		estor.lib	// For RReadStream
 
@@ -88,7 +98,5 @@
 LIBRARY     eikcore.lib
 LIBRARY     hlplch.lib
 LIBRARY		featmgr.lib
-
-
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapauthserver.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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:  Project definition file for eapauthserver
-*
-*/
-
-/*
-* %version:  33 %
-*/
-
-//-------------------------------------------------------------------
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-//-------------------------------------------------------------------
-CAPABILITY ALL -TCB
-VENDORID VID_DEFAULT
-
-TARGET			EapAuthServer.dll
-TARGETTYPE		dll
-UID			0x1000008d  0x20026807
-
-///////////////////////////////////////////////////////////////////
-
-LANG	SC
-
-
-//USERINCLUDE ../../wapi_symbian/wapi_client/include/
-//USERINCLUDE ../../wapi_symbian/wapi_server/include/
-//USERINCLUDE ../../wapi_symbian/wapi_adaptation/
-USERINCLUDE ../eap_if/include
-USERINCLUDE ../eap_server/include
-USERINCLUDE ../../eapol_common/am/include
-USERINCLUDE ../../eapol_common/include
-USERINCLUDE ../../eapol_symbian/am/include
-USERINCLUDE ../../eapol_symbian/am/include/eaptlspeap_db_api_inc
-USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include
-USERINCLUDE ../../eapol_symbian/am/type/fast/symbian/inc
-USERINCLUDE ../../eapol_common/type/tls_peap/eap/include/
-USERINCLUDE ../../eapol_common/type/tls_peap/tls/include/
-#if defined(USE_FAST_EAP_TYPE)
-USERINCLUDE ../../eapol_common/type/tls_peap/tls/include/wpx
-#endif
-USERINCLUDE ../am/type/tls_peap/symbian/plugin/inc
-USERINCLUDE ../am/type/ttls_pap/symbian/inc
-USERINCLUDE ../am/type/symbian/plugin/include
-
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/kernel 
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/libc/netinet
-
-SOURCEPATH ../eap_server/src/
-SOURCE EapCoreIf.cpp
-SOURCE EapPluginIf.cpp
-SOURCE EapServerProcessHandler.cpp
-SOURCE EapScheduler.cpp
-SOURCE EapServer.cpp
-SOURCE EapServerExe.cpp
-SOURCE EapSession.cpp
-SOURCE EapSettingsIf.cpp
-SOURCE eap_am_general_settings_symbian.cpp
-SOURCE eap_am_plugin_symbian.cpp
-SOURCE eap_am_stack_symbian.cpp
-SOURCE eap_loaded_type.cpp
-SOURCE EapServerBackup.cpp
-
-SOURCEPATH ../eap_if/src/
-SOURCE EapClientIf.cpp
-
-SOURCEPATH ../../eapol_common/core
-SOURCE eap_core_server_message_if.cpp
-SOURCE eap_plugin_server_message_if.cpp
-SOURCE eap_general_settings_server_message_if.cpp
-SOURCE eapol_key_state_string.cpp
-
-
-SOURCEPATH  ../../eapol_common/common
-SOURCE		eap_method_settings.cpp
-
-SOURCEPATH    ../am/type/tls_peap/symbian/plugin/src
-SOURCE		  EapTlsPeapCertFetcher.cpp
-
-SOURCEPATH	../am/common/symbian
-SOURCE EapConfigToolsSymbian.cpp
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-LIBRARY  eaptools.lib eaptrace.lib eapsymbiantools.lib
-
-LIBRARY		euser.lib ecom.lib efsrv.lib cone.lib
-LIBRARY		etelmm.lib etel.lib	// For ETel connection
-LIBRARY		hash.lib random.lib cryptography.lib asn1.lib
-LIBRARY     estor.lib edbms.lib // for RReadStream and RDbColReadStream
-LIBRARY     charconv.lib 
-LIBRARY bafl.lib
-LIBRARY estlib.lib // For memcmp, used in NRC ECC library.
-
-// JPH: EapTlsPeapCertFetcher.cpp requires
-LIBRARY		  x509certnameparser.lib		// For parsing of certificate label. 
-LIBRARY	    x509.lib crypto.lib certstore.lib ctframework.lib pkixcert.lib
-LIBRARY		x500.lib eikctl.lib egul.lib fbscli.lib
-
-#if defined(USE_FAST_EAP_TYPE)
-LIBRARY		pacstoreif.lib
-#endif
-
-
-//-------------------------------------------------------------------
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapauthserverexe.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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:  Project definition file for eapauthserverexe
-*
-*/
-
-/*
-* %version:  14 %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-TARGET 		EapAuthServerExe.exe
-TARGETTYPE 	exe
-TARGETPATH    /System/Libs
-UID           0x1000008c 0x20026fcb
-CAPABILITY    CAP_SERVER CommDD NetworkControl
-VENDORID      VID_DEFAULT
-
-USERINCLUDE ../../eapol_symbian/am/include
-USERINCLUDE ../../wapi_symbian/wapi_client/include/
-USERINCLUDE ../../wapi_symbian/wapi_server/include/
-USERINCLUDE ../../wapi_symbian/wapi_adaptation/
-USERINCLUDE ../eap_if/include
-USERINCLUDE ../eap_server/include
-USERINCLUDE ../../eapol_common/am/include
-USERINCLUDE ../../eapol_common/include
-USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include
-
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/kernel 
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/libc/netinet
-
-SOURCEPATH ../eap_server/src/
-SOURCE EapServerExe.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY 		euser.lib ecom.lib EapAuthServer.lib
-
-
-EPOCSTACKSIZE 0x4000
-
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/group/eapclientif.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Project definition file for project EAPOL
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-TARGETTYPE    DLL
-
-TARGET	eapclientif.dll
-UID		0x10009d8d 0x20027033
-
-
-SYSTEMINCLUDE /epoc32/include/ecom
-
-USERINCLUDE	../am/include
-USERINCLUDE	../am/type/symbian/plugin/include
-USERINCLUDE	../../eapol_common
-USERINCLUDE	../../eapol_common/include
-USERINCLUDE	../../eapol_common/am/include
-USERINCLUDE	../am/type/generic/symbian/plugin/inc
-USERINCLUDE	../../eapol_common/type
-USERINCLUDE	../../eapol_common/type/simple_config/simple_config/include/
-USERINCLUDE	../eap_server/include
-USERINCLUDE	../eap_if/include
-
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-SOURCEPATH  ../eap_if/src
-SOURCE REapSession.cpp
-SOURCE EapClientIf.cpp
-
-LIBRARY		euser.lib ecom.lib eapauthserver.lib eaptools.lib eaptrace.lib
-
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/group/eapcoreinterface.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Project definition file for project EAPOL
-*
-*/
-
-/*
-* %version: 17 %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-TARGETTYPE    DLL
-
-TARGET	eapcoreinterface.dll
-UID		0x10009d8d 0x20026FEC
-
-SYSTEMINCLUDE /epoc32/include/ecom
-
-USERINCLUDE	../am/include
-USERINCLUDE	../am/type/symbian/plugin/include
-USERINCLUDE	../../eapol_common
-USERINCLUDE	../../eapol_common/include
-USERINCLUDE	../../eapol_common/am/include
-USERINCLUDE	../am/type/generic/symbian/plugin/inc
-USERINCLUDE	../../eapol_common/type
-USERINCLUDE	../../eapol_common/type/simple_config/simple_config/include/
-USERINCLUDE	../eap_server/include
-USERINCLUDE	../eap_if/include
-
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-SOURCEPATH  ../eap_if/src
-//SOURCE eap_am_message_if_symbian.cpp
-SOURCE EapCoreInterface.cpp
-
-LIBRARY eapclientif.lib eaptools.lib eapsymbiantools.lib eaptrace.lib
-LIBRARY	euser.lib edbms.lib efsrv.lib ecom.lib
-
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/group/eapcoreinterfaceimplementation.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Project definition file for project EAPOL
-*
-*/
-
-/*
-* %version: 9 %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-TARGETTYPE PLUGIN
-
-TARGET	EapCoreInterfaceImplementation.dll
-UID		0x10009D8D 0x20026FCD
-SECUREID 0x20026FCD
-
-deffile eapcoreinterfaceimplementation.def
-
-SOURCEPATH  ../eap_if/data
-START RESOURCE 20026fcd.rss
-TARGET EapCoreInterfaceImplementation
-END
-
-/*
-SOURCEPATH  ../eap_if/data
-START RESOURCE 20026fd3.rss
-	TARGET EapPlugin.rsc
-END
-*/
-
-SYSTEMINCLUDE /epoc32/include/ecom
-
-USERINCLUDE	../am/include
-USERINCLUDE	../am/type/symbian/plugin/include
-USERINCLUDE	../../eapol_common
-USERINCLUDE	../../eapol_common/include
-USERINCLUDE	../../eapol_common/am/include
-USERINCLUDE	../am/type/generic/symbian/plugin/inc
-USERINCLUDE	../../eapol_common/type
-USERINCLUDE	../../eapol_common/type/simple_config/simple_config/include/
-USERINCLUDE	../eap_server/include
-USERINCLUDE	../eap_if/include
-
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-SOURCEPATH  ../eap_if/src
-SOURCE EapCoreInterfaceImplementation.cpp
-SOURCE EapClientIf.cpp
-
-LIBRARY		euser.lib ecom.lib eapclientif.lib eaptools.lib eaptrace.lib eapsymbiantools.lib
-
-
-// end
--- a/eapol/eapol_framework/eapol_symbian/group/eapgeneralsettings.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2001-2006 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:  Project definition file for project EAP-general settings.
-*
-*/
-
-/*
-* %version: 22 %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-TARGETTYPE    PLUGIN
-
-TARGET	eapgeneralsettings.dll
-UID		0x10009d8d 0x20026FD6
-
-deffile eapgeneralsettings.def
-
-SOURCEPATH  ../eap_if/data
-START RESOURCE 20026fd6.rss
-	TARGET EapGeneralSettings
-END
-
-SOURCEPATH  ../../eapol_common/core
-SOURCE		eap_general_settings_client_message_if.cpp
-SOURCE		eap_general_settings_message.cpp
-
-SOURCEPATH  ../../eapol_common/common
-SOURCE		eap_method_settings.cpp
-
-SOURCEPATH  ../eap_if/src
-SOURCE		EapGeneralSettingsImpl.cpp
-SOURCE		EapGeneralSettingsProxy.cpp
-SOURCE 		eap_am_message_if_symbian.cpp
-SOURCE		EapClientIf.cpp
-
-LIBRARY	    charconv.lib
-
-SYSTEMINCLUDE /epoc32/include/ecom
-
-USERINCLUDE	../am/include
-USERINCLUDE	../am/type/symbian/plugin/include
-USERINCLUDE	../../eapol_common
-USERINCLUDE	../../eapol_common/include
-USERINCLUDE	../../eapol_common/am/include
-USERINCLUDE	../am/type/generic/symbian/plugin/inc
-USERINCLUDE	../../eapol_common/type
-USERINCLUDE	../../eapol_common/type/simple_config/simple_config/include/
-USERINCLUDE	../eap_if/include
-USERINCLUDE	../eap_server/include
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-LIBRARY		euser.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib ecom.lib eapclientif.lib
-LIBRARY		cone.lib eikcoctl.lib eikctl.lib bafl.lib
-LIBRARY		estor.lib	// For RReadStream
-
-LANG		SC
-
-LIBRARY	eikdlg.lib
-LIBRARY	eikcore.lib
-LIBRARY	hlplch.lib
-LIBRARY		featmgr.lib
-
-
-//-------------------------------------------------------------------
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapgeneric.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:  Project definition file for project EAP-generic.
-*
-*/
-
-/*
-* %version: 24 %
-*/
-
-#include <platform_paths.hrh>
-#include "eapol.mmh"
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-TARGETTYPE    PLUGIN
-
-TARGET	eapgeneric.dll
-UID		0x10009d8d 0x20026FD1
-
-deffile eapgeneric.def
-
-SOURCEPATH    ../am/type/generic/symbian/plugin/src
-SOURCE		EapGeneric.cpp 
-SOURCE		EapGenericProxy.cpp 
-
-SOURCEPATH  ../eap_if/data
-START RESOURCE 20026fd1.rss
-	TARGET EapGeneric
-END
-
-SOURCEPATH	../am/type/symbian/plugin/common
-SOURCE		EapTypeInfo.cpp
-
-SOURCEPATH  ../../eapol_common/core
-SOURCE		eap_plugin_client_message_if.cpp
-SOURCE		eap_plugin_message_base.cpp
-
-SOURCEPATH  ../../eapol_common/common
-SOURCE		eap_method_settings.cpp
-
-SOURCEPATH  ../../eapol_common/type/simple_config/simple_config/src
-SOURCE		simple_config_payloads.cpp
-SOURCE		simple_config_credential.cpp
-SOURCE		simple_config_types.cpp
-SOURCE		simple_config_tlv_header.cpp
-SOURCE		simple_config_message.cpp
-
-SOURCEPATH  ../eap_if/src
-SOURCE 		eap_am_message_if_symbian.cpp
-SOURCE		EapClientIf.cpp
-
-LIBRARY	    charconv.lib
-
-SYSTEMINCLUDE /epoc32/include/ecom
-
-USERINCLUDE	../am/include
-USERINCLUDE	../am/type/symbian/plugin/include
-USERINCLUDE	../../eapol_common
-USERINCLUDE	../../eapol_common/include
-USERINCLUDE	../../eapol_common/am/include
-USERINCLUDE	../am/type/generic/symbian/plugin/inc
-USERINCLUDE	../../eapol_common/type
-USERINCLUDE	../../eapol_common/type/simple_config/simple_config/include/
-USERINCLUDE	../eap_if/include
-USERINCLUDE	../eap_server/include
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-LIBRARY		euser.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib  eapclientif.lib ecom.lib
-LIBRARY		cone.lib eikcoctl.lib eikctl.lib bafl.lib
-LIBRARY		estor.lib	// For RReadStream
-
-LANG		SC
-
-LIBRARY	eikdlg.lib
-LIBRARY	eikcore.lib
-LIBRARY	hlplch.lib
-LIBRARY		featmgr.lib
-
-
-//-------------------------------------------------------------------
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 15.1.14 %
+* %version: 18 %
 */
 
 #include <platform_paths.hrh>
@@ -29,8 +29,6 @@
 TARGET        eapmschapv2.dll
 UID	          0x10009d8d 0x101F8E66
 
-deffile eapmschapv2.def
-
 SOURCEPATH    ../am/type/mschapv2/symbian/plugin/src
 
 START RESOURCE 101F8E66.rss 
@@ -60,6 +58,16 @@
 	SOURCE		  eap_type_mschapv2_server.cpp
 #endif
 
+SOURCEPATH    ../am/common/symbian
+SOURCE		  eap_am_trace_symbian.cpp
+
+SOURCEPATH    ../am/type/mschapv2/symbian/plugin/src
+SOURCE		  EapMsChapV2UiConnection.cpp
+SOURCE        EapMsChapV2UiDataConnection.cpp
+SOURCE        EapMsChapV2UiMsChapV2Data.cpp
+LIBRARY       avkon.lib
+STATICLIBRARY	eapmschapv2ui.lib
+
 USERINCLUDE   ../am/type/mschapv2/symbian/plugin/inc
 USERINCLUDE   ../../eapol_common/type/mschapv2/include
 USERINCLUDE   ../../eapol_common/include
@@ -67,14 +75,16 @@
 USERINCLUDE   ../../eapol_common/am/include
 USERINCLUDE	  ../am/type/symbian/plugin/include
 USERINCLUDE   ../../eapol_common/type
-USERINCLUDE   ../am/eap_notifier/inc
+
+//SYSTEMINCLUDE /epoc32/include/ecom
+//SYSTEMINCLUDE /epoc32/include/libc
+//SYSTEMINCLUDE /epoc32/include/cshelp
 
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
 LIBRARY     euser.lib
 LIBRARY		ecom.lib
-LIBRARY     eaptools.lib eaptrace.lib
-LIBRARY     eapsymbiantools.lib
+LIBRARY     eapol.lib
 LIBRARY     edbms.lib
 LIBRARY     efsrv.lib
 LIBRARY     cone.lib
@@ -86,14 +96,8 @@
 LIBRARY     hlplch.lib
 LIBRARY		featmgr.lib
 
-LIBRARY		HbCore.lib
-LIBRARY		HbWidgets.lib
-LIBRARY   eap_notifier.lib
-
 LANG		  SC
 
-
-
 //-------------------------------------------------------------------
 
 //-------------------------------------------------------------------
--- a/eapol/eapol_framework/eapol_symbian/group/eapol.mmh	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapol.mmh	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 48.1.18 %
+* %version: 53 %
 */
 
 //-------------------------------------------------------------------
@@ -70,6 +70,12 @@
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
+// This flag enables EAP expanded types.
+MACRO USE_EAP_EXPANDED_TYPES=1
+#define USE_EAP_EXPANDED_TYPES
+
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
 // This flag activates message based WLAN engine EAPOL interface.
 MACRO USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF
 #define USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF
@@ -85,8 +91,6 @@
 
 #if defined(FF_WLAN_EXTENSIONS)
 
-#warning FF_WLAN_EXTENSIONS enabled
-
 MACRO USE_FAST_EAP_TYPE=1
 #define USE_FAST_EAP_TYPE
 
@@ -142,6 +146,11 @@
 // These following macros should be adjusted depending on the test environment.
 // For WLM compatibility only NO_EAP_MUTEX should be defined.
 MACRO NO_EAP_MUTEX=1
+MACRO USE_EAPOL_KEY_STATE=1
+
+// The following marco activates optimized 4-Way Handshake.
+// Note the interface between WLAN engine and EAPOL changes too.
+MACRO USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE=1
 
 // Enables configuration option to skips user interactions in selected test cases.
 MACRO USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS=1
@@ -149,9 +158,6 @@
 // Enables timer to stop authentication with broken authentication server or access point configuration that blocks WLAN connection for too long time.
 MACRO USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER=1
 
-// Enables EAP-timer traces.
-MACRO USE_EAP_TIMER_QUEUE_TRACE=1
-
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 #if defined(FF_WLAN_EXTENSIONS)
@@ -160,9 +166,6 @@
 	// You need all EAPOL WPX sources or binary eapolwpx.lib to compile WPX version.
 	MACRO EAP_USE_WPXM=1
 	#define EAP_USE_WPXM
-
-	MACRO USE_EAP_PAC_STORE_IF=1
-	#define USE_EAP_PAC_STORE_IF
 #else
 	// The WPX stub is needed even without WPX functionality.
 	#define USE_EAPOL_WLAN_WPX_STUB 
@@ -172,9 +175,6 @@
 MACRO EAP_NO_STDINT_H_HEADER=1
 #define EAP_NO_STDINT_H_HEADER
 
-// This is disabled because QT leaks memory and EAP-server panics on __UHEAP_MARKEND always.
-// Define this after QT fixes memory leks.
-//MACRO USE_EAP_HEAP_CHECK=1
 
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapol.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapol.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 48 %
+* %version: 42.1.2.1.2 %
 */
 
 //-------------------------------------------------------------------
@@ -25,24 +25,65 @@
 #include "eapol.mmh"
 
 //-------------------------------------------------------------------
-CAPABILITY CAP_GENERAL_DLL
+CAPABILITY ALL -TCB
 VENDORID VID_DEFAULT
 
 TARGET			eapol.dll
 TARGETTYPE		dll
 UID			0x1000008d  0x101f8e48
 
-deffile eapolprotected.def
+deffile EAPOLPROTECTED.DEF
+
+SOURCEPATH ../am/common/symbian 
+SOURCE dll_entry.cpp
+SOURCE eap_am_tools_symbian.cpp
+
+// This source uses Symbian crypto library.
+SOURCEPATH	../am/common/symbian
+SOURCE eap_am_crypto_symbian.cpp
+SOURCE eap_am_mutex_symbian.cpp
+
+SOURCEPATH	../am/common/DSS_random
+SOURCE dss_random_symbian.cpp
+
+#if defined(USE_EAP_ASSERT_STACK_TRACE)
+SOURCEPATH ../../eapol_common/am/common/stack
+SOURCE eap_am_stack_trace.cpp
+#endif //#if defined(USE_EAP_ASSERT_STACK_TRACE)
+
+SOURCEPATH	../../eapol_common/am/common/crypto/md4
+SOURCE eap_am_crypto_md4.cpp
+
+SOURCEPATH	../../eapol_common/am/common/crypto/rc4
+SOURCE eap_am_crypto_rc4.cpp
+
+SOURCEPATH	../../eapol_common/am/common/crypto/sha1
+SOURCE eap_am_crypto_sha1.cpp
+
+SOURCEPATH	../../eapol_common/am/common/crypto/sha-256
+SOURCE eap_am_crypto_sha_256.cpp
+
+SOURCEPATH	../../eapol_common/am/common
+SOURCE eap_am_memory.cpp
+SOURCE eap_am_network_id.cpp
+SOURCE eap_am_tools.cpp
+SOURCE eap_timer_queue.cpp
+SOURCE eap_am_memory_store.cpp
+SOURCE eap_am_memory_store_data.cpp
+SOURCE abs_eap_am_mutex.cpp
+
+SOURCEPATH	../../eapol_common/am/common
+SOURCE eap_file_config.cpp
+SOURCEPATH	../am/common/file_io/symbian
+SOURCE eap_am_file_input_symbian.cpp
 
 SOURCEPATH	../../eapol_common/am/core
 SOURCE eapol_am_wlan_authentication.cpp
 
 SOURCEPATH	../am/core/symbian
+
 SOURCE eapol_am_wlan_authentication_symbian.cpp
 
-SOURCEPATH	../am/common/symbian
-SOURCE EapConfigToolsSymbian.cpp
-
 LIBRARY bafl.lib
 LIBRARY wlandbif.lib
 
@@ -50,12 +91,39 @@
 
 LANG	SC
 
+SOURCEPATH	../../eapol_common/common
+SOURCE eap_base_type.cpp
+SOURCE eap_buffer.cpp
+SOURCE eap_crypto_api.cpp
+SOURCE eap_header.cpp
+SOURCE eap_expanded_type.cpp
+SOURCE eap_header_string.cpp
+SOURCE eap_state_notification.cpp
+SOURCE eap_tools.cpp
+SOURCE eap_status_string.cpp
+SOURCE eap_variable_data.cpp
+SOURCE eap_master_session_key.cpp
+SOURCE eap_general_header_base.cpp
+SOURCE eap_rogue_ap_entry.cpp
+SOURCE eap_memory_store_variable_data.cpp
+SOURCE eapol_session_key.cpp
+SOURCE eap_network_id_selector.cpp
+SOURCE eapol_ethernet_header.cpp
+SOURCE eapol_header.cpp
+SOURCE eap_tlv_header.cpp
+SOURCE eap_tlv_message_data.cpp
+
 #if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF)
 SOURCEPATH	../../eapol_common/common
 SOURCE wlan_eap_if_send_status.cpp
 #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF)
 
 SOURCEPATH	../../eapol_common/core
+SOURCE eap_core.cpp
+SOURCE eap_core_nak_info.cpp
+SOURCE eap_core_retransmission.cpp
+SOURCE eap_session_core.cpp
+SOURCE eap_type_selection.cpp
 SOURCE eapol_core.cpp
 SOURCE ethernet_core.cpp
 SOURCE eapol_key_state_common.cpp
@@ -69,7 +137,6 @@
 SOURCE eapol_rsna_key_data_gtk_header.cpp
 SOURCE eapol_wlan_authentication.cpp
 SOURCE eapol_wlan_database_reference.cpp
-SOURCE eap_core_client_message_if.cpp
 
 #if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF)
 SOURCEPATH	../../eapol_common/core
@@ -77,47 +144,55 @@
 SOURCE eapol_handle_tlv_message_data.cpp
 #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF)
 
+SOURCEPATH	../am/eap_test_timer/symbian 
+SOURCE eap_test_timer.cpp
+
+SOURCEPATH ../../eapol_common/type/tls_peap/tls/src
+SOURCE tls_peap_tlv_header.cpp
+
+SOURCEPATH   ../../eapol_common/type/simple_config/simple_config/src
+SOURCE simple_config_credential.cpp
+SOURCE simple_config_types.cpp
+
+#if !defined(USE_EAPOL_WLAN_WPX_STUB)
+// This library includes real WPX functionality.
+STATICLIBRARY eapolwpx.lib
+#endif //#if !defined(USE_EAPOL_WLAN_WPX_STUB)
+
+#if defined(USE_EAPOL_WLAN_WPX_STUB)
+// This library includes stubs of non working WPX functions.
+STATICLIBRARY eapolwpxstub.lib
+#endif //#if defined(USE_EAPOL_WLAN_WPX_STUB)
+
 USERINCLUDE ..
 USERINCLUDE ../am/type/symbian/plugin/include
 USERINCLUDE ../am/common
 USERINCLUDE ../../eapol_common/am/common
 USERINCLUDE ../am/include
-USERINCLUDE ../../eapol_common/am/include
-USERINCLUDE ../../eapol_common/include
-USERINCLUDE ../../eapol_common/type
+USERINCLUDE   ../../eapol_common/am/include
+USERINCLUDE   ../../eapol_common/include
+USERINCLUDE   ../../eapol_common/type
 USERINCLUDE ../../eapol_common/am/common/DSS_random
 USERINCLUDE ../../eapol_common/type/tls_peap/tls/include
-USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include
-USERINCLUDE ../../eapol_common/type/simple_config/eap/include
+USERINCLUDE   ../../eapol_common/type/simple_config/simple_config/include
+USERINCLUDE   ../../eapol_common/type/simple_config/eap/include
 
 #if defined(EAP_USE_WPXM)
 USERINCLUDE   ../../eapol_common/wpx_include
 #endif //#if defined(EAP_USE_WPXM)
-USERINCLUDE ../eap_if/include
-USERINCLUDE ../eap_server/include
 
 
-SYSTEMINCLUDE	/epoc32/include/ecom
+//SYSTEMINCLUDE	/epoc32/include/ecom
 SYSTEMINCLUDE	/epoc32/include/kernel 
 SYSTEMINCLUDE	/epoc32/include/libc
 SYSTEMINCLUDE	/epoc32/include/libc/netinet
 
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-#if !defined(USE_EAPOL_WLAN_WPX_STUB)
-#warning STATICLIBRARY eapolwpx.lib
-STATICLIBRARY eapolwpx.lib
-#else
-STATICLIBRARY eapolwpxstub.lib
-#endif //#if !defined(USE_EAPOL_WLAN_WPX_STUB)
-
-LIBRARY		eaptools.lib eaptrace.lib eapsymbiantools.lib eapcoreinterface.lib
-LIBRARY		ecom.lib EapAuthServer.lib
+LIBRARY		ecom.lib
 LIBRARY		euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib
-LIBRARY   charconv.lib 
+LIBRARY     charconv.lib 
 
 MACRO USE_EAP_INTERFACE_EXPORTS
-
-
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 12.1.5 %
+* %version: 12.2.2 %
 */
 
 //-------------------------------------------------------------------
@@ -49,7 +49,6 @@
 USERINCLUDE ../../eapol_common/include
 USERINCLUDE ../../eapol_common/type
 USERINCLUDE ../../eapol_common/am/common/DSS_random
-USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include
 
 SYSTEMINCLUDE /epoc32/include/ecom
 SYSTEMINCLUDE /epoc32/include/kernel 
@@ -58,6 +57,5 @@
 
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 16 %
+* %version: 12.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -29,8 +29,6 @@
 TARGET        eapprotectedsetup.dll
 UID	      0x10009d8d 0x2000b003
 
-deffile eapprotectedsetup.def
-
 SOURCEPATH    ../am/type/protected_setup/symbian/plugin/src
 
 START RESOURCE 2000b003.rss 
@@ -45,10 +43,16 @@
 SOURCEPATH	../am/type/symbian/plugin/common
 SOURCE		EapTypeInfo.cpp
 
+//SOURCEPATH    ../am/type/symbian/plugin/common
+//SOURCE	      EapProtectedSetupInfo.cpp
+
 SOURCEPATH    ../am/type/protected_setup
 SOURCE        eap_am_type_protected_setup_symbian.cpp
 SOURCE        EapProtectedSetupInterface.cpp
 
+SOURCEPATH    ../am/common/symbian
+SOURCE		  eap_am_trace_symbian.cpp
+
 // For Common Side
 SOURCEPATH		../../eapol_common/type/simple_config/eap/src
 SOURCE			eap_type_simple_config.cpp
@@ -75,16 +79,77 @@
 USERINCLUDE   ../am/include
 USERINCLUDE   ../am/type/protected_setup/symbian/plugin/inc
 
+/*
+
+//USERINCLUDE   ../am/type/tls_peap/symbian/plugin/inc
+
+USERINCLUDE   ../../eapol_common/am/include
+USERINCLUDE   ../../eapol_common/type
+USERINCLUDE   ../../eapol_common/type/diameter/include
+
+#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
+USERINCLUDE   ../../eapol_common/type/mschapv2/include
+#endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
+
+#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
+SOURCEPATH    ../../eapol_common/type/mschapv2/core
+SOURCE		  eap_type_mschapv2_header.cpp
+#endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
+
+*/
+
+//SOURCEPATH		../am/type/tls_peap/symbian/plugin/inc
+//DOCUMENT		101f8e4c.loc
+
+/*
+// UI 
+SOURCEPATH    ../am/type/tls_peap/symbian/plugin/src
+SOURCE		  EapTlsPeapUiConnection.cpp
+SOURCE        EapTlsPeapUiDataConnection.cpp
+SOURCE        EapTlsPeapUiTlsPeapData.cpp
+SOURCE		  EapTlsPeapCertFetcher.cpp
+SOURCE        EapTlsPeapUiEapTypes.cpp
+SOURCE        EapTlsPeapUiCertificates.cpp
+SOURCE        EapTlsPeapUiCipherSuites.cpp
+*/
+/*
+LIBRARY       avkon.lib
+LIBRARY       AknSkins.lib
+LIBRARY       AknIcon.lib
+STATICLIBRARY eaptlsui.lib
+STATICLIBRARY eappeapui.lib
+STATICLIBRARY eapttlsui.lib
+LIBRARY		  x509certnameparser.lib		// For parsing of certificate label. 
+
+//SYSTEMINCLUDE /epoc32/include/ecom
+//SYSTEMINCLUDE /epoc32/include/libc
+//SYSTEMINCLUDE /epoc32/include/cshelp
+*/
+
 LANG		  SC
 
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-LIBRARY		euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib 
+LIBRARY		euser.lib ecom.lib eapol.lib //edbms.lib efsrv.lib 
 LIBRARY		cone.lib eikcoctl.lib
 LIBRARY		etelmm.lib etel.lib	// For ETel connection
 
+LIBRARY 	wlandbif.lib
 
+//LIBRARY	    x509.lib crypto.lib certstore.lib ctframework.lib pkixcert.lib
+//LIBRARY		asn1.lib x500.lib bafl.lib eikctl.lib egul.lib fbscli.lib
+/*
+LIBRARY		gdi.lib
+LIBRARY		cryptography.lib
+LIBRARY     eikdlg.lib
+LIBRARY     eikcore.lib
+LIBRARY		CommonEngine.lib
 
+LIBRARY     hlplch.lib
+LIBRARY		featmgr.lib
+*/
+
+//-------------------------------------------------------------------
 
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 16.1.14 %
+* %version: 16.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -29,8 +29,6 @@
 TARGET        eapsecurid.dll
 UID	          0x10009d8d 0x101F8E74
 
-deffile eapsecurid.def
-
 SOURCEPATH    ../am/type/securid/symbian/plugin/src
 
 START RESOURCE 101F8E74.rss 
@@ -58,6 +56,16 @@
 	SOURCE		  eap_type_securid_server.cpp
 #endif
 
+SOURCEPATH    ../am/common/symbian
+SOURCE		  eap_am_trace_symbian.cpp
+
+SOURCEPATH    ../am/type/securid/symbian/plugin/src
+SOURCE		  EapGtcUiConnection.cpp
+SOURCE        EapGtcUiDataConnection.cpp
+SOURCE        EapGtcUiGtcData.cpp
+LIBRARY       avkon.lib
+STATICLIBRARY eapgtcui.lib
+
 USERINCLUDE   ../am/type/securid/symbian/plugin/inc
 USERINCLUDE   ../../eapol_common/type/securid/include
 USERINCLUDE   ../../eapol_common/include
@@ -65,24 +73,22 @@
 USERINCLUDE   ../../eapol_common/am/include
 USERINCLUDE	  ../am/type/symbian/plugin/include
 USERINCLUDE   ../../eapol_common/type
-USERINCLUDE   ../am/eap_notifier/inc
+
+//SYSTEMINCLUDE /epoc32/include/ecom
+//SYSTEMINCLUDE /epoc32/include/libc
+//SYSTEMINCLUDE /epoc32/include/cshelp
 
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-LIBRARY     euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib
+LIBRARY     euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib
 LIBRARY		bafl.lib
 LIBRARY     eikdlg.lib
 LIBRARY     eikcore.lib
 LIBRARY     hlplch.lib
 LIBRARY		featmgr.lib
 
-LIBRARY		HbCore.lib
-LIBRARY		HbWidgets.lib
-LIBRARY   eap_notifier.lib
-
 LANG		  SC
 
-
 //-------------------------------------------------------------------
 
 //-------------------------------------------------------------------
--- a/eapol/eapol_framework/eapol_symbian/group/eapsim.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapsim.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 18.1.14 %
+* %version: 18.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -29,8 +29,6 @@
 TARGET        eapsim.dll
 UID		0x10009d8d 0x101f8e49
 
-deffile eapsim.def
-
 SOURCEPATH    ../am/type/gsmsim/symbian/plugin/src
 
 START RESOURCE 101f8e49.rss
@@ -60,7 +58,16 @@
 SOURCEPATH	  ../../eapol_common/common
 SOURCE        eap_sim_triplets.cpp
 
+SOURCEPATH    ../am/common/symbian
+SOURCE		  eap_am_trace_symbian.cpp
 
+SOURCEPATH    ../am/type/gsmsim/symbian/plugin/src
+SOURCE		  EapSimUiConnection.cpp
+SOURCE        EapSimUiDataConnection.cpp
+SOURCE        EapSimUiSimData.cpp
+
+LIBRARY       avkon.lib
+STATICLIBRARY eapsimui.lib
 
 USERINCLUDE   ../am/type/gsmsim/symbian/plugin/inc
 USERINCLUDE   ../../eapol_common/type/gsmsim/include
@@ -68,11 +75,10 @@
 USERINCLUDE   ../am/include
 USERINCLUDE   ../../eapol_common/am/include
 USERINCLUDE   ../../eapol_common/type
-USERINCLUDE   ../am/type/symbian/plugin/include
 
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-LIBRARY       euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib 
+LIBRARY       euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib 
 LIBRARY		  cone.lib eikcoctl.lib eikctl.lib bafl.lib
 LIBRARY		  estor.lib	// For RReadStream
 
@@ -93,6 +99,5 @@
 LIBRARY     hlplch.lib
 LIBRARY		featmgr.lib
 
-
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 44.1.18 %
+* %version: 44.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -29,8 +29,6 @@
 TARGET        eaptlspeap.dll
 UID	      0x10009d8d 0x101f8e4c
 
-deffile eaptlspeap.def
-
 SOURCEPATH    ../am/type/tls_peap/symbian/plugin/src
 
 START RESOURCE 101f8e4c.rss 
@@ -51,12 +49,6 @@
 SOURCEPATH    ../am/type/tls_peap/symbian
 SOURCE        eap_am_type_tls_peap_symbian.cpp 
 
-SOURCEPATH ../../eapol_common/core
-SOURCE			dummy_eap_core.cpp
-
-SOURCEPATH	../am/common/symbian
-SOURCE EapConfigToolsSymbian.cpp
-
 SOURCEPATH    ../../eapol_common/type/tls_peap/eap/src
 SOURCE 	      eap_type_tls_peap_state_notification.cpp 
 SOURCE		  eap_type_tls_peap.cpp
@@ -88,7 +80,11 @@
 SOURCE		  eap_diameter_payloads.cpp
 SOURCE		  eap_diameter_avp_code.cpp
 
+SOURCEPATH    ../am/common/symbian
+SOURCE		  eap_am_trace_symbian.cpp
 
+SOURCEPATH    ../am/type/ttls_pap/symbian/src
+SOURCE        eap_ttls_pap_active.cpp
 
 USERINCLUDE   ../am/type/tls_peap/symbian/plugin/inc
 USERINCLUDE   ../../eapol_common/type/tls_peap/eap/include
@@ -102,13 +98,10 @@
 USERINCLUDE   ../../eapol_common/type
 USERINCLUDE   ../../eapol_common/type/diameter/include
 USERINCLUDE   ../am/type/ttls_pap/symbian/inc
-USERINCLUDE   ../eap_if/include
-USERINCLUDE   ../eap_server/include
-USERINCLUDE   ../am/type/symbian/plugin/include
+
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 USERINCLUDE   ../../eapol_common/type/mschapv2/include
 #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
-USERINCLUDE   ../am/eap_notifier/inc
 
 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
 SOURCEPATH    ../../eapol_common/type/mschapv2/core
@@ -123,10 +116,7 @@
 SOURCEPATH		../am/type/tls_peap/symbian/plugin/inc
 DOCUMENT		101f8e4c.loc
 
-// old ui
-USERINCLUDE   ../am/include/eaptlspeap_db_api_inc
-
-// UI
+// UI 
 SOURCEPATH    ../am/type/tls_peap/symbian/plugin/src
 SOURCE		  EapTlsPeapUiConnection.cpp
 SOURCE        EapTlsPeapUiDataConnection.cpp
@@ -136,11 +126,26 @@
 SOURCE        EapTlsPeapUiCertificates.cpp
 SOURCE        EapTlsPeapUiCipherSuites.cpp
 
+LIBRARY       avkon.lib
+LIBRARY       AknSkins.lib
+LIBRARY       AknIcon.lib
+LIBRARY       aknnotify.lib
+LIBRARY       eiksrv.lib
+STATICLIBRARY eaptlsui.lib
+STATICLIBRARY eappeapui.lib
+STATICLIBRARY eapttlsui.lib
+
+STATICLIBRARY papui.lib
+
 LIBRARY		  x509certnameparser.lib		// For parsing of certificate label. 
 
+//SYSTEMINCLUDE /epoc32/include/ecom
+//SYSTEMINCLUDE /epoc32/include/libc
+//SYSTEMINCLUDE /epoc32/include/cshelp
+
 MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
 
-LIBRARY		euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib
+LIBRARY		euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib
 LIBRARY	    x509.lib crypto.lib certstore.lib ctframework.lib pkixcert.lib
 LIBRARY		asn1.lib x500.lib bafl.lib eikctl.lib egul.lib fbscli.lib
 LIBRARY		gdi.lib
@@ -155,10 +160,6 @@
 LIBRARY     charconv.lib
 
 //-------------------------------------------------------------------
-LIBRARY		HbCore.lib
-LIBRARY		HbWidgets.lib
-LIBRARY   eap_notifier.lib
-
 
 //-------------------------------------------------------------------
 // End of File
--- a/eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 11.1.10 %
+* %version: 11.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -31,20 +31,12 @@
 // ECom Dll recognition UID followed by the unique UID for this dll
 UID 0x10009D8D 0x10200ec9
 
-deffile eapvpnif.def
-
 SOURCEPATH ../am/eapvpnif/src
 //SOURCE		eap_vpn_if_main.cpp
 SOURCE		eap_vpn_if_proxy.cpp
 SOURCE		eap_vpn_if_implementation.cpp
 SOURCE		eap_vpn_if_timer.cpp
 
-SOURCEPATH ../eap_if/src
-SOURCE		EapCoreInterface.cpp
-
-SOURCEPATH ../../eapol_common/core
-SOURCE eap_core_client_message_if.cpp
-
 USERINCLUDE   ../am/eapvpnif/inc
 USERINCLUDE   ../../eapol_common/include
 USERINCLUDE   ../am/include
@@ -54,10 +46,6 @@
 
 USERINCLUDE   ../am/type/gsmsim/symbian/plugin/inc
 USERINCLUDE   ../am/type/aka/symbian/plugin/inc
-USERINCLUDE   ../../eapol_common/type/simple_config/simple_config/include
-USERINCLUDE   ../eap_if/include
-USERINCLUDE   ../eap_server/include
-USERINCLUDE   ../am/type/symbian/plugin/include
 
 SYSTEMINCLUDE /epoc32/include/ecom
 SYSTEMINCLUDE /epoc32/include/libc
@@ -70,8 +58,7 @@
 TARGET eapvpnif.rsc
 END
 
-LIBRARY euser.lib ECom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib PlatformEnv.lib
+LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib PlatformEnv.lib
 DEBUGLIBRARY    flogger.lib
 
-
 // End
--- a/eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 8.1.8 %
+* %version: 8.2.3 %
 */
 
 #include <platform_paths.hrh>
@@ -63,7 +63,7 @@
 TARGET wlaneapolif.rsc
 END
 
-LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib eaptools.lib eaptrace.lib eapsymbiantools.lib
+LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib
 DEBUGLIBRARY    flogger.lib
 
 #else
@@ -72,5 +72,4 @@
 
 #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF)
 
-
 // End
--- a/eapol/eapol_framework/eapol_symbian/rom/eapol.iby	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/rom/eapol.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2006 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"
@@ -11,35 +11,23 @@
 *
 * Contributors:
 *
-* Description:  Image description file for EAPOL framework
+* Description:  Image description file for project EAPOL
 *
 */
 
 /*
-* %version: 34 %
+* %version: 16.1.2 %
 */
 
 #ifndef __EAPOL_IBY__
 #define __EAPOL_IBY__
-
-#include <data_caging_paths_for_iby.hrh>
 #include <bldvariant.hrh>
 
 #ifdef __PROTOCOL_WLAN
 
-
-/* tools */
-file=ABI_DIR\BUILD_DIR\eaptools.dll		SHARED_LIB_DIR\eaptools.dll
-
-/* Symbian tools */
-file=ABI_DIR\BUILD_DIR\eapsymbiantools.dll		SHARED_LIB_DIR\eapsymbiantools.dll
-
-/* Symbian trace */
-file=ABI_DIR\BUILD_DIR\eaptrace.dll		SHARED_LIB_DIR\eaptrace.dll
-
 /* EAPOL + EAP types */
 
-file=ABI_DIR\BUILD_DIR\eapol.dll			SHARED_LIB_DIR\eapol.dll
+file=ABI_DIR\BUILD_DIR\eapol.dll			SHARED_LIB_DIR\Eapol.dll
 
 // EAP SIM
 ECOM_PLUGIN( eapsim.dll,101f8e49.rsc )
@@ -47,57 +35,38 @@
 // EAP AKA
 ECOM_PLUGIN( eapaka.dll,102073c1.rsc )
 
-// EAP MSCHAPv2 / Plain-MSCHAPv2
+// EAP MSCHAPV2
 ECOM_PLUGIN( eapmschapv2.dll,101f8e66.rsc )
 
-// EAP TLS PEAP TTLS
+// EAP TLS PEAP
 ECOM_PLUGIN( eaptlspeap.dll,101f8e4c.rsc )
 
-// EAP Secure ID / GTC
+// EAP Secure ID
 ECOM_PLUGIN( eapsecurid.dll,101f8e74.rsc )
 
-// VPN interface
+#ifdef FF_WLAN_EXTENSIONS
+// EAP LEAP
+ECOM_PLUGIN( eapleap.dll,101f8ea6.rsc )
+#endif //#ifdef FF_WLAN_EXTENSIONS
+
+// The VPN interface
 ECOM_PLUGIN(eapvpnif.dll, 10200ec9.rsc)
 
 // The Engine EAPOL interface
 ECOM_PLUGIN(wlaneapolif.dll, 2000b05a.rsc)
 
-// Protected Setup
+// EAP Protected Setup
 ECOM_PLUGIN( eapprotectedsetup.dll,2000b003.rsc )
 
 // For database policy file (For secured databases of different EAP types and EAPOL.dat)
 data=ZPRIVATE\100012A5\policy\102072e9.spd			private\100012A5\policy\102072e9.spd
 
+
 // For additional backup registration file for EAPOL.
 data=ZPRIVATE\101F8EC5\backup_registration_eapol.xml	private\101F8EC5\backup_registration_eapol.xml
 
 // Copies configuration file of EAPOL.
 data=ZPRIVATE\101F8EC5\eap.conf	private\101F8EC5\eap.conf
 
-// Copies configuration file of EAP-server.
-data=ZPRIVATE\20026FCB\eap.conf	private\20026FCB\eap.conf
-
-// Copies backup registration file of EAP-server.
-data=ZPRIVATE\20026FCB\backup_registration.xml	private\20026FCB\backup_registration.xml
-
-
-file=ABI_DIR\BUILD_DIR\EapAuthServer.dll		SHARED_LIB_DIR\EapAuthServer.dll
-
-file=ABI_DIR\BUILD_DIR\EapAuthServerExe.exe		SHARED_LIB_DIR\EapAuthServerExe.exe
-
-file=ABI_DIR\BUILD_DIR\eapcoreinterface.dll		SHARED_LIB_DIR\eapcoreinterface.dll
-
-file=ABI_DIR\BUILD_DIR\eapclientif.dll		SHARED_LIB_DIR\eapclientif.dll
-
-ECOM_PLUGIN( EapCoreInterfaceImplementation.dll, 20026fcd.rsc)
-
-ECOM_PLUGIN( EapGeneric.dll, 20026fd1.rsc )
-
-ECOM_PLUGIN( EapGeneralSettings.dll, 20026fd6.rsc)
-
-file=ABI_DIR\BUILD_DIR\eap_notifier.dll		SHARED_LIB_DIR\eap_notifier.dll
-
-
 #endif // __PROTOCOL_WLAN
-
-#endif // __EAPOL_IBY__
+#endif // #ifndef __EAPOL_IBY__
--- a/eapol/eapol_framework/eapol_symbian/tools/bwins/eapsymbiantoolsu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-EXPORTS
-	?SetValue@TEapExpandedType@@QAEHII@Z @ 1 NONAME ; int TEapExpandedType::SetValue(unsigned int, unsigned int)
-	??4TEapExpandedType@@QAEAAV0@ABV0@@Z @ 2 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TEapExpandedType const &)
-	?SetValue@TEapExpandedType@@QAEHPBXI@Z @ 3 NONAME ; int TEapExpandedType::SetValue(void const *, unsigned int)
-	?GetVendorId@TEapExpandedType@@QBEIXZ @ 4 NONAME ; unsigned int TEapExpandedType::GetVendorId(void) const
-	??0TEapExpandedType@@QAE@ABV?$TBufC8@$07@@@Z @ 5 NONAME ; TEapExpandedType::TEapExpandedType(class TBufC8<8> const &)
-	??0TEapExpandedType@@QAE@ABV0@@Z @ 6 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const &)
-	??1EapPluginTools@@UAE@XZ @ 7 NONAME ; EapPluginTools::~EapPluginTools(void)
-	?CreateDatabaseLC@EapPluginTools@@SAXAAVRDbNamedDatabase@@AAVRFs@@AAHABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 8 NONAME ; void EapPluginTools::CreateDatabaseLC(class RDbNamedDatabase &, class RFs &, int &, class TDesC16 const &, class TBuf<256> &)
-	??0TEapExpandedType@@QAE@XZ @ 9 NONAME ; TEapExpandedType::TEapExpandedType(void)
-	?GetPrivatePathL@EapPluginTools@@SAXAAV?$TBuf@$0BAA@@@@Z @ 10 NONAME ; void EapPluginTools::GetPrivatePathL(class TBuf<256> &)
-	??0TEapExpandedType@@QAE@ABVTDesC8@@@Z @ 11 NONAME ; TEapExpandedType::TEapExpandedType(class TDesC8 const &)
-	??9TEapExpandedType@@QBE_NABV0@@Z @ 12 NONAME ; bool TEapExpandedType::operator!=(class TEapExpandedType const &) const
-	??8TEapExpandedType@@QBE_NABV0@@Z @ 13 NONAME ; bool TEapExpandedType::operator==(class TEapExpandedType const &) const
-	?ListAllEapPluginsL@EapPluginTools@@QAEXW4TIndexType@@ABVTEapExpandedType@@AAV?$RPointerArray@VTEapExpandedType@@@@@Z @ 14 NONAME ; void EapPluginTools::ListAllEapPluginsL(enum TIndexType, class TEapExpandedType const &, class RPointerArray<class TEapExpandedType> &)
-	??4TEapExpandedType@@QAEAAV0@ABVTDesC8@@@Z @ 15 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TDesC8 const &)
-	??0TEapExpandedType@@QAE@PBV0@@Z @ 16 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const *)
-	??4TEapExpandedType@@QAEAAV0@ABV?$TBufC8@$07@@@Z @ 17 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TBufC8<8> const &)
-	?Compare@TEapExpandedType@@QBEHABV1@@Z @ 18 NONAME ; int TEapExpandedType::Compare(class TEapExpandedType const &) const
-	?CleanupImplArray@EapPluginTools@@SAXPAX@Z @ 19 NONAME ; void EapPluginTools::CleanupImplArray(void *)
-	??0EapPluginTools@@QAE@XZ @ 20 NONAME ; EapPluginTools::EapPluginTools(void)
-	??1TEapExpandedType@@UAE@XZ @ 21 NONAME ; TEapExpandedType::~TEapExpandedType(void)
-	?GetVendorType@TEapExpandedType@@QBEIXZ @ 22 NONAME ; unsigned int TEapExpandedType::GetVendorType(void) const
-	?GetPrivatePathL@EapPluginTools@@SAXAAVRFs@@AAV?$TBuf@$0BAA@@@@Z @ 23 NONAME ; void EapPluginTools::GetPrivatePathL(class RFs &, class TBuf<256> &)
-	?GetValue@TEapExpandedType@@QBEABV?$TBuf8@$07@@XZ @ 24 NONAME ; class TBuf8<8> const & TEapExpandedType::GetValue(void) const
-
--- a/eapol/eapol_framework/eapol_symbian/tools/bwins/eaptoolsu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1263 +0,0 @@
-EXPORTS
-	dss_pseudo_random @ 1 NONAME
-	?md5_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 2 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
-	?get_type@eap_tlv_header_c@@QBEKXZ @ 3 NONAME ; unsigned long eap_tlv_header_c::get_type(void) const
-	?set_use_timer_queue@eap_am_tools_c@@QAEXXZ @ 4 NONAME ; void eap_am_tools_c::set_use_timer_queue(void)
-	?copy@eap_buf_chain_wr_c@@QAEPAV1@XZ @ 5 NONAME ; class eap_buf_chain_wr_c * eap_buf_chain_wr_c::copy(void)
-	?reset_data_buffer@eap_buf_chain_base_c@@AAEXXZ @ 6 NONAME ; void eap_buf_chain_base_c::reset_data_buffer(void)
-	?get_network_id@eap_am_network_id_c@@QBEPBV1@XZ @ 7 NONAME ; class eap_am_network_id_c const * eap_am_network_id_c::get_network_id(void) const
-	?GetLabel@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 8 NONAME ; class TDes16 const * EapCertificateEntry::GetLabel(void) const
-	?memory_store_get_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 9 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *)
-	??1eap_am_network_id_c@@UAE@XZ @ 10 NONAME ; eap_am_network_id_c::~eap_am_network_id_c(void)
-	?set_is_invalid@eap_variable_data_c@@QAEXXZ @ 11 NONAME ; void eap_variable_data_c::set_is_invalid(void)
-	?get_data_length@eap_core_retransmission_c@@QBEKXZ @ 12 NONAME ; unsigned long eap_core_retransmission_c::get_data_length(void) const
-	?add_rand_seed_hw_ticks@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 13 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed_hw_ticks(void)
-	??0eap_am_crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 14 NONAME ; eap_am_crypto_sha_256_c::eap_am_crypto_sha_256_c(class abs_eap_am_tools_c *)
-	??0crypto_dsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 15 NONAME ; crypto_dsa_c::crypto_dsa_c(class abs_eap_am_tools_c *)
-	?reset@crypto_cbc_c@@AAEXXZ @ 16 NONAME ; void crypto_cbc_c::reset(void)
-	?check_is_valid_eap_type@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 17 NONAME ; enum eap_status_e eap_session_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?set_is_valid@eap_am_crypto_sha_256_c@@AAEXXZ @ 18 NONAME ; void eap_am_crypto_sha_256_c::set_is_valid(void)
-	?add_rand_seed@crypto_random_c@@QAE?AW4eap_status_e@@PBXK@Z @ 19 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed(void const *, unsigned long)
-	?set_eap_type_values@eap_expanded_type_c@@QAEXW4eap_type_vendor_id_e@@K@Z @ 20 NONAME ; void eap_expanded_type_c::set_eap_type_values(enum eap_type_vendor_id_e, unsigned long)
-	?get_data_length@eap_header_base_c@@QBEGXZ @ 21 NONAME ; unsigned short eap_header_base_c::get_data_length(void) const
-	?get_send_network_id@eap_state_notification_c@@UBEPBVeap_am_network_id_c@@XZ @ 22 NONAME ; class eap_am_network_id_c const * eap_state_notification_c::get_send_network_id(void) const
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_variable_data_c@@@Z @ 23 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_variable_data_c const *) const
-	?get_use_timer_queue@eap_am_tools_c@@UAE_NXZ @ 24 NONAME ; bool eap_am_tools_c::get_use_timer_queue(void)
-	?get_is_valid@crypto_3des_ede_c@@UAE_NXZ @ 25 NONAME ; bool crypto_3des_ede_c::get_is_valid(void)
-	??0eap_expanded_type_c@@QAE@W4eap_type_vendor_id_e@@K@Z @ 26 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_vendor_id_e, unsigned long)
-	?encrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 27 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 28 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<class network_key_and_index_c> *)
-	?set_data_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 29 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_data_length(unsigned long)
-	?set_is_invalid@crypto_tls_base_prf_c@@AAEXXZ @ 30 NONAME ; void crypto_tls_base_prf_c::set_is_invalid(void)
-	?get_leap_password@eap_master_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 31 NONAME ; class eap_variable_data_c const * eap_master_session_key_c::get_leap_password(void) const
-	?set_selector@eap_network_id_selector_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 32 NONAME ; enum eap_status_e eap_network_id_selector_c::set_selector(class eap_am_network_id_c const *)
-	??0eap_core_nak_info_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@Veap_expanded_type_c@@E@Z @ 33 NONAME ; eap_core_nak_info_c::eap_core_nak_info_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_expanded_type_c, unsigned char)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 34 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_expanded_type_c)
-	?set_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 35 NONAME ; enum eap_status_e eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?get_block_size@crypto_md5_c@@UAEKXZ @ 36 NONAME ; unsigned long crypto_md5_c::get_block_size(void)
-	??0crypto_hmac_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_hash_algorithm_c@@_N@Z @ 37 NONAME ; crypto_hmac_c::crypto_hmac_c(class abs_eap_am_tools_c *, class abs_crypto_hash_algorithm_c *, bool)
-	??0crypto_random_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 38 NONAME ; crypto_random_c::crypto_random_c(class abs_eap_am_tools_c *)
-	?get_eap_header@eapol_header_rd_c@@QBEPAEXZ @ 39 NONAME ; unsigned char * eapol_header_rd_c::get_eap_header(void) const
-	?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 40 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void *, unsigned long)
-	?set_length@eap_header_base_c@@QAEXG_N@Z @ 41 NONAME ; void eap_header_base_c::set_length(unsigned short, bool)
-	?check_guard_bytes@eap_buf_chain_base_c@@ABE_NPBE@Z @ 42 NONAME ; bool eap_buf_chain_base_c::check_guard_bytes(unsigned char const *) const
-	??1eap_am_crypto_rc4_c@@UAE@XZ @ 43 NONAME ; eap_am_crypto_rc4_c::~eap_am_crypto_rc4_c(void)
-	?get_protocol_string@eap_state_notification_c@@UBEPBDXZ @ 44 NONAME ; char const * eap_state_notification_c::get_protocol_string(void) const
-	?aes_encrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 45 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_encrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
-	?sha_256_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 46 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_init(class eap_variable_data_c *)
-	?get_is_valid@eap_type_selection_c@@QBE_NXZ @ 47 NONAME ; bool eap_type_selection_c::get_is_valid(void) const
-	?cancel_retransmission@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 48 NONAME ; enum eap_status_e eap_core_c::cancel_retransmission(void)
-	?get_is_valid@eap_am_crypto_sha_256_c@@QAE_NXZ @ 49 NONAME ; bool eap_am_crypto_sha_256_c::get_is_valid(void)
-	?copy_context@crypto_md4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 50 NONAME ; enum eap_status_e crypto_md4_c::copy_context(class eap_variable_data_c const *)
-	?cbc_copy_block@crypto_cbc_c@@AAEXPAXPBXKK@Z @ 51 NONAME ; void crypto_cbc_c::cbc_copy_block(void *, void const *, unsigned long, unsigned long)
-	?load_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 52 NONAME ; enum eap_status_e eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVabs_eap_state_notification_c@@@Z @ 53 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class abs_eap_state_notification_c const *)
-	?get_is_valid@crypto_tls_md5_prf_c@@QAE_NXZ @ 54 NONAME ; bool crypto_tls_md5_prf_c::get_is_valid(void)
-	?get_value@eap_tlv_header_c@@QBEPAEK@Z @ 55 NONAME ; unsigned char * eap_tlv_header_c::get_value(unsigned long) const
-	?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBXK@Z @ 56 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(void const *, unsigned long)
-	?convert_selected_bytes_to_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE10_N@Z @ 57 NONAME ; void eap_am_tools_c::convert_selected_bytes_to_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned char *, unsigned long *, bool)
-	?shutdown@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 58 NONAME ; enum eap_status_e eap_session_core_c::shutdown(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 59 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_array_c<class network_key_and_index_c> *)
-	??1crypto_hmac_c@@UAE@XZ @ 60 NONAME ; crypto_hmac_c::~crypto_hmac_c(void)
-	?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 61 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void)
-	??1crypto_aes_c@@UAE@XZ @ 62 NONAME ; crypto_aes_c::~crypto_aes_c(void)
-	?set_is_valid@crypto_tls_base_prf_c@@AAEXXZ @ 63 NONAME ; void crypto_tls_base_prf_c::set_is_valid(void)
-	?GetVendorType@TEapExpandedType@@QBEIXZ @ 64 NONAME ; unsigned int TEapExpandedType::GetVendorType(void) const
-	?pulse_timer@eap_am_tools_symbian_c@@UAEKK@Z @ 65 NONAME ; unsigned long eap_am_tools_symbian_c::pulse_timer(unsigned long)
-	?get_network_key_index@network_key_and_index_c@@QBEEXZ @ 66 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) const
-	?get_message_data_length@eap_tlv_message_data_c@@QBEKXZ @ 67 NONAME ; unsigned long eap_tlv_message_data_c::get_message_data_length(void) const
-	?get_encrypts@crypto_aes_wrap_c@@QAE_NXZ @ 68 NONAME ; bool crypto_aes_wrap_c::get_encrypts(void)
-	?hash_final@crypto_sha1_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 69 NONAME ; enum eap_status_e crypto_sha1_c::hash_final(void *, unsigned long *)
-	?get_block_size@eap_am_crypto_sha1_c@@QAEKXZ @ 70 NONAME ; unsigned long eap_am_crypto_sha1_c::get_block_size(void)
-	?set_type@eapol_ethernet_header_base_c@@QAEXW4eapol_ethernet_type_e@@@Z @ 71 NONAME ; void eapol_ethernet_header_base_c::set_type(enum eapol_ethernet_type_e)
-	?set_mem_guard_bytes@eap_buf_chain_base_c@@AAEXXZ @ 72 NONAME ; void eap_buf_chain_base_c::set_mem_guard_bytes(void)
-	?get_is_valid_data@eap_expanded_type_c@@QBE_NXZ @ 73 NONAME ; bool eap_expanded_type_c::get_is_valid_data(void) const
-	?get_function_string@eap_process_tlv_message_data_c@@QAEPBDW4eap_tlv_message_type_function_e@@@Z @ 74 NONAME ; char const * eap_process_tlv_message_data_c::get_function_string(enum eap_tlv_message_type_function_e)
-	?copy_context@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 75 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *)
-	?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 76 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const
-	?create_uuid_v5@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXK0KPAVeap_variable_data_c@@@Z @ 77 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5(void const *, unsigned long, void const *, unsigned long, class eap_variable_data_c *)
-	?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 78 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void const *, void *, unsigned long)
-	?ConvertEAPSettingsToInternalType@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVEAPSettings@@PAVeap_method_settings_c@@@Z @ 79 NONAME ; int CEapConversion::ConvertEAPSettingsToInternalType(class abs_eap_am_tools_c *, class EAPSettings const *, class eap_method_settings_c *)
-	?add_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPBX@Z @ 80 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data(unsigned long, unsigned long, void const *)
-	?get_is_valid@crypto_sha1_c@@UAE_NXZ @ 81 NONAME ; bool crypto_sha1_c::get_is_valid(void)
-	?set_is_invalid@crypto_md5_c@@AAEXXZ @ 82 NONAME ; void crypto_md5_c::set_is_invalid(void)
-	?get_is_reserved@eap_am_mutex_symbian_c@@UBE_NXZ @ 83 NONAME ; bool eap_am_mutex_symbian_c::get_is_reserved(void) const
-	?set_eap_database_reference_values@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 84 NONAME ; enum eap_status_e eap_session_core_c::set_eap_database_reference_values(class eap_variable_data_c const *)
-	?get_md5_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 85 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_digest_length(class eap_variable_data_c *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PA_K@Z @ 86 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long long *)
-	?GetPrimaryNamePresent@EapCertificateEntry@@QBEHXZ @ 87 NONAME ; int EapCertificateEntry::GetPrimaryNamePresent(void) const
-	??0crypto_rsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 88 NONAME ; crypto_rsa_c::crypto_rsa_c(class abs_eap_am_tools_c *)
-	?rsa_encrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 89 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_block_size@crypto_sha_256_c@@UAEKXZ @ 90 NONAME ; unsigned long crypto_sha_256_c::get_block_size(void)
-	??0eapol_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 91 NONAME ; eapol_header_wr_c::eapol_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?hash_cleanup@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 92 NONAME ; enum eap_status_e crypto_md4_c::hash_cleanup(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 93 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_array_c<class eap_expanded_type_c> *)
-	?object_decrease_reference_count@eap_tlv_message_data_c@@QAEKXZ @ 94 NONAME ; unsigned long eap_tlv_message_data_c::object_decrease_reference_count(void)
-	?init@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 95 NONAME ; enum eap_status_e crypto_dsa_c::init(void)
-	?ConvertHBufC8ToInternalTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVHBufC8@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 96 NONAME ; int CEapConversion::ConvertHBufC8ToInternalTypes(class abs_eap_am_tools_c *, class HBufC8 const *, class eap_array_c<class eap_expanded_type_c> *)
-	?hmac_set_key@crypto_hmac_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 97 NONAME ; enum eap_status_e crypto_hmac_c::hmac_set_key(class eap_variable_data_c const *)
-	?GetThumbprintWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 98 NONAME ; class TDes16 * EapCertificateEntry::GetThumbprintWritable(void)
-	?get_eap_type_list@eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 99 NONAME ; enum eap_status_e eap_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?get_type@eapol_ethernet_header_base_c@@QBEGXZ @ 100 NONAME ; unsigned short eapol_ethernet_header_base_c::get_type(void) const
-	?encrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 101 NONAME ; enum eap_status_e crypto_3des_ede_c::encrypt_block(void const *, void *, unsigned long)
-	?get_length@eap_header_base_c@@QBEGXZ @ 102 NONAME ; unsigned short eap_header_base_c::get_length(void) const
-	?set_buffer_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 103 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer_length(unsigned long)
-	?set_is_invalid@crypto_sha1_c@@AAEXXZ @ 104 NONAME ; void crypto_sha1_c::set_is_invalid(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eap_tlv_message_type_function_e@@@Z @ 105 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eap_tlv_message_type_function_e)
-	?dsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 106 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_init(class eap_variable_data_c *)
-	?get_is_valid@crypto_dsa_c@@QAE_NXZ @ 107 NONAME ; bool crypto_dsa_c::get_is_valid(void)
-	?asynchronous_init_remove_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_network_id_selector_c@@@Z @ 108 NONAME ; enum eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(class eap_network_id_selector_c const *)
-	?unload_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 109 NONAME ; enum eap_status_e eap_core_c::unload_module(class eap_expanded_type_c)
-	?aes_decrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 110 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_decrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
-	?ConvertInternalTypeToEAPSettings@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVeap_method_settings_c@@PAVEAPSettings@@@Z @ 111 NONAME ; int CEapConversion::ConvertInternalTypeToEAPSettings(class abs_eap_am_tools_c *, class eap_method_settings_c const *, class EAPSettings *)
-	?set_do_packet_retransmission@eap_buf_chain_base_c@@QAEX_N@Z @ 112 NONAME ; void eap_buf_chain_base_c::set_do_packet_retransmission(bool)
-	?get_is_valid@crypto_rsa_c@@QAE_NXZ @ 113 NONAME ; bool crypto_rsa_c::get_is_valid(void)
-	??1eapol_header_base_c@@UAE@XZ @ 114 NONAME ; eapol_header_base_c::~eapol_header_base_c(void)
-	??8eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 115 NONAME ; bool eap_expanded_type_c::operator==(enum eap_type_ietf_values_e) const
-	?get_type_partner@eap_base_type_c@@QAEPAVabs_eap_base_type_c@@XZ @ 116 NONAME ; class abs_eap_base_type_c * eap_base_type_c::get_type_partner(void)
-	?read_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 117 NONAME ; enum eap_status_e eap_session_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?memory_store_add_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@K@Z @ 118 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *, unsigned long)
-	?get_sha_256_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 119 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_digest_length(class eap_variable_data_c *)
-	??0eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_NPBVeap_am_network_id_c@@2@Z @ 120 NONAME ; eap_core_c::eap_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool, class eap_am_network_id_c const *, bool)
-	?set_decryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 121 NONAME ; enum eap_status_e crypto_aes_c::set_decryption_key(void const *, unsigned long)
-	?get_is_manipulated@eap_buf_chain_base_c@@QAE_NXZ @ 122 NONAME ; bool eap_buf_chain_base_c::get_is_manipulated(void)
-	?set_subsection@eap_config_value_c@@QAEXPAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 123 NONAME ; void eap_config_value_c::set_subsection(class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> *)
-	?get_source@eap_am_network_id_c@@QBEPBEXZ @ 124 NONAME ; unsigned char const * eap_am_network_id_c::get_source(void) const
-	??0crypto_3des_ede_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 125 NONAME ; crypto_3des_ede_c::crypto_3des_ede_c(class abs_eap_am_tools_c *)
-	??0eap_am_memory_store_tlv_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 126 NONAME ; eap_am_memory_store_tlv_data_c::eap_am_memory_store_tlv_data_c(class abs_eap_am_tools_c *)
-	??1crypto_md5_c@@UAE@XZ @ 127 NONAME ; crypto_md5_c::~crypto_md5_c(void)
-	?SetThumbprintPresent@EapCertificateEntry@@QAEXXZ @ 128 NONAME ; void EapCertificateEntry::SetThumbprintPresent(void)
-	?set_trace_file_name@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 129 NONAME ; enum eap_status_e eap_am_tools_symbian_c::set_trace_file_name(class eap_variable_data_c const *)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 130 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned long)
-	?set_is_valid@crypto_ephemeral_diffie_hellman_c@@QAEXXZ @ 131 NONAME ; void crypto_ephemeral_diffie_hellman_c::set_is_valid(void)
-	??1eap_am_file_input_symbian_c@@UAE@XZ @ 132 NONAME ; eap_am_file_input_symbian_c::~eap_am_file_input_symbian_c(void)
-	?SetIssuerNamePresent@EapCertificateEntry@@QAEXXZ @ 133 NONAME ; void EapCertificateEntry::SetIssuerNamePresent(void)
-	??1eap_session_core_base_c@@UAE@XZ @ 134 NONAME ; eap_session_core_base_c::~eap_session_core_base_c(void)
-	?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 135 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void)
-	?get_digest_length@crypto_md4_c@@UAEKXZ @ 136 NONAME ; unsigned long crypto_md4_c::get_digest_length(void)
-	?eap_read_u16_t_little_endian_order@@YAGPBXK@Z @ 137 NONAME ; unsigned short eap_read_u16_t_little_endian_order(void const *, unsigned long)
-	?get_vendor_id@eap_expanded_type_c@@QBE?AW4eap_type_vendor_id_e@@XZ @ 138 NONAME ; enum eap_type_vendor_id_e eap_expanded_type_c::get_vendor_id(void) const
-	?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 139 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void const *, void *, unsigned long)
-	?u64_struct_to_u64_t@eap_am_tools_symbian_c@@UAE_KUu64_struct@@@Z @ 140 NONAME ; unsigned long long eap_am_tools_symbian_c::u64_struct_to_u64_t(struct u64_struct)
-	?get_eap_identifier@eap_core_nak_info_c@@QBEEXZ @ 141 NONAME ; unsigned char eap_core_nak_info_c::get_eap_identifier(void) const
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_buf_chain_wr_c@@@Z @ 142 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_buf_chain_wr_c const *)
-	??0crypto_aes_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 143 NONAME ; crypto_aes_c::crypto_aes_c(class abs_eap_am_tools_c *)
-	?md4_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 144 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
-	?t_prf_init@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 145 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?SetThumbprint@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 146 NONAME ; int EapCertificateEntry::SetThumbprint(class TBuf<64> const &)
-	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@1G@Z @ 147 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short)
-	??1abs_crypto_block_algorithm_c@@UAE@XZ @ 148 NONAME ; abs_crypto_block_algorithm_c::~abs_crypto_block_algorithm_c(void)
-	?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 149 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, void const *, unsigned long)
-	?create_uuid_v5_from_mac_address@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAVeap_variable_data_c@@@Z @ 150 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5_from_mac_address(unsigned char const *, unsigned long, class eap_variable_data_c *)
-	?shutdown_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 151 NONAME ; enum eap_status_e eap_core_c::shutdown_operation(class eap_base_type_c *, class abs_eap_am_tools_c *)
-	?stop_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e eap_am_tools_symbian_c::stop_timer_thread(void)
-	?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEXZ @ 153 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(void) const
-	?compare_length@eap_variable_data_c@@QBEJPBV1@K@Z @ 154 NONAME ; long eap_variable_data_c::compare_length(class eap_variable_data_c const *, unsigned long) const
-	?create_eap_session@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 155 NONAME ; enum eap_status_e eap_session_core_c::create_eap_session(class eap_am_network_id_c const *)
-	??0eap_am_mutex_base_c@@QAE@XZ @ 156 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(void)
-	?get_header_buffer_length@eap_general_header_base_c@@QBEKXZ @ 157 NONAME ; unsigned long eap_general_header_base_c::get_header_buffer_length(void) const
-	?get_data_length@eap_variable_data_c@@QBEKXZ @ 158 NONAME ; unsigned long eap_variable_data_c::get_data_length(void) const
-	?restart_authentication@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 159 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool)
-	?add_rand_seed@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBEK@Z @ 160 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed(unsigned char const *, unsigned long)
-	?SetSubjectName@EapCertificateEntry@@QAEHABV?$TBuf@$0PP@@@@Z @ 161 NONAME ; int EapCertificateEntry::SetSubjectName(class TBuf<255> const &)
-	??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 162 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *)
-	??0EapMessageQueue@@QAE@PAVabs_eap_am_tools_c@@@Z @ 163 NONAME ; EapMessageQueue::EapMessageQueue(class abs_eap_am_tools_c *)
-	?set_type@eap_am_network_id_c@@QAEXG@Z @ 164 NONAME ; void eap_am_network_id_c::set_type(unsigned short)
-	?set_is_valid@eap_variable_data_c@@QAEXXZ @ 165 NONAME ; void eap_variable_data_c::set_is_valid(void)
-	?get_trace_mask@eap_am_tools_c@@UBEKXZ @ 166 NONAME ; unsigned long eap_am_tools_c::get_trace_mask(void) const
-	?set_trace_prefix@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 167 NONAME ; enum eap_status_e eap_am_tools_symbian_c::set_trace_prefix(class eap_variable_data_c const *)
-	?get_owner_thread@eap_am_mutex_symbian_c@@QBEPBVRThread@@XZ @ 168 NONAME ; class RThread const * eap_am_mutex_symbian_c::get_owner_thread(void) const
-	?copy@eap_am_crypto_sha_256_c@@QAEPAV1@XZ @ 169 NONAME ; class eap_am_crypto_sha_256_c * eap_am_crypto_sha_256_c::copy(void)
-	??0crypto_md5_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 170 NONAME ; crypto_md5_c::crypto_md5_c(class abs_eap_am_tools_c *)
-	??1eapol_ethernet_header_wr_c@@UAE@XZ @ 171 NONAME ; eapol_ethernet_header_wr_c::~eapol_ethernet_header_wr_c(void)
-	?ConvertInternalTypeToExpandedEAPType@CEapConversion@@SAHPBVeap_expanded_type_c@@PAVTEapExpandedType@@@Z @ 172 NONAME ; int CEapConversion::ConvertInternalTypeToExpandedEAPType(class eap_expanded_type_c const *, class TEapExpandedType *)
-	?parse_nai@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1@Z @ 173 NONAME ; enum eap_status_e eap_am_tools_c::parse_nai(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?get_eap_type@eap_state_notification_c@@UBE?AVeap_expanded_type_c@@XZ @ 174 NONAME ; class eap_expanded_type_c eap_state_notification_c::get_eap_type(void) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAE@Z @ 175 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, unsigned char *)
-	?get_header_offset@eap_session_core_c@@UAEKPAK0@Z @ 176 NONAME ; unsigned long eap_session_core_c::get_header_offset(unsigned long *, unsigned long *)
-	?ConvertCertificatesToInternalType@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RPointerArray@VEapCertificateEntry@@@@PAV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 177 NONAME ; int CEapConversion::ConvertCertificatesToInternalType(class abs_eap_am_tools_c *, class RPointerArray<class EapCertificateEntry> const *, class eap_array_c<class eap_certificate_entry_c> *)
-	?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 178 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void const *, void *, unsigned long)
-	?get_expanded_type_data@eap_expanded_type_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@@Z @ 179 NONAME ; enum eap_status_e eap_expanded_type_c::get_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c *) const
-	?hmac_128_final@crypto_hmac_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 180 NONAME ; enum eap_status_e crypto_hmac_c::hmac_128_final(void *, unsigned long *)
-	?get_is_valid@crypto_rc4_c@@UAE_NXZ @ 181 NONAME ; bool crypto_rc4_c::get_is_valid(void)
-	??0TEapExpandedType@@QAE@ABV0@@Z @ 182 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const &)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 183 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e *)
-	?set_is_valid@eap_session_core_c@@UAEXXZ @ 184 NONAME ; void eap_session_core_c::set_is_valid(void)
-	?GetEapRequestsString@EapServerStrings@@SAPBDH@Z @ 185 NONAME ; char const * EapServerStrings::GetEapRequestsString(int)
-	?re_activate_timer_queue@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 186 NONAME ; enum eap_status_e eap_am_tools_symbian_c::re_activate_timer_queue(void)
-	?eap_host_to_little_endian_long_long@@YA_K_K@Z @ 187 NONAME ; unsigned long long eap_host_to_little_endian_long_long(unsigned long long)
-	??1eap_buf_chain_rd_c@@UAE@XZ @ 188 NONAME ; eap_buf_chain_rd_c::~eap_buf_chain_rd_c(void)
-	?set_decryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 189 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_decryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	??0eap_am_mutex_symbian_c@@QAE@PBV0@@Z @ 190 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(class eap_am_mutex_symbian_c const *)
-	?eap_status_return_file_number@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@KKJ@Z @ 191 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return_file_number(bool, enum eap_status_e, unsigned long, unsigned long, long)
-	??1eap_core_c@@UAE@XZ @ 192 NONAME ; eap_core_c::~eap_core_c(void)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 193 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c<class network_key_and_index_c> const *) const
-	?copy_context@crypto_sha_256_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 194 NONAME ; enum eap_status_e crypto_sha_256_c::copy_context(class eap_variable_data_c const *)
-	??0eap_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 195 NONAME ; eap_header_wr_c::eap_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?hash_init@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 196 NONAME ; enum eap_status_e crypto_sha1_c::hash_init(void)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVabs_eap_state_notification_c@@@Z @ 197 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class abs_eap_state_notification_c const *) const
-	?GetSubjectNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 198 NONAME ; class TDes16 * EapCertificateEntry::GetSubjectNameWritable(void)
-	?set_copy_of_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 199 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_network_id(class eap_am_network_id_c const *)
-	?hash@eap_variable_data_c@@QBEKK@Z @ 200 NONAME ; unsigned long eap_variable_data_c::hash(unsigned long) const
-	?eap_status_return@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@PBDJ@Z @ 201 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return(bool, enum eap_status_e, char const *, long)
-	?object_increase_reference_count@eap_core_c@@QAEXXZ @ 202 NONAME ; void eap_core_c::object_increase_reference_count(void)
-	?expand_key@crypto_kd_hmac_sha256_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@KPBV3@1@Z @ 203 NONAME ; enum eap_status_e crypto_kd_hmac_sha256_c::expand_key(class eap_variable_data_c *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?set_is_invalid@crypto_tls_sha1_prf_c@@AAEXXZ @ 204 NONAME ; void crypto_tls_sha1_prf_c::set_is_invalid(void)
-	?get_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@QAE_NXZ @ 205 NONAME ; bool crypto_eap_fast_hmac_sha1_prf_c::get_is_valid(void)
-	?copy@eap_rogue_ap_entry_c@@QBEPAV1@XZ @ 206 NONAME ; class eap_rogue_ap_entry_c * eap_rogue_ap_entry_c::copy(void) const
-	?set_is_valid@crypto_cbc_c@@UAEXXZ @ 207 NONAME ; void crypto_cbc_c::set_is_valid(void)
-	?tls_prf_cleanup@crypto_tls_prf_c@@QAE?AW4eap_status_e@@XZ @ 208 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_cleanup(void)
-	?get_packet_type@eapol_header_base_c@@QBE?AW4eapol_packet_type_e@@XZ @ 209 NONAME ; enum eapol_packet_type_e eapol_header_base_c::get_packet_type(void) const
-	?copy@crypto_sha1_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 210 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha1_c::copy(void)
-	?timer_expired@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 211 NONAME ; enum eap_status_e eap_core_c::timer_expired(unsigned long, void *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAK@Z @ 212 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long *)
-	?get_data_length@eapol_ethernet_header_base_c@@QBEKXZ @ 213 NONAME ; unsigned long eapol_ethernet_header_base_c::get_data_length(void) const
-	?file_read_line@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 214 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_line(class eap_variable_data_c *)
-	?reset@eap_core_c@@QAE?AW4eap_status_e@@XZ @ 215 NONAME ; enum eap_status_e eap_core_c::reset(void)
-	?eap_host_to_little_endian_short@@YAGG@Z @ 216 NONAME ; unsigned short eap_host_to_little_endian_short(unsigned short)
-	?get_key_index@eapol_session_key_c@@QBEKXZ @ 217 NONAME ; unsigned long eapol_session_key_c::get_key_index(void) const
-	?GetValue@TEapExpandedType@@QBEABV?$TBuf8@$07@@XZ @ 218 NONAME ; class TBuf8<8> const & TEapExpandedType::GetValue(void) const
-	?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 219 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const
-	??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@PBXK_N2@Z @ 220 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *, void const *, unsigned long, bool, bool)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeapol_session_key_c@@@Z @ 221 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eapol_session_key_c *)
-	?set_type@eap_config_value_c@@QAEXW4eap_configure_type_e@@@Z @ 222 NONAME ; void eap_config_value_c::set_type(enum eap_configure_type_e)
-	??1abs_crypto_stream_algorithm_c@@UAE@XZ @ 223 NONAME ; abs_crypto_stream_algorithm_c::~abs_crypto_stream_algorithm_c(void)
-	??1eapol_ethernet_header_base_c@@UAE@XZ @ 224 NONAME ; eapol_ethernet_header_base_c::~eapol_ethernet_header_base_c(void)
-	?eap_read_u24_t_network_order@@YAKPBXK@Z @ 225 NONAME ; unsigned long eap_read_u24_t_network_order(void const *, unsigned long)
-	?hash_init@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@XZ @ 226 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_init(void)
-	?sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 227 NONAME ; void eap_am_tools_symbian_c::sleep(unsigned long)
-	?eap_sha1_process_data_host_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 228 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_host_order(unsigned long const *, unsigned long)
-	?get_data@eapol_header_base_c@@QBEPAEK@Z @ 229 NONAME ; unsigned char * eapol_header_base_c::get_data(unsigned long) const
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 230 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<class simple_config_credential_c> *)
-	?get_block_size@crypto_sha1_c@@UAEKXZ @ 231 NONAME ; unsigned long crypto_sha1_c::get_block_size(void)
-	?set_is_valid@crypto_tls_sha1_prf_c@@AAEXXZ @ 232 NONAME ; void crypto_tls_sha1_prf_c::set_is_valid(void)
-	?get_clock_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 233 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks(void)
-	?GetSubjectName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 234 NONAME ; class TDes16 const * EapCertificateEntry::GetSubjectName(void) const
-	?get_data@eap_buf_chain_base_c@@QBEPAEK@Z @ 235 NONAME ; unsigned char * eap_buf_chain_base_c::get_data(unsigned long) const
-	?SetSerialNumber@EapCertificateEntry@@QAEHABV?$TBuf@$0PP@@@@Z @ 236 NONAME ; int EapCertificateEntry::SetSerialNumber(class TBuf<255> const &)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_key_authentication_type_e@@@Z @ 237 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eapol_key_authentication_type_e *)
-	?copy@network_key_and_index_c@@QAEPAV1@XZ @ 238 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void)
-	?copy@crypto_md5_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 239 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md5_c::copy(void)
-	?get_rand_bytes@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK@Z @ 240 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::get_rand_bytes(unsigned char *, unsigned long)
-	?ConvertFromBuf16ToInternal@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVTDes16@@PAVeap_variable_data_c@@@Z @ 241 NONAME ; int CEapConversion::ConvertFromBuf16ToInternal(class abs_eap_am_tools_c *, class TDes16 const *, class eap_variable_data_c *)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KW4eap_tlv_message_type_e@@PAW42@@Z @ 242 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eap_tlv_message_type_e, enum eap_status_e *)
-	?get_type@eap_am_network_id_c@@QBEGXZ @ 243 NONAME ; unsigned short eap_am_network_id_c::get_type(void) const
-	?get_eap_type@eap_master_session_key_c@@QBE?AVeap_expanded_type_c@@XZ @ 244 NONAME ; class eap_expanded_type_c eap_master_session_key_c::get_eap_type(void) const
-	??8TEapExpandedType@@QBE_NABV0@@Z @ 245 NONAME ; bool TEapExpandedType::operator==(class TEapExpandedType const &) const
-	?get_key_length@crypto_cbc_c@@UAEKXZ @ 246 NONAME ; unsigned long crypto_cbc_c::get_key_length(void)
-	?packet_process@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 247 NONAME ; enum eap_status_e eap_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?hash_init@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 248 NONAME ; enum eap_status_e crypto_md5_c::hash_init(void)
-	?memmove@eap_am_tools_symbian_c@@UAEXPAXPBXK@Z @ 249 NONAME ; void eap_am_tools_symbian_c::memmove(void *, void const *, unsigned long)
-	?set_marked_removed@eap_core_c@@QAEXXZ @ 250 NONAME ; void eap_core_c::set_marked_removed(void)
-	?set_key_type@eapol_session_key_c@@QAEXW4eapol_key_type_e@@@Z @ 251 NONAME ; void eapol_session_key_c::set_key_type(enum eapol_key_type_e)
-	?eap_htonl@@YAKK@Z @ 252 NONAME ; unsigned long eap_htonl(unsigned long)
-	?sha_256_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 253 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	?eap_md4_transform_host_order@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 254 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_transform_host_order(unsigned long const *, unsigned long)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_variable_data_c@@PBVeap_config_value_c@@@Z @ 255 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_variable_data_c const *, class eap_config_value_c const *) const
-	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 256 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPA_N@Z @ 257 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, bool *)
-	?get_partner@eap_session_core_c@@QAEPAVabs_eap_session_core_c@@XZ @ 258 NONAME ; class abs_eap_session_core_c * eap_session_core_c::get_partner(void)
-	?get_is_valid@eap_am_crypto_rc4_c@@QAE_NXZ @ 259 NONAME ; bool eap_am_crypto_rc4_c::get_is_valid(void)
-	?set_version@eapol_header_base_c@@QAEXW4eapol_protocol_version_e@@@Z @ 260 NONAME ; void eapol_header_base_c::set_version(enum eapol_protocol_version_e)
-	?set_encryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 261 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_encryption_key(void const *, unsigned long)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 262 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c<class simple_config_credential_c> const *)
-	?write_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 263 NONAME ; enum eap_status_e eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?ConvertFromTDesCToInternal@CEapConversion@@SAHPAVabs_eap_am_tools_c@@ABVTDesC16@@PAVeap_variable_data_c@@@Z @ 264 NONAME ; int CEapConversion::ConvertFromTDesCToInternal(class abs_eap_am_tools_c *, class TDesC16 const &, class eap_variable_data_c *)
-	?cleanup@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 265 NONAME ; enum eap_status_e crypto_rsa_c::cleanup(void)
-	?object_decrease_reference_count@eap_base_type_c@@QAEKXZ @ 266 NONAME ; unsigned long eap_base_type_c::object_decrease_reference_count(void)
-	?get_is_valid@crypto_md4_c@@UAE_NXZ @ 267 NONAME ; bool crypto_md4_c::get_is_valid(void)
-	?allocate_message_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAPAX@Z @ 268 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_buffer(unsigned long, unsigned long, void * *)
-	??1eap_header_rd_c@@UAE@XZ @ 269 NONAME ; eap_header_rd_c::~eap_header_rd_c(void)
-	?hash_cleanup@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 270 NONAME ; enum eap_status_e crypto_sha1_c::hash_cleanup(void)
-	?GetSecondaryName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 271 NONAME ; class TDes16 const * EapCertificateEntry::GetSecondaryName(void) const
-	?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 272 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(void const *, unsigned long, class eap_variable_data_c *)
-	?hash_update@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PBXK@Z @ 273 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_update(void const *, unsigned long)
-	??0EapMessageBuffer@@QAE@PAVabs_eap_am_tools_c@@@Z @ 274 NONAME ; EapMessageBuffer::EapMessageBuffer(class abs_eap_am_tools_c *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVnetwork_key_and_index_c@@@Z @ 275 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class network_key_and_index_c *)
-	?get_is_reserved@eap_am_mutex_base_c@@QBE_NXZ @ 276 NONAME ; bool eap_am_mutex_base_c::get_is_reserved(void) const
-	?hash_init@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@XZ @ 277 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_init(void)
-	?get_is_valid@crypto_cbc_c@@UAE_NXZ @ 278 NONAME ; bool crypto_cbc_c::get_is_valid(void)
-	?convert_bytes_to_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 279 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
-	?copy@eap_network_id_selector_c@@QBEPAV1@XZ @ 280 NONAME ; class eap_network_id_selector_c * eap_network_id_selector_c::copy(void) const
-	?get_mem_guard_length@eap_buf_chain_base_c@@QAEKXZ @ 281 NONAME ; unsigned long eap_buf_chain_base_c::get_mem_guard_length(void)
-	?eap_write_u16_t_little_endian_order@@YA?AW4eap_status_e@@PAXKG@Z @ 282 NONAME ; enum eap_status_e eap_write_u16_t_little_endian_order(void *, unsigned long, unsigned short)
-	?trace@EAPSettings@@QBEXXZ @ 283 NONAME ; void EAPSettings::trace(void) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAG@Z @ 284 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, unsigned short *)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@@Z @ 285 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e *)
-	??1crypto_3des_ede_c@@UAE@XZ @ 286 NONAME ; crypto_3des_ede_c::~crypto_3des_ede_c(void)
-	?get_saved_eap_identity@eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 287 NONAME ; enum eap_status_e eap_core_c::get_saved_eap_identity(class eap_variable_data_c *)
-	?convert_ascii_to_uppercase@eap_am_tools_c@@UAE?AW4eap_status_e@@PAEK@Z @ 288 NONAME ; enum eap_status_e eap_am_tools_c::convert_ascii_to_uppercase(unsigned char *, unsigned long)
-	?get_subsection@eap_config_value_c@@QAEPAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@XZ @ 289 NONAME ; class eap_core_map_c<class eap_config_value_c, class abs_eap_core_map_c, class eap_variable_data_c> * eap_config_value_c::get_subsection(void)
-	?decrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 290 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?GetSerialNumber@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 291 NONAME ; class TDes16 const * EapCertificateEntry::GetSerialNumber(void) const
-	?tls_prf_output@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 292 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_output(void *, unsigned long)
-	?get_is_writable@eap_variable_data_c@@QBE_NXZ @ 293 NONAME ; bool eap_variable_data_c::get_is_writable(void) const
-	?GetVendorId@TEapExpandedType@@QBEIXZ @ 294 NONAME ; unsigned int TEapExpandedType::GetVendorId(void) const
-	?convert_eap_type_to_u64_t@@YA_KVeap_expanded_type_c@@@Z @ 295 NONAME ; unsigned long long convert_eap_type_to_u64_t(class eap_expanded_type_c)
-	?hash_cleanup@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 296 NONAME ; enum eap_status_e crypto_sha_256_c::hash_cleanup(void)
-	?get_vendor_type@eap_expanded_type_c@@QBEKXZ @ 297 NONAME ; unsigned long eap_expanded_type_c::get_vendor_type(void) const
-	?get_expanded_ietf_type_offset@eap_header_base_c@@SAKXZ @ 298 NONAME ; unsigned long eap_header_base_c::get_expanded_ietf_type_offset(void)
-	?get_data@eap_variable_data_c@@QBEPAEK@Z @ 299 NONAME ; unsigned char * eap_variable_data_c::get_data(unsigned long) const
-	?dublicate_mutex@eap_am_mutex_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 300 NONAME ; class abs_eap_am_mutex_c * eap_am_mutex_symbian_c::dublicate_mutex(void)
-	?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 301 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void const *, void *, unsigned long)
-	?hmac_cleanup@crypto_hmac_c@@UAE?AW4eap_status_e@@XZ @ 302 NONAME ; enum eap_status_e crypto_hmac_c::hmac_cleanup(void)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeapol_session_key_c@@@Z @ 303 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eapol_session_key_c const *) const
-	?set_copy@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 304 NONAME ; enum eap_status_e eap_master_session_key_c::set_copy(class eap_master_session_key_c const *)
-	?hash_init@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@XZ @ 305 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_init(void)
-	?get_send_network_id@eap_core_retransmission_c@@QAEPAVeap_am_network_id_c@@XZ @ 306 NONAME ; class eap_am_network_id_c * eap_core_retransmission_c::get_send_network_id(void)
-	??0eap_session_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_session_core_c@@_N@Z @ 307 NONAME ; eap_session_core_c::eap_session_core_c(class abs_eap_am_tools_c *, class abs_eap_session_core_c *, bool)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4simple_config_Authentication_Type_e@@@Z @ 308 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum simple_config_Authentication_Type_e *)
-	?ConvertInternalTypeToCipherSuites@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@G@@PAV?$RArray@I@@@Z @ 309 NONAME ; int CEapConversion::ConvertInternalTypeToCipherSuites(class abs_eap_am_tools_c *, class eap_array_c<unsigned short> const *, class RArray<unsigned int> *)
-	?get_is_valid@eapol_session_key_c@@QBE_NXZ @ 310 NONAME ; bool eapol_session_key_c::get_is_valid(void) const
-	?get_ietf_type_field_length@eap_header_base_c@@SAKXZ @ 311 NONAME ; unsigned long eap_header_base_c::get_ietf_type_field_length(void)
-	?rsa_encrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 312 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 313 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c<class eap_expanded_type_c> const *) const
-	??0crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 314 NONAME ; crypto_sha_256_c::crypto_sha_256_c(class abs_eap_am_tools_c *)
-	??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 315 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long)
-	?eap_read_u64_t_little_endian_order@@YA_KPBXK@Z @ 316 NONAME ; unsigned long long eap_read_u64_t_little_endian_order(void const *, unsigned long)
-	?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 317 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void *, unsigned long)
-	?get_is_valid@crypto_wpa_psk_password_hash_c@@QAE_NXZ @ 318 NONAME ; bool crypto_wpa_psk_password_hash_c::get_is_valid(void)
-	??1crypto_aes_wrap_c@@UAE@XZ @ 319 NONAME ; crypto_aes_wrap_c::~crypto_aes_wrap_c(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@D@Z @ 320 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(char)
-	?get_status_string@eap_status_string_c@@SAPBDW4eap_status_e@@@Z @ 321 NONAME ; char const * eap_status_string_c::get_status_string(enum eap_status_e)
-	?get_is_valid@crypto_md5_c@@UAE_NXZ @ 322 NONAME ; bool crypto_md5_c::get_is_valid(void)
-	?get_timer_queue_is_empty@eap_am_tools_symbian_c@@UAE_NXZ @ 323 NONAME ; bool eap_am_tools_symbian_c::get_timer_queue_is_empty(void)
-	?compare_u64@eap_am_tools_c@@UAEJ_K0@Z @ 324 NONAME ; long eap_am_tools_c::compare_u64(unsigned long long, unsigned long long)
-	?enter_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 325 NONAME ; void eap_am_tools_symbian_c::enter_crypto_cs(void)
-	??0crypto_nt_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 326 NONAME ; crypto_nt_hash_c::crypto_nt_hash_c(class abs_eap_am_tools_c *)
-	?md5_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 327 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
-	??0crypto_tls_md5_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 328 NONAME ; crypto_tls_md5_prf_c::crypto_tls_md5_prf_c(class abs_eap_am_tools_c *)
-	?object_increase_reference_count@eap_am_memory_store_tlv_data_c@@QAEXXZ @ 329 NONAME ; void eap_am_memory_store_tlv_data_c::object_increase_reference_count(void)
-	?get_gmt_unix_time@eap_am_tools_symbian_c@@UAEKXZ @ 330 NONAME ; unsigned long eap_am_tools_symbian_c::get_gmt_unix_time(void)
-	?cleanup@eap_am_crypto_rc4_c@@AAE?AW4eap_status_e@@XZ @ 331 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::cleanup(void)
-	?file_copy@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 332 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_copy(class eap_variable_data_c const *, class eap_variable_data_c const *)
-	??1eap_am_crypto_symbian_c@@UAE@XZ @ 333 NONAME ; eap_am_crypto_symbian_c::~eap_am_crypto_symbian_c(void)
-	?get_use_seconds_timestamp_in_traces@eap_am_tools_c@@QAE_NXZ @ 334 NONAME ; bool eap_am_tools_c::get_use_seconds_timestamp_in_traces(void)
-	?get_master_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 335 NONAME ; enum eap_status_e crypto_nt_hash_c::get_master_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?packet_data_crypto_keys@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 336 NONAME ; enum eap_status_e eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	?get_protocol_layer_string@eap_state_notification_c@@SAPBDK@Z @ 337 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(unsigned long)
-	?SetSecondaryName@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 338 NONAME ; int EapCertificateEntry::SetSecondaryName(class TBuf<64> const &)
-	?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 339 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void)
-	?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 340 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void *, unsigned long)
-	?add_rand_seed_hw_ticks@crypto_random_c@@QAE?AW4eap_status_e@@XZ @ 341 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed_hw_ticks(void)
-	?get_is_valid@eap_config_value_c@@QBE_NXZ @ 342 NONAME ; bool eap_config_value_c::get_is_valid(void) const
-	?set_is_valid@eap_am_crypto_symbian_c@@UAEXXZ @ 343 NONAME ; void eap_am_crypto_symbian_c::set_is_valid(void)
-	?set_buffer_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 344 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_buffer_length(unsigned long)
-	?set_is_valid@crypto_hmac_c@@UAEXXZ @ 345 NONAME ; void crypto_hmac_c::set_is_valid(void)
-	??4TEapExpandedType@@QAEAAV0@ABVTDesC8@@@Z @ 346 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TDesC8 const &)
-	?get_previous_state@eap_state_notification_c@@UBEKXZ @ 347 NONAME ; unsigned long eap_state_notification_c::get_previous_state(void) const
-	?packet_send@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 348 NONAME ; enum eap_status_e eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_md5_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 349 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_block_size(class eap_variable_data_c *)
-	??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 350 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long)
-	??1eap_core_retransmission_c@@UAE@XZ @ 351 NONAME ; eap_core_retransmission_c::~eap_core_retransmission_c(void)
-	??1eap_tlv_message_data_c@@UAE@XZ @ 352 NONAME ; eap_tlv_message_data_c::~eap_tlv_message_data_c(void)
-	?hash_init@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 353 NONAME ; enum eap_status_e crypto_md4_c::hash_init(void)
-	?encrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 354 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::encrypt_data(void const *, void *, unsigned long)
-	?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 355 NONAME ; enum eap_status_e eap_variable_data_c::add_data(class eap_variable_data_c const *)
-	?configure@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 356 NONAME ; enum eap_status_e eap_session_core_c::configure(void)
-	?get_destination_length@eap_am_network_id_c@@QBEKXZ @ 357 NONAME ; unsigned long eap_am_network_id_c::get_destination_length(void) const
-	?tls_prf_init@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 358 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?get_timer_id@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 359 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_timer_id(void) const
-	??9eap_expanded_type_c@@QBE_NABV0@@Z @ 360 NONAME ; bool eap_expanded_type_c::operator!=(class eap_expanded_type_c const &) const
-	?eap_acknowledge@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 361 NONAME ; enum eap_status_e eap_core_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?md4_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 362 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_init(class eap_variable_data_c *)
-	?get_is_tunneled_eap@eap_core_c@@UBE_NXZ @ 363 NONAME ; bool eap_core_c::get_is_tunneled_eap(void) const
-	??1crypto_tls_base_prf_c@@UAE@XZ @ 364 NONAME ; crypto_tls_base_prf_c::~crypto_tls_base_prf_c(void)
-	?octet_to_ascii@eap_am_tools_c@@UAEEJ@Z @ 365 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii(long)
-	?get_is_valid_data@eap_buf_chain_base_c@@QBE_NXZ @ 366 NONAME ; bool eap_buf_chain_base_c::get_is_valid_data(void) const
-	??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 367 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long)
-	?get_const_type@eap_config_value_c@@QBE?AW4eap_configure_type_e@@XZ @ 368 NONAME ; enum eap_configure_type_e eap_config_value_c::get_const_type(void) const
-	?get_is_valid@eap_am_crypto_md4_c@@QAE_NXZ @ 369 NONAME ; bool eap_am_crypto_md4_c::get_is_valid(void)
-	?get_next_retransmission_counter@eap_core_retransmission_c@@QAEKXZ @ 370 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_counter(void)
-	?hash_final@crypto_md5_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 371 NONAME ; enum eap_status_e crypto_md5_c::hash_final(void *, unsigned long *)
-	?dh_cleanup@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 372 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::dh_cleanup(class eap_variable_data_c const *)
-	?send_eap_failure@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 373 NONAME ; enum eap_status_e eap_core_c::send_eap_failure(class eap_am_network_id_c const *, unsigned char)
-	?set_sequence_number@eapol_session_key_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 374 NONAME ; enum eap_status_e eapol_session_key_c::set_sequence_number(class eap_variable_data_c *)
-	?get_is_valid@eap_expanded_type_c@@QBE_NXZ @ 375 NONAME ; bool eap_expanded_type_c::get_is_valid(void) const
-	?get_send_packet_index@eap_buf_chain_base_c@@QAEKXZ @ 376 NONAME ; unsigned long eap_buf_chain_base_c::get_send_packet_index(void)
-	?packet_send@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 377 NONAME ; enum eap_status_e eap_session_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long)
-	?get_state_string@eap_state_notification_c@@SAPBDKK@Z @ 378 NONAME ; char const * eap_state_notification_c::get_state_string(unsigned long, unsigned long)
-	?copy_context@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK2@Z @ 379 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *)
-	?initialize_pad@crypto_hmac_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 380 NONAME ; enum eap_status_e crypto_hmac_c::initialize_pad(class eap_variable_data_c *, unsigned char)
-	?sha_256_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 381 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_cleanup(class eap_variable_data_c *)
-	??1EapMessageQueue@@UAE@XZ @ 382 NONAME ; EapMessageQueue::~EapMessageQueue(void)
-	?aligned_data_length@crypto_cbc_c@@UAEKK@Z @ 383 NONAME ; unsigned long crypto_cbc_c::aligned_data_length(unsigned long)
-	?reset_start_offset_and_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 384 NONAME ; enum eap_status_e eap_variable_data_c::reset_start_offset_and_data_length(void)
-	?begin_db_transaction@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbNamedDatabase@@@Z @ 385 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_transaction(class RDbNamedDatabase &)
-	?eap_shift_left_64_bit@@YA_K_KK@Z @ 386 NONAME ; unsigned long long eap_shift_left_64_bit(unsigned long long, unsigned long)
-	?trace_configuration@eap_am_tools_c@@UAEXW4eap_status_e@@PBVeap_configuration_field_c@@PBVeap_variable_data_c@@@Z @ 387 NONAME ; void eap_am_tools_c::trace_configuration(enum eap_status_e, class eap_configuration_field_c const *, class eap_variable_data_c const *)
-	?get_identifier@eap_header_base_c@@QBEEXZ @ 388 NONAME ; unsigned char eap_header_base_c::get_identifier(void) const
-	?configure@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 389 NONAME ; enum eap_status_e eap_am_tools_symbian_c::configure(void)
-	?ConvertEAPTypesToInternalTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RArray@I@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 390 NONAME ; int CEapConversion::ConvertEAPTypesToInternalTypes(class abs_eap_am_tools_c *, class RArray<unsigned int> const *, class eap_array_c<class eap_expanded_type_c> *)
-	?copy_message_digest@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 391 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_message_digest(void *, unsigned long *)
-	?get_data_length@eapol_header_base_c@@QBEGXZ @ 392 NONAME ; unsigned short eapol_header_base_c::get_data_length(void) const
-	?get_block_size@eap_am_crypto_sha_256_c@@QAEKXZ @ 393 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_block_size(void)
-	?object_increase_reference_count@eap_base_type_c@@QAEXXZ @ 394 NONAME ; void eap_base_type_c::object_increase_reference_count(void)
-	?file_exists@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 395 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_exists(class eap_variable_data_c const *)
-	??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 396 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool)
-	?get_do_length_checks@eap_buf_chain_base_c@@QBE_NXZ @ 397 NONAME ; bool eap_buf_chain_base_c::get_do_length_checks(void) const
-	?get_key_type@eapol_session_key_c@@QBE?AW4eapol_key_type_e@@XZ @ 398 NONAME ; enum eapol_key_type_e eapol_session_key_c::get_key_type(void) const
-	??1eap_file_config_c@@UAE@XZ @ 399 NONAME ; eap_file_config_c::~eap_file_config_c(void)
-	?trace_data@eap_am_tools_c@@UAEXPBDPBXK@Z @ 400 NONAME ; void eap_am_tools_c::trace_data(char const *, void const *, unsigned long)
-	?object_increase_reference_count@eap_tlv_message_data_c@@QAEXXZ @ 401 NONAME ; void eap_tlv_message_data_c::object_increase_reference_count(void)
-	?hash_final@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 402 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_final(void *, unsigned long *)
-	?set_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAEX_N@Z @ 403 NONAME ; void eap_am_tools_symbian_c::set_use_eap_milli_second_timer(bool)
-	?restart_authentication@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 404 NONAME ; enum eap_status_e eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool)
-	?get_is_valid_data@eap_am_network_id_c@@QBE_NXZ @ 405 NONAME ; bool eap_am_network_id_c::get_is_valid_data(void) const
-	?set_is_manipulated@eap_buf_chain_base_c@@QAEXXZ @ 406 NONAME ; void eap_buf_chain_base_c::set_is_manipulated(void)
-	?GetSerialNumberPresent@EapCertificateEntry@@QBEHXZ @ 407 NONAME ; int EapCertificateEntry::GetSerialNumberPresent(void) const
-	?dh_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 408 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dh_cleanup(class eap_variable_data_c const *)
-	?hash_cleanup@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@XZ @ 409 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_cleanup(void)
-	?get_data@eap_variable_data_c@@QBEPAEXZ @ 410 NONAME ; unsigned char * eap_variable_data_c::get_data(void) const
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_general_header_base_c@@@Z @ 411 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_general_header_base_c const *)
-	?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEPAE@Z @ 412 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(unsigned char *) const
-	?set_is_valid@eap_core_c@@UAEXXZ @ 413 NONAME ; void eap_core_c::set_is_valid(void)
-	?get_sha1_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 414 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_block_size(class eap_variable_data_c *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAD@Z @ 415 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, char *)
-	?get_eapol_header@eapol_ethernet_header_rd_c@@QBEPAEXZ @ 416 NONAME ; unsigned char * eapol_ethernet_header_rd_c::get_eapol_header(void) const
-	?decrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 417 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::decrypt_data(void const *, void *, unsigned long)
-	?eap_read_u16_t_network_order@@YAGPBXK@Z @ 418 NONAME ; unsigned short eap_read_u16_t_network_order(void const *, unsigned long)
-	?rsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 419 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?add_padding_bytes@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PAXK@Z @ 420 NONAME ; enum eap_status_e crypto_aes_wrap_c::add_padding_bytes(void *, unsigned long)
-	?check_header@eapol_header_base_c@@UBE?AW4eap_status_e@@XZ @ 421 NONAME ; enum eap_status_e eapol_header_base_c::check_header(void) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_key_802_11_authentication_mode_e@@@Z @ 422 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eapol_key_802_11_authentication_mode_e *)
-	?send_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 423 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_response(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@_N@Z @ 424 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(bool)
-	?get_timer_resolution_ms@eap_am_tools_symbian_c@@UAEKXZ @ 425 NONAME ; unsigned long eap_am_tools_symbian_c::get_timer_resolution_ms(void)
-	?set_is_invalid@crypto_tls_md5_prf_c@@AAEXXZ @ 426 NONAME ; void crypto_tls_md5_prf_c::set_is_invalid(void)
-	?octet_to_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 427 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii_armor(unsigned char)
-	?set_is_valid@crypto_tls_md5_prf_c@@AAEXXZ @ 428 NONAME ; void crypto_tls_md5_prf_c::set_is_valid(void)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 429 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<class eap_expanded_type_c> *)
-	?get_is_valid@eap_am_mutex_symbian_c@@UBE_NXZ @ 430 NONAME ; bool eap_am_mutex_symbian_c::get_is_valid(void) const
-	??0crypto_ephemeral_diffie_hellman_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 431 NONAME ; crypto_ephemeral_diffie_hellman_c::crypto_ephemeral_diffie_hellman_c(class abs_eap_am_tools_c *)
-	?get_source@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 432 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_source(void)
-	?set_key@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 433 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::set_key(class eap_variable_data_c const *)
-	?set_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 434 NONAME ; enum eap_status_e eap_session_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	??1crypto_random_c@@UAE@XZ @ 435 NONAME ; crypto_random_c::~crypto_random_c(void)
-	??1eap_am_mutex_symbian_c@@UAE@XZ @ 436 NONAME ; eap_am_mutex_symbian_c::~eap_am_mutex_symbian_c(void)
-	?read_configure@eap_file_config_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 437 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?delete_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAXPAV1@@Z @ 438 NONAME ; void abs_eap_am_tools_c::delete_abs_eap_am_tools_c(class abs_eap_am_tools_c *)
-	?get_clock_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 439 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks_of_second(void)
-	??0crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 440 NONAME ; crypto_md4_c::crypto_md4_c(class abs_eap_am_tools_c *)
-	?set_packet_type@eapol_header_base_c@@QAEXW4eapol_packet_type_e@@@Z @ 441 NONAME ; void eapol_header_base_c::set_packet_type(enum eapol_packet_type_e)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_variable_data_c@@@Z @ 442 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_variable_data_c *)
-	?get_header_length@eap_header_base_c@@SAKXZ @ 443 NONAME ; unsigned long eap_header_base_c::get_header_length(void)
-	?rc4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 444 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_cleanup(class eap_variable_data_c *)
-	?AddMessage@EapMessageQueue@@QAEHW4TEapRequests@@PBXI@Z @ 445 NONAME ; int EapMessageQueue::AddMessage(enum TEapRequests, void const *, unsigned int)
-	??0eap_am_mutex_reference_c@@QAE@XZ @ 446 NONAME ; eap_am_mutex_reference_c::eap_am_mutex_reference_c(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@F@Z @ 447 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(short)
-	??Ieap_expanded_type_c@@QBEPBV0@XZ @ 448 NONAME ; class eap_expanded_type_c const * eap_expanded_type_c::operator&(void) const
-	?get_expanded_type_field_length@eap_header_base_c@@SAKXZ @ 449 NONAME ; unsigned long eap_header_base_c::get_expanded_type_field_length(void)
-	?sha1_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 450 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_cleanup(class eap_variable_data_c *)
-	?dsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 451 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_retransmission_counter@eap_core_retransmission_c@@QBEKXZ @ 452 NONAME ; unsigned long eap_core_retransmission_c::get_retransmission_counter(void) const
-	?get_header_length@eapol_ethernet_header_base_c@@SAGXZ @ 453 NONAME ; unsigned short eapol_ethernet_header_base_c::get_header_length(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_am_network_id_c@@@Z @ 454 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_am_network_id_c *)
-	?eap_write_u64_t_little_endian_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 455 NONAME ; enum eap_status_e eap_write_u64_t_little_endian_order(void *, unsigned long, unsigned long long)
-	?set_eap_type@eap_master_session_key_c@@QAEXVeap_expanded_type_c@@@Z @ 456 NONAME ; void eap_master_session_key_c::set_eap_type(class eap_expanded_type_c)
-	?check_guards@eap_buf_chain_base_c@@QBE_NXZ @ 457 NONAME ; bool eap_buf_chain_base_c::check_guards(void) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_method_settings_c@@@Z @ 458 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_method_settings_c *)
-	??1eap_am_tools_symbian_c@@UAE@XZ @ 459 NONAME ; eap_am_tools_symbian_c::~eap_am_tools_symbian_c(void)
-	?set_type@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 460 NONAME ; enum eap_status_e eap_tlv_header_c::set_type(unsigned long)
-	?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 461 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e)
-	?get_is_valid@crypto_tls_prf_c@@QAE_NXZ @ 462 NONAME ; bool crypto_tls_prf_c::get_is_valid(void)
-	??0eap_rogue_ap_entry_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 463 NONAME ; eap_rogue_ap_entry_c::eap_rogue_ap_entry_c(class abs_eap_am_tools_c *)
-	?get_const_data@eap_config_value_c@@QBEPBVeap_variable_data_c@@XZ @ 464 NONAME ; class eap_variable_data_c const * eap_config_value_c::get_const_data(void) const
-	??0eap_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 465 NONAME ; eap_tlv_message_data_c::eap_tlv_message_data_c(class abs_eap_am_tools_c *)
-	?force_inheritance@eap_buf_chain_rd_c@@EAEXXZ @ 466 NONAME ; void eap_buf_chain_rd_c::force_inheritance(void)
-	?ConvertFromInternalToBuf16@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@PAVTDes16@@@Z @ 467 NONAME ; int CEapConversion::ConvertFromInternalToBuf16(class abs_eap_am_tools_c *, class eap_variable_data_c const *, class TDes16 *)
-	?get_ethernet_header@eap_buf_chain_rd_c@@QBEPBEXZ @ 468 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_ethernet_header(void) const
-	?get_destination_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 469 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_destination_id(void) const
-	??1eap_config_value_c@@UAE@XZ @ 470 NONAME ; eap_config_value_c::~eap_config_value_c(void)
-	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 471 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *)
-	?mutex_leave@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 472 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_leave(class abs_eap_am_tools_c *)
-	??0crypto_cbc_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_block_algorithm_c@@_N@Z @ 473 NONAME ; crypto_cbc_c::crypto_cbc_c(class abs_eap_am_tools_c *, class abs_crypto_block_algorithm_c *, bool)
-	?number_string_to_u32@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAK@Z @ 474 NONAME ; enum eap_status_e eap_am_tools_c::number_string_to_u32(unsigned char const *, unsigned long, unsigned long *)
-	?DeleteFirstMessage@EapMessageQueue@@QAEHXZ @ 475 NONAME ; int EapMessageQueue::DeleteFirstMessage(void)
-	?get_type_string@eapol_header_base_c@@QBEPBDXZ @ 476 NONAME ; char const * eapol_header_base_c::get_type_string(void) const
-	?get_sha1_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 477 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_digest_length(class eap_variable_data_c *)
-	??1eap_buf_chain_base_c@@UAE@XZ @ 478 NONAME ; eap_buf_chain_base_c::~eap_buf_chain_base_c(void)
-	??1eap_am_tools_c@@UAE@XZ @ 479 NONAME ; eap_am_tools_c::~eap_am_tools_c(void)
-	?resend_packet@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKK@Z @ 480 NONAME ; enum eap_status_e eap_core_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long)
-	?get_digest_length@crypto_hmac_c@@UAEKXZ @ 481 NONAME ; unsigned long crypto_hmac_c::get_digest_length(void)
-	??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 482 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool)
-	?eap_sha1_dss_G_function@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXKPAXPAK@Z @ 483 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_dss_G_function(void const *, unsigned long, void *, unsigned long *)
-	?send_eap_nak_response@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 484 NONAME ; enum eap_status_e eap_core_c::send_eap_nak_response(class eap_am_network_id_c const *, unsigned char, class eap_array_c<class eap_expanded_type_c> const *)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_expanded_type_c@@@Z @ 485 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_expanded_type_c *)
-	?get_reference_count@eap_am_mutex_reference_c@@QAEKXZ @ 486 NONAME ; unsigned long eap_am_mutex_reference_c::get_reference_count(void)
-	?SetSubjectNamePresent@EapCertificateEntry@@QAEXXZ @ 487 NONAME ; void EapCertificateEntry::SetSubjectNamePresent(void)
-	??0eap_session_core_base_c@@QAE@XZ @ 488 NONAME ; eap_session_core_base_c::eap_session_core_base_c(void)
-	?rsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 489 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_init(class eap_variable_data_c *)
-	?convert_eap_type_to_u32_t@@YAKVeap_expanded_type_c@@@Z @ 490 NONAME ; unsigned long convert_eap_type_to_u32_t(class eap_expanded_type_c)
-	?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PAXK_N1@Z @ 491 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void *, unsigned long, bool, bool)
-	?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 492 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void *, unsigned long)
-	??1eapol_session_key_c@@UAE@XZ @ 493 NONAME ; eapol_session_key_c::~eapol_session_key_c(void)
-	?file_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 494 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_close(void)
-	?tls_prf_init@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 495 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?t_prf_output@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PAXG@Z @ 496 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_output(void *, unsigned short)
-	?hash_nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 497 NONAME ; enum eap_status_e crypto_nt_hash_c::hash_nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?get_encrypts@crypto_cbc_c@@UAE_NXZ @ 498 NONAME ; bool crypto_cbc_c::get_encrypts(void)
-	?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 499 NONAME ; bool network_key_and_index_c::get_is_valid_data(void)
-	??1eap_type_selection_c@@UAE@XZ @ 500 NONAME ; eap_type_selection_c::~eap_type_selection_c(void)
-	??0eap_am_mutex_base_c@@QAE@PBV0@@Z @ 501 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(class eap_am_mutex_base_c const *)
-	??1eap_rogue_ap_entry_c@@UAE@XZ @ 502 NONAME ; eap_rogue_ap_entry_c::~eap_rogue_ap_entry_c(void)
-	?get_is_valid_data@eap_variable_data_c@@QBE_NXZ @ 503 NONAME ; bool eap_variable_data_c::get_is_valid_data(void) const
-	?reset_header@eapol_ethernet_header_wr_c@@QAEXW4eapol_ethernet_type_e@@G@Z @ 504 NONAME ; void eapol_ethernet_header_wr_c::reset_header(enum eapol_ethernet_type_e, unsigned short)
-	??1crypto_sha1_c@@UAE@XZ @ 505 NONAME ; crypto_sha1_c::~crypto_sha1_c(void)
-	?check_header@eap_header_base_c@@UBE?AW4eap_status_e@@XZ @ 506 NONAME ; enum eap_status_e eap_header_base_c::check_header(void) const
-	?set_type@eap_header_base_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@_N@Z @ 507 NONAME ; enum eap_status_e eap_header_base_c::set_type(class eap_expanded_type_c, bool)
-	?get_is_valid@eap_buf_chain_base_c@@QBE_NXZ @ 508 NONAME ; bool eap_buf_chain_base_c::get_is_valid(void) const
-	?copy@eap_variable_data_c@@QBEPAV1@XZ @ 509 NONAME ; class eap_variable_data_c * eap_variable_data_c::copy(void) const
-	?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 510 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(void const *, unsigned long, class eap_variable_data_c *)
-	?set_is_invalid@crypto_sha_256_c@@AAEXXZ @ 511 NONAME ; void crypto_sha_256_c::set_is_invalid(void)
-	?sprint@eap_am_tools_symbian_c@@AAAXAAVTDes16@@PBDZZ @ 512 NONAME ; void eap_am_tools_symbian_c::sprint(class TDes16 &, char const *, ...)
-	??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBXK1KG_N2@Z @ 513 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, void const *, unsigned long, void const *, unsigned long, unsigned short, bool, bool)
-	??0eap_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 514 NONAME ; eap_header_base_c::eap_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?config_strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 515 NONAME ; unsigned long eap_am_tools_symbian_c::config_strlen(char const *)
-	?GetIsEnabledPresent@EapCertificateEntry@@QBEHXZ @ 516 NONAME ; int EapCertificateEntry::GetIsEnabledPresent(void) const
-	?encrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 517 NONAME ; enum eap_status_e crypto_aes_c::encrypt_block(void const *, void *, unsigned long)
-	?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAXK@Z @ 518 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(void *, unsigned long)
-	?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 519 NONAME ; enum eap_status_e eap_variable_data_c::add_data(void const *, unsigned long)
-	?get_destination@eap_am_network_id_c@@QBEPBEXZ @ 520 NONAME ; unsigned char const * eap_am_network_id_c::get_destination(void) const
-	?get_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 521 NONAME ; unsigned char * eap_header_base_c::get_data_offset(unsigned long, unsigned long) const
-	??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 522 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool)
-	?get_thread_stopped@eap_am_tools_c@@UAE_NXZ @ 523 NONAME ; bool eap_am_tools_c::get_thread_stopped(void)
-	??1eap_tlv_header_c@@UAE@XZ @ 524 NONAME ; eap_tlv_header_c::~eap_tlv_header_c(void)
-	?getenv@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@@Z @ 525 NONAME ; enum eap_status_e eap_am_tools_symbian_c::getenv(class eap_variable_data_c const *, class eap_variable_data_c *)
-	?eap_read_u64_t_network_order@@YA_KPBXK@Z @ 526 NONAME ; unsigned long long eap_read_u64_t_network_order(void const *, unsigned long)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 527 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_variable_data_c const *)
-	?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 528 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void const *, void *, unsigned long)
-	?aes_set_decryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 529 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_decryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	?timer_expired@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 530 NONAME ; enum eap_status_e eap_session_core_c::timer_expired(unsigned long, void *)
-	??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@@Z @ 531 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *)
-	?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 532 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(class eap_variable_data_c *, unsigned long)
-	?get_is_valid@crypto_tls_base_prf_c@@QAE_NXZ @ 533 NONAME ; bool crypto_tls_base_prf_c::get_is_valid(void)
-	?set_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 534 NONAME ; void eap_am_tools_c::set_activate_trace_on_error(void)
-	?get_eap_identifier@eap_state_notification_c@@UBEEXZ @ 535 NONAME ; unsigned char eap_state_notification_c::get_eap_identifier(void) const
-	?set_decryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 536 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_decryption_key(void const *, unsigned long)
-	?copy@eap_type_selection_c@@QBEPAV1@XZ @ 537 NONAME ; class eap_type_selection_c * eap_type_selection_c::copy(void) const
-	??0crypto_kd_hmac_sha256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 538 NONAME ; crypto_kd_hmac_sha256_c::crypto_kd_hmac_sha256_c(class abs_eap_am_tools_c *)
-	?sign@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 539 NONAME ; enum eap_status_e crypto_rsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAK@Z @ 540 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, unsigned long *)
-	?get_key@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 541 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_key(void) const
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAF@Z @ 542 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, short *)
-	?get_header_buffer@eap_general_header_base_c@@QBEPAEK@Z @ 543 NONAME ; unsigned char * eap_general_header_base_c::get_header_buffer(unsigned long) const
-	??0abs_eap_am_memory_store_data_c@@QAE@XZ @ 544 NONAME ; abs_eap_am_memory_store_data_c::abs_eap_am_memory_store_data_c(void)
-	??1abs_crypto_hmac_algorithm_c@@UAE@XZ @ 545 NONAME ; abs_crypto_hmac_algorithm_c::~abs_crypto_hmac_algorithm_c(void)
-	??1crypto_tls_sha1_prf_c@@UAE@XZ @ 546 NONAME ; crypto_tls_sha1_prf_c::~crypto_tls_sha1_prf_c(void)
-	?get_type_string@eap_header_base_c@@QBEPBDXZ @ 547 NONAME ; char const * eap_header_base_c::get_type_string(void) const
-	?get_proposed_eap_type@eap_core_nak_info_c@@QBE?AVeap_expanded_type_c@@XZ @ 548 NONAME ; class eap_expanded_type_c eap_core_nak_info_c::get_proposed_eap_type(void) const
-	?GetPrimaryNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 549 NONAME ; class TDes16 * EapCertificateEntry::GetPrimaryNameWritable(void)
-	?get_is_valid@crypto_hmac_c@@UAE_NXZ @ 550 NONAME ; bool crypto_hmac_c::get_is_valid(void)
-	?get_encrypt@eap_buf_chain_base_c@@QBE_NXZ @ 551 NONAME ; bool eap_buf_chain_base_c::get_encrypt(void) const
-	?is_ietf_type@eap_expanded_type_c@@SA_NV1@@Z @ 552 NONAME ; bool eap_expanded_type_c::is_ietf_type(class eap_expanded_type_c)
-	?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 553 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, void const *, unsigned long)
-	?init@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 554 NONAME ; enum eap_status_e crypto_rsa_c::init(void)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_am_network_id_c@@@Z @ 555 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_am_network_id_c const *) const
-	?GetLabelPresent@EapCertificateEntry@@QBEHXZ @ 556 NONAME ; int EapCertificateEntry::GetLabelPresent(void) const
-	?set_session_timeout@eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 557 NONAME ; enum eap_status_e eap_core_c::set_session_timeout(unsigned long)
-	?compare@eap_variable_data_c@@QBEJPBV1@@Z @ 558 NONAME ; long eap_variable_data_c::compare(class eap_variable_data_c const *) const
-	?set_encryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 559 NONAME ; enum eap_status_e crypto_cbc_c::set_encryption_key(void const *, unsigned long, void const *, unsigned long)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_certificate_entry_c@@@Z @ 560 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_certificate_entry_c const *) const
-	?copy_leap_password@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 561 NONAME ; enum eap_status_e eap_master_session_key_c::copy_leap_password(class eap_variable_data_c const *)
-	?verify@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00000@Z @ 562 NONAME ; enum eap_status_e crypto_dsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?timer_sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 563 NONAME ; void eap_am_tools_symbian_c::timer_sleep(unsigned long)
-	??0crypto_aes_wrap_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 564 NONAME ; crypto_aes_wrap_c::crypto_aes_wrap_c(class abs_eap_am_tools_c *)
-	?get_reference@eap_am_mutex_base_c@@QBEPAVeap_am_mutex_reference_c@@XZ @ 565 NONAME ; class eap_am_mutex_reference_c * eap_am_mutex_base_c::get_reference(void) const
-	??1eap_buf_chain_wr_c@@UAE@XZ @ 566 NONAME ; eap_buf_chain_wr_c::~eap_buf_chain_wr_c(void)
-	?get_expanded_vendor_type_offset@eap_header_base_c@@SAKXZ @ 567 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_type_offset(void)
-	?md5_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 568 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_cleanup(class eap_variable_data_c *)
-	?copy@eap_expanded_type_c@@QBEPAV1@XZ @ 569 NONAME ; class eap_expanded_type_c * eap_expanded_type_c::copy(void) const
-	?encrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 570 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?set_is_invalid@eap_am_crypto_md4_c@@AAEXXZ @ 571 NONAME ; void eap_am_crypto_md4_c::set_is_invalid(void)
-	?get_data@eap_buf_chain_rd_c@@QBEPBEK@Z @ 572 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data(unsigned long) const
-	?get_type@eap_static_expanded_type_c@@QBEABVeap_expanded_type_c@@XZ @ 573 NONAME ; class eap_expanded_type_c const & eap_static_expanded_type_c::get_type(void) const
-	?configure@eap_file_config_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@@Z @ 574 NONAME ; enum eap_status_e eap_file_config_c::configure(class abs_eap_am_file_input_c *)
-	?copy@eap_am_crypto_md4_c@@QAEPAV1@XZ @ 575 NONAME ; class eap_am_crypto_md4_c * eap_am_crypto_md4_c::copy(void)
-	?set_rogue_reason@eap_rogue_ap_entry_c@@QAEXW4eap_rogue_ap_reason_e@@@Z @ 576 NONAME ; void eap_rogue_ap_entry_c::set_rogue_reason(enum eap_rogue_ap_reason_e)
-	?get_data_length@eap_buf_chain_base_c@@QBEKXZ @ 577 NONAME ; unsigned long eap_buf_chain_base_c::get_data_length(void) const
-	??1eap_header_string_c@@UAE@XZ @ 578 NONAME ; eap_header_string_c::~eap_header_string_c(void)
-	?decrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 579 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::decrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
-	??1crypto_nt_hash_c@@UAE@XZ @ 580 NONAME ; crypto_nt_hash_c::~crypto_nt_hash_c(void)
-	?GetIsValid@EapCertificateEntry@@QBEHXZ @ 581 NONAME ; int EapCertificateEntry::GetIsValid(void) const
-	?SetValue@TEapExpandedType@@QAEHPBXI@Z @ 582 NONAME ; int TEapExpandedType::SetValue(void const *, unsigned int)
-	?tls_prf_cleanup@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 583 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_cleanup(void)
-	?get_data_offset@eap_buf_chain_base_c@@QBEPAEKK@Z @ 584 NONAME ; unsigned char * eap_buf_chain_base_c::get_data_offset(unsigned long, unsigned long) const
-	?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 585 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(void const *, unsigned long)
-	?set_is_invalid@crypto_tls_prf_c@@AAEXXZ @ 586 NONAME ; void crypto_tls_prf_c::set_is_invalid(void)
-	?check_header@eapol_ethernet_header_base_c@@UBE?AW4eap_status_e@@XZ @ 587 NONAME ; enum eap_status_e eapol_ethernet_header_base_c::check_header(void) const
-	?restore_bytes_from_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 588 NONAME ; enum eap_status_e eap_am_tools_c::restore_bytes_from_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
-	?get_network_index@simple_config_credential_c@@QBEEXZ @ 589 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) const
-	??1eap_master_session_key_c@@UAE@XZ @ 590 NONAME ; eap_master_session_key_c::~eap_master_session_key_c(void)
-	??0eapol_ethernet_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 591 NONAME ; eapol_ethernet_header_rd_c::eapol_ethernet_header_rd_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long)
-	?allocate_message_data_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 592 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_data_buffer(unsigned long)
-	??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@@Z @ 593 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *)
-	?get_block_size@eap_am_crypto_md4_c@@QAEKXZ @ 594 NONAME ; unsigned long eap_am_crypto_md4_c::get_block_size(void)
-	??0eap_am_crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 595 NONAME ; eap_am_crypto_rc4_c::eap_am_crypto_rc4_c(class abs_eap_am_tools_c *)
-	??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 596 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long)
-	?SetPrimaryNamePresent@EapCertificateEntry@@QAEXXZ @ 597 NONAME ; void EapCertificateEntry::SetPrimaryNamePresent(void)
-	?get_is_valid@eap_am_crypto_symbian_c@@UBE_NXZ @ 598 NONAME ; bool eap_am_crypto_symbian_c::get_is_valid(void) const
-	?formatted_print@eap_am_tools_symbian_c@@UAAXPBDZZ @ 599 NONAME ; void eap_am_tools_symbian_c::formatted_print(char const *, ...)
-	?get_is_valid@eap_am_file_input_symbian_c@@UAE_NXZ @ 600 NONAME ; bool eap_am_file_input_symbian_c::get_is_valid(void)
-	?get_digest_length@crypto_md5_c@@UAEKXZ @ 601 NONAME ; unsigned long crypto_md5_c::get_digest_length(void)
-	?compare_network_id@eap_am_network_id_c@@QBE_NPBV1@@Z @ 602 NONAME ; bool eap_am_network_id_c::compare_network_id(class eap_am_network_id_c const *) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_wlan_authentication_state_e@@@Z @ 603 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eapol_wlan_authentication_state_e *)
-	?get_mutex@eap_am_mutex_symbian_c@@QBEPBVRMutex@@XZ @ 604 NONAME ; class RMutex const * eap_am_mutex_symbian_c::get_mutex(void) const
-	?get_eapol_key_type_string@eapol_session_key_c@@SAPBDW4eapol_key_type_e@@@Z @ 605 NONAME ; char const * eapol_session_key_c::get_eapol_key_type_string(enum eapol_key_type_e)
-	?get_network_keys_const@simple_config_credential_c@@QBEPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 606 NONAME ; class eap_array_c<class network_key_and_index_c> const * simple_config_credential_c::get_network_keys_const(void) const
-	?trace_eap_packet@eap_core_c@@QAEXPBDPBVeap_header_wr_c@@@Z @ 607 NONAME ; void eap_core_c::trace_eap_packet(char const *, class eap_header_wr_c const *)
-	?CopyData@EapMessageBuffer@@QAEHW4TEapRequests@@PBXI@Z @ 608 NONAME ; int EapMessageBuffer::CopyData(enum TEapRequests, void const *, unsigned int)
-	?hash_init@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 609 NONAME ; enum eap_status_e crypto_sha_256_c::hash_init(void)
-	??1abs_eap_am_memory_store_data_c@@UAE@XZ @ 610 NONAME ; abs_eap_am_memory_store_data_c::~abs_eap_am_memory_store_data_c(void)
-	?get_protocol@eap_state_notification_c@@UBEKXZ @ 611 NONAME ; unsigned long eap_state_notification_c::get_protocol(void) const
-	??0eap_am_tools_symbian_c@@QAE@PBD@Z @ 612 NONAME ; eap_am_tools_symbian_c::eap_am_tools_symbian_c(char const *)
-	??1abs_crypto_hash_algorithm_c@@UAE@XZ @ 613 NONAME ; abs_crypto_hash_algorithm_c::~abs_crypto_hash_algorithm_c(void)
-	??0eap_config_value_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 614 NONAME ; eap_config_value_c::eap_config_value_c(class abs_eap_am_tools_c *)
-	?restart_authentication@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 615 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool)
-	?get_SSID_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 616 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_SSID_const(void) const
-	?get_sha_256_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 617 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_block_size(class eap_variable_data_c *)
-	?get_block_size@crypto_cbc_c@@UAEKXZ @ 618 NONAME ; unsigned long crypto_cbc_c::get_block_size(void)
-	?packet_process_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 619 NONAME ; enum eap_status_e eap_core_c::packet_process_type(class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	??0eap_master_session_key_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@@Z @ 620 NONAME ; eap_master_session_key_c::eap_master_session_key_c(class abs_eap_am_tools_c *, class eap_expanded_type_c)
-	?get_value_offset@eap_tlv_header_c@@QBEPAEKK@Z @ 621 NONAME ; unsigned char * eap_tlv_header_c::get_value_offset(unsigned long, unsigned long) const
-	?get_source_length@eap_am_network_id_c@@QBEKXZ @ 622 NONAME ; unsigned long eap_am_network_id_c::get_source_length(void) const
-	?get_source@eapol_ethernet_header_base_c@@QBEPAEXZ @ 623 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_source(void) const
-	??1eap_am_crypto_sha1_c@@UAE@XZ @ 624 NONAME ; eap_am_crypto_sha1_c::~eap_am_crypto_sha1_c(void)
-	??0eap_type_selection_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@_N@Z @ 625 NONAME ; eap_type_selection_c::eap_type_selection_c(class abs_eap_am_tools_c *, class eap_expanded_type_c, bool)
-	?get_is_valid@crypto_aes_wrap_c@@QAE_NXZ @ 626 NONAME ; bool crypto_aes_wrap_c::get_is_valid(void)
-	?get_eap_header@eapol_header_wr_c@@QAEPAEXZ @ 627 NONAME ; unsigned char * eapol_header_wr_c::get_eap_header(void)
-	?dsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 628 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_cleanup(class eap_variable_data_c *)
-	?get_key_tx_bit@eapol_session_key_c@@QBE_NXZ @ 629 NONAME ; bool eapol_session_key_c::get_key_tx_bit(void) const
-	?get_current_state@eap_state_notification_c@@UBEKXZ @ 630 NONAME ; unsigned long eap_state_notification_c::get_current_state(void) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Veap_am_network_id_c@@@@@Z @ 631 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_array_c<class eap_am_network_id_c> *)
-	?block_size_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 632 NONAME ; unsigned long eap_am_crypto_symbian_c::block_size_3des_ede(void)
-	?get_is_valid@eap_general_header_base_c@@QBE_NXZ @ 633 NONAME ; bool eap_general_header_base_c::get_is_valid(void) const
-	??8eap_expanded_type_c@@QBE_NABV0@@Z @ 634 NONAME ; bool eap_expanded_type_c::operator==(class eap_expanded_type_c const &) const
-	?set_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@@Z @ 635 NONAME ; enum eap_status_e eap_expanded_type_c::set_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c const *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAPAVeap_state_notification_c@@@Z @ 636 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_state_notification_c * *)
-	??0crypto_tls_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 637 NONAME ; crypto_tls_prf_c::crypto_tls_prf_c(class abs_eap_am_tools_c *)
-	?start_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 638 NONAME ; enum eap_status_e eap_am_tools_symbian_c::start_timer_thread(void)
-	?is_expanded_type@eap_expanded_type_c@@SA_NW4eap_type_ietf_values_e@@@Z @ 639 NONAME ; bool eap_expanded_type_c::is_expanded_type(enum eap_type_ietf_values_e)
-	?leave_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 640 NONAME ; void eap_am_tools_symbian_c::leave_crypto_cs(void)
-	??1abs_eap_am_mutex_c@@UAE@XZ @ 641 NONAME ; abs_eap_am_mutex_c::~abs_eap_am_mutex_c(void)
-	?hash_final@crypto_md4_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 642 NONAME ; enum eap_status_e crypto_md4_c::hash_final(void *, unsigned long *)
-	??1EapMessageBuffer@@UAE@XZ @ 643 NONAME ; EapMessageBuffer::~EapMessageBuffer(void)
-	?get_am_tools@eap_general_header_base_c@@QBEPAVabs_eap_am_tools_c@@XZ @ 644 NONAME ; class abs_eap_am_tools_c * eap_general_header_base_c::get_am_tools(void) const
-	??1eap_header_wr_c@@UAE@XZ @ 645 NONAME ; eap_header_wr_c::~eap_header_wr_c(void)
-	?handle_eap_identity_request@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@EPBVeap_am_network_id_c@@@Z @ 646 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_request(class eap_expanded_type_c, unsigned char, class eap_am_network_id_c const *)
-	?md4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 647 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_cleanup(class eap_variable_data_c *)
-	?SetIsEnabled@EapCertificateEntry@@QAEHH@Z @ 648 NONAME ; int EapCertificateEntry::SetIsEnabled(int)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eap_certificate_type_e@eap_certificate_entry_c@@@Z @ 649 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eap_certificate_entry_c::eap_certificate_type_e *)
-	?read_configuration_message@eap_file_config_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 650 NONAME ; enum eap_status_e eap_file_config_c::read_configuration_message(class eap_variable_data_c const *)
-	?get_network_key_const@network_key_and_index_c@@QBEPBVeap_variable_data_c@@XZ @ 651 NONAME ; class eap_variable_data_c const * network_key_and_index_c::get_network_key_const(void) const
-	?load_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 652 NONAME ; enum eap_status_e eap_session_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *)
-	?add_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXKE@Z @ 653 NONAME ; enum eap_status_e crypto_cbc_c::add_padding_bytes(void *, unsigned long, unsigned char)
-	?get_key_length@crypto_3des_ede_c@@UAEKXZ @ 654 NONAME ; unsigned long crypto_3des_ede_c::get_key_length(void)
-	?initialize_members@eap_variable_data_c@@AAE?AW4eap_status_e@@XZ @ 655 NONAME ; enum eap_status_e eap_variable_data_c::initialize_members(void)
-	?md5_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 656 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	?copy_message_data@eap_am_memory_store_tlv_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_message_data_c@@K@Z @ 657 NONAME ; enum eap_status_e eap_am_memory_store_tlv_data_c::copy_message_data(class eap_tlv_message_data_c const *, unsigned long)
-	?hash_update@crypto_sha_256_c@@UAE?AW4eap_status_e@@PBXK@Z @ 658 NONAME ; enum eap_status_e crypto_sha_256_c::hash_update(void const *, unsigned long)
-	?get_do_packet_retransmission@eap_buf_chain_base_c@@QAE_NXZ @ 659 NONAME ; bool eap_buf_chain_base_c::get_do_packet_retransmission(void)
-	?enter_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 660 NONAME ; void eap_am_tools_symbian_c::enter_global_mutex(void)
-	?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBV1@@Z @ 661 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *)
-	?hash_cleanup@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@XZ @ 662 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_cleanup(void)
-	?hash_update@crypto_md5_c@@UAE?AW4eap_status_e@@PBXK@Z @ 663 NONAME ; enum eap_status_e crypto_md5_c::hash_update(void const *, unsigned long)
-	?set_start_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 664 NONAME ; enum eap_status_e eap_variable_data_c::set_start_offset(unsigned long)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@G@@@Z @ 665 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<unsigned short> *)
-	??1eap_simple_config_trace_string_c@@UAE@XZ @ 666 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void)
-	??1eapol_header_rd_c@@UAE@XZ @ 667 NONAME ; eapol_header_rd_c::~eapol_header_rd_c(void)
-	?SetSubjectKeyIdPresent@EapCertificateEntry@@QAEXXZ @ 668 NONAME ; void EapCertificateEntry::SetSubjectKeyIdPresent(void)
-	?set_is_invalid@eap_am_crypto_sha_256_c@@AAEXXZ @ 669 NONAME ; void eap_am_crypto_sha_256_c::set_is_invalid(void)
-	?u64_t_to_u64_struct@eap_am_tools_symbian_c@@UAE?AUu64_struct@@_K@Z @ 670 NONAME ; struct u64_struct eap_am_tools_symbian_c::u64_t_to_u64_struct(unsigned long long)
-	?copy@crypto_sha_256_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 671 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha_256_c::copy(void)
-	?hash_update@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXK@Z @ 672 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_update(void const *, unsigned long)
-	?object_increase_reference_count@eap_process_tlv_message_data_c@@QAEXXZ @ 673 NONAME ; void eap_process_tlv_message_data_c::object_increase_reference_count(void)
-	?shutdown_am_tools@eap_am_tools_c@@QAE?AW4eap_status_e@@XZ @ 674 NONAME ; enum eap_status_e eap_am_tools_c::shutdown_am_tools(void)
-	?set_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 675 NONAME ; enum eap_status_e eap_tlv_message_data_c::set_message_data(unsigned long, void const *)
-	?set_is_invalid@eap_am_crypto_rc4_c@@AAEXXZ @ 676 NONAME ; void eap_am_crypto_rc4_c::set_is_invalid(void)
-	?password_hash@crypto_wpa_psk_password_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PAXP6A?AW42@2K@Z@Z @ 677 NONAME ; enum eap_status_e crypto_wpa_psk_password_hash_c::password_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void *, enum eap_status_e (*)(void *, unsigned long))
-	?get_eap_type_list@eap_session_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 678 NONAME ; enum eap_status_e eap_session_core_c::get_eap_type_list(class eap_array_c<class eap_expanded_type_c> *)
-	?hash_cleanup@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@XZ @ 679 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_cleanup(void)
-	?state_notification@eap_session_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 680 NONAME ; void eap_session_core_c::state_notification(class abs_eap_state_notification_c const *)
-	??0eapol_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 681 NONAME ; eapol_header_rd_c::eapol_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?get_type@eap_header_base_c@@QBE?AVeap_expanded_type_c@@XZ @ 682 NONAME ; class eap_expanded_type_c eap_header_base_c::get_type(void) const
-	?GetSecondaryNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 683 NONAME ; class TDes16 * EapCertificateEntry::GetSecondaryNameWritable(void)
-	?set_is_valid@crypto_dsa_c@@AAEXXZ @ 684 NONAME ; void crypto_dsa_c::set_is_valid(void)
-	?aes_set_encryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 685 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_encryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@J@Z @ 686 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(long)
-	??1crypto_cbc_c@@UAE@XZ @ 687 NONAME ; crypto_cbc_c::~crypto_cbc_c(void)
-	?leave_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 688 NONAME ; void eap_am_tools_symbian_c::leave_global_mutex(void)
-	??4TEapExpandedType@@QAEAAV0@ABV0@@Z @ 689 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TEapExpandedType const &)
-	?set_is_valid@crypto_md4_c@@EAEXXZ @ 690 NONAME ; void crypto_md4_c::set_is_valid(void)
-	?get_code@eap_header_base_c@@QBE?AW4eap_code_value_e@@XZ @ 691 NONAME ; enum eap_code_value_e eap_header_base_c::get_code(void) const
-	??Ieap_expanded_type_c@@QAEPAV0@XZ @ 692 NONAME ; class eap_expanded_type_c * eap_expanded_type_c::operator&(void)
-	?md4_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 693 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
-	??4eap_expanded_type_c@@QAEAAV0@W4eap_type_ietf_values_e@@@Z @ 694 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(enum eap_type_ietf_values_e)
-	?eap_write_u16_t_network_order@@YA?AW4eap_status_e@@PAXKG@Z @ 695 NONAME ; enum eap_status_e eap_write_u16_t_network_order(void *, unsigned long, unsigned short)
-	?get_type_data@eap_expanded_type_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAW4eap_type_ietf_values_e@@@Z @ 696 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, enum eap_type_ietf_values_e *) const
-	?strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 697 NONAME ; unsigned long eap_am_tools_symbian_c::strlen(char const *)
-	?get_previous_state_string@eap_state_notification_c@@UBEPBDXZ @ 698 NONAME ; char const * eap_state_notification_c::get_previous_state_string(void) const
-	?SetSecondaryNamePresent@EapCertificateEntry@@QAEXXZ @ 699 NONAME ; void EapCertificateEntry::SetSecondaryNamePresent(void)
-	?Compare@TEapExpandedType@@QBEHABV1@@Z @ 700 NONAME ; int TEapExpandedType::Compare(class TEapExpandedType const &) const
-	?GetSubjectKeyIdWritable@EapCertificateEntry@@QAEPAV?$TBuf8@$0BE@@@XZ @ 701 NONAME ; class TBuf8<20> * EapCertificateEntry::GetSubjectKeyIdWritable(void)
-	?get_block_size@crypto_3des_ede_c@@UAEKXZ @ 702 NONAME ; unsigned long crypto_3des_ede_c::get_block_size(void)
-	?get_type_data_start_offset@eap_header_base_c@@SAK_N@Z @ 703 NONAME ; unsigned long eap_header_base_c::get_type_data_start_offset(bool)
-	??0eap_am_crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 704 NONAME ; eap_am_crypto_sha1_c::eap_am_crypto_sha1_c(class abs_eap_am_tools_c *)
-	?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 705 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
-	?set_authentication_role@eap_core_c@@UAE?AW4eap_status_e@@_N@Z @ 706 NONAME ; enum eap_status_e eap_core_c::set_authentication_role(bool)
-	??1TEapExpandedType@@UAE@XZ @ 707 NONAME ; TEapExpandedType::~TEapExpandedType(void)
-	?eap_write_u32_t_little_endian_order@@YA?AW4eap_status_e@@PAXKK@Z @ 708 NONAME ; enum eap_status_e eap_write_u32_t_little_endian_order(void *, unsigned long, unsigned long)
-	?set_data_length@eapol_header_base_c@@QAEXG@Z @ 709 NONAME ; void eapol_header_base_c::set_data_length(unsigned short)
-	?get_digest_length@crypto_sha_256_c@@UAEKXZ @ 710 NONAME ; unsigned long crypto_sha_256_c::get_digest_length(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAPAVeap_state_notification_c@@@Z @ 711 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_state_notification_c * *)
-	?reset@eap_am_network_id_c@@QAEXXZ @ 712 NONAME ; void eap_am_network_id_c::reset(void)
-	??0abs_eap_am_mutex_c@@QAE@XZ @ 713 NONAME ; abs_eap_am_mutex_c::abs_eap_am_mutex_c(void)
-	?configure@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 714 NONAME ; enum eap_status_e eap_core_c::configure(void)
-	?get_is_valid@eap_session_core_c@@UAE_NXZ @ 715 NONAME ; bool eap_session_core_c::get_is_valid(void)
-	?get_rand_integer@crypto_random_c@@QAEKKK@Z @ 716 NONAME ; unsigned long crypto_random_c::get_rand_integer(unsigned long, unsigned long)
-	?check_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 717 NONAME ; void eap_am_tools_c::check_activate_trace_on_error(void)
-	?get_sent_packet@eap_core_retransmission_c@@QBEPAVeap_buf_chain_wr_c@@XZ @ 718 NONAME ; class eap_buf_chain_wr_c * eap_core_retransmission_c::get_sent_packet(void) const
-	?asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 719 NONAME ; enum eap_status_e eap_core_c::asynchronous_init_remove_eap_session(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPA_K@Z @ 720 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, unsigned long long *)
-	?get_type_data_length@eap_header_base_c@@QBEGXZ @ 721 NONAME ; unsigned short eap_header_base_c::get_type_data_length(void) const
-	??1eap_core_nak_info_c@@UAE@XZ @ 722 NONAME ; eap_core_nak_info_c::~eap_core_nak_info_c(void)
-	?get_asymmetric_start_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K_N2@Z @ 723 NONAME ; enum eap_status_e crypto_nt_hash_c::get_asymmetric_start_key(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long, bool, bool)
-	?get_is_valid@eap_am_network_id_c@@QBE_NXZ @ 724 NONAME ; bool eap_am_network_id_c::get_is_valid(void) const
-	?set_is_valid@eap_am_crypto_md4_c@@AAEXXZ @ 725 NONAME ; void eap_am_crypto_md4_c::set_is_valid(void)
-	??1eap_am_mutex_reference_c@@UAE@XZ @ 726 NONAME ; eap_am_mutex_reference_c::~eap_am_mutex_reference_c(void)
-	?ConvertInternalTypesToEAPTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@Veap_expanded_type_c@@@@PAV?$RArray@I@@@Z @ 727 NONAME ; int CEapConversion::ConvertInternalTypesToEAPTypes(class abs_eap_am_tools_c *, class eap_array_c<class eap_expanded_type_c> const *, class RArray<unsigned int> *)
-	?check_is_valid_eap_type@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 728 NONAME ; enum eap_status_e eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c)
-	?get_is_valid@eap_tlv_message_data_c@@QAE_NXZ @ 729 NONAME ; bool eap_tlv_message_data_c::get_is_valid(void)
-	?get_buffer_offset@eap_variable_data_c@@QBEPAEKK@Z @ 730 NONAME ; unsigned char * eap_variable_data_c::get_buffer_offset(unsigned long, unsigned long) const
-	?get_encrypts@crypto_3des_ede_c@@UAE_NXZ @ 731 NONAME ; bool crypto_3des_ede_c::get_encrypts(void)
-	?GetFirstMessage@EapMessageQueue@@QAEPAVEapMessageBuffer@@XZ @ 732 NONAME ; class EapMessageBuffer * EapMessageQueue::GetFirstMessage(void)
-	?add_end_null@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 733 NONAME ; enum eap_status_e eap_variable_data_c::add_end_null(void)
-	?get_802_11_authentication_mode@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 734 NONAME ; enum eap_status_e eap_session_core_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?initialize_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 735 NONAME ; enum eap_status_e eap_core_c::initialize_session_timeout(unsigned long)
-	?GetSecondaryNamePresent@EapCertificateEntry@@QBEHXZ @ 736 NONAME ; int EapCertificateEntry::GetSecondaryNamePresent(void) const
-	?get_is_valid@crypto_nt_hash_c@@QAE_NXZ @ 737 NONAME ; bool crypto_nt_hash_c::get_is_valid(void)
-	?get_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAE_NXZ @ 738 NONAME ; bool eap_am_tools_symbian_c::get_use_eap_milli_second_timer(void)
-	??1crypto_eap_fast_hmac_sha1_prf_c@@UAE@XZ @ 739 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::~crypto_eap_fast_hmac_sha1_prf_c(void)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeapol_session_key_c@@@Z @ 740 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eapol_session_key_c *)
-	?set_mac_address@eap_rogue_ap_entry_c@@QAEXPBE@Z @ 741 NONAME ; void eap_rogue_ap_entry_c::set_mac_address(unsigned char const *)
-	?copy@eap_am_network_id_c@@QBEPAV1@XZ @ 742 NONAME ; class eap_am_network_id_c * eap_am_network_id_c::copy(void) const
-	??0eap_header_string_c@@QAE@XZ @ 743 NONAME ; eap_header_string_c::eap_header_string_c(void)
-	?get_type_data@eap_header_base_c@@QBEPAEK@Z @ 744 NONAME ; unsigned char * eap_header_base_c::get_type_data(unsigned long) const
-	?eap_write_u64_t_network_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 745 NONAME ; enum eap_status_e eap_write_u64_t_network_order(void *, unsigned long, unsigned long long)
-	?get_tmp_IV@crypto_cbc_c@@UAEPBVeap_variable_data_c@@XZ @ 746 NONAME ; class eap_variable_data_c const * crypto_cbc_c::get_tmp_IV(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAD@Z @ 747 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, char *)
-	?eap_sha1_process_data_network_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 748 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_network_order(unsigned long const *, unsigned long)
-	?load_type@eap_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@0PBVeap_am_network_id_c@@@Z @ 749 NONAME ; class eap_base_type_c * eap_core_c::load_type(class eap_expanded_type_c, class eap_expanded_type_c, class eap_am_network_id_c const *)
-	?convert_unicode_to_utf8@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 750 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &)
-	?encrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 751 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::encrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long)
-	?send_eap_success@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 752 NONAME ; enum eap_status_e eap_core_c::send_eap_success(class eap_am_network_id_c const *, unsigned char)
-	?sha1_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 753 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 754 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_method_settings_c const *)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eap_tlv_message_type_function_e@@@Z @ 755 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum eap_tlv_message_type_function_e *)
-	?eap_htons@@YAGG@Z @ 756 NONAME ; unsigned short eap_htons(unsigned short)
-	?reset@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 757 NONAME ; enum eap_status_e eap_variable_data_c::reset(void)
-	?get_key_length@crypto_aes_wrap_c@@QAEKXZ @ 758 NONAME ; unsigned long crypto_aes_wrap_c::get_key_length(void)
-	?get_crypto@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_crypto_c@@XZ @ 759 NONAME ; class abs_eap_am_crypto_c * eap_am_tools_symbian_c::get_crypto(void)
-	?eap_sha_256_process_data_network_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 760 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_network_order(unsigned long const *, unsigned long)
-	?set_network_index@simple_config_credential_c@@QAEXE@Z @ 761 NONAME ; void simple_config_credential_c::set_network_index(unsigned char)
-	?get_needs_confirmation_from_user@eap_state_notification_c@@UBE_NXZ @ 762 NONAME ; bool eap_state_notification_c::get_needs_confirmation_from_user(void) const
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@G@@@Z @ 763 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c<unsigned short> const *) const
-	?set_value_length@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 764 NONAME ; enum eap_status_e eap_tlv_header_c::set_value_length(unsigned long)
-	?get_digest_length@eap_am_crypto_sha1_c@@QAEKXZ @ 765 NONAME ; unsigned long eap_am_crypto_sha1_c::get_digest_length(void)
-	?generate_diffie_hellman_keys@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBEK1K@Z @ 766 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long)
-	?get_is_valid@crypto_kd_hmac_sha256_c@@QAE_NXZ @ 767 NONAME ; bool crypto_kd_hmac_sha256_c::get_is_valid(void)
-	?GetLabelWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 768 NONAME ; class TDes16 * EapCertificateEntry::GetLabelWritable(void)
-	?hash_final@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 769 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_final(void *, unsigned long *)
-	?eap_sha_256_process_data_host_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 770 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_host_order(unsigned long const *, unsigned long)
-	?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 771 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(class eap_variable_data_c const *)
-	?mutex_enter@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@XZ @ 772 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_enter(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_certificate_entry_c@@@Z @ 773 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_certificate_entry_c const *)
-	?file_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 774 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read(class eap_variable_data_c *)
-	?set_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PBXK@Z @ 775 NONAME ; enum eap_status_e eap_expanded_type_c::set_expanded_type_data(class abs_eap_am_tools_c *, void const *, unsigned long)
-	?SetLabelPresent@EapCertificateEntry@@QAEXXZ @ 776 NONAME ; void EapCertificateEntry::SetLabelPresent(void)
-	?GetThumbprint@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 777 NONAME ; class TDes16 const * EapCertificateEntry::GetThumbprint(void) const
-	?eap_htonll@@YA_K_K@Z @ 778 NONAME ; unsigned long long eap_htonll(unsigned long long)
-	??0eap_am_mutex_symbian_c@@QAE@XZ @ 779 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(void)
-	?set_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 780 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_valid(void)
-	??0TEapExpandedType@@QAE@PBV0@@Z @ 781 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const *)
-	?get_is_timer_thread_active@eap_am_tools_symbian_c@@UAE_NXZ @ 782 NONAME ; bool eap_am_tools_symbian_c::get_is_timer_thread_active(void)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAJ@Z @ 783 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, long *)
-	?object_decrease_reference_count@eap_core_c@@QAEKXZ @ 784 NONAME ; unsigned long eap_core_c::object_decrease_reference_count(void)
-	?get_type_data@eap_expanded_type_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAV1@@Z @ 785 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, class eap_expanded_type_c *) const
-	?discard_stream@crypto_rc4_c@@UAE?AW4eap_status_e@@K@Z @ 786 NONAME ; enum eap_status_e crypto_rc4_c::discard_stream(unsigned long)
-	?generic_convert_unicode_to_utf8@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 787 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4simple_config_Encryption_Type_e@@@Z @ 788 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, enum simple_config_Encryption_Type_e *)
-	?restore_selected_bytes_from_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE0_N@Z @ 789 NONAME ; void eap_am_tools_c::restore_selected_bytes_from_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned long *, bool)
-	??1eap_expanded_type_c@@QAE@XZ @ 790 NONAME ; eap_expanded_type_c::~eap_expanded_type_c(void)
-	?shutdown_operation@eap_session_core_c@@CA?AW4eap_status_e@@PAVeap_core_c@@PAVabs_eap_am_tools_c@@@Z @ 791 NONAME ; enum eap_status_e eap_session_core_c::shutdown_operation(class eap_core_c *, class abs_eap_am_tools_c *)
-	?set_copy_of_am_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBXK0KG@Z @ 792 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_am_network_id(void const *, unsigned long, void const *, unsigned long, unsigned short)
-	??4EapCertificateEntry@@QAEAAV0@ABV0@@Z @ 793 NONAME ; class EapCertificateEntry & EapCertificateEntry::operator=(class EapCertificateEntry const &)
-	?get_eapol_header@eapol_ethernet_header_wr_c@@QBEPAEXZ @ 794 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_eapol_header(void) const
-	?memrchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 795 NONAME ; void * eap_am_tools_symbian_c::memrchr(void const *, unsigned char, unsigned long)
-	?encrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 796 NONAME ; enum eap_status_e crypto_aes_wrap_c::encrypt_block(void const *, unsigned long, void *, unsigned long)
-	??0eap_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 797 NONAME ; eap_header_rd_c::eap_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long)
-	?rsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 798 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_cleanup(class eap_variable_data_c *)
-	?rsa_decrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 799 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?set_is_valid@crypto_random_c@@QAEXXZ @ 800 NONAME ; void crypto_random_c::set_is_valid(void)
-	?ascii_to_octet@eap_am_tools_c@@UAEEJ@Z @ 801 NONAME ; unsigned char eap_am_tools_c::ascii_to_octet(long)
-	?convert_utf8_to_unicode@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 802 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &)
-	?set_is_valid@eap_am_network_id_c@@AAEXXZ @ 803 NONAME ; void eap_am_network_id_c::set_is_valid(void)
-	?hash_update@crypto_sha1_c@@UAE?AW4eap_status_e@@PBXK@Z @ 804 NONAME ; enum eap_status_e crypto_sha1_c::hash_update(void const *, unsigned long)
-	?verify@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 805 NONAME ; enum eap_status_e crypto_rsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	??1EapServerStrings@@UAE@XZ @ 806 NONAME ; EapServerStrings::~EapServerStrings(void)
-	?get_block_size@crypto_aes_wrap_c@@QAEKXZ @ 807 NONAME ; unsigned long crypto_aes_wrap_c::get_block_size(void)
-	?write_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 808 NONAME ; enum eap_status_e eap_session_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?get_expanded_vendor_id_offset@eap_header_base_c@@SAKXZ @ 809 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_id_offset(void)
-	?get_data@eap_config_value_c@@QAEPAVeap_variable_data_c@@XZ @ 810 NONAME ; class eap_variable_data_c * eap_config_value_c::get_data(void)
-	?use_test_random@eap_am_crypto_symbian_c@@UAEXPBEK_N@Z @ 811 NONAME ; void eap_am_crypto_symbian_c::use_test_random(unsigned char const *, unsigned long, bool)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W42@@Z @ 812 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eap_status_e)
-	?set_is_valid@crypto_rc4_c@@EAEXXZ @ 813 NONAME ; void crypto_rc4_c::set_is_valid(void)
-	?memset@eap_am_tools_symbian_c@@UAEXPAXJK@Z @ 814 NONAME ; void eap_am_tools_symbian_c::memset(void *, long, unsigned long)
-	?initialize_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 815 NONAME ; enum eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session(unsigned long)
-	?aes_key_length@eap_am_crypto_symbian_c@@UAEKXZ @ 816 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_key_length(void)
-	?get_is_valid@crypto_aes_c@@UAE_NXZ @ 817 NONAME ; bool crypto_aes_c::get_is_valid(void)
-	?reset_header@eap_tlv_header_c@@QAE?AW4eap_status_e@@KK@Z @ 818 NONAME ; enum eap_status_e eap_tlv_header_c::reset_header(unsigned long, unsigned long)
-	?add_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_tlv_message_data_c@@K@Z @ 819 NONAME ; enum eap_status_e eap_am_memory_store_c::add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c const *, unsigned long)
-	?get_is_valid@eap_variable_data_c@@QBE_NXZ @ 820 NONAME ; bool eap_variable_data_c::get_is_valid(void) const
-	?set_is_invalid@crypto_dsa_c@@AAEXXZ @ 821 NONAME ; void crypto_dsa_c::set_is_invalid(void)
-	??1eap_header_base_c@@UAE@XZ @ 822 NONAME ; eap_header_base_c::~eap_header_base_c(void)
-	?read_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPBXKPAV1@@Z @ 823 NONAME ; enum eap_status_e eap_expanded_type_c::read_type(class abs_eap_am_tools_c *, unsigned long, void const *, unsigned long, class eap_expanded_type_c *)
-	?get_message_data_length@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 824 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_message_data_length(void) const
-	?ConvertCipherSuitesToInternalType@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RArray@I@@PAV?$eap_array_c@G@@@Z @ 825 NONAME ; int CEapConversion::ConvertCipherSuitesToInternalType(class abs_eap_am_tools_c *, class RArray<unsigned int> const *, class eap_array_c<unsigned short> *)
-	??1simple_config_credential_c@@UAE@XZ @ 826 NONAME ; simple_config_credential_c::~simple_config_credential_c(void)
-	?set_timer_resolution_ms@eap_am_tools_symbian_c@@UAEXK@Z @ 827 NONAME ; void eap_am_tools_symbian_c::set_timer_resolution_ms(unsigned long)
-	??0eap_file_config_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 828 NONAME ; eap_file_config_c::eap_file_config_c(class abs_eap_am_tools_c *)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeapol_session_key_c@@@Z @ 829 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eapol_session_key_c const *)
-	?get_header_length@eapol_header_base_c@@SAKXZ @ 830 NONAME ; unsigned long eapol_header_base_c::get_header_length(void)
-	?am_cancel_all_timers@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 831 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_all_timers(void)
-	?get_md4_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 832 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_block_size(class eap_variable_data_c *)
-	?set_encryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 833 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_encryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	?remove_eap_session@eap_session_core_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 834 NONAME ; enum eap_status_e eap_session_core_c::remove_eap_session(bool, class eap_am_network_id_c const *)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_method_settings_c@@@Z @ 835 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_method_settings_c const *) const
-	?set_stack_address@eap_buf_chain_base_c@@QAEXPBX@Z @ 836 NONAME ; void eap_buf_chain_base_c::set_stack_address(void const *)
-	?nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 837 NONAME ; enum eap_status_e crypto_nt_hash_c::nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 838 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void *, unsigned long)
-	?get_code_string@eap_header_base_c@@QBEPBDXZ @ 839 NONAME ; char const * eap_header_base_c::get_code_string(void) const
-	?remove_reference@eap_am_mutex_reference_c@@QAEXXZ @ 840 NONAME ; void eap_am_mutex_reference_c::remove_reference(void)
-	?rsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11@Z @ 841 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?open_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 842 NONAME ; void eap_am_crypto_symbian_c::open_crypto_memory_leaks(void)
-	?set_is_valid@eap_am_crypto_rc4_c@@AAEXXZ @ 843 NONAME ; void eap_am_crypto_rc4_c::set_is_valid(void)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAW4eap_tlv_message_type_function_e@@@Z @ 844 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, enum eap_tlv_message_type_function_e *)
-	?force_inheritance@eap_buf_chain_wr_c@@EAEXXZ @ 845 NONAME ; void eap_buf_chain_wr_c::force_inheritance(void)
-	?set_is_client@eap_buf_chain_base_c@@QAEX_N@Z @ 846 NONAME ; void eap_buf_chain_base_c::set_is_client(bool)
-	?SetIssuerName@EapCertificateEntry@@QAEHABV?$TBuf@$0PP@@@@Z @ 847 NONAME ; int EapCertificateEntry::SetIssuerName(class TBuf<255> const &)
-	?set_is_valid@crypto_aes_c@@UAEXXZ @ 848 NONAME ; void crypto_aes_c::set_is_valid(void)
-	?set_is_invalid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 849 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_invalid(void)
-	?set_partner@eap_core_c@@QAEXPAVabs_eap_core_c@@@Z @ 850 NONAME ; void eap_core_c::set_partner(class abs_eap_core_c *)
-	?get_version@eapol_header_base_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 851 NONAME ; enum eapol_protocol_version_e eapol_header_base_c::get_version(void) const
-	??0crypto_tls_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 852 NONAME ; crypto_tls_sha1_prf_c::crypto_tls_sha1_prf_c(class abs_eap_am_tools_c *)
-	?get_block_size@crypto_md4_c@@UAEKXZ @ 853 NONAME ; unsigned long crypto_md4_c::get_block_size(void)
-	?timer_thread_function@eap_am_tools_c@@UAE?AW4eap_status_e@@XZ @ 854 NONAME ; enum eap_status_e eap_am_tools_c::timer_thread_function(void)
-	?begin_db_update@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 855 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_update(class RDbView &)
-	?generic_convert_utf8_to_unicode@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 856 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &)
-	?add_rogue_ap@eap_session_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 857 NONAME ; enum eap_status_e eap_session_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?set_key@crypto_rc4_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 858 NONAME ; enum eap_status_e crypto_rc4_c::set_key(class eap_variable_data_c const *)
-	?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 859 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void *, unsigned long)
-	??0eapol_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 860 NONAME ; eapol_header_base_c::eapol_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?get_is_valid@crypto_ephemeral_diffie_hellman_c@@QAE_NXZ @ 861 NONAME ; bool crypto_ephemeral_diffie_hellman_c::get_is_valid(void)
-	?get_is_valid@eap_core_retransmission_c@@QBE_NXZ @ 862 NONAME ; bool eap_core_retransmission_c::get_is_valid(void) const
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_certificate_entry_c@@@Z @ 863 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_certificate_entry_c *)
-	??1crypto_dsa_c@@UAE@XZ @ 864 NONAME ; crypto_dsa_c::~crypto_dsa_c(void)
-	?SetCertType@EapCertificateEntry@@QAEHABW4TCertType@1@@Z @ 865 NONAME ; int EapCertificateEntry::SetCertType(enum EapCertificateEntry::TCertType const &)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@@Z @ 866 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eapol_key_authentication_type_e)
-	?set_is_valid@crypto_sha_256_c@@EAEXXZ @ 867 NONAME ; void crypto_sha_256_c::set_is_valid(void)
-	??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 868 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *)
-	?get_trace_mutex@eap_am_tools_symbian_c@@QAEPAVabs_eap_am_mutex_c@@XZ @ 869 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_trace_mutex(void)
-	?decrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 870 NONAME ; enum eap_status_e crypto_aes_wrap_c::decrypt_block(void const *, unsigned long, void *, unsigned long)
-	?file_delete@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 871 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_delete(class eap_variable_data_c const *)
-	?get_eap_type_string@eap_header_string_c@@SAPBDVeap_expanded_type_c@@@Z @ 872 NONAME ; char const * eap_header_string_c::get_eap_type_string(class eap_expanded_type_c)
-	??1eap_state_notification_c@@UAE@XZ @ 873 NONAME ; eap_state_notification_c::~eap_state_notification_c(void)
-	?hmac_final@crypto_hmac_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 874 NONAME ; enum eap_status_e crypto_hmac_c::hmac_final(void *, unsigned long *)
-	?get_is_client@eap_state_notification_c@@UBE_NXZ @ 875 NONAME ; bool eap_state_notification_c::get_is_client(void) const
-	??0crypto_wpa_psk_password_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 876 NONAME ; crypto_wpa_psk_password_hash_c::crypto_wpa_psk_password_hash_c(class abs_eap_am_tools_c *)
-	??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 877 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *)
-	?get_header_offset@eap_general_header_base_c@@QBEPAEKK@Z @ 878 NONAME ; unsigned char * eap_general_header_base_c::get_header_offset(unsigned long, unsigned long) const
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAF@Z @ 879 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, short *)
-	?cancel_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 880 NONAME ; enum eap_status_e eap_core_c::cancel_eap_failure_timeout(void)
-	?get_protocol_layer@eap_state_notification_c@@UBE?AW4eap_protocol_layer_e@@XZ @ 881 NONAME ; enum eap_protocol_layer_e eap_state_notification_c::get_protocol_layer(void) const
-	?set_do_length_checks@eap_buf_chain_base_c@@QAEX_N@Z @ 882 NONAME ; void eap_buf_chain_base_c::set_do_length_checks(bool)
-	?SetValue@TEapExpandedType@@QAEHII@Z @ 883 NONAME ; int TEapExpandedType::SetValue(unsigned int, unsigned int)
-	?get_buffer_length@eap_buf_chain_base_c@@QBEKXZ @ 884 NONAME ; unsigned long eap_buf_chain_base_c::get_buffer_length(void) const
-	?set_encryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 885 NONAME ; enum eap_status_e crypto_3des_ede_c::set_encryption_key(void const *, unsigned long)
-	??0eap_general_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 886 NONAME ; eap_general_header_base_c::eap_general_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 887 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const
-	?get_data@eap_header_base_c@@QBEPAEK@Z @ 888 NONAME ; unsigned char * eap_header_base_c::get_data(unsigned long) const
-	?reset_header@eapol_header_wr_c@@QAEXG@Z @ 889 NONAME ; void eapol_header_wr_c::reset_header(unsigned short)
-	?xor_u64@eap_am_tools_c@@UAE_K_K0@Z @ 890 NONAME ; unsigned long long eap_am_tools_c::xor_u64(unsigned long long, unsigned long long)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@_K@Z @ 891 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned long long)
-	?swap@eap_am_crypto_rc4_c@@AAEXPAE0@Z @ 892 NONAME ; void eap_am_crypto_rc4_c::swap(unsigned char *, unsigned char *)
-	?eap_read_u32_t_network_order@@YAKPBXK@Z @ 893 NONAME ; unsigned long eap_read_u32_t_network_order(void const *, unsigned long)
-	?get_key_length@crypto_aes_c@@UAEKXZ @ 894 NONAME ; unsigned long crypto_aes_c::get_key_length(void)
-	?get_partner@eap_core_c@@QAEPAVabs_eap_core_c@@XZ @ 895 NONAME ; class abs_eap_core_c * eap_core_c::get_partner(void)
-	??1eap_am_memory_store_tlv_data_c@@UAE@XZ @ 896 NONAME ; eap_am_memory_store_tlv_data_c::~eap_am_memory_store_tlv_data_c(void)
-	?set_is_valid@crypto_rsa_c@@AAEXXZ @ 897 NONAME ; void crypto_rsa_c::set_is_valid(void)
-	?set_max_trace_file_size@eap_am_tools_symbian_c@@UAEXK@Z @ 898 NONAME ; void eap_am_tools_symbian_c::set_max_trace_file_size(unsigned long)
-	?set_is_invalid@crypto_md4_c@@AAEXXZ @ 899 NONAME ; void crypto_md4_c::set_is_invalid(void)
-	?GetThumbprintPresent@EapCertificateEntry@@QBEHXZ @ 900 NONAME ; int EapCertificateEntry::GetThumbprintPresent(void) const
-	?enter_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 901 NONAME ; void eap_am_tools_symbian_c::enter_trace_mutex(void)
-	?md4_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 902 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	??0eap_expanded_type_c@@QAE@W4eap_type_ietf_values_e@@@Z @ 903 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_ietf_values_e)
-	?allocate_buffer@eap_variable_data_c@@AAE?AW4eap_status_e@@K@Z @ 904 NONAME ; enum eap_status_e eap_variable_data_c::allocate_buffer(unsigned long)
-	?get_md4_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 905 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_digest_length(class eap_variable_data_c *)
-	?set_authentication_error@eap_state_notification_c@@UAEXW4eap_status_e@@@Z @ 906 NONAME ; void eap_state_notification_c::set_authentication_error(enum eap_status_e)
-	?rc4_set_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 907 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_set_key(class eap_variable_data_c *, class eap_variable_data_c const *)
-	?GetIssuerNamePresent@EapCertificateEntry@@QBEHXZ @ 908 NONAME ; int EapCertificateEntry::GetIssuerNamePresent(void) const
-	?get_header_length@eap_tlv_header_c@@SAKXZ @ 909 NONAME ; unsigned long eap_tlv_header_c::get_header_length(void)
-	?initialize@eap_buf_chain_base_c@@AAE?AW4eap_status_e@@K@Z @ 910 NONAME ; enum eap_status_e eap_buf_chain_base_c::initialize(unsigned long)
-	??0eap_expanded_type_c@@QAE@XZ @ 911 NONAME ; eap_expanded_type_c::eap_expanded_type_c(void)
-	??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 912 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool)
-	?copy@eap_am_crypto_sha1_c@@QAEPAV1@XZ @ 913 NONAME ; class eap_am_crypto_sha1_c * eap_am_crypto_sha1_c::copy(void)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@G@@@Z @ 914 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_array_c<unsigned short> *)
-	??1eap_variable_data_c@@UAE@XZ @ 915 NONAME ; eap_variable_data_c::~eap_variable_data_c(void)
-	?object_decrease_reference_count@eap_am_memory_store_tlv_data_c@@QAEKXZ @ 916 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::object_decrease_reference_count(void)
-	?restart_with_new_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@E@Z @ 917 NONAME ; enum eap_status_e eap_core_c::restart_with_new_type(class eap_expanded_type_c, class eap_am_network_id_c const *, unsigned char)
-	??0eap_core_retransmission_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 918 NONAME ; eap_core_retransmission_c::eap_core_retransmission_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
-	?init@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 919 NONAME ; enum eap_status_e eap_variable_data_c::init(unsigned long)
-	?get_eap_code_string@eap_header_string_c@@SAPBDW4eap_code_value_e@@@Z @ 920 NONAME ; char const * eap_header_string_c::get_eap_code_string(enum eap_code_value_e)
-	??4TEapExpandedType@@QAEAAV0@ABV?$TBufC8@$07@@@Z @ 921 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TBufC8<8> const &)
-	??1network_key_and_index_c@@UAE@XZ @ 922 NONAME ; network_key_and_index_c::~network_key_and_index_c(void)
-	?copy_context@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 923 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *)
-	??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 924 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *)
-	?compare@eap_variable_data_c@@QBEJPBXK@Z @ 925 NONAME ; long eap_variable_data_c::compare(void const *, unsigned long) const
-	?copy@crypto_md4_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 926 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md4_c::copy(void)
-	?generate_g_power_to_xy@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBEK2K@Z @ 927 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long)
-	?directory_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Vabs_eap_file_stat_c@@@@@Z @ 928 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_read(class eap_array_c<class abs_eap_file_stat_c> *)
-	?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 929 NONAME ; bool simple_config_credential_c::get_is_valid(void)
-	?set_trace_mask@eap_am_tools_c@@UAEXK@Z @ 930 NONAME ; void eap_am_tools_c::set_trace_mask(unsigned long)
-	?Copy@EapCertificateEntry@@QAEPAV1@XZ @ 931 NONAME ; class EapCertificateEntry * EapCertificateEntry::Copy(void)
-	?dsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11111@Z @ 932 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?file_read_word@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 933 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_word(class eap_variable_data_c *)
-	?set_is_valid@eap_am_memory_store_c@@AAEXXZ @ 934 NONAME ; void eap_am_memory_store_c::set_is_valid(void)
-	?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 935 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(class eap_variable_data_c const *)
-	?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 936 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void)
-	?handle_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_base_type_c@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 937 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_response(class eap_base_type_c *, class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long)
-	?send_eap_identity_request@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 938 NONAME ; enum eap_status_e eap_session_core_c::send_eap_identity_request(class eap_am_network_id_c const *)
-	?set_type_data_length@eap_header_base_c@@QAEXG_N@Z @ 939 NONAME ; void eap_header_base_c::set_type_data_length(unsigned short, bool)
-	?get_eap_expanded_type_size@eap_expanded_type_c@@SAKXZ @ 940 NONAME ; unsigned long eap_expanded_type_c::get_eap_expanded_type_size(void)
-	?init_retransmission@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 941 NONAME ; enum eap_status_e eap_core_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c)
-	??1crypto_md4_c@@UAE@XZ @ 942 NONAME ; crypto_md4_c::~crypto_md4_c(void)
-	?leave_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 943 NONAME ; void eap_am_tools_symbian_c::leave_trace_mutex(void)
-	?get_is_valid@eap_am_memory_store_c@@QAE_NXZ @ 944 NONAME ; bool eap_am_memory_store_c::get_is_valid(void)
-	?get_digest_length@crypto_sha1_c@@UAEKXZ @ 945 NONAME ; unsigned long crypto_sha1_c::get_digest_length(void)
-	?timer_delete_data@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 946 NONAME ; enum eap_status_e eap_core_c::timer_delete_data(unsigned long, void *)
-	??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 947 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long)
-	?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 948 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e)
-	??0eap_am_file_input_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 949 NONAME ; eap_am_file_input_symbian_c::eap_am_file_input_symbian_c(class abs_eap_am_tools_c *)
-	?get_ethernet_header@eap_buf_chain_wr_c@@QAEPAEXZ @ 950 NONAME ; unsigned char * eap_buf_chain_wr_c::get_ethernet_header(void)
-	?get_is_valid@eap_process_tlv_message_data_c@@QAE_NXZ @ 951 NONAME ; bool eap_process_tlv_message_data_c::get_is_valid(void)
-	?tls_prf_A_value@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PAVeap_variable_data_c@@11@Z @ 952 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_A_value(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *)
-	?convert_eapol_error_to_am_error@eap_am_tools_symbian_c@@UAEJW4eap_status_e@@@Z @ 953 NONAME ; long eap_am_tools_symbian_c::convert_eapol_error_to_am_error(enum eap_status_e)
-	?get_current_state_string@eap_state_notification_c@@UBEPBDXZ @ 954 NONAME ; char const * eap_state_notification_c::get_current_state_string(void) const
-	?get_type@eap_config_value_c@@QAE?AW4eap_configure_type_e@@XZ @ 955 NONAME ; enum eap_configure_type_e eap_config_value_c::get_type(void)
-	?set_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 956 NONAME ; enum eap_status_e eap_variable_data_c::set_data_length(unsigned long)
-	?set_key_tx_bit@eapol_session_key_c@@QAEX_N@Z @ 957 NONAME ; void eapol_session_key_c::set_key_tx_bit(bool)
-	?aes_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 958 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_cleanup(class eap_variable_data_c *)
-	?get_data_offset@eap_buf_chain_rd_c@@QBEPBEKK@Z @ 959 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data_offset(unsigned long, unsigned long) const
-	?cancel_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 960 NONAME ; enum eap_status_e eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	??0eapol_ethernet_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 961 NONAME ; eapol_ethernet_header_base_c::eapol_ethernet_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	?get_data_offset@eap_variable_data_c@@QBEPAEKK@Z @ 962 NONAME ; unsigned char * eap_variable_data_c::get_data_offset(unsigned long, unsigned long) const
-	?sha1_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 963 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
-	??0crypto_eap_fast_hmac_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 964 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::crypto_eap_fast_hmac_sha1_prf_c(class abs_eap_am_tools_c *)
-	?tls_prf_cleanup@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@XZ @ 965 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_cleanup(void)
-	?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 966 NONAME ; bool network_key_and_index_c::get_is_valid(void)
-	?internal_encrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 967 NONAME ; enum eap_status_e crypto_cbc_c::internal_encrypt_data(void const *, void *, unsigned long)
-	??0eap_simple_config_trace_string_c@@QAE@XZ @ 968 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 969 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eapol_key_802_11_authentication_mode_e)
-	?set_encryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 970 NONAME ; enum eap_status_e crypto_aes_c::set_encryption_key(void const *, unsigned long)
-	?GetPrimaryName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 971 NONAME ; class TDes16 const * EapCertificateEntry::GetPrimaryName(void) const
-	??1eap_am_crypto_sha_256_c@@UAE@XZ @ 972 NONAME ; eap_am_crypto_sha_256_c::~eap_am_crypto_sha_256_c(void)
-	?get_new_key_from_sha@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 973 NONAME ; enum eap_status_e crypto_nt_hash_c::get_new_key_from_sha(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long)
-	?shutdown@eap_am_memory_store_c@@QAE?AW4eap_status_e@@XZ @ 974 NONAME ; enum eap_status_e eap_am_memory_store_c::shutdown(void)
-	?reset_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 975 NONAME ; enum eap_status_e eap_core_c::reset_operation(class eap_base_type_c *, class abs_eap_am_tools_c *)
-	?cbc_xor_block@crypto_cbc_c@@AAEXPBXPAXKK@Z @ 976 NONAME ; void crypto_cbc_c::cbc_xor_block(void const *, void *, unsigned long, unsigned long)
-	?close_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 977 NONAME ; void eap_am_crypto_symbian_c::close_crypto_memory_leaks(void)
-	?unset_marked_removed@eap_core_c@@QAEXXZ @ 978 NONAME ; void eap_core_c::unset_marked_removed(void)
-	?directory_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 979 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_open(class eap_variable_data_c const *)
-	?memory_store_remove_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 980 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_remove_data(class eap_variable_data_c const *)
-	?set_is_reserved@eap_am_mutex_reference_c@@QAEX_N@Z @ 981 NONAME ; void eap_am_mutex_reference_c::set_is_reserved(bool)
-	?hash_update@crypto_md4_c@@UAE?AW4eap_status_e@@PBXK@Z @ 982 NONAME ; enum eap_status_e crypto_md4_c::hash_update(void const *, unsigned long)
-	?set_encrypt@eap_buf_chain_base_c@@QAEX_N@Z @ 983 NONAME ; void eap_buf_chain_base_c::set_encrypt(bool)
-	?set_code@eap_header_base_c@@QAEXW4eap_code_value_e@@@Z @ 984 NONAME ; void eap_header_base_c::set_code(enum eap_code_value_e)
-	?directory_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 985 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_close(void)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_am_network_id_c@@@Z @ 986 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_am_network_id_c *)
-	?parse_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 987 NONAME ; enum eap_status_e eap_tlv_message_data_c::parse_message_data(class eap_array_c<class eap_tlv_header_c> *)
-	??1crypto_kd_hmac_sha256_c@@UAE@XZ @ 988 NONAME ; crypto_kd_hmac_sha256_c::~crypto_kd_hmac_sha256_c(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eap_tlv_message_type_e@@K@Z @ 989 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eap_tlv_message_type_e, unsigned long)
-	?check_header@eap_tlv_header_c@@UBE?AW4eap_status_e@@XZ @ 990 NONAME ; enum eap_status_e eap_tlv_header_c::check_header(void) const
-	??1EapCertificateEntry@@UAE@XZ @ 991 NONAME ; EapCertificateEntry::~EapCertificateEntry(void)
-	?eap_write_u24_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 992 NONAME ; enum eap_status_e eap_write_u24_t_network_order(void *, unsigned long, unsigned long)
-	?get_is_valid@crypto_sha_256_c@@UAE_NXZ @ 993 NONAME ; bool crypto_sha_256_c::get_is_valid(void)
-	?new_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAPAV1@XZ @ 994 NONAME ; class abs_eap_am_tools_c * abs_eap_am_tools_c::new_abs_eap_am_tools_c(void)
-	?SetIsValid@EapCertificateEntry@@QAEHH@Z @ 995 NONAME ; int EapCertificateEntry::SetIsValid(int)
-	?copy_message_digest@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 996 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_message_digest(void *, unsigned long *)
-	?timer_delete_data@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 997 NONAME ; enum eap_status_e eap_session_core_c::timer_delete_data(unsigned long, void *)
-	?convert_am_error_to_eapol_error@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@J@Z @ 998 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(long)
-	?sha_256_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 999 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_final(class eap_variable_data_c *, unsigned char *, unsigned long *)
-	??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1000 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *)
-	?copy_context@crypto_md5_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1001 NONAME ; enum eap_status_e crypto_md5_c::copy_context(class eap_variable_data_c const *)
-	?get_destination_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1002 NONAME ; unsigned long eapol_ethernet_header_base_c::get_destination_length(void) const
-	?eap_host_to_little_endian_long@@YAKK@Z @ 1003 NONAME ; unsigned long eap_host_to_little_endian_long(unsigned long)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 1004 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_array_c<class simple_config_credential_c> *)
-	?set_is_valid@crypto_tls_prf_c@@AAEXXZ @ 1005 NONAME ; void crypto_tls_prf_c::set_is_valid(void)
-	?set_is_invalid@crypto_rc4_c@@AAEXXZ @ 1006 NONAME ; void crypto_rc4_c::set_is_invalid(void)
-	??1eap_network_id_selector_c@@UAE@XZ @ 1007 NONAME ; eap_network_id_selector_c::~eap_network_id_selector_c(void)
-	?get_allow_send_eap_success@eap_state_notification_c@@UBE_NXZ @ 1008 NONAME ; bool eap_state_notification_c::get_allow_send_eap_success(void) const
-	?get_type@eap_type_selection_c@@QBE?AVeap_expanded_type_c@@XZ @ 1009 NONAME ; class eap_expanded_type_c eap_type_selection_c::get_type(void) const
-	?get_authentication_error@eap_state_notification_c@@UBE?AW4eap_status_e@@XZ @ 1010 NONAME ; enum eap_status_e eap_state_notification_c::get_authentication_error(void) const
-	?get_source_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 1011 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_source_id(void) const
-	?get_protocol_string@eap_state_notification_c@@SAPBDKK@Z @ 1012 NONAME ; char const * eap_state_notification_c::get_protocol_string(unsigned long, unsigned long)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_expanded_type_c@@@Z @ 1013 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_expanded_type_c *)
-	?add_structured_parameter_header@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eap_tlv_message_type_e@@K@Z @ 1014 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_structured_parameter_header(enum eap_tlv_message_type_e, unsigned long)
-	?client_proposes_eap_types@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1015 NONAME ; enum eap_status_e eap_core_c::client_proposes_eap_types(class eap_am_network_id_c const *, unsigned char)
-	??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@W4eapol_key_type_e@@K_NPBEK@Z @ 1016 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *, class eap_variable_data_c *, enum eapol_key_type_e, unsigned long, bool, unsigned char const *, unsigned long)
-	?get_is_reserved@eap_am_mutex_reference_c@@QAE_NXZ @ 1017 NONAME ; bool eap_am_mutex_reference_c::get_is_reserved(void)
-	?set_key@eapol_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1018 NONAME ; enum eap_status_e eapol_session_key_c::set_key(class eap_variable_data_c const *)
-	?set_is_invalid@crypto_rsa_c@@AAEXXZ @ 1019 NONAME ; void crypto_rsa_c::set_is_invalid(void)
-	?eap_write_u32_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 1020 NONAME ; enum eap_status_e eap_write_u32_t_network_order(void *, unsigned long, unsigned long)
-	?get_hardware_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 1021 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks_of_second(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 1022 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c<class eap_expanded_type_c> const *)
-	??0TEapExpandedType@@QAE@ABV?$TBufC8@$07@@@Z @ 1023 NONAME ; TEapExpandedType::TEapExpandedType(class TBufC8<8> const &)
-	?get_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 1024 NONAME ; enum eap_status_e eap_am_memory_store_c::get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *)
-	?aes_block_size@eap_am_crypto_symbian_c@@UAEKXZ @ 1025 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_block_size(void)
-	?get_global_mutex@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 1026 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_global_mutex(void)
-	?ConvertExpandedEAPTypesToInternalTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RArray@VTEapExpandedType@@@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 1027 NONAME ; int CEapConversion::ConvertExpandedEAPTypesToInternalTypes(class abs_eap_am_tools_c *, class RArray<class TEapExpandedType> const *, class eap_array_c<class eap_expanded_type_c> *)
-	?get_encrypts@crypto_aes_c@@UAE_NXZ @ 1028 NONAME ; bool crypto_aes_c::get_encrypts(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@E@Z @ 1029 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned char)
-	?eap_shift_right_64_bit@@YA_K_KK@Z @ 1030 NONAME ; unsigned long long eap_shift_right_64_bit(unsigned long long, unsigned long)
-	?add_rogue_ap@eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1031 NONAME ; enum eap_status_e eap_core_c::add_rogue_ap(class eap_array_c<class eap_rogue_ap_entry_c> &)
-	?timer_expired@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1032 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_expired(unsigned long, void *)
-	?GetSubjectKeyId@EapCertificateEntry@@QBEABV?$TBuf8@$0BE@@@XZ @ 1033 NONAME ; class TBuf8<20> const & EapCertificateEntry::GetSubjectKeyId(void) const
-	??9eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 1034 NONAME ; bool eap_expanded_type_c::operator!=(enum eap_type_ietf_values_e) const
-	?get_sequence_number@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 1035 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_sequence_number(void) const
-	?tls_prf_one_round@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PBVeap_variable_data_c@@PAV4@2PAXK@Z @ 1036 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_one_round(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, void *, unsigned long)
-	??1crypto_rc4_c@@UAE@XZ @ 1037 NONAME ; crypto_rc4_c::~crypto_rc4_c(void)
-	?memchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 1038 NONAME ; void * eap_am_tools_symbian_c::memchr(void const *, unsigned char, unsigned long)
-	??1eap_status_string_c@@UAE@XZ @ 1039 NONAME ; eap_status_string_c::~eap_status_string_c(void)
-	?get_buffer@eap_variable_data_c@@QBEPAEK@Z @ 1040 NONAME ; unsigned char * eap_variable_data_c::get_buffer(unsigned long) const
-	?packet_data_crypto_keys@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 1041 NONAME ; enum eap_status_e eap_session_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *)
-	??1eapol_header_wr_c@@UAE@XZ @ 1042 NONAME ; eapol_header_wr_c::~eapol_header_wr_c(void)
-	?send_eap_identity_request@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1043 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_request(class eap_am_network_id_c const *)
-	?set_key_index@eapol_session_key_c@@QAEXK@Z @ 1044 NONAME ; void eapol_session_key_c::set_key_index(unsigned long)
-	?get_next_retransmission_time@eap_core_retransmission_c@@QAEKXZ @ 1045 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_time(void)
-	??1crypto_rsa_c@@UAE@XZ @ 1046 NONAME ; crypto_rsa_c::~crypto_rsa_c(void)
-	?get_eap_type@eap_core_retransmission_c@@QBE?AVeap_expanded_type_c@@XZ @ 1047 NONAME ; class eap_expanded_type_c eap_core_retransmission_c::get_eap_type(void) const
-	?get_marked_removed@eap_core_c@@QAE_NXZ @ 1048 NONAME ; bool eap_core_c::get_marked_removed(void)
-	?sign@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1049 NONAME ; enum eap_status_e crypto_dsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 1050 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_network_id_selector_c const *)
-	?get_buffer_length@eap_variable_data_c@@QBEKXZ @ 1051 NONAME ; unsigned long eap_variable_data_c::get_buffer_length(void) const
-	?set_is_valid@crypto_sha1_c@@EAEXXZ @ 1052 NONAME ; void crypto_sha1_c::set_is_valid(void)
-	?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK_N1@Z @ 1053 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void const *, unsigned long, bool, bool)
-	?write_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPAXK_NV1@@Z @ 1054 NONAME ; enum eap_status_e eap_expanded_type_c::write_type(class abs_eap_am_tools_c *, unsigned long, void *, unsigned long, bool, class eap_expanded_type_c)
-	?sha1_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 1055 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_update(class eap_variable_data_c *, unsigned char const *, unsigned long)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1056 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_am_network_id_c const *)
-	?ConvertInternalTypesToExpandedEAPTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@Veap_expanded_type_c@@@@PAV?$RArray@VTEapExpandedType@@@@@Z @ 1057 NONAME ; int CEapConversion::ConvertInternalTypesToExpandedEAPTypes(class abs_eap_am_tools_c *, class eap_array_c<class eap_expanded_type_c> const *, class RArray<class TEapExpandedType> *)
-	?decrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1058 NONAME ; enum eap_status_e crypto_3des_ede_c::decrypt_block(void const *, void *, unsigned long)
-	??0eap_am_memory_store_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1059 NONAME ; eap_am_memory_store_c::eap_am_memory_store_c(class abs_eap_am_tools_c *)
-	?get_is_valid@eap_core_c@@UAE_NXZ @ 1060 NONAME ; bool eap_core_c::get_is_valid(void)
-	?get_random_error_type@eap_buf_chain_base_c@@QAE?AW4eap_random_error_type@@XZ @ 1061 NONAME ; enum eap_random_error_type eap_buf_chain_base_c::get_random_error_type(void)
-	?tls_prf_output@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1062 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_output(void *, unsigned long)
-	??1eapol_ethernet_header_rd_c@@UAE@XZ @ 1063 NONAME ; eapol_ethernet_header_rd_c::~eapol_ethernet_header_rd_c(void)
-	?cancel_all_eap_sessions@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 1064 NONAME ; enum eap_status_e eap_session_core_c::cancel_all_eap_sessions(void)
-	??0crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1065 NONAME ; crypto_rc4_c::crypto_rc4_c(class abs_eap_am_tools_c *)
-	??0eap_base_type_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@@Z @ 1066 NONAME ; eap_base_type_c::eap_base_type_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *)
-	?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 1067 NONAME ; class eap_array_c<class network_key_and_index_c> * simple_config_credential_c::get_network_keys(void)
-	?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBVeap_variable_data_c@@@Z @ 1068 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *)
-	?state_notification@eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1069 NONAME ; void eap_core_c::state_notification(class abs_eap_state_notification_c const *)
-	?ConvertInternalTypeToCertificates@CEapConversion@@SAHPAVabs_eap_am_tools_c@@W4eap_certificate_type_e@eap_certificate_entry_c@@PBV?$eap_array_c@Veap_certificate_entry_c@@@@PAV?$RPointerArray@VEapCertificateEntry@@@@@Z @ 1070 NONAME ; int CEapConversion::ConvertInternalTypeToCertificates(class abs_eap_am_tools_c *, enum eap_certificate_entry_c::eap_certificate_type_e, class eap_array_c<class eap_certificate_entry_c> const *, class RPointerArray<class EapCertificateEntry> *)
-	??1crypto_sha_256_c@@UAE@XZ @ 1071 NONAME ; crypto_sha_256_c::~crypto_sha_256_c(void)
-	?ignore_notifications@eap_core_c@@QAEXXZ @ 1072 NONAME ; void eap_core_c::ignore_notifications(void)
-	?get_digest_length@eap_am_crypto_md4_c@@QAEKXZ @ 1073 NONAME ; unsigned long eap_am_crypto_md4_c::get_digest_length(void)
-	?send_eap_notification_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1074 NONAME ; enum eap_status_e eap_core_c::send_eap_notification_response(class eap_am_network_id_c const *, unsigned char)
-	?get_header_offset@eap_core_retransmission_c@@QBEKXZ @ 1075 NONAME ; unsigned long eap_core_retransmission_c::get_header_offset(void) const
-	?get_destination@eapol_ethernet_header_base_c@@QBEPAEXZ @ 1076 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_destination(void) const
-	?set_is_valid@crypto_3des_ede_c@@UAEXXZ @ 1077 NONAME ; void crypto_3des_ede_c::set_is_valid(void)
-	?eap_md4_process_data@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 1078 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_process_data(unsigned long const *, unsigned long)
-	?get_message_data@eap_tlv_message_data_c@@QBEPAXXZ @ 1079 NONAME ; void * eap_tlv_message_data_c::get_message_data(void) const
-	?set_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1080 NONAME ; enum eap_status_e eap_core_c::set_eap_failure_timeout(void)
-	?snprintf@eap_am_tools_symbian_c@@UAAKPAEKPBDZZ @ 1081 NONAME ; unsigned long eap_am_tools_symbian_c::snprintf(unsigned char *, unsigned long, char const *, ...)
-	?set_random_error_type@eap_buf_chain_base_c@@QAEXW4eap_random_error_type@@@Z @ 1082 NONAME ; void eap_buf_chain_base_c::set_random_error_type(enum eap_random_error_type)
-	?create_new_session@eap_session_core_c@@AAEPAVeap_core_c@@PBVeap_am_network_id_c@@@Z @ 1083 NONAME ; class eap_core_c * eap_session_core_c::create_new_session(class eap_am_network_id_c const *)
-	?copy_context@crypto_sha1_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1084 NONAME ; enum eap_status_e crypto_sha1_c::copy_context(class eap_variable_data_c const *)
-	?cleanup@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 1085 NONAME ; enum eap_status_e crypto_dsa_c::cleanup(void)
-	?rsa_decrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 1086 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?check_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXKE@Z @ 1087 NONAME ; enum eap_status_e crypto_cbc_c::check_padding_bytes(void const *, unsigned long, unsigned char)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1088 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c<class eap_certificate_entry_c> *)
-	?decrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1089 NONAME ; enum eap_status_e crypto_aes_c::decrypt_block(void const *, void *, unsigned long)
-	?GetIssuerName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 1090 NONAME ; class TDes16 const * EapCertificateEntry::GetIssuerName(void) const
-	?ConvertInternalTypesToHBufC8@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@Veap_expanded_type_c@@@@PAPAVHBufC8@@@Z @ 1091 NONAME ; int CEapConversion::ConvertInternalTypesToHBufC8(class abs_eap_am_tools_c *, class eap_array_c<class eap_expanded_type_c> const *, class HBufC8 * *)
-	?tls_prf_output@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1092 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_output(void *, unsigned long)
-	?get_buffer_size@eap_core_retransmission_c@@QBEKXZ @ 1093 NONAME ; unsigned long eap_core_retransmission_c::get_buffer_size(void) const
-	?get_type_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 1094 NONAME ; unsigned char * eap_header_base_c::get_type_data_offset(unsigned long, unsigned long) const
-	?GetRequestType@EapMessageBuffer@@QBE?AW4TEapRequests@@XZ @ 1095 NONAME ; enum TEapRequests EapMessageBuffer::GetRequestType(void) const
-	?get_header_offset@eap_core_c@@UAEKPAK0@Z @ 1096 NONAME ; unsigned long eap_core_c::get_header_offset(unsigned long *, unsigned long *)
-	?get_is_valid@eap_am_tools_symbian_c@@UBE_NXZ @ 1097 NONAME ; bool eap_am_tools_symbian_c::get_is_valid(void) const
-	?cancel_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1098 NONAME ; enum eap_status_e eap_session_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAJ@Z @ 1099 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, long *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAE@Z @ 1100 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned char *)
-	??1eap_general_header_base_c@@UAE@XZ @ 1101 NONAME ; eap_general_header_base_c::~eap_general_header_base_c(void)
-	?get_type_data_offset@eap_header_wr_c@@QBEPAEKK@Z @ 1102 NONAME ; unsigned char * eap_header_wr_c::get_type_data_offset(unsigned long, unsigned long) const
-	?complete_eap_identity_query@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 1103 NONAME ; enum eap_status_e eap_core_c::complete_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char)
-	?SetPrimaryName@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 1104 NONAME ; int EapCertificateEntry::SetPrimaryName(class TBuf<64> const &)
-	?set_is_invalid@eap_am_crypto_sha1_c@@AAEXXZ @ 1105 NONAME ; void eap_am_crypto_sha1_c::set_is_invalid(void)
-	?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1106 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void const *, void *, unsigned long)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1107 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_array_c<class eap_certificate_entry_c> *)
-	?set_is_valid@eap_am_crypto_sha1_c@@AAEXXZ @ 1108 NONAME ; void eap_am_crypto_sha1_c::set_is_valid(void)
-	?set_header_buffer@eap_general_header_base_c@@QAEXPAEK@Z @ 1109 NONAME ; void eap_general_header_base_c::set_header_buffer(unsigned char *, unsigned long)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVsimple_config_credential_c@@@Z @ 1110 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class simple_config_credential_c *)
-	?configure@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1111 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::configure(void)
-	?am_cancel_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1112 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_timer(class abs_eap_base_timer_c *, unsigned long)
-	?get_value_length@eap_tlv_header_c@@QBEKXZ @ 1113 NONAME ; unsigned long eap_tlv_header_c::get_value_length(void) const
-	?get_is_valid@eap_am_crypto_sha1_c@@QAE_NXZ @ 1114 NONAME ; bool eap_am_crypto_sha1_c::get_is_valid(void)
-	?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 1115 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(class eap_variable_data_c const *)
-	??1EAPSettings@@UAE@XZ @ 1116 NONAME ; EAPSettings::~EAPSettings(void)
-	??1crypto_ephemeral_diffie_hellman_c@@UAE@XZ @ 1117 NONAME ; crypto_ephemeral_diffie_hellman_c::~crypto_ephemeral_diffie_hellman_c(void)
-	?set_send_packet_index@eap_buf_chain_base_c@@QAEXK@Z @ 1118 NONAME ; void eap_buf_chain_base_c::set_send_packet_index(unsigned long)
-	?copy_message_digest@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 1119 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_message_digest(void *, unsigned long *)
-	?reset_header@eap_header_wr_c@@QAEXG_N@Z @ 1120 NONAME ; void eap_header_wr_c::reset_header(unsigned short, bool)
-	?get_ietf_type@eap_header_base_c@@QBE?AW4eap_type_ietf_values_e@@XZ @ 1121 NONAME ; enum eap_type_ietf_values_e eap_header_base_c::get_ietf_type(void) const
-	?cleanup_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1122 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::cleanup_3des_ede(class eap_variable_data_c *)
-	?get_eap_code@eap_core_retransmission_c@@QBE?AW4eap_code_value_e@@XZ @ 1123 NONAME ; enum eap_code_value_e eap_core_retransmission_c::get_eap_code(void) const
-	?finalize_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@XZ @ 1124 NONAME ; enum eap_status_e crypto_cbc_c::finalize_non_aligned(void)
-	?decrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1125 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *)
-	?get_destination@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 1126 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_destination(void)
-	?tls_prf_cleanup@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@XZ @ 1127 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_cleanup(void)
-	?isspace@eap_am_tools_symbian_c@@UAE_NE@Z @ 1128 NONAME ; bool eap_am_tools_symbian_c::isspace(unsigned char)
-	?set_decryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 1129 NONAME ; enum eap_status_e crypto_cbc_c::set_decryption_key(void const *, unsigned long, void const *, unsigned long)
-	?set_decryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1130 NONAME ; enum eap_status_e crypto_3des_ede_c::set_decryption_key(void const *, unsigned long)
-	?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 1131 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char)
-	?object_increase_reference_count@eap_config_value_c@@QAEXXZ @ 1132 NONAME ; void eap_config_value_c::object_increase_reference_count(void)
-	?set_notification_string@eap_state_notification_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 1133 NONAME ; enum eap_status_e eap_state_notification_c::set_notification_string(class eap_variable_data_c const *, bool)
-	?copy_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 1134 NONAME ; enum eap_status_e eap_tlv_message_data_c::copy_message_data(unsigned long, void const *)
-	?add_reference@eap_am_mutex_reference_c@@QAEXXZ @ 1135 NONAME ; void eap_am_mutex_reference_c::add_reference(void)
-	??0EapCertificateEntry@@QAE@XZ @ 1136 NONAME ; EapCertificateEntry::EapCertificateEntry(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@G@Z @ 1137 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned short)
-	??1crypto_tls_prf_c@@UAE@XZ @ 1138 NONAME ; crypto_tls_prf_c::~crypto_tls_prf_c(void)
-	?get_am_tools@eap_buf_chain_base_c@@IAEPAVabs_eap_am_tools_c@@XZ @ 1139 NONAME ; class abs_eap_am_tools_c * eap_buf_chain_base_c::get_am_tools(void)
-	?get_hardware_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 1140 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks(void)
-	?get_type_data@eap_header_wr_c@@QBEPAEK@Z @ 1141 NONAME ; unsigned char * eap_header_wr_c::get_type_data(unsigned long) const
-	?GetData@EapMessageBuffer@@QBEPAVHBufC8@@XZ @ 1142 NONAME ; class HBufC8 * EapMessageBuffer::GetData(void) const
-	?get_message_data@eap_am_memory_store_tlv_data_c@@QBEPAXXZ @ 1143 NONAME ; void * eap_am_memory_store_tlv_data_c::get_message_data(void) const
-	?hash_final@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 1144 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_final(void *, unsigned long *)
-	?multiply_u64@eap_am_tools_c@@UAE_K_K0@Z @ 1145 NONAME ; unsigned long long eap_am_tools_c::multiply_u64(unsigned long long, unsigned long long)
-	?eap_acknowledge@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1146 NONAME ; enum eap_status_e eap_session_core_c::eap_acknowledge(class eap_am_network_id_c const *)
-	?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1147 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void const *, void *, unsigned long)
-	??0TEapExpandedType@@QAE@XZ @ 1148 NONAME ; TEapExpandedType::TEapExpandedType(void)
-	?set_is_valid@crypto_md5_c@@EAEXXZ @ 1149 NONAME ; void crypto_md5_c::set_is_valid(void)
-	?get_is_client@eap_buf_chain_base_c@@QBE_NXZ @ 1150 NONAME ; bool eap_buf_chain_base_c::get_is_client(void) const
-	?set_session_timeout@eap_session_core_c@@UAE?AW4eap_status_e@@K@Z @ 1151 NONAME ; enum eap_status_e eap_session_core_c::set_session_timeout(unsigned long)
-	?key_length_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 1152 NONAME ; unsigned long eap_am_crypto_symbian_c::key_length_3des_ede(void)
-	?read_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 1153 NONAME ; enum eap_status_e eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *)
-	?SetSerialNumberPresent@EapCertificateEntry@@QAEXXZ @ 1154 NONAME ; void EapCertificateEntry::SetSerialNumberPresent(void)
-	?get_notification_string@eap_state_notification_c@@UBEPBVeap_variable_data_c@@XZ @ 1155 NONAME ; class eap_variable_data_c const * eap_state_notification_c::get_notification_string(void) const
-	?add_message_data_array@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 1156 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data_array(unsigned long, unsigned long, class eap_array_c<class eap_variable_data_c> *)
-	??1crypto_wpa_psk_password_hash_c@@UAE@XZ @ 1157 NONAME ; crypto_wpa_psk_password_hash_c::~crypto_wpa_psk_password_hash_c(void)
-	?get_is_valid@crypto_random_c@@QAE_NXZ @ 1158 NONAME ; bool crypto_random_c::get_is_valid(void)
-	?get_rogue_reason@eap_rogue_ap_entry_c@@QBE?AW4eap_rogue_ap_reason_e@@XZ @ 1159 NONAME ; enum eap_rogue_ap_reason_e eap_rogue_ap_entry_c::get_rogue_reason(void) const
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVsimple_config_credential_c@@@Z @ 1160 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class simple_config_credential_c const *) const
-	?set_is_valid@crypto_aes_wrap_c@@QAEXXZ @ 1161 NONAME ; void crypto_aes_wrap_c::set_is_valid(void)
-	?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 1162 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(unsigned char const *, unsigned long, unsigned char *, unsigned long *)
-	?hash_update@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PBXK@Z @ 1163 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_update(void const *, unsigned long)
-	?get_is_valid_data@eap_type_selection_c@@QBE_NXZ @ 1164 NONAME ; bool eap_type_selection_c::get_is_valid_data(void) const
-	?trace@EapCertificateEntry@@QBEXXZ @ 1165 NONAME ; void EapCertificateEntry::trace(void) const
-	?timer_delete_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1166 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_delete_data(unsigned long, void *)
-	?hmac_update@crypto_hmac_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1167 NONAME ; enum eap_status_e crypto_hmac_c::hmac_update(void const *, unsigned long)
-	?eap_read_u32_t_little_endian_order@@YAKPBXK@Z @ 1168 NONAME ; unsigned long eap_read_u32_t_little_endian_order(void const *, unsigned long)
-	?new_eap_session_core_c@eap_session_core_base_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_session_core_c@@_NK@Z @ 1169 NONAME ; class eap_session_core_base_c * eap_session_core_base_c::new_eap_session_core_c(class abs_eap_am_tools_c *, class abs_eap_session_core_c *, bool, unsigned long)
-	??0eap_process_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1170 NONAME ; eap_process_tlv_message_data_c::eap_process_tlv_message_data_c(class abs_eap_am_tools_c *)
-	?GetSerialNumberWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 1171 NONAME ; class TDes16 * EapCertificateEntry::GetSerialNumberWritable(void)
-	??1eap_base_type_c@@UAE@XZ @ 1172 NONAME ; eap_base_type_c::~eap_base_type_c(void)
-	?GetSubjectKeyIdPresent@EapCertificateEntry@@QBEHXZ @ 1173 NONAME ; int EapCertificateEntry::GetSubjectKeyIdPresent(void) const
-	?unload_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1174 NONAME ; enum eap_status_e eap_session_core_c::unload_module(class eap_expanded_type_c)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 1175 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c<class simple_config_credential_c> const *) const
-	?packet_process@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1176 NONAME ; enum eap_status_e eap_session_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long)
-	?reset@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 1177 NONAME ; enum eap_status_e eap_session_core_c::reset(void)
-	?GetEapRequestsString@EapServerStrings@@SAPBDW4TEapRequests@@@Z @ 1178 NONAME ; char const * EapServerStrings::GetEapRequestsString(enum TEapRequests)
-	?begin_db_delete@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 1179 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_delete(class RDbView &)
-	?set_identifier@eap_header_base_c@@QAEXE@Z @ 1180 NONAME ; void eap_header_base_c::set_identifier(unsigned char)
-	?am_set_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1181 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long)
-	?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_variable_data_c@@@Z @ 1182 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c<class eap_tlv_header_c> const *, unsigned long, class eap_variable_data_c *)
-	?SetSubjectKeyId@EapCertificateEntry@@QAEHABV?$TBuf8@$0BE@@@@Z @ 1183 NONAME ; int EapCertificateEntry::SetSubjectKeyId(class TBuf8<20> const &)
-	?get_MAC_address_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 1184 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_MAC_address_const(void) const
-	??1eap_am_crypto_md4_c@@UAE@XZ @ 1185 NONAME ; eap_am_crypto_md4_c::~eap_am_crypto_md4_c(void)
-	?GetIssuerNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 1186 NONAME ; class TDes16 * EapCertificateEntry::GetIssuerNameWritable(void)
-	?reset_or_remove_session@eap_session_core_c@@AAE?AW4eap_status_e@@PAPAVeap_core_c@@PBVeap_network_id_selector_c@@_N@Z @ 1187 NONAME ; enum eap_status_e eap_session_core_c::reset_or_remove_session(class eap_core_c * *, class eap_network_id_selector_c const *, bool)
-	??1crypto_tls_md5_prf_c@@UAE@XZ @ 1188 NONAME ; crypto_tls_md5_prf_c::~crypto_tls_md5_prf_c(void)
-	??4eap_expanded_type_c@@QAEAAV0@ABV0@@Z @ 1189 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(class eap_expanded_type_c const &)
-	?get_type_field_length@eap_header_base_c@@QBEKXZ @ 1190 NONAME ; unsigned long eap_header_base_c::get_type_field_length(void) const
-	?get_eap_identifier@eap_core_retransmission_c@@QBEEXZ @ 1191 NONAME ; unsigned char eap_core_retransmission_c::get_eap_identifier(void) const
-	??0crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1192 NONAME ; crypto_sha1_c::crypto_sha1_c(class abs_eap_am_tools_c *)
-	?sha_256_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1193 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *)
-	??0eap_tlv_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1194 NONAME ; eap_tlv_header_c::eap_tlv_header_c(class abs_eap_am_tools_c *, void *, unsigned long)
-	??0eap_status_string_c@@QAE@XZ @ 1195 NONAME ; eap_status_string_c::eap_status_string_c(void)
-	??1eap_session_core_c@@UAE@XZ @ 1196 NONAME ; eap_session_core_c::~eap_session_core_c(void)
-	?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 1197 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void *, unsigned long)
-	?ConvertExpandedEAPTypeToInternalType@CEapConversion@@SAHPBVTEapExpandedType@@PAVeap_expanded_type_c@@@Z @ 1198 NONAME ; int CEapConversion::ConvertExpandedEAPTypeToInternalType(class TEapExpandedType const *, class eap_expanded_type_c *)
-	??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 1199 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long)
-	?compare@eap_expanded_type_c@@QBEJPBV1@@Z @ 1200 NONAME ; long eap_expanded_type_c::compare(class eap_expanded_type_c const *) const
-	??0EAPSettings@@QAE@XZ @ 1201 NONAME ; EAPSettings::EAPSettings(void)
-	?generate_g_power_to_xy@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBXK2K@Z @ 1202 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long)
-	?tls_prf_init@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 1203 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *)
-	?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 1204 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void)
-	?get_stack_address@eap_buf_chain_base_c@@QBEPBXXZ @ 1205 NONAME ; void const * eap_buf_chain_base_c::get_stack_address(void) const
-	??0eap_am_tools_c@@QAE@XZ @ 1206 NONAME ; eap_am_tools_c::eap_am_tools_c(void)
-	?get_protocol_layer_string@eap_state_notification_c@@UBEPBDXZ @ 1207 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(void) const
-	?cancel_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1208 NONAME ; enum eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session(void)
-	??0eap_am_crypto_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1209 NONAME ; eap_am_crypto_symbian_c::eap_am_crypto_symbian_c(class abs_eap_am_tools_c *)
-	?sha1_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1210 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_init(class eap_variable_data_c *)
-	?create_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_variable_data_c@@E@Z @ 1211 NONAME ; enum eap_status_e eap_core_c::create_eap_identity_response(class eap_buf_chain_wr_c *, class eap_variable_data_c const *, unsigned char)
-	??0crypto_tls_base_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1212 NONAME ; crypto_tls_base_prf_c::crypto_tls_base_prf_c(class abs_eap_am_tools_c *)
-	?file_size@eap_am_file_input_symbian_c@@UAEKXZ @ 1213 NONAME ; unsigned long eap_am_file_input_symbian_c::file_size(void)
-	??1eap_am_memory_store_c@@UAE@XZ @ 1214 NONAME ; eap_am_memory_store_c::~eap_am_memory_store_c(void)
-	??1eap_process_tlv_message_data_c@@UAE@XZ @ 1215 NONAME ; eap_process_tlv_message_data_c::~eap_process_tlv_message_data_c(void)
-	?md5_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1216 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_init(class eap_variable_data_c *)
-	?GetIsEnabled@EapCertificateEntry@@QBEHXZ @ 1217 NONAME ; int EapCertificateEntry::GetIsEnabled(void) const
-	?t_prf_cleanup@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 1218 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_cleanup(void)
-	??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 1219 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_config_value_c@@@Z @ 1220 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_variable_data_c const *, class eap_config_value_c const *)
-	??1abs_crypto_cbc_block_algorithm_c@@UAE@XZ @ 1221 NONAME ; abs_crypto_cbc_block_algorithm_c::~abs_crypto_cbc_block_algorithm_c(void)
-	??0eap_am_crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1222 NONAME ; eap_am_crypto_md4_c::eap_am_crypto_md4_c(class abs_eap_am_tools_c *)
-	?internal_decrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 1223 NONAME ; enum eap_status_e crypto_cbc_c::internal_decrypt_data(void const *, void *, unsigned long)
-	?shutdown@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 1224 NONAME ; enum eap_status_e eap_core_c::shutdown(void)
-	?file_write@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1225 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_write(class eap_variable_data_c const *)
-	?compare_length@eap_variable_data_c@@QBEJPBXKK@Z @ 1226 NONAME ; long eap_variable_data_c::compare_length(void const *, unsigned long, unsigned long) const
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAG@Z @ 1227 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned short *)
-	??9TEapExpandedType@@QBE_NABV0@@Z @ 1228 NONAME ; bool TEapExpandedType::operator!=(class TEapExpandedType const &) const
-	?hash_final@crypto_sha_256_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 1229 NONAME ; enum eap_status_e crypto_sha_256_c::hash_final(void *, unsigned long *)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@G@@@Z @ 1230 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c<unsigned short> const *)
-	?memcmp@eap_am_tools_symbian_c@@UAEJPBX0K@Z @ 1231 NONAME ; long eap_am_tools_symbian_c::memcmp(void const *, void const *, unsigned long)
-	?object_decrease_reference_count@eap_process_tlv_message_data_c@@QAEKXZ @ 1232 NONAME ; unsigned long eap_process_tlv_message_data_c::object_decrease_reference_count(void)
-	?get_block_size@crypto_aes_c@@UAEKXZ @ 1233 NONAME ; unsigned long crypto_aes_c::get_block_size(void)
-	?get_data@eapol_ethernet_header_base_c@@QBEPAEK@Z @ 1234 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_data(unsigned long) const
-	?get_type_string@eap_process_tlv_message_data_c@@QAEPBDW4eap_tlv_message_type_e@@@Z @ 1235 NONAME ; char const * eap_process_tlv_message_data_c::get_type_string(enum eap_tlv_message_type_e)
-	?remove_data@eap_am_memory_store_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1236 NONAME ; enum eap_status_e eap_am_memory_store_c::remove_data(class eap_variable_data_c const *)
-	?GetSubjectNamePresent@EapCertificateEntry@@QBEHXZ @ 1237 NONAME ; int EapCertificateEntry::GetSubjectNamePresent(void) const
-	?dss_pseudo_random@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK0K@Z @ 1238 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dss_pseudo_random(unsigned char *, unsigned long, unsigned char *, unsigned long)
-	?SetIsEnabledPresent@EapCertificateEntry@@QAEXXZ @ 1239 NONAME ; void EapCertificateEntry::SetIsEnabledPresent(void)
-	?generate_diffie_hellman_keys@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBXK1K@Z @ 1240 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long)
-	??0EapServerStrings@@QAE@XZ @ 1241 NONAME ; EapServerStrings::EapServerStrings(void)
-	?get_is_valid@eap_am_mutex_base_c@@QBE_NXZ @ 1242 NONAME ; bool eap_am_mutex_base_c::get_is_valid(void) const
-	?file_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eap_file_io_direction_e@@@Z @ 1243 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_open(class eap_variable_data_c const *, enum eap_file_io_direction_e)
-	?get_source_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1244 NONAME ; unsigned long eapol_ethernet_header_base_c::get_source_length(void) const
-	??1eap_am_mutex_base_c@@UAE@XZ @ 1245 NONAME ; eap_am_mutex_base_c::~eap_am_mutex_base_c(void)
-	?SetLabel@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 1246 NONAME ; int EapCertificateEntry::SetLabel(class TBuf<64> const &)
-	?get_is_valid@crypto_tls_sha1_prf_c@@QAE_NXZ @ 1247 NONAME ; bool crypto_tls_sha1_prf_c::get_is_valid(void)
-	?cancel_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1248 NONAME ; enum eap_status_e eap_core_c::cancel_session_timeout(void)
-	?hash_cleanup@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 1249 NONAME ; enum eap_status_e crypto_md5_c::hash_cleanup(void)
-	?add_message_header@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KK@Z @ 1250 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_header(unsigned long, unsigned long)
-	??0TEapExpandedType@@QAE@ABVTDesC8@@@Z @ 1251 NONAME ; TEapExpandedType::TEapExpandedType(class TDesC8 const &)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVnetwork_key_and_index_c@@@Z @ 1252 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class network_key_and_index_c const *) const
-	??0eapol_ethernet_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 1253 NONAME ; eapol_ethernet_header_wr_c::eapol_ethernet_header_wr_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long)
-	?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1254 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c<class eap_certificate_entry_c> const *) const
-	?get_is_enabled@eap_type_selection_c@@QBE_NXZ @ 1255 NONAME ; bool eap_type_selection_c::get_is_enabled(void) const
-	?GetCertType@EapCertificateEntry@@QBE?AW4TCertType@1@XZ @ 1256 NONAME ; enum EapCertificateEntry::TCertType EapCertificateEntry::GetCertType(void) const
-	?shutdown@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1257 NONAME ; enum eap_status_e eap_am_tools_symbian_c::shutdown(void)
-	?get_digest_length@eap_am_crypto_sha_256_c@@QAEKXZ @ 1258 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_digest_length(void)
-	?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1259 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c<class eap_certificate_entry_c> const *)
-	?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_method_settings_c@@@Z @ 1260 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_method_settings_c *)
-	?octet_from_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 1261 NONAME ; unsigned char eap_am_tools_c::octet_from_ascii_armor(unsigned char)
-
--- a/eapol/eapol_framework/eapol_symbian/tools/bwins/eaptraceu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?eap_trace_data_symbian@@YAXPBDPBXI@Z @ 1 NONAME ; void eap_trace_data_symbian(char const *, void const *, unsigned int)
-
--- a/eapol/eapol_framework/eapol_symbian/tools/eabi/eapsymbiantoolsu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	_ZN14EapPluginTools15GetPrivatePathLER3RFsR4TBufILi256EE @ 1 NONAME
-	_ZN14EapPluginTools15GetPrivatePathLER4TBufILi256EE @ 2 NONAME
-	_ZN14EapPluginTools16CleanupImplArrayEPv @ 3 NONAME
-	_ZN14EapPluginTools16CreateDatabaseLCER16RDbNamedDatabaseR3RFsRiRK7TDesC16R4TBufILi256EE @ 4 NONAME
-	_ZN14EapPluginTools18ListAllEapPluginsLE10TIndexTypeRK16TEapExpandedTypeR13RPointerArrayIS1_E @ 5 NONAME
-	_ZN14EapPluginToolsC1Ev @ 6 NONAME
-	_ZN14EapPluginToolsC2Ev @ 7 NONAME
-	_ZN14EapPluginToolsD0Ev @ 8 NONAME
-	_ZN14EapPluginToolsD1Ev @ 9 NONAME
-	_ZN14EapPluginToolsD2Ev @ 10 NONAME
-	_ZN16TEapExpandedType8SetValueEPKvj @ 11 NONAME
-	_ZN16TEapExpandedType8SetValueEjj @ 12 NONAME
-	_ZN16TEapExpandedTypeC1EPKS_ @ 13 NONAME
-	_ZN16TEapExpandedTypeC1ERK6TBufC8ILi8EE @ 14 NONAME
-	_ZN16TEapExpandedTypeC1ERK6TDesC8 @ 15 NONAME
-	_ZN16TEapExpandedTypeC1ERKS_ @ 16 NONAME
-	_ZN16TEapExpandedTypeC1Ev @ 17 NONAME
-	_ZN16TEapExpandedTypeC2EPKS_ @ 18 NONAME
-	_ZN16TEapExpandedTypeC2ERK6TBufC8ILi8EE @ 19 NONAME
-	_ZN16TEapExpandedTypeC2ERK6TDesC8 @ 20 NONAME
-	_ZN16TEapExpandedTypeC2ERKS_ @ 21 NONAME
-	_ZN16TEapExpandedTypeC2Ev @ 22 NONAME
-	_ZN16TEapExpandedTypeD0Ev @ 23 NONAME
-	_ZN16TEapExpandedTypeD1Ev @ 24 NONAME
-	_ZN16TEapExpandedTypeD2Ev @ 25 NONAME
-	_ZN16TEapExpandedTypeaSERK6TBufC8ILi8EE @ 26 NONAME
-	_ZN16TEapExpandedTypeaSERK6TDesC8 @ 27 NONAME
-	_ZN16TEapExpandedTypeaSERKS_ @ 28 NONAME
-	_ZNK16TEapExpandedType11GetVendorIdEv @ 29 NONAME
-	_ZNK16TEapExpandedType13GetVendorTypeEv @ 30 NONAME
-	_ZNK16TEapExpandedType7CompareERKS_ @ 31 NONAME
-	_ZNK16TEapExpandedType8GetValueEv @ 32 NONAME
-	_ZNK16TEapExpandedTypeeqERKS_ @ 33 NONAME
-	_ZNK16TEapExpandedTypeneERKS_ @ 34 NONAME
-	_ZTI14EapPluginTools @ 35 NONAME
-	_ZTI16TEapExpandedType @ 36 NONAME
-	_ZTV14EapPluginTools @ 37 NONAME
-	_ZTV16TEapExpandedType @ 38 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/tools/eabi/eaptoolsu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1784 +0,0 @@
-EXPORTS
-	_Z10eap_htonlly @ 1 NONAME
-	_Z21eap_shift_left_64_bitym @ 2 NONAME
-	_Z22eap_shift_right_64_bitym @ 3 NONAME
-	_Z25convert_eap_type_to_u32_t19eap_expanded_type_c @ 4 NONAME
-	_Z25convert_eap_type_to_u64_t19eap_expanded_type_c @ 5 NONAME
-	_Z28eap_read_u16_t_network_orderPKvm @ 6 NONAME
-	_Z28eap_read_u24_t_network_orderPKvm @ 7 NONAME
-	_Z28eap_read_u32_t_network_orderPKvm @ 8 NONAME
-	_Z28eap_read_u64_t_network_orderPKvm @ 9 NONAME
-	_Z29eap_write_u16_t_network_orderPvmt @ 10 NONAME
-	_Z29eap_write_u24_t_network_orderPvmm @ 11 NONAME
-	_Z29eap_write_u32_t_network_orderPvmm @ 12 NONAME
-	_Z29eap_write_u64_t_network_orderPvmy @ 13 NONAME
-	_Z30eap_host_to_little_endian_longm @ 14 NONAME
-	_Z31eap_host_to_little_endian_shortt @ 15 NONAME
-	_Z34eap_read_u16_t_little_endian_orderPKvm @ 16 NONAME
-	_Z34eap_read_u32_t_little_endian_orderPKvm @ 17 NONAME
-	_Z34eap_read_u64_t_little_endian_orderPKvm @ 18 NONAME
-	_Z35eap_host_to_little_endian_long_longy @ 19 NONAME
-	_Z35eap_write_u16_t_little_endian_orderPvmt @ 20 NONAME
-	_Z35eap_write_u32_t_little_endian_orderPvmm @ 21 NONAME
-	_Z35eap_write_u64_t_little_endian_orderPvmy @ 22 NONAME
-	_Z9eap_htonlm @ 23 NONAME
-	_Z9eap_htonst @ 24 NONAME
-	_ZN10eap_core_c11get_partnerEv @ 25 NONAME
-	_ZN10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 26 NONAME
-	_ZN10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 27 NONAME
-	_ZN10eap_core_c11set_partnerEP14abs_eap_core_c @ 28 NONAME
-	_ZN10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 29 NONAME
-	_ZN10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 30 NONAME
-	_ZN10eap_core_c12get_is_validEv @ 31 NONAME
-	_ZN10eap_core_c12set_is_validEv @ 32 NONAME
-	_ZN10eap_core_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm @ 33 NONAME
-	_ZN10eap_core_c13timer_expiredEmPv @ 34 NONAME
-	_ZN10eap_core_c13unload_moduleE19eap_expanded_type_c @ 35 NONAME
-	_ZN10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 36 NONAME
-	_ZN10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 37 NONAME
-	_ZN10eap_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 38 NONAME
-	_ZN10eap_core_c15reset_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 39 NONAME
-	_ZN10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 40 NONAME
-	_ZN10eap_core_c16send_eap_failureEPK19eap_am_network_id_ch @ 41 NONAME
-	_ZN10eap_core_c16send_eap_successEPK19eap_am_network_id_ch @ 42 NONAME
-	_ZN10eap_core_c16trace_eap_packetEPKcPK15eap_header_wr_c @ 43 NONAME
-	_ZN10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 44 NONAME
-	_ZN10eap_core_c17get_header_offsetEPmS0_ @ 45 NONAME
-	_ZN10eap_core_c17timer_delete_dataEmPv @ 46 NONAME
-	_ZN10eap_core_c18get_marked_removedEv @ 47 NONAME
-	_ZN10eap_core_c18set_marked_removedEv @ 48 NONAME
-	_ZN10eap_core_c18shutdown_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 49 NONAME
-	_ZN10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 50 NONAME
-	_ZN10eap_core_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 51 NONAME
-	_ZN10eap_core_c19packet_process_typeE19eap_expanded_type_cPK19eap_am_network_id_cP25eap_general_header_base_cm @ 52 NONAME
-	_ZN10eap_core_c19set_session_timeoutEm @ 53 NONAME
-	_ZN10eap_core_c20ignore_notificationsEv @ 54 NONAME
-	_ZN10eap_core_c20unset_marked_removedEv @ 55 NONAME
-	_ZN10eap_core_c21cancel_retransmissionEv @ 56 NONAME
-	_ZN10eap_core_c21restart_with_new_typeE19eap_expanded_type_cPK19eap_am_network_id_ch @ 57 NONAME
-	_ZN10eap_core_c21send_eap_nak_responseEPK19eap_am_network_id_chPK11eap_array_cI19eap_expanded_type_cE @ 58 NONAME
-	_ZN10eap_core_c22cancel_session_timeoutEv @ 59 NONAME
-	_ZN10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 60 NONAME
-	_ZN10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 61 NONAME
-	_ZN10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 62 NONAME
-	_ZN10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 63 NONAME
-	_ZN10eap_core_c23set_authentication_roleEb @ 64 NONAME
-	_ZN10eap_core_c23set_eap_failure_timeoutEv @ 65 NONAME
-	_ZN10eap_core_c25client_proposes_eap_typesEPK19eap_am_network_id_ch @ 66 NONAME
-	_ZN10eap_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 67 NONAME
-	_ZN10eap_core_c26cancel_eap_failure_timeoutEv @ 68 NONAME
-	_ZN10eap_core_c26initialize_session_timeoutEm @ 69 NONAME
-	_ZN10eap_core_c26send_eap_identity_responseEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 70 NONAME
-	_ZN10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 71 NONAME
-	_ZN10eap_core_c27handle_eap_identity_requestE19eap_expanded_type_chPK19eap_am_network_id_c @ 72 NONAME
-	_ZN10eap_core_c28create_eap_identity_responseEP18eap_buf_chain_wr_cPK19eap_variable_data_ch @ 73 NONAME
-	_ZN10eap_core_c28handle_eap_identity_responseEP15eap_base_type_c19eap_expanded_type_cPK19eap_am_network_id_cP15eap_header_wr_cm @ 74 NONAME
-	_ZN10eap_core_c30send_eap_notification_responseEPK19eap_am_network_id_ch @ 75 NONAME
-	_ZN10eap_core_c31object_decrease_reference_countEv @ 76 NONAME
-	_ZN10eap_core_c31object_increase_reference_countEv @ 77 NONAME
-	_ZN10eap_core_c5resetEv @ 78 NONAME
-	_ZN10eap_core_c8shutdownEv @ 79 NONAME
-	_ZN10eap_core_c9configureEv @ 80 NONAME
-	_ZN10eap_core_c9load_typeE19eap_expanded_type_cS0_PK19eap_am_network_id_c @ 81 NONAME
-	_ZN10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 82 NONAME
-	_ZN10eap_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 83 NONAME
-	_ZN10eap_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 84 NONAME
-	_ZN10eap_core_cD0Ev @ 85 NONAME
-	_ZN10eap_core_cD1Ev @ 86 NONAME
-	_ZN10eap_core_cD2Ev @ 87 NONAME
-	_ZN11EAPSettingsC1Ev @ 88 NONAME
-	_ZN11EAPSettingsC2Ev @ 89 NONAME
-	_ZN11EAPSettingsD0Ev @ 90 NONAME
-	_ZN11EAPSettingsD1Ev @ 91 NONAME
-	_ZN11EAPSettingsD2Ev @ 92 NONAME
-	_ZN12crypto_aes_c12get_encryptsEv @ 93 NONAME
-	_ZN12crypto_aes_c12get_is_validEv @ 94 NONAME
-	_ZN12crypto_aes_c12set_is_validEv @ 95 NONAME
-	_ZN12crypto_aes_c13decrypt_blockEPKvPvm @ 96 NONAME
-	_ZN12crypto_aes_c13encrypt_blockEPKvPvm @ 97 NONAME
-	_ZN12crypto_aes_c14get_block_sizeEv @ 98 NONAME
-	_ZN12crypto_aes_c14get_key_lengthEv @ 99 NONAME
-	_ZN12crypto_aes_c18set_decryption_keyEPKvm @ 100 NONAME
-	_ZN12crypto_aes_c18set_encryption_keyEPKvm @ 101 NONAME
-	_ZN12crypto_aes_cC1EP18abs_eap_am_tools_c @ 102 NONAME
-	_ZN12crypto_aes_cC2EP18abs_eap_am_tools_c @ 103 NONAME
-	_ZN12crypto_aes_cD0Ev @ 104 NONAME
-	_ZN12crypto_aes_cD1Ev @ 105 NONAME
-	_ZN12crypto_aes_cD2Ev @ 106 NONAME
-	_ZN12crypto_cbc_c10get_tmp_IVEv @ 107 NONAME
-	_ZN12crypto_cbc_c12decrypt_dataEPKvPvm @ 108 NONAME
-	_ZN12crypto_cbc_c12decrypt_dataEPvm @ 109 NONAME
-	_ZN12crypto_cbc_c12encrypt_dataEPKvPvm @ 110 NONAME
-	_ZN12crypto_cbc_c12encrypt_dataEPvm @ 111 NONAME
-	_ZN12crypto_cbc_c12get_encryptsEv @ 112 NONAME
-	_ZN12crypto_cbc_c12get_is_validEv @ 113 NONAME
-	_ZN12crypto_cbc_c12set_is_validEv @ 114 NONAME
-	_ZN12crypto_cbc_c13cbc_xor_blockEPKvPvmm @ 115 NONAME
-	_ZN12crypto_cbc_c14cbc_copy_blockEPvPKvmm @ 116 NONAME
-	_ZN12crypto_cbc_c14get_block_sizeEv @ 117 NONAME
-	_ZN12crypto_cbc_c14get_key_lengthEv @ 118 NONAME
-	_ZN12crypto_cbc_c17add_padding_bytesEPvmh @ 119 NONAME
-	_ZN12crypto_cbc_c18set_decryption_keyEPKvmS1_m @ 120 NONAME
-	_ZN12crypto_cbc_c18set_encryption_keyEPKvmS1_m @ 121 NONAME
-	_ZN12crypto_cbc_c18update_non_alignedEPKvPvm @ 122 NONAME
-	_ZN12crypto_cbc_c18update_non_alignedEPvm @ 123 NONAME
-	_ZN12crypto_cbc_c19aligned_data_lengthEm @ 124 NONAME
-	_ZN12crypto_cbc_c19check_padding_bytesEPKvmh @ 125 NONAME
-	_ZN12crypto_cbc_c20finalize_non_alignedEv @ 126 NONAME
-	_ZN12crypto_cbc_c21internal_decrypt_dataEPKvPvm @ 127 NONAME
-	_ZN12crypto_cbc_c21internal_encrypt_dataEPKvPvm @ 128 NONAME
-	_ZN12crypto_cbc_c5resetEv @ 129 NONAME
-	_ZN12crypto_cbc_cC1EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 130 NONAME
-	_ZN12crypto_cbc_cC2EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 131 NONAME
-	_ZN12crypto_cbc_cD0Ev @ 132 NONAME
-	_ZN12crypto_cbc_cD1Ev @ 133 NONAME
-	_ZN12crypto_cbc_cD2Ev @ 134 NONAME
-	_ZN12crypto_dsa_c12get_is_validEv @ 135 NONAME
-	_ZN12crypto_dsa_c12set_is_validEv @ 136 NONAME
-	_ZN12crypto_dsa_c14set_is_invalidEv @ 137 NONAME
-	_ZN12crypto_dsa_c4initEv @ 138 NONAME
-	_ZN12crypto_dsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 139 NONAME
-	_ZN12crypto_dsa_c6verifyEPK19eap_variable_data_cS2_S2_S2_S2_S2_ @ 140 NONAME
-	_ZN12crypto_dsa_c7cleanupEv @ 141 NONAME
-	_ZN12crypto_dsa_cC1EP18abs_eap_am_tools_c @ 142 NONAME
-	_ZN12crypto_dsa_cC2EP18abs_eap_am_tools_c @ 143 NONAME
-	_ZN12crypto_dsa_cD0Ev @ 144 NONAME
-	_ZN12crypto_dsa_cD1Ev @ 145 NONAME
-	_ZN12crypto_dsa_cD2Ev @ 146 NONAME
-	_ZN12crypto_md4_c10hash_finalEPvPm @ 147 NONAME
-	_ZN12crypto_md4_c11hash_updateEPKvm @ 148 NONAME
-	_ZN12crypto_md4_c12copy_contextEPK19eap_variable_data_c @ 149 NONAME
-	_ZN12crypto_md4_c12get_is_validEv @ 150 NONAME
-	_ZN12crypto_md4_c12hash_cleanupEv @ 151 NONAME
-	_ZN12crypto_md4_c12set_is_validEv @ 152 NONAME
-	_ZN12crypto_md4_c14get_block_sizeEv @ 153 NONAME
-	_ZN12crypto_md4_c14set_is_invalidEv @ 154 NONAME
-	_ZN12crypto_md4_c17get_digest_lengthEv @ 155 NONAME
-	_ZN12crypto_md4_c4copyEv @ 156 NONAME
-	_ZN12crypto_md4_c9hash_initEv @ 157 NONAME
-	_ZN12crypto_md4_cC1EP18abs_eap_am_tools_c @ 158 NONAME
-	_ZN12crypto_md4_cC2EP18abs_eap_am_tools_c @ 159 NONAME
-	_ZN12crypto_md4_cD0Ev @ 160 NONAME
-	_ZN12crypto_md4_cD1Ev @ 161 NONAME
-	_ZN12crypto_md4_cD2Ev @ 162 NONAME
-	_ZN12crypto_md5_c10hash_finalEPvPm @ 163 NONAME
-	_ZN12crypto_md5_c11hash_updateEPKvm @ 164 NONAME
-	_ZN12crypto_md5_c12copy_contextEPK19eap_variable_data_c @ 165 NONAME
-	_ZN12crypto_md5_c12get_is_validEv @ 166 NONAME
-	_ZN12crypto_md5_c12hash_cleanupEv @ 167 NONAME
-	_ZN12crypto_md5_c12set_is_validEv @ 168 NONAME
-	_ZN12crypto_md5_c14get_block_sizeEv @ 169 NONAME
-	_ZN12crypto_md5_c14set_is_invalidEv @ 170 NONAME
-	_ZN12crypto_md5_c17get_digest_lengthEv @ 171 NONAME
-	_ZN12crypto_md5_c4copyEv @ 172 NONAME
-	_ZN12crypto_md5_c9hash_initEv @ 173 NONAME
-	_ZN12crypto_md5_cC1EP18abs_eap_am_tools_c @ 174 NONAME
-	_ZN12crypto_md5_cC2EP18abs_eap_am_tools_c @ 175 NONAME
-	_ZN12crypto_md5_cD0Ev @ 176 NONAME
-	_ZN12crypto_md5_cD1Ev @ 177 NONAME
-	_ZN12crypto_md5_cD2Ev @ 178 NONAME
-	_ZN12crypto_rc4_c12decrypt_dataEPKvPvm @ 179 NONAME
-	_ZN12crypto_rc4_c12decrypt_dataEPvm @ 180 NONAME
-	_ZN12crypto_rc4_c12encrypt_dataEPKvPvm @ 181 NONAME
-	_ZN12crypto_rc4_c12encrypt_dataEPvm @ 182 NONAME
-	_ZN12crypto_rc4_c12get_is_validEv @ 183 NONAME
-	_ZN12crypto_rc4_c12set_is_validEv @ 184 NONAME
-	_ZN12crypto_rc4_c14discard_streamEm @ 185 NONAME
-	_ZN12crypto_rc4_c14set_is_invalidEv @ 186 NONAME
-	_ZN12crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 187 NONAME
-	_ZN12crypto_rc4_cC1EP18abs_eap_am_tools_c @ 188 NONAME
-	_ZN12crypto_rc4_cC2EP18abs_eap_am_tools_c @ 189 NONAME
-	_ZN12crypto_rc4_cD0Ev @ 190 NONAME
-	_ZN12crypto_rc4_cD1Ev @ 191 NONAME
-	_ZN12crypto_rc4_cD2Ev @ 192 NONAME
-	_ZN12crypto_rsa_c12get_is_validEv @ 193 NONAME
-	_ZN12crypto_rsa_c12set_is_validEv @ 194 NONAME
-	_ZN12crypto_rsa_c14set_is_invalidEv @ 195 NONAME
-	_ZN12crypto_rsa_c23decrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 196 NONAME
-	_ZN12crypto_rsa_c23encrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 197 NONAME
-	_ZN12crypto_rsa_c24decrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 198 NONAME
-	_ZN12crypto_rsa_c24encrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 199 NONAME
-	_ZN12crypto_rsa_c4initEv @ 200 NONAME
-	_ZN12crypto_rsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 201 NONAME
-	_ZN12crypto_rsa_c6verifyEPK19eap_variable_data_cS2_S2_ @ 202 NONAME
-	_ZN12crypto_rsa_c7cleanupEv @ 203 NONAME
-	_ZN12crypto_rsa_cC1EP18abs_eap_am_tools_c @ 204 NONAME
-	_ZN12crypto_rsa_cC2EP18abs_eap_am_tools_c @ 205 NONAME
-	_ZN12crypto_rsa_cD0Ev @ 206 NONAME
-	_ZN12crypto_rsa_cD1Ev @ 207 NONAME
-	_ZN12crypto_rsa_cD2Ev @ 208 NONAME
-	_ZN13crypto_hmac_c10hmac_finalEPvPm @ 209 NONAME
-	_ZN13crypto_hmac_c11hmac_updateEPKvm @ 210 NONAME
-	_ZN13crypto_hmac_c12get_is_validEv @ 211 NONAME
-	_ZN13crypto_hmac_c12hmac_cleanupEv @ 212 NONAME
-	_ZN13crypto_hmac_c12hmac_set_keyEPK19eap_variable_data_c @ 213 NONAME
-	_ZN13crypto_hmac_c12set_is_validEv @ 214 NONAME
-	_ZN13crypto_hmac_c14hmac_128_finalEPvPm @ 215 NONAME
-	_ZN13crypto_hmac_c14initialize_padEP19eap_variable_data_ch @ 216 NONAME
-	_ZN13crypto_hmac_c17get_digest_lengthEv @ 217 NONAME
-	_ZN13crypto_hmac_cC1EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 218 NONAME
-	_ZN13crypto_hmac_cC2EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 219 NONAME
-	_ZN13crypto_hmac_cD0Ev @ 220 NONAME
-	_ZN13crypto_hmac_cD1Ev @ 221 NONAME
-	_ZN13crypto_hmac_cD2Ev @ 222 NONAME
-	_ZN13crypto_sha1_c10hash_finalEPvPm @ 223 NONAME
-	_ZN13crypto_sha1_c11hash_updateEPKvm @ 224 NONAME
-	_ZN13crypto_sha1_c12copy_contextEPK19eap_variable_data_c @ 225 NONAME
-	_ZN13crypto_sha1_c12get_is_validEv @ 226 NONAME
-	_ZN13crypto_sha1_c12hash_cleanupEv @ 227 NONAME
-	_ZN13crypto_sha1_c12set_is_validEv @ 228 NONAME
-	_ZN13crypto_sha1_c14get_block_sizeEv @ 229 NONAME
-	_ZN13crypto_sha1_c14set_is_invalidEv @ 230 NONAME
-	_ZN13crypto_sha1_c17get_digest_lengthEv @ 231 NONAME
-	_ZN13crypto_sha1_c4copyEv @ 232 NONAME
-	_ZN13crypto_sha1_c9hash_initEv @ 233 NONAME
-	_ZN13crypto_sha1_cC1EP18abs_eap_am_tools_c @ 234 NONAME
-	_ZN13crypto_sha1_cC2EP18abs_eap_am_tools_c @ 235 NONAME
-	_ZN13crypto_sha1_cD0Ev @ 236 NONAME
-	_ZN13crypto_sha1_cD1Ev @ 237 NONAME
-	_ZN13crypto_sha1_cD2Ev @ 238 NONAME
-	_ZN14CEapConversion26ConvertFromBuf16ToInternalEP18abs_eap_am_tools_cPK6TDes16P19eap_variable_data_c @ 239 NONAME
-	_ZN14CEapConversion26ConvertFromInternalToBuf16EP18abs_eap_am_tools_cPK19eap_variable_data_cP6TDes16 @ 240 NONAME
-	_ZN14CEapConversion26ConvertFromTDesCToInternalEP18abs_eap_am_tools_cRK7TDesC16P19eap_variable_data_c @ 241 NONAME
-	_ZN14CEapConversion28ConvertHBufC8ToInternalTypesEP18abs_eap_am_tools_cPK6HBufC8P11eap_array_cI19eap_expanded_type_cE @ 242 NONAME
-	_ZN14CEapConversion28ConvertInternalTypesToHBufC8EP18abs_eap_am_tools_cPK11eap_array_cI19eap_expanded_type_cEPP6HBufC8 @ 243 NONAME
-	_ZN14CEapConversion30ConvertEAPTypesToInternalTypesEP18abs_eap_am_tools_cPK6RArrayIjEP11eap_array_cI19eap_expanded_type_cE @ 244 NONAME
-	_ZN14CEapConversion30ConvertInternalTypesToEAPTypesEP18abs_eap_am_tools_cPK11eap_array_cI19eap_expanded_type_cEP6RArrayIjE @ 245 NONAME
-	_ZN14CEapConversion32ConvertEAPSettingsToInternalTypeEP18abs_eap_am_tools_cPK11EAPSettingsP21eap_method_settings_c @ 246 NONAME
-	_ZN14CEapConversion32ConvertInternalTypeToEAPSettingsEP18abs_eap_am_tools_cPK21eap_method_settings_cP11EAPSettings @ 247 NONAME
-	_ZN14CEapConversion33ConvertCertificatesToInternalTypeEP18abs_eap_am_tools_cPK13RPointerArrayI19EapCertificateEntryEP11eap_array_cI23eap_certificate_entry_cE @ 248 NONAME
-	_ZN14CEapConversion33ConvertCipherSuitesToInternalTypeEP18abs_eap_am_tools_cPK6RArrayIjEP11eap_array_cItE @ 249 NONAME
-	_ZN14CEapConversion33ConvertInternalTypeToCertificatesEP18abs_eap_am_tools_cN23eap_certificate_entry_c22eap_certificate_type_eEPK11eap_array_cIS2_EP13RPointerArrayI19EapCertificateEntryE @ 250 NONAME
-	_ZN14CEapConversion33ConvertInternalTypeToCipherSuitesEP18abs_eap_am_tools_cPK11eap_array_cItEP6RArrayIjE @ 251 NONAME
-	_ZN14CEapConversion36ConvertExpandedEAPTypeToInternalTypeEPK16TEapExpandedTypeP19eap_expanded_type_c @ 252 NONAME
-	_ZN14CEapConversion36ConvertInternalTypeToExpandedEAPTypeEPK19eap_expanded_type_cP16TEapExpandedType @ 253 NONAME
-	_ZN14CEapConversion38ConvertExpandedEAPTypesToInternalTypesEP18abs_eap_am_tools_cPK6RArrayI16TEapExpandedTypeEP11eap_array_cI19eap_expanded_type_cE @ 254 NONAME
-	_ZN14CEapConversion38ConvertInternalTypesToExpandedEAPTypesEP18abs_eap_am_tools_cPK11eap_array_cI19eap_expanded_type_cEP6RArrayI16TEapExpandedTypeE @ 255 NONAME
-	_ZN14eap_am_tools_c10trace_dataEPKcPKvm @ 256 NONAME
-	_ZN14eap_am_tools_c11compare_u64Eyy @ 257 NONAME
-	_ZN14eap_am_tools_c12multiply_u64Eyy @ 258 NONAME
-	_ZN14eap_am_tools_c14ascii_to_octetEl @ 259 NONAME
-	_ZN14eap_am_tools_c14create_uuid_v5EPKvmS1_mP19eap_variable_data_c @ 260 NONAME
-	_ZN14eap_am_tools_c14octet_to_asciiEl @ 261 NONAME
-	_ZN14eap_am_tools_c14set_trace_maskEm @ 262 NONAME
-	_ZN14eap_am_tools_c17eap_status_returnEb12eap_status_ePKcl @ 263 NONAME
-	_ZN14eap_am_tools_c17shutdown_am_toolsEv @ 264 NONAME
-	_ZN14eap_am_tools_c18get_thread_stoppedEv @ 265 NONAME
-	_ZN14eap_am_tools_c19get_use_timer_queueEv @ 266 NONAME
-	_ZN14eap_am_tools_c19set_use_timer_queueEv @ 267 NONAME
-	_ZN14eap_am_tools_c19trace_configurationE12eap_status_ePK25eap_configuration_field_cPK19eap_variable_data_c @ 268 NONAME
-	_ZN14eap_am_tools_c20number_string_to_u32EPKhmPm @ 269 NONAME
-	_ZN14eap_am_tools_c20octet_to_ascii_armorEh @ 270 NONAME
-	_ZN14eap_am_tools_c21memory_store_add_dataEPK19eap_variable_data_cP22eap_tlv_message_data_cm @ 271 NONAME
-	_ZN14eap_am_tools_c21memory_store_get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 272 NONAME
-	_ZN14eap_am_tools_c21timer_thread_functionEv @ 273 NONAME
-	_ZN14eap_am_tools_c22octet_from_ascii_armorEh @ 274 NONAME
-	_ZN14eap_am_tools_c24memory_store_remove_dataEPK19eap_variable_data_c @ 275 NONAME
-	_ZN14eap_am_tools_c26convert_ascii_to_uppercaseEPhm @ 276 NONAME
-	_ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKhmPhPm @ 277 NONAME
-	_ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKvmP19eap_variable_data_c @ 278 NONAME
-	_ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKhmPhPm @ 279 NONAME
-	_ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKvmP19eap_variable_data_c @ 280 NONAME
-	_ZN14eap_am_tools_c27set_activate_trace_on_errorEv @ 281 NONAME
-	_ZN14eap_am_tools_c28convert_bytes_to_ascii_armorEPKhmPhPm @ 282 NONAME
-	_ZN14eap_am_tools_c29check_activate_trace_on_errorEv @ 283 NONAME
-	_ZN14eap_am_tools_c29eap_status_return_file_numberEb12eap_status_emml @ 284 NONAME
-	_ZN14eap_am_tools_c30restore_bytes_from_ascii_armorEPKhmPhPm @ 285 NONAME
-	_ZN14eap_am_tools_c31create_uuid_v5_from_mac_addressEPKhmP19eap_variable_data_c @ 286 NONAME
-	_ZN14eap_am_tools_c31generic_convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 287 NONAME
-	_ZN14eap_am_tools_c31generic_convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 288 NONAME
-	_ZN14eap_am_tools_c35get_use_seconds_timestamp_in_tracesEv @ 289 NONAME
-	_ZN14eap_am_tools_c37convert_selected_bytes_to_ascii_armorEhPmPhS1_S0_b @ 290 NONAME
-	_ZN14eap_am_tools_c39restore_selected_bytes_from_ascii_armorEhPmPhS0_b @ 291 NONAME
-	_ZN14eap_am_tools_c7xor_u64Eyy @ 292 NONAME
-	_ZN14eap_am_tools_c9parse_naiEPK19eap_variable_data_cPS0_S3_ @ 293 NONAME
-	_ZN14eap_am_tools_cC2Ev @ 294 NONAME
-	_ZN14eap_am_tools_cD0Ev @ 295 NONAME
-	_ZN14eap_am_tools_cD1Ev @ 296 NONAME
-	_ZN14eap_am_tools_cD2Ev @ 297 NONAME
-	_ZN15EapMessageQueue10AddMessageE12TEapRequestsPKvj @ 298 NONAME
-	_ZN15EapMessageQueue15GetFirstMessageEv @ 299 NONAME
-	_ZN15EapMessageQueue18DeleteFirstMessageEv @ 300 NONAME
-	_ZN15EapMessageQueueC1EP18abs_eap_am_tools_c @ 301 NONAME
-	_ZN15EapMessageQueueC2EP18abs_eap_am_tools_c @ 302 NONAME
-	_ZN15EapMessageQueueD0Ev @ 303 NONAME
-	_ZN15EapMessageQueueD1Ev @ 304 NONAME
-	_ZN15EapMessageQueueD2Ev @ 305 NONAME
-	_ZN15crypto_random_c12get_is_validEv @ 306 NONAME
-	_ZN15crypto_random_c12set_is_validEv @ 307 NONAME
-	_ZN15crypto_random_c13add_rand_seedEPKvm @ 308 NONAME
-	_ZN15crypto_random_c14get_rand_bytesEP19eap_variable_data_cm @ 309 NONAME
-	_ZN15crypto_random_c14get_rand_bytesEPvm @ 310 NONAME
-	_ZN15crypto_random_c16get_rand_integerEmm @ 311 NONAME
-	_ZN15crypto_random_c22add_rand_seed_hw_ticksEv @ 312 NONAME
-	_ZN15crypto_random_cC1EP18abs_eap_am_tools_c @ 313 NONAME
-	_ZN15crypto_random_cC2EP18abs_eap_am_tools_c @ 314 NONAME
-	_ZN15crypto_random_cD0Ev @ 315 NONAME
-	_ZN15crypto_random_cD1Ev @ 316 NONAME
-	_ZN15crypto_random_cD2Ev @ 317 NONAME
-	_ZN15eap_base_type_c16get_type_partnerEv @ 318 NONAME
-	_ZN15eap_base_type_c31object_decrease_reference_countEv @ 319 NONAME
-	_ZN15eap_base_type_c31object_increase_reference_countEv @ 320 NONAME
-	_ZN15eap_base_type_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_c @ 321 NONAME
-	_ZN15eap_base_type_cD0Ev @ 322 NONAME
-	_ZN15eap_base_type_cD1Ev @ 323 NONAME
-	_ZN15eap_base_type_cD2Ev @ 324 NONAME
-	_ZN15eap_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 325 NONAME
-	_ZN15eap_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 326 NONAME
-	_ZN15eap_header_rd_cD0Ev @ 327 NONAME
-	_ZN15eap_header_rd_cD1Ev @ 328 NONAME
-	_ZN15eap_header_rd_cD2Ev @ 329 NONAME
-	_ZN15eap_header_wr_c12reset_headerEtb @ 330 NONAME
-	_ZN15eap_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 331 NONAME
-	_ZN15eap_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 332 NONAME
-	_ZN15eap_header_wr_cD0Ev @ 333 NONAME
-	_ZN15eap_header_wr_cD1Ev @ 334 NONAME
-	_ZN15eap_header_wr_cD2Ev @ 335 NONAME
-	_ZN16EapMessageBuffer8CopyDataE12TEapRequestsPKvj @ 336 NONAME
-	_ZN16EapMessageBufferC1EP18abs_eap_am_tools_c @ 337 NONAME
-	_ZN16EapMessageBufferC2EP18abs_eap_am_tools_c @ 338 NONAME
-	_ZN16EapMessageBufferD0Ev @ 339 NONAME
-	_ZN16EapMessageBufferD1Ev @ 340 NONAME
-	_ZN16EapMessageBufferD2Ev @ 341 NONAME
-	_ZN16EapServerStrings20GetEapRequestsStringE12TEapRequests @ 342 NONAME
-	_ZN16EapServerStrings20GetEapRequestsStringEi @ 343 NONAME
-	_ZN16EapServerStringsC1Ev @ 344 NONAME
-	_ZN16EapServerStringsC2Ev @ 345 NONAME
-	_ZN16EapServerStringsD0Ev @ 346 NONAME
-	_ZN16EapServerStringsD1Ev @ 347 NONAME
-	_ZN16EapServerStringsD2Ev @ 348 NONAME
-	_ZN16TEapExpandedType8SetValueEPKvj @ 349 NONAME
-	_ZN16TEapExpandedType8SetValueEjj @ 350 NONAME
-	_ZN16TEapExpandedTypeC1EPKS_ @ 351 NONAME
-	_ZN16TEapExpandedTypeC1ERK6TBufC8ILi8EE @ 352 NONAME
-	_ZN16TEapExpandedTypeC1ERK6TDesC8 @ 353 NONAME
-	_ZN16TEapExpandedTypeC1ERKS_ @ 354 NONAME
-	_ZN16TEapExpandedTypeC1Ev @ 355 NONAME
-	_ZN16TEapExpandedTypeC2EPKS_ @ 356 NONAME
-	_ZN16TEapExpandedTypeC2ERK6TBufC8ILi8EE @ 357 NONAME
-	_ZN16TEapExpandedTypeC2ERK6TDesC8 @ 358 NONAME
-	_ZN16TEapExpandedTypeC2ERKS_ @ 359 NONAME
-	_ZN16TEapExpandedTypeC2Ev @ 360 NONAME
-	_ZN16TEapExpandedTypeD0Ev @ 361 NONAME
-	_ZN16TEapExpandedTypeD1Ev @ 362 NONAME
-	_ZN16TEapExpandedTypeD2Ev @ 363 NONAME
-	_ZN16TEapExpandedTypeaSERK6TBufC8ILi8EE @ 364 NONAME
-	_ZN16TEapExpandedTypeaSERK6TDesC8 @ 365 NONAME
-	_ZN16TEapExpandedTypeaSERKS_ @ 366 NONAME
-	_ZN16crypto_nt_hash_c12get_is_validEv @ 367 NONAME
-	_ZN16crypto_nt_hash_c14get_master_keyEPK19eap_variable_data_cS2_PS0_m @ 368 NONAME
-	_ZN16crypto_nt_hash_c16nt_password_hashEPK19eap_variable_data_cPS0_m @ 369 NONAME
-	_ZN16crypto_nt_hash_c20get_new_key_from_shaEPK19eap_variable_data_cS2_PS0_m @ 370 NONAME
-	_ZN16crypto_nt_hash_c21hash_nt_password_hashEPK19eap_variable_data_cPS0_m @ 371 NONAME
-	_ZN16crypto_nt_hash_c24get_asymmetric_start_keyEPK19eap_variable_data_cPS0_mbb @ 372 NONAME
-	_ZN16crypto_nt_hash_cC1EP18abs_eap_am_tools_c @ 373 NONAME
-	_ZN16crypto_nt_hash_cC2EP18abs_eap_am_tools_c @ 374 NONAME
-	_ZN16crypto_nt_hash_cD0Ev @ 375 NONAME
-	_ZN16crypto_nt_hash_cD1Ev @ 376 NONAME
-	_ZN16crypto_nt_hash_cD2Ev @ 377 NONAME
-	_ZN16crypto_sha_256_c10hash_finalEPvPm @ 378 NONAME
-	_ZN16crypto_sha_256_c11hash_updateEPKvm @ 379 NONAME
-	_ZN16crypto_sha_256_c12copy_contextEPK19eap_variable_data_c @ 380 NONAME
-	_ZN16crypto_sha_256_c12get_is_validEv @ 381 NONAME
-	_ZN16crypto_sha_256_c12hash_cleanupEv @ 382 NONAME
-	_ZN16crypto_sha_256_c12set_is_validEv @ 383 NONAME
-	_ZN16crypto_sha_256_c14get_block_sizeEv @ 384 NONAME
-	_ZN16crypto_sha_256_c14set_is_invalidEv @ 385 NONAME
-	_ZN16crypto_sha_256_c17get_digest_lengthEv @ 386 NONAME
-	_ZN16crypto_sha_256_c4copyEv @ 387 NONAME
-	_ZN16crypto_sha_256_c9hash_initEv @ 388 NONAME
-	_ZN16crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 389 NONAME
-	_ZN16crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 390 NONAME
-	_ZN16crypto_sha_256_cD0Ev @ 391 NONAME
-	_ZN16crypto_sha_256_cD1Ev @ 392 NONAME
-	_ZN16crypto_sha_256_cD2Ev @ 393 NONAME
-	_ZN16crypto_tls_prf_c12get_is_validEv @ 394 NONAME
-	_ZN16crypto_tls_prf_c12set_is_validEv @ 395 NONAME
-	_ZN16crypto_tls_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 396 NONAME
-	_ZN16crypto_tls_prf_c14set_is_invalidEv @ 397 NONAME
-	_ZN16crypto_tls_prf_c14tls_prf_outputEPvm @ 398 NONAME
-	_ZN16crypto_tls_prf_c15tls_prf_cleanupEv @ 399 NONAME
-	_ZN16crypto_tls_prf_cC1EP18abs_eap_am_tools_c @ 400 NONAME
-	_ZN16crypto_tls_prf_cC2EP18abs_eap_am_tools_c @ 401 NONAME
-	_ZN16crypto_tls_prf_cD0Ev @ 402 NONAME
-	_ZN16crypto_tls_prf_cD1Ev @ 403 NONAME
-	_ZN16crypto_tls_prf_cD2Ev @ 404 NONAME
-	_ZN16eap_tlv_header_c12reset_headerEmm @ 405 NONAME
-	_ZN16eap_tlv_header_c16set_value_lengthEm @ 406 NONAME
-	_ZN16eap_tlv_header_c17get_header_lengthEv @ 407 NONAME
-	_ZN16eap_tlv_header_c8set_typeEm @ 408 NONAME
-	_ZN16eap_tlv_header_cC1EP18abs_eap_am_tools_cPvm @ 409 NONAME
-	_ZN16eap_tlv_header_cC2EP18abs_eap_am_tools_cPvm @ 410 NONAME
-	_ZN16eap_tlv_header_cD0Ev @ 411 NONAME
-	_ZN16eap_tlv_header_cD1Ev @ 412 NONAME
-	_ZN16eap_tlv_header_cD2Ev @ 413 NONAME
-	_ZN17crypto_3des_ede_c12get_encryptsEv @ 414 NONAME
-	_ZN17crypto_3des_ede_c12get_is_validEv @ 415 NONAME
-	_ZN17crypto_3des_ede_c12set_is_validEv @ 416 NONAME
-	_ZN17crypto_3des_ede_c13decrypt_blockEPKvPvm @ 417 NONAME
-	_ZN17crypto_3des_ede_c13encrypt_blockEPKvPvm @ 418 NONAME
-	_ZN17crypto_3des_ede_c14get_block_sizeEv @ 419 NONAME
-	_ZN17crypto_3des_ede_c14get_key_lengthEv @ 420 NONAME
-	_ZN17crypto_3des_ede_c18set_decryption_keyEPKvm @ 421 NONAME
-	_ZN17crypto_3des_ede_c18set_encryption_keyEPKvm @ 422 NONAME
-	_ZN17crypto_3des_ede_cC1EP18abs_eap_am_tools_c @ 423 NONAME
-	_ZN17crypto_3des_ede_cC2EP18abs_eap_am_tools_c @ 424 NONAME
-	_ZN17crypto_3des_ede_cD0Ev @ 425 NONAME
-	_ZN17crypto_3des_ede_cD1Ev @ 426 NONAME
-	_ZN17crypto_3des_ede_cD2Ev @ 427 NONAME
-	_ZN17crypto_aes_wrap_c12get_encryptsEv @ 428 NONAME
-	_ZN17crypto_aes_wrap_c12get_is_validEv @ 429 NONAME
-	_ZN17crypto_aes_wrap_c12set_is_validEv @ 430 NONAME
-	_ZN17crypto_aes_wrap_c13decrypt_blockEPKvmPvm @ 431 NONAME
-	_ZN17crypto_aes_wrap_c13encrypt_blockEPKvmPvm @ 432 NONAME
-	_ZN17crypto_aes_wrap_c14get_block_sizeEv @ 433 NONAME
-	_ZN17crypto_aes_wrap_c14get_key_lengthEv @ 434 NONAME
-	_ZN17crypto_aes_wrap_c17add_padding_bytesEPvm @ 435 NONAME
-	_ZN17crypto_aes_wrap_c18set_decryption_keyEPKvm @ 436 NONAME
-	_ZN17crypto_aes_wrap_c18set_encryption_keyEPKvm @ 437 NONAME
-	_ZN17crypto_aes_wrap_cC1EP18abs_eap_am_tools_c @ 438 NONAME
-	_ZN17crypto_aes_wrap_cC2EP18abs_eap_am_tools_c @ 439 NONAME
-	_ZN17crypto_aes_wrap_cD0Ev @ 440 NONAME
-	_ZN17crypto_aes_wrap_cD1Ev @ 441 NONAME
-	_ZN17crypto_aes_wrap_cD2Ev @ 442 NONAME
-	_ZN17eap_file_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 443 NONAME
-	_ZN17eap_file_config_c26read_configuration_messageEPK19eap_variable_data_c @ 444 NONAME
-	_ZN17eap_file_config_c9configureEP23abs_eap_am_file_input_c @ 445 NONAME
-	_ZN17eap_file_config_cC1EP18abs_eap_am_tools_c @ 446 NONAME
-	_ZN17eap_file_config_cC2EP18abs_eap_am_tools_c @ 447 NONAME
-	_ZN17eap_file_config_cD0Ev @ 448 NONAME
-	_ZN17eap_file_config_cD1Ev @ 449 NONAME
-	_ZN17eap_file_config_cD2Ev @ 450 NONAME
-	_ZN17eap_header_base_c10set_lengthEtb @ 451 NONAME
-	_ZN17eap_header_base_c14set_identifierEh @ 452 NONAME
-	_ZN17eap_header_base_c17get_header_lengthEv @ 453 NONAME
-	_ZN17eap_header_base_c20set_type_data_lengthEtb @ 454 NONAME
-	_ZN17eap_header_base_c26get_ietf_type_field_lengthEv @ 455 NONAME
-	_ZN17eap_header_base_c26get_type_data_start_offsetEb @ 456 NONAME
-	_ZN17eap_header_base_c29get_expanded_ietf_type_offsetEv @ 457 NONAME
-	_ZN17eap_header_base_c29get_expanded_vendor_id_offsetEv @ 458 NONAME
-	_ZN17eap_header_base_c30get_expanded_type_field_lengthEv @ 459 NONAME
-	_ZN17eap_header_base_c31get_expanded_vendor_type_offsetEv @ 460 NONAME
-	_ZN17eap_header_base_c8set_codeE16eap_code_value_e @ 461 NONAME
-	_ZN17eap_header_base_c8set_typeE19eap_expanded_type_cb @ 462 NONAME
-	_ZN17eap_header_base_cC1EP18abs_eap_am_tools_cPvm @ 463 NONAME
-	_ZN17eap_header_base_cC2EP18abs_eap_am_tools_cPvm @ 464 NONAME
-	_ZN17eap_header_base_cD0Ev @ 465 NONAME
-	_ZN17eap_header_base_cD1Ev @ 466 NONAME
-	_ZN17eap_header_base_cD2Ev @ 467 NONAME
-	_ZN17eapol_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 468 NONAME
-	_ZN17eapol_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 469 NONAME
-	_ZN17eapol_header_rd_cD0Ev @ 470 NONAME
-	_ZN17eapol_header_rd_cD1Ev @ 471 NONAME
-	_ZN17eapol_header_rd_cD2Ev @ 472 NONAME
-	_ZN17eapol_header_wr_c12reset_headerEt @ 473 NONAME
-	_ZN17eapol_header_wr_c14get_eap_headerEv @ 474 NONAME
-	_ZN17eapol_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 475 NONAME
-	_ZN17eapol_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 476 NONAME
-	_ZN17eapol_header_wr_cD0Ev @ 477 NONAME
-	_ZN17eapol_header_wr_cD1Ev @ 478 NONAME
-	_ZN17eapol_header_wr_cD2Ev @ 479 NONAME
-	_ZN18abs_eap_am_mutex_cC2Ev @ 480 NONAME
-	_ZN18abs_eap_am_mutex_cD0Ev @ 481 NONAME
-	_ZN18abs_eap_am_mutex_cD1Ev @ 482 NONAME
-	_ZN18abs_eap_am_mutex_cD2Ev @ 483 NONAME
-	_ZN18abs_eap_am_tools_c22new_abs_eap_am_tools_cEv @ 484 NONAME
-	_ZN18abs_eap_am_tools_c25delete_abs_eap_am_tools_cEPS_ @ 485 NONAME
-	_ZN18eap_buf_chain_rd_c17force_inheritanceEv @ 486 NONAME
-	_ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 487 NONAME
-	_ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 488 NONAME
-	_ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 489 NONAME
-	_ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 490 NONAME
-	_ZN18eap_buf_chain_rd_cD0Ev @ 491 NONAME
-	_ZN18eap_buf_chain_rd_cD1Ev @ 492 NONAME
-	_ZN18eap_buf_chain_rd_cD2Ev @ 493 NONAME
-	_ZN18eap_buf_chain_wr_c17force_inheritanceEv @ 494 NONAME
-	_ZN18eap_buf_chain_wr_c19get_ethernet_headerEv @ 495 NONAME
-	_ZN18eap_buf_chain_wr_c4copyEv @ 496 NONAME
-	_ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_c @ 497 NONAME
-	_ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 498 NONAME
-	_ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 499 NONAME
-	_ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_c @ 500 NONAME
-	_ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 501 NONAME
-	_ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 502 NONAME
-	_ZN18eap_buf_chain_wr_cD0Ev @ 503 NONAME
-	_ZN18eap_buf_chain_wr_cD1Ev @ 504 NONAME
-	_ZN18eap_buf_chain_wr_cD2Ev @ 505 NONAME
-	_ZN18eap_config_value_c14get_subsectionEv @ 506 NONAME
-	_ZN18eap_config_value_c14set_subsectionEP14eap_core_map_cIS_18abs_eap_core_map_c19eap_variable_data_cE @ 507 NONAME
-	_ZN18eap_config_value_c31object_increase_reference_countEv @ 508 NONAME
-	_ZN18eap_config_value_c8get_dataEv @ 509 NONAME
-	_ZN18eap_config_value_c8get_typeEv @ 510 NONAME
-	_ZN18eap_config_value_c8set_typeE20eap_configure_type_e @ 511 NONAME
-	_ZN18eap_config_value_cC1EP18abs_eap_am_tools_c @ 512 NONAME
-	_ZN18eap_config_value_cC2EP18abs_eap_am_tools_c @ 513 NONAME
-	_ZN18eap_config_value_cD0Ev @ 514 NONAME
-	_ZN18eap_config_value_cD1Ev @ 515 NONAME
-	_ZN18eap_config_value_cD2Ev @ 516 NONAME
-	_ZN18eap_session_core_c11get_partnerEv @ 517 NONAME
-	_ZN18eap_session_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 518 NONAME
-	_ZN18eap_session_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 519 NONAME
-	_ZN18eap_session_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 520 NONAME
-	_ZN18eap_session_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 521 NONAME
-	_ZN18eap_session_core_c12get_is_validEv @ 522 NONAME
-	_ZN18eap_session_core_c12set_is_validEv @ 523 NONAME
-	_ZN18eap_session_core_c13timer_expiredEmPv @ 524 NONAME
-	_ZN18eap_session_core_c13unload_moduleE19eap_expanded_type_c @ 525 NONAME
-	_ZN18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 526 NONAME
-	_ZN18eap_session_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 527 NONAME
-	_ZN18eap_session_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 528 NONAME
-	_ZN18eap_session_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 529 NONAME
-	_ZN18eap_session_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 530 NONAME
-	_ZN18eap_session_core_c17get_header_offsetEPmS0_ @ 531 NONAME
-	_ZN18eap_session_core_c17timer_delete_dataEmPv @ 532 NONAME
-	_ZN18eap_session_core_c18create_eap_sessionEPK19eap_am_network_id_c @ 533 NONAME
-	_ZN18eap_session_core_c18create_new_sessionEPK19eap_am_network_id_c @ 534 NONAME
-	_ZN18eap_session_core_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 535 NONAME
-	_ZN18eap_session_core_c18shutdown_operationEP10eap_core_cP18abs_eap_am_tools_c @ 536 NONAME
-	_ZN18eap_session_core_c18state_notificationEPK28abs_eap_state_notification_c @ 537 NONAME
-	_ZN18eap_session_core_c19set_session_timeoutEm @ 538 NONAME
-	_ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 539 NONAME
-	_ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 540 NONAME
-	_ZN18eap_session_core_c23cancel_all_eap_sessionsEv @ 541 NONAME
-	_ZN18eap_session_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 542 NONAME
-	_ZN18eap_session_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 543 NONAME
-	_ZN18eap_session_core_c23reset_or_remove_sessionEPP10eap_core_cPK25eap_network_id_selector_cb @ 544 NONAME
-	_ZN18eap_session_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 545 NONAME
-	_ZN18eap_session_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 546 NONAME
-	_ZN18eap_session_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 547 NONAME
-	_ZN18eap_session_core_c5resetEv @ 548 NONAME
-	_ZN18eap_session_core_c8shutdownEv @ 549 NONAME
-	_ZN18eap_session_core_c9configureEv @ 550 NONAME
-	_ZN18eap_session_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 551 NONAME
-	_ZN18eap_session_core_cC1EP18abs_eap_am_tools_cP22abs_eap_session_core_cb @ 552 NONAME
-	_ZN18eap_session_core_cC2EP18abs_eap_am_tools_cP22abs_eap_session_core_cb @ 553 NONAME
-	_ZN18eap_session_core_cD0Ev @ 554 NONAME
-	_ZN18eap_session_core_cD1Ev @ 555 NONAME
-	_ZN18eap_session_core_cD2Ev @ 556 NONAME
-	_ZN19EapCertificateEntry10SetIsValidEi @ 557 NONAME
-	_ZN19EapCertificateEntry11SetCertTypeERKNS_9TCertTypeE @ 558 NONAME
-	_ZN19EapCertificateEntry12SetIsEnabledEi @ 559 NONAME
-	_ZN19EapCertificateEntry13SetIssuerNameERK4TBufILi255EE @ 560 NONAME
-	_ZN19EapCertificateEntry13SetThumbprintERK4TBufILi64EE @ 561 NONAME
-	_ZN19EapCertificateEntry14SetPrimaryNameERK4TBufILi64EE @ 562 NONAME
-	_ZN19EapCertificateEntry14SetSubjectNameERK4TBufILi255EE @ 563 NONAME
-	_ZN19EapCertificateEntry15SetLabelPresentEv @ 564 NONAME
-	_ZN19EapCertificateEntry15SetSerialNumberERK4TBufILi255EE @ 565 NONAME
-	_ZN19EapCertificateEntry15SetSubjectKeyIdERK5TBuf8ILi20EE @ 566 NONAME
-	_ZN19EapCertificateEntry16GetLabelWritableEv @ 567 NONAME
-	_ZN19EapCertificateEntry16SetSecondaryNameERK4TBufILi64EE @ 568 NONAME
-	_ZN19EapCertificateEntry19SetIsEnabledPresentEv @ 569 NONAME
-	_ZN19EapCertificateEntry20SetIssuerNamePresentEv @ 570 NONAME
-	_ZN19EapCertificateEntry20SetThumbprintPresentEv @ 571 NONAME
-	_ZN19EapCertificateEntry21GetIssuerNameWritableEv @ 572 NONAME
-	_ZN19EapCertificateEntry21GetThumbprintWritableEv @ 573 NONAME
-	_ZN19EapCertificateEntry21SetPrimaryNamePresentEv @ 574 NONAME
-	_ZN19EapCertificateEntry21SetSubjectNamePresentEv @ 575 NONAME
-	_ZN19EapCertificateEntry22GetPrimaryNameWritableEv @ 576 NONAME
-	_ZN19EapCertificateEntry22GetSubjectNameWritableEv @ 577 NONAME
-	_ZN19EapCertificateEntry22SetSerialNumberPresentEv @ 578 NONAME
-	_ZN19EapCertificateEntry22SetSubjectKeyIdPresentEv @ 579 NONAME
-	_ZN19EapCertificateEntry23GetSerialNumberWritableEv @ 580 NONAME
-	_ZN19EapCertificateEntry23GetSubjectKeyIdWritableEv @ 581 NONAME
-	_ZN19EapCertificateEntry23SetSecondaryNamePresentEv @ 582 NONAME
-	_ZN19EapCertificateEntry24GetSecondaryNameWritableEv @ 583 NONAME
-	_ZN19EapCertificateEntry4CopyEv @ 584 NONAME
-	_ZN19EapCertificateEntry8SetLabelERK4TBufILi64EE @ 585 NONAME
-	_ZN19EapCertificateEntryC1Ev @ 586 NONAME
-	_ZN19EapCertificateEntryC2Ev @ 587 NONAME
-	_ZN19EapCertificateEntryD0Ev @ 588 NONAME
-	_ZN19EapCertificateEntryD1Ev @ 589 NONAME
-	_ZN19EapCertificateEntryD2Ev @ 590 NONAME
-	_ZN19EapCertificateEntryaSERKS_ @ 591 NONAME
-	_ZN19eap_am_crypto_md4_c10hash_finalEPvPm @ 592 NONAME
-	_ZN19eap_am_crypto_md4_c11hash_updateEPKvm @ 593 NONAME
-	_ZN19eap_am_crypto_md4_c12copy_contextEPK19eap_variable_data_cyPKmS4_ @ 594 NONAME
-	_ZN19eap_am_crypto_md4_c12get_is_validEv @ 595 NONAME
-	_ZN19eap_am_crypto_md4_c12hash_cleanupEv @ 596 NONAME
-	_ZN19eap_am_crypto_md4_c12set_is_validEv @ 597 NONAME
-	_ZN19eap_am_crypto_md4_c14get_block_sizeEv @ 598 NONAME
-	_ZN19eap_am_crypto_md4_c14set_is_invalidEv @ 599 NONAME
-	_ZN19eap_am_crypto_md4_c17get_digest_lengthEv @ 600 NONAME
-	_ZN19eap_am_crypto_md4_c19copy_message_digestEPvPm @ 601 NONAME
-	_ZN19eap_am_crypto_md4_c20eap_md4_process_dataEPKmm @ 602 NONAME
-	_ZN19eap_am_crypto_md4_c28eap_md4_transform_host_orderEPKmm @ 603 NONAME
-	_ZN19eap_am_crypto_md4_c4copyEv @ 604 NONAME
-	_ZN19eap_am_crypto_md4_c9hash_initEv @ 605 NONAME
-	_ZN19eap_am_crypto_md4_cC1EP18abs_eap_am_tools_c @ 606 NONAME
-	_ZN19eap_am_crypto_md4_cC2EP18abs_eap_am_tools_c @ 607 NONAME
-	_ZN19eap_am_crypto_md4_cD0Ev @ 608 NONAME
-	_ZN19eap_am_crypto_md4_cD1Ev @ 609 NONAME
-	_ZN19eap_am_crypto_md4_cD2Ev @ 610 NONAME
-	_ZN19eap_am_crypto_rc4_c12decrypt_dataEPKvPvm @ 611 NONAME
-	_ZN19eap_am_crypto_rc4_c12encrypt_dataEPKvPvm @ 612 NONAME
-	_ZN19eap_am_crypto_rc4_c12get_is_validEv @ 613 NONAME
-	_ZN19eap_am_crypto_rc4_c12set_is_validEv @ 614 NONAME
-	_ZN19eap_am_crypto_rc4_c14set_is_invalidEv @ 615 NONAME
-	_ZN19eap_am_crypto_rc4_c4swapEPhS0_ @ 616 NONAME
-	_ZN19eap_am_crypto_rc4_c7cleanupEv @ 617 NONAME
-	_ZN19eap_am_crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 618 NONAME
-	_ZN19eap_am_crypto_rc4_cC1EP18abs_eap_am_tools_c @ 619 NONAME
-	_ZN19eap_am_crypto_rc4_cC2EP18abs_eap_am_tools_c @ 620 NONAME
-	_ZN19eap_am_crypto_rc4_cD0Ev @ 621 NONAME
-	_ZN19eap_am_crypto_rc4_cD1Ev @ 622 NONAME
-	_ZN19eap_am_crypto_rc4_cD2Ev @ 623 NONAME
-	_ZN19eap_am_mutex_base_cC1EPKS_ @ 624 NONAME
-	_ZN19eap_am_mutex_base_cC1Ev @ 625 NONAME
-	_ZN19eap_am_mutex_base_cC2EPKS_ @ 626 NONAME
-	_ZN19eap_am_mutex_base_cC2Ev @ 627 NONAME
-	_ZN19eap_am_mutex_base_cD0Ev @ 628 NONAME
-	_ZN19eap_am_mutex_base_cD1Ev @ 629 NONAME
-	_ZN19eap_am_mutex_base_cD2Ev @ 630 NONAME
-	_ZN19eap_am_network_id_c12set_is_validEv @ 631 NONAME
-	_ZN19eap_am_network_id_c22set_copy_of_network_idEPKS_ @ 632 NONAME
-	_ZN19eap_am_network_id_c25set_copy_of_am_network_idEPKvmS1_mt @ 633 NONAME
-	_ZN19eap_am_network_id_c5resetEv @ 634 NONAME
-	_ZN19eap_am_network_id_c8set_typeEt @ 635 NONAME
-	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_c @ 636 NONAME
-	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 637 NONAME
-	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKS_ @ 638 NONAME
-	_ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKvmS3_mtbb @ 639 NONAME
-	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_c @ 640 NONAME
-	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 641 NONAME
-	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKS_ @ 642 NONAME
-	_ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKvmS3_mtbb @ 643 NONAME
-	_ZN19eap_am_network_id_cD0Ev @ 644 NONAME
-	_ZN19eap_am_network_id_cD1Ev @ 645 NONAME
-	_ZN19eap_am_network_id_cD2Ev @ 646 NONAME
-	_ZN19eap_core_nak_info_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 647 NONAME
-	_ZN19eap_core_nak_info_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 648 NONAME
-	_ZN19eap_core_nak_info_cD0Ev @ 649 NONAME
-	_ZN19eap_core_nak_info_cD1Ev @ 650 NONAME
-	_ZN19eap_core_nak_info_cD2Ev @ 651 NONAME
-	_ZN19eap_expanded_type_c10write_typeEP18abs_eap_am_tools_cmPvmbS_ @ 652 NONAME
-	_ZN19eap_expanded_type_c12is_ietf_typeES_ @ 653 NONAME
-	_ZN19eap_expanded_type_c16is_expanded_typeE22eap_type_ietf_values_e @ 654 NONAME
-	_ZN19eap_expanded_type_c19set_eap_type_valuesE20eap_type_vendor_id_em @ 655 NONAME
-	_ZN19eap_expanded_type_c22set_expanded_type_dataEP18abs_eap_am_tools_cPK19eap_variable_data_c @ 656 NONAME
-	_ZN19eap_expanded_type_c22set_expanded_type_dataEP18abs_eap_am_tools_cPKvm @ 657 NONAME
-	_ZN19eap_expanded_type_c26get_eap_expanded_type_sizeEv @ 658 NONAME
-	_ZN19eap_expanded_type_c9read_typeEP18abs_eap_am_tools_cmPKvmPS_ @ 659 NONAME
-	_ZN19eap_expanded_type_cC1E20eap_type_vendor_id_em @ 660 NONAME
-	_ZN19eap_expanded_type_cC1E22eap_type_ietf_values_e @ 661 NONAME
-	_ZN19eap_expanded_type_cC1Ev @ 662 NONAME
-	_ZN19eap_expanded_type_cC2E20eap_type_vendor_id_em @ 663 NONAME
-	_ZN19eap_expanded_type_cC2E22eap_type_ietf_values_e @ 664 NONAME
-	_ZN19eap_expanded_type_cC2Ev @ 665 NONAME
-	_ZN19eap_expanded_type_cD1Ev @ 666 NONAME
-	_ZN19eap_expanded_type_cD2Ev @ 667 NONAME
-	_ZN19eap_expanded_type_caSE22eap_type_ietf_values_e @ 668 NONAME
-	_ZN19eap_expanded_type_caSERKS_ @ 669 NONAME
-	_ZN19eap_expanded_type_cadEv @ 670 NONAME
-	_ZN19eap_header_string_c19get_eap_code_stringE16eap_code_value_e @ 671 NONAME
-	_ZN19eap_header_string_c19get_eap_type_stringE19eap_expanded_type_c @ 672 NONAME
-	_ZN19eap_header_string_cC1Ev @ 673 NONAME
-	_ZN19eap_header_string_cC2Ev @ 674 NONAME
-	_ZN19eap_header_string_cD0Ev @ 675 NONAME
-	_ZN19eap_header_string_cD1Ev @ 676 NONAME
-	_ZN19eap_header_string_cD2Ev @ 677 NONAME
-	_ZN19eap_status_string_c17get_status_stringE12eap_status_e @ 678 NONAME
-	_ZN19eap_status_string_cC1Ev @ 679 NONAME
-	_ZN19eap_status_string_cC2Ev @ 680 NONAME
-	_ZN19eap_status_string_cD0Ev @ 681 NONAME
-	_ZN19eap_status_string_cD1Ev @ 682 NONAME
-	_ZN19eap_status_string_cD2Ev @ 683 NONAME
-	_ZN19eap_variable_data_c10set_bufferEPKS_ @ 684 NONAME
-	_ZN19eap_variable_data_c10set_bufferEPKvmbb @ 685 NONAME
-	_ZN19eap_variable_data_c10set_bufferEPvmbb @ 686 NONAME
-	_ZN19eap_variable_data_c12add_end_nullEv @ 687 NONAME
-	_ZN19eap_variable_data_c12set_is_validEv @ 688 NONAME
-	_ZN19eap_variable_data_c14set_is_invalidEv @ 689 NONAME
-	_ZN19eap_variable_data_c15allocate_bufferEm @ 690 NONAME
-	_ZN19eap_variable_data_c15set_data_lengthEm @ 691 NONAME
-	_ZN19eap_variable_data_c16set_start_offsetEm @ 692 NONAME
-	_ZN19eap_variable_data_c17set_buffer_lengthEm @ 693 NONAME
-	_ZN19eap_variable_data_c18add_data_to_offsetEmPKS_ @ 694 NONAME
-	_ZN19eap_variable_data_c18add_data_to_offsetEmPKvm @ 695 NONAME
-	_ZN19eap_variable_data_c18initialize_membersEv @ 696 NONAME
-	_ZN19eap_variable_data_c18set_copy_of_bufferEPKS_ @ 697 NONAME
-	_ZN19eap_variable_data_c18set_copy_of_bufferEPKvm @ 698 NONAME
-	_ZN19eap_variable_data_c34reset_start_offset_and_data_lengthEv @ 699 NONAME
-	_ZN19eap_variable_data_c4initEm @ 700 NONAME
-	_ZN19eap_variable_data_c5resetEv @ 701 NONAME
-	_ZN19eap_variable_data_c8add_dataEPKS_ @ 702 NONAME
-	_ZN19eap_variable_data_c8add_dataEPKvm @ 703 NONAME
-	_ZN19eap_variable_data_cC1EP18abs_eap_am_tools_c @ 704 NONAME
-	_ZN19eap_variable_data_cC1EP18abs_eap_am_tools_cPKvmbb @ 705 NONAME
-	_ZN19eap_variable_data_cC2EP18abs_eap_am_tools_c @ 706 NONAME
-	_ZN19eap_variable_data_cC2EP18abs_eap_am_tools_cPKvmbb @ 707 NONAME
-	_ZN19eap_variable_data_cD0Ev @ 708 NONAME
-	_ZN19eap_variable_data_cD1Ev @ 709 NONAME
-	_ZN19eap_variable_data_cD2Ev @ 710 NONAME
-	_ZN19eapol_header_base_c11set_versionE24eapol_protocol_version_e @ 711 NONAME
-	_ZN19eapol_header_base_c15set_data_lengthEt @ 712 NONAME
-	_ZN19eapol_header_base_c15set_packet_typeE19eapol_packet_type_e @ 713 NONAME
-	_ZN19eapol_header_base_c17get_header_lengthEv @ 714 NONAME
-	_ZN19eapol_header_base_cC1EP18abs_eap_am_tools_cPvm @ 715 NONAME
-	_ZN19eapol_header_base_cC2EP18abs_eap_am_tools_cPvm @ 716 NONAME
-	_ZN19eapol_header_base_cD0Ev @ 717 NONAME
-	_ZN19eapol_header_base_cD1Ev @ 718 NONAME
-	_ZN19eapol_header_base_cD2Ev @ 719 NONAME
-	_ZN19eapol_session_key_c12set_key_typeE16eapol_key_type_e @ 720 NONAME
-	_ZN19eapol_session_key_c13set_key_indexEm @ 721 NONAME
-	_ZN19eapol_session_key_c14set_key_tx_bitEb @ 722 NONAME
-	_ZN19eapol_session_key_c19set_sequence_numberEP19eap_variable_data_c @ 723 NONAME
-	_ZN19eapol_session_key_c25get_eapol_key_type_stringE16eapol_key_type_e @ 724 NONAME
-	_ZN19eapol_session_key_c7set_keyEPK19eap_variable_data_c @ 725 NONAME
-	_ZN19eapol_session_key_cC1EP18abs_eap_am_tools_c @ 726 NONAME
-	_ZN19eapol_session_key_cC1EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 727 NONAME
-	_ZN19eapol_session_key_cC2EP18abs_eap_am_tools_c @ 728 NONAME
-	_ZN19eapol_session_key_cC2EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 729 NONAME
-	_ZN19eapol_session_key_cD0Ev @ 730 NONAME
-	_ZN19eapol_session_key_cD1Ev @ 731 NONAME
-	_ZN19eapol_session_key_cD2Ev @ 732 NONAME
-	_ZN20crypto_tls_md5_prf_c12get_is_validEv @ 733 NONAME
-	_ZN20crypto_tls_md5_prf_c12set_is_validEv @ 734 NONAME
-	_ZN20crypto_tls_md5_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 735 NONAME
-	_ZN20crypto_tls_md5_prf_c14set_is_invalidEv @ 736 NONAME
-	_ZN20crypto_tls_md5_prf_c14tls_prf_outputEPvm @ 737 NONAME
-	_ZN20crypto_tls_md5_prf_c15tls_prf_cleanupEv @ 738 NONAME
-	_ZN20crypto_tls_md5_prf_cC1EP18abs_eap_am_tools_c @ 739 NONAME
-	_ZN20crypto_tls_md5_prf_cC2EP18abs_eap_am_tools_c @ 740 NONAME
-	_ZN20crypto_tls_md5_prf_cD0Ev @ 741 NONAME
-	_ZN20crypto_tls_md5_prf_cD1Ev @ 742 NONAME
-	_ZN20crypto_tls_md5_prf_cD2Ev @ 743 NONAME
-	_ZN20eap_am_crypto_sha1_c10hash_finalEPvPm @ 744 NONAME
-	_ZN20eap_am_crypto_sha1_c11hash_updateEPKvm @ 745 NONAME
-	_ZN20eap_am_crypto_sha1_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 746 NONAME
-	_ZN20eap_am_crypto_sha1_c12get_is_validEv @ 747 NONAME
-	_ZN20eap_am_crypto_sha1_c12hash_cleanupEv @ 748 NONAME
-	_ZN20eap_am_crypto_sha1_c12set_is_validEv @ 749 NONAME
-	_ZN20eap_am_crypto_sha1_c14get_block_sizeEv @ 750 NONAME
-	_ZN20eap_am_crypto_sha1_c14set_is_invalidEv @ 751 NONAME
-	_ZN20eap_am_crypto_sha1_c17get_digest_lengthEv @ 752 NONAME
-	_ZN20eap_am_crypto_sha1_c19copy_message_digestEPvPm @ 753 NONAME
-	_ZN20eap_am_crypto_sha1_c23eap_sha1_dss_G_functionEPKvmPvPm @ 754 NONAME
-	_ZN20eap_am_crypto_sha1_c32eap_sha1_process_data_host_orderEPKmm @ 755 NONAME
-	_ZN20eap_am_crypto_sha1_c35eap_sha1_process_data_network_orderEPKmm @ 756 NONAME
-	_ZN20eap_am_crypto_sha1_c4copyEv @ 757 NONAME
-	_ZN20eap_am_crypto_sha1_c9hash_initEv @ 758 NONAME
-	_ZN20eap_am_crypto_sha1_cC1EP18abs_eap_am_tools_c @ 759 NONAME
-	_ZN20eap_am_crypto_sha1_cC2EP18abs_eap_am_tools_c @ 760 NONAME
-	_ZN20eap_am_crypto_sha1_cD0Ev @ 761 NONAME
-	_ZN20eap_am_crypto_sha1_cD1Ev @ 762 NONAME
-	_ZN20eap_am_crypto_sha1_cD2Ev @ 763 NONAME
-	_ZN20eap_buf_chain_base_c10initializeEm @ 764 NONAME
-	_ZN20eap_buf_chain_base_c11set_encryptEb @ 765 NONAME
-	_ZN20eap_buf_chain_base_c12get_am_toolsEv @ 766 NONAME
-	_ZN20eap_buf_chain_base_c13set_is_clientEb @ 767 NONAME
-	_ZN20eap_buf_chain_base_c15set_data_lengthEm @ 768 NONAME
-	_ZN20eap_buf_chain_base_c17reset_data_bufferEv @ 769 NONAME
-	_ZN20eap_buf_chain_base_c17set_buffer_lengthEm @ 770 NONAME
-	_ZN20eap_buf_chain_base_c17set_stack_addressEPKv @ 771 NONAME
-	_ZN20eap_buf_chain_base_c18add_data_to_offsetEmPK19eap_variable_data_c @ 772 NONAME
-	_ZN20eap_buf_chain_base_c18add_data_to_offsetEmPKvm @ 773 NONAME
-	_ZN20eap_buf_chain_base_c18get_is_manipulatedEv @ 774 NONAME
-	_ZN20eap_buf_chain_base_c18set_is_manipulatedEv @ 775 NONAME
-	_ZN20eap_buf_chain_base_c19set_mem_guard_bytesEv @ 776 NONAME
-	_ZN20eap_buf_chain_base_c20get_mem_guard_lengthEv @ 777 NONAME
-	_ZN20eap_buf_chain_base_c20set_do_length_checksEb @ 778 NONAME
-	_ZN20eap_buf_chain_base_c21get_random_error_typeEv @ 779 NONAME
-	_ZN20eap_buf_chain_base_c21get_send_packet_indexEv @ 780 NONAME
-	_ZN20eap_buf_chain_base_c21set_random_error_typeE21eap_random_error_type @ 781 NONAME
-	_ZN20eap_buf_chain_base_c21set_send_packet_indexEm @ 782 NONAME
-	_ZN20eap_buf_chain_base_c28get_do_packet_retransmissionEv @ 783 NONAME
-	_ZN20eap_buf_chain_base_c28set_do_packet_retransmissionEb @ 784 NONAME
-	_ZN20eap_buf_chain_base_c8add_dataEPK19eap_variable_data_c @ 785 NONAME
-	_ZN20eap_buf_chain_base_c8add_dataEPKvm @ 786 NONAME
-	_ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 787 NONAME
-	_ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 788 NONAME
-	_ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 789 NONAME
-	_ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 790 NONAME
-	_ZN20eap_buf_chain_base_cD0Ev @ 791 NONAME
-	_ZN20eap_buf_chain_base_cD1Ev @ 792 NONAME
-	_ZN20eap_buf_chain_base_cD2Ev @ 793 NONAME
-	_ZN20eap_rogue_ap_entry_c15set_mac_addressEPKh @ 794 NONAME
-	_ZN20eap_rogue_ap_entry_c16set_rogue_reasonE21eap_rogue_ap_reason_e @ 795 NONAME
-	_ZN20eap_rogue_ap_entry_cC1EP18abs_eap_am_tools_c @ 796 NONAME
-	_ZN20eap_rogue_ap_entry_cC2EP18abs_eap_am_tools_c @ 797 NONAME
-	_ZN20eap_rogue_ap_entry_cD0Ev @ 798 NONAME
-	_ZN20eap_rogue_ap_entry_cD1Ev @ 799 NONAME
-	_ZN20eap_rogue_ap_entry_cD2Ev @ 800 NONAME
-	_ZN20eap_type_selection_cC1EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 801 NONAME
-	_ZN20eap_type_selection_cC2EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 802 NONAME
-	_ZN20eap_type_selection_cD0Ev @ 803 NONAME
-	_ZN20eap_type_selection_cD1Ev @ 804 NONAME
-	_ZN20eap_type_selection_cD2Ev @ 805 NONAME
-	_ZN21crypto_tls_base_prf_c12get_is_validEv @ 806 NONAME
-	_ZN21crypto_tls_base_prf_c12set_is_validEv @ 807 NONAME
-	_ZN21crypto_tls_base_prf_c14set_is_invalidEv @ 808 NONAME
-	_ZN21crypto_tls_base_prf_c15tls_prf_A_valueEP27abs_crypto_hmac_algorithm_cP19eap_variable_data_cS3_S3_ @ 809 NONAME
-	_ZN21crypto_tls_base_prf_c15tls_prf_cleanupEv @ 810 NONAME
-	_ZN21crypto_tls_base_prf_c17tls_prf_one_roundEP27abs_crypto_hmac_algorithm_cPK19eap_variable_data_cPS2_S5_Pvm @ 811 NONAME
-	_ZN21crypto_tls_base_prf_cC1EP18abs_eap_am_tools_c @ 812 NONAME
-	_ZN21crypto_tls_base_prf_cC2EP18abs_eap_am_tools_c @ 813 NONAME
-	_ZN21crypto_tls_base_prf_cD0Ev @ 814 NONAME
-	_ZN21crypto_tls_base_prf_cD1Ev @ 815 NONAME
-	_ZN21crypto_tls_base_prf_cD2Ev @ 816 NONAME
-	_ZN21crypto_tls_sha1_prf_c12get_is_validEv @ 817 NONAME
-	_ZN21crypto_tls_sha1_prf_c12set_is_validEv @ 818 NONAME
-	_ZN21crypto_tls_sha1_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 819 NONAME
-	_ZN21crypto_tls_sha1_prf_c14set_is_invalidEv @ 820 NONAME
-	_ZN21crypto_tls_sha1_prf_c14tls_prf_outputEPvm @ 821 NONAME
-	_ZN21crypto_tls_sha1_prf_c15tls_prf_cleanupEv @ 822 NONAME
-	_ZN21crypto_tls_sha1_prf_cC1EP18abs_eap_am_tools_c @ 823 NONAME
-	_ZN21crypto_tls_sha1_prf_cC2EP18abs_eap_am_tools_c @ 824 NONAME
-	_ZN21crypto_tls_sha1_prf_cD0Ev @ 825 NONAME
-	_ZN21crypto_tls_sha1_prf_cD1Ev @ 826 NONAME
-	_ZN21crypto_tls_sha1_prf_cD2Ev @ 827 NONAME
-	_ZN21eap_am_memory_store_c11remove_dataEPK19eap_variable_data_c @ 828 NONAME
-	_ZN21eap_am_memory_store_c12get_is_validEv @ 829 NONAME
-	_ZN21eap_am_memory_store_c12set_is_validEv @ 830 NONAME
-	_ZN21eap_am_memory_store_c13timer_expiredEmPv @ 831 NONAME
-	_ZN21eap_am_memory_store_c17timer_delete_dataEmPv @ 832 NONAME
-	_ZN21eap_am_memory_store_c8add_dataEPK19eap_variable_data_cPK22eap_tlv_message_data_cm @ 833 NONAME
-	_ZN21eap_am_memory_store_c8get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 834 NONAME
-	_ZN21eap_am_memory_store_c8shutdownEv @ 835 NONAME
-	_ZN21eap_am_memory_store_cC1EP18abs_eap_am_tools_c @ 836 NONAME
-	_ZN21eap_am_memory_store_cC2EP18abs_eap_am_tools_c @ 837 NONAME
-	_ZN21eap_am_memory_store_cD0Ev @ 838 NONAME
-	_ZN21eap_am_memory_store_cD1Ev @ 839 NONAME
-	_ZN21eap_am_memory_store_cD2Ev @ 840 NONAME
-	_ZN22eap_am_mutex_symbian_c11mutex_enterEv @ 841 NONAME
-	_ZN22eap_am_mutex_symbian_c11mutex_leaveEP18abs_eap_am_tools_c @ 842 NONAME
-	_ZN22eap_am_mutex_symbian_c15dublicate_mutexEv @ 843 NONAME
-	_ZN22eap_am_mutex_symbian_cC1EPKS_ @ 844 NONAME
-	_ZN22eap_am_mutex_symbian_cC1Ev @ 845 NONAME
-	_ZN22eap_am_mutex_symbian_cC2EPKS_ @ 846 NONAME
-	_ZN22eap_am_mutex_symbian_cC2Ev @ 847 NONAME
-	_ZN22eap_am_mutex_symbian_cD0Ev @ 848 NONAME
-	_ZN22eap_am_mutex_symbian_cD1Ev @ 849 NONAME
-	_ZN22eap_am_mutex_symbian_cD2Ev @ 850 NONAME
-	_ZN22eap_am_tools_symbian_c10get_cryptoEv @ 851 NONAME
-	_ZN22eap_am_tools_symbian_c11pulse_timerEm @ 852 NONAME
-	_ZN22eap_am_tools_symbian_c11timer_sleepEm @ 853 NONAME
-	_ZN22eap_am_tools_symbian_c12am_set_timerEP20abs_eap_base_timer_cmPvm @ 854 NONAME
-	_ZN22eap_am_tools_symbian_c13config_strlenEPKc @ 855 NONAME
-	_ZN22eap_am_tools_symbian_c15am_cancel_timerEP20abs_eap_base_timer_cm @ 856 NONAME
-	_ZN22eap_am_tools_symbian_c15begin_db_deleteER7RDbView @ 857 NONAME
-	_ZN22eap_am_tools_symbian_c15begin_db_updateER7RDbView @ 858 NONAME
-	_ZN22eap_am_tools_symbian_c15enter_crypto_csEv @ 859 NONAME
-	_ZN22eap_am_tools_symbian_c15formatted_printEPKcz @ 860 NONAME
-	_ZN22eap_am_tools_symbian_c15get_clock_ticksEv @ 861 NONAME
-	_ZN22eap_am_tools_symbian_c15get_trace_mutexEv @ 862 NONAME
-	_ZN22eap_am_tools_symbian_c15leave_crypto_csEv @ 863 NONAME
-	_ZN22eap_am_tools_symbian_c16get_global_mutexEv @ 864 NONAME
-	_ZN22eap_am_tools_symbian_c16set_trace_prefixEPK19eap_variable_data_c @ 865 NONAME
-	_ZN22eap_am_tools_symbian_c17enter_trace_mutexEv @ 866 NONAME
-	_ZN22eap_am_tools_symbian_c17get_gmt_unix_timeEv @ 867 NONAME
-	_ZN22eap_am_tools_symbian_c17leave_trace_mutexEv @ 868 NONAME
-	_ZN22eap_am_tools_symbian_c18enter_global_mutexEv @ 869 NONAME
-	_ZN22eap_am_tools_symbian_c18get_hardware_ticksEv @ 870 NONAME
-	_ZN22eap_am_tools_symbian_c18leave_global_mutexEv @ 871 NONAME
-	_ZN22eap_am_tools_symbian_c19set_trace_file_nameEPK19eap_variable_data_c @ 872 NONAME
-	_ZN22eap_am_tools_symbian_c19u64_struct_to_u64_tE10u64_struct @ 873 NONAME
-	_ZN22eap_am_tools_symbian_c19u64_t_to_u64_structEy @ 874 NONAME
-	_ZN22eap_am_tools_symbian_c20am_cancel_all_timersEv @ 875 NONAME
-	_ZN22eap_am_tools_symbian_c20begin_db_transactionER16RDbNamedDatabase @ 876 NONAME
-	_ZN22eap_am_tools_symbian_c23convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 877 NONAME
-	_ZN22eap_am_tools_symbian_c23convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 878 NONAME
-	_ZN22eap_am_tools_symbian_c23get_timer_resolution_msEv @ 879 NONAME
-	_ZN22eap_am_tools_symbian_c23re_activate_timer_queueEv @ 880 NONAME
-	_ZN22eap_am_tools_symbian_c23set_max_trace_file_sizeEm @ 881 NONAME
-	_ZN22eap_am_tools_symbian_c23set_timer_resolution_msEm @ 882 NONAME
-	_ZN22eap_am_tools_symbian_c24get_timer_queue_is_emptyEv @ 883 NONAME
-	_ZN22eap_am_tools_symbian_c25get_clock_ticks_of_secondEv @ 884 NONAME
-	_ZN22eap_am_tools_symbian_c26get_is_timer_thread_activeEv @ 885 NONAME
-	_ZN22eap_am_tools_symbian_c28get_hardware_ticks_of_secondEv @ 886 NONAME
-	_ZN22eap_am_tools_symbian_c30get_use_eap_milli_second_timerEv @ 887 NONAME
-	_ZN22eap_am_tools_symbian_c30set_use_eap_milli_second_timerEb @ 888 NONAME
-	_ZN22eap_am_tools_symbian_c31convert_am_error_to_eapol_errorEl @ 889 NONAME
-	_ZN22eap_am_tools_symbian_c31convert_eapol_error_to_am_errorE12eap_status_e @ 890 NONAME
-	_ZN22eap_am_tools_symbian_c5sleepEm @ 891 NONAME
-	_ZN22eap_am_tools_symbian_c6getenvEPK19eap_variable_data_cPS0_ @ 892 NONAME
-	_ZN22eap_am_tools_symbian_c6memchrEPKvhm @ 893 NONAME
-	_ZN22eap_am_tools_symbian_c6memcmpEPKvS1_m @ 894 NONAME
-	_ZN22eap_am_tools_symbian_c6memsetEPvlm @ 895 NONAME
-	_ZN22eap_am_tools_symbian_c6sprintER6TDes16PKcz @ 896 NONAME
-	_ZN22eap_am_tools_symbian_c6strlenEPKc @ 897 NONAME
-	_ZN22eap_am_tools_symbian_c7isspaceEh @ 898 NONAME
-	_ZN22eap_am_tools_symbian_c7memmoveEPvPKvm @ 899 NONAME
-	_ZN22eap_am_tools_symbian_c7memrchrEPKvhm @ 900 NONAME
-	_ZN22eap_am_tools_symbian_c8shutdownEv @ 901 NONAME
-	_ZN22eap_am_tools_symbian_c8snprintfEPhmPKcz @ 902 NONAME
-	_ZN22eap_am_tools_symbian_c9configureEv @ 903 NONAME
-	_ZN22eap_am_tools_symbian_cC1EPKc @ 904 NONAME
-	_ZN22eap_am_tools_symbian_cC2EPKc @ 905 NONAME
-	_ZN22eap_am_tools_symbian_cD0Ev @ 906 NONAME
-	_ZN22eap_am_tools_symbian_cD1Ev @ 907 NONAME
-	_ZN22eap_am_tools_symbian_cD2Ev @ 908 NONAME
-	_ZN22eap_tlv_message_data_c12get_is_validEv @ 909 NONAME
-	_ZN22eap_tlv_message_data_c16add_message_dataEmmPKv @ 910 NONAME
-	_ZN22eap_tlv_message_data_c16set_message_dataEmPKv @ 911 NONAME
-	_ZN22eap_tlv_message_data_c17copy_message_dataEmPKv @ 912 NONAME
-	_ZN22eap_tlv_message_data_c18add_message_headerEmm @ 913 NONAME
-	_ZN22eap_tlv_message_data_c18parse_message_dataEP11eap_array_cI16eap_tlv_header_cE @ 914 NONAME
-	_ZN22eap_tlv_message_data_c22add_message_data_arrayEmmP11eap_array_cI19eap_variable_data_cE @ 915 NONAME
-	_ZN22eap_tlv_message_data_c23allocate_message_bufferEmmPPv @ 916 NONAME
-	_ZN22eap_tlv_message_data_c28allocate_message_data_bufferEm @ 917 NONAME
-	_ZN22eap_tlv_message_data_c31object_decrease_reference_countEv @ 918 NONAME
-	_ZN22eap_tlv_message_data_c31object_increase_reference_countEv @ 919 NONAME
-	_ZN22eap_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 920 NONAME
-	_ZN22eap_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 921 NONAME
-	_ZN22eap_tlv_message_data_cD0Ev @ 922 NONAME
-	_ZN22eap_tlv_message_data_cD1Ev @ 923 NONAME
-	_ZN22eap_tlv_message_data_cD2Ev @ 924 NONAME
-	_ZN23crypto_kd_hmac_sha256_c10expand_keyEP19eap_variable_data_cmPKS0_S3_ @ 925 NONAME
-	_ZN23crypto_kd_hmac_sha256_c12get_is_validEv @ 926 NONAME
-	_ZN23crypto_kd_hmac_sha256_cC1EP18abs_eap_am_tools_c @ 927 NONAME
-	_ZN23crypto_kd_hmac_sha256_cC2EP18abs_eap_am_tools_c @ 928 NONAME
-	_ZN23crypto_kd_hmac_sha256_cD0Ev @ 929 NONAME
-	_ZN23crypto_kd_hmac_sha256_cD1Ev @ 930 NONAME
-	_ZN23crypto_kd_hmac_sha256_cD2Ev @ 931 NONAME
-	_ZN23eap_am_crypto_sha_256_c10hash_finalEPvPm @ 932 NONAME
-	_ZN23eap_am_crypto_sha_256_c11hash_updateEPKvm @ 933 NONAME
-	_ZN23eap_am_crypto_sha_256_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 934 NONAME
-	_ZN23eap_am_crypto_sha_256_c12get_is_validEv @ 935 NONAME
-	_ZN23eap_am_crypto_sha_256_c12hash_cleanupEv @ 936 NONAME
-	_ZN23eap_am_crypto_sha_256_c12set_is_validEv @ 937 NONAME
-	_ZN23eap_am_crypto_sha_256_c14get_block_sizeEv @ 938 NONAME
-	_ZN23eap_am_crypto_sha_256_c14set_is_invalidEv @ 939 NONAME
-	_ZN23eap_am_crypto_sha_256_c17get_digest_lengthEv @ 940 NONAME
-	_ZN23eap_am_crypto_sha_256_c19copy_message_digestEPvPm @ 941 NONAME
-	_ZN23eap_am_crypto_sha_256_c35eap_sha_256_process_data_host_orderEPKmm @ 942 NONAME
-	_ZN23eap_am_crypto_sha_256_c38eap_sha_256_process_data_network_orderEPKmm @ 943 NONAME
-	_ZN23eap_am_crypto_sha_256_c4copyEv @ 944 NONAME
-	_ZN23eap_am_crypto_sha_256_c9hash_initEv @ 945 NONAME
-	_ZN23eap_am_crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 946 NONAME
-	_ZN23eap_am_crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 947 NONAME
-	_ZN23eap_am_crypto_sha_256_cD0Ev @ 948 NONAME
-	_ZN23eap_am_crypto_sha_256_cD1Ev @ 949 NONAME
-	_ZN23eap_am_crypto_sha_256_cD2Ev @ 950 NONAME
-	_ZN23eap_am_crypto_symbian_c10dh_cleanupEPK19eap_variable_data_c @ 951 NONAME
-	_ZN23eap_am_crypto_symbian_c10dsa_verifyEP19eap_variable_data_cPKS0_S3_S3_S3_S3_S3_ @ 952 NONAME
-	_ZN23eap_am_crypto_symbian_c10md4_updateEP19eap_variable_data_cPKhm @ 953 NONAME
-	_ZN23eap_am_crypto_symbian_c10md5_updateEP19eap_variable_data_cPKhm @ 954 NONAME
-	_ZN23eap_am_crypto_symbian_c10rsa_verifyEP19eap_variable_data_cPKS0_S3_S3_ @ 955 NONAME
-	_ZN23eap_am_crypto_symbian_c10sha1_finalEP19eap_variable_data_cPhPm @ 956 NONAME
-	_ZN23eap_am_crypto_symbian_c11aes_cleanupEP19eap_variable_data_c @ 957 NONAME
-	_ZN23eap_am_crypto_symbian_c11dsa_cleanupEP19eap_variable_data_c @ 958 NONAME
-	_ZN23eap_am_crypto_symbian_c11md4_cleanupEP19eap_variable_data_c @ 959 NONAME
-	_ZN23eap_am_crypto_symbian_c11md5_cleanupEP19eap_variable_data_c @ 960 NONAME
-	_ZN23eap_am_crypto_symbian_c11rc4_cleanupEP19eap_variable_data_c @ 961 NONAME
-	_ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPKvPvm @ 962 NONAME
-	_ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPvm @ 963 NONAME
-	_ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPKvPvm @ 964 NONAME
-	_ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPvm @ 965 NONAME
-	_ZN23eap_am_crypto_symbian_c11rc4_set_keyEP19eap_variable_data_cPKS0_ @ 966 NONAME
-	_ZN23eap_am_crypto_symbian_c11rsa_cleanupEP19eap_variable_data_c @ 967 NONAME
-	_ZN23eap_am_crypto_symbian_c11sha1_updateEP19eap_variable_data_cPKhm @ 968 NONAME
-	_ZN23eap_am_crypto_symbian_c12set_is_validEv @ 969 NONAME
-	_ZN23eap_am_crypto_symbian_c12sha1_cleanupEP19eap_variable_data_c @ 970 NONAME
-	_ZN23eap_am_crypto_symbian_c12sha_256_initEP19eap_variable_data_c @ 971 NONAME
-	_ZN23eap_am_crypto_symbian_c13add_rand_seedEPKhm @ 972 NONAME
-	_ZN23eap_am_crypto_symbian_c13sha_256_finalEP19eap_variable_data_cPhPm @ 973 NONAME
-	_ZN23eap_am_crypto_symbian_c14aes_block_sizeEv @ 974 NONAME
-	_ZN23eap_am_crypto_symbian_c14aes_key_lengthEv @ 975 NONAME
-	_ZN23eap_am_crypto_symbian_c14get_rand_bytesEPhm @ 976 NONAME
-	_ZN23eap_am_crypto_symbian_c14sha_256_updateEP19eap_variable_data_cPKhm @ 977 NONAME
-	_ZN23eap_am_crypto_symbian_c15sha_256_cleanupEP19eap_variable_data_c @ 978 NONAME
-	_ZN23eap_am_crypto_symbian_c15use_test_randomEPKhmb @ 979 NONAME
-	_ZN23eap_am_crypto_symbian_c16cleanup_3des_edeEP19eap_variable_data_c @ 980 NONAME
-	_ZN23eap_am_crypto_symbian_c16md4_copy_contextEP19eap_variable_data_cPKS0_ @ 981 NONAME
-	_ZN23eap_am_crypto_symbian_c16md5_copy_contextEP19eap_variable_data_cPKS0_ @ 982 NONAME
-	_ZN23eap_am_crypto_symbian_c17aes_decrypt_blockEP19eap_variable_data_cPKhPhm @ 983 NONAME
-	_ZN23eap_am_crypto_symbian_c17aes_encrypt_blockEP19eap_variable_data_cPKhPhm @ 984 NONAME
-	_ZN23eap_am_crypto_symbian_c17dss_pseudo_randomEPhmS0_m @ 985 NONAME
-	_ZN23eap_am_crypto_symbian_c17sha1_copy_contextEP19eap_variable_data_cPKS0_ @ 986 NONAME
-	_ZN23eap_am_crypto_symbian_c18get_md4_block_sizeEP19eap_variable_data_c @ 987 NONAME
-	_ZN23eap_am_crypto_symbian_c18get_md5_block_sizeEP19eap_variable_data_c @ 988 NONAME
-	_ZN23eap_am_crypto_symbian_c19block_size_3des_edeEv @ 989 NONAME
-	_ZN23eap_am_crypto_symbian_c19get_sha1_block_sizeEP19eap_variable_data_c @ 990 NONAME
-	_ZN23eap_am_crypto_symbian_c19key_length_3des_edeEv @ 991 NONAME
-	_ZN23eap_am_crypto_symbian_c20sha_256_copy_contextEP19eap_variable_data_cPKS0_ @ 992 NONAME
-	_ZN23eap_am_crypto_symbian_c21get_md4_digest_lengthEP19eap_variable_data_c @ 993 NONAME
-	_ZN23eap_am_crypto_symbian_c21get_md5_digest_lengthEP19eap_variable_data_c @ 994 NONAME
-	_ZN23eap_am_crypto_symbian_c22add_rand_seed_hw_ticksEv @ 995 NONAME
-	_ZN23eap_am_crypto_symbian_c22aes_set_decryption_keyEP19eap_variable_data_cPKhm @ 996 NONAME
-	_ZN23eap_am_crypto_symbian_c22aes_set_encryption_keyEP19eap_variable_data_cPKhm @ 997 NONAME
-	_ZN23eap_am_crypto_symbian_c22decrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 998 NONAME
-	_ZN23eap_am_crypto_symbian_c22encrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 999 NONAME
-	_ZN23eap_am_crypto_symbian_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKhmS5_m @ 1000 NONAME
-	_ZN23eap_am_crypto_symbian_c22get_sha1_digest_lengthEP19eap_variable_data_c @ 1001 NONAME
-	_ZN23eap_am_crypto_symbian_c22get_sha_256_block_sizeEP19eap_variable_data_c @ 1002 NONAME
-	_ZN23eap_am_crypto_symbian_c24open_crypto_memory_leaksEv @ 1003 NONAME
-	_ZN23eap_am_crypto_symbian_c25close_crypto_memory_leaksEv @ 1004 NONAME
-	_ZN23eap_am_crypto_symbian_c25get_sha_256_digest_lengthEP19eap_variable_data_c @ 1005 NONAME
-	_ZN23eap_am_crypto_symbian_c27rsa_decrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1006 NONAME
-	_ZN23eap_am_crypto_symbian_c27rsa_encrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1007 NONAME
-	_ZN23eap_am_crypto_symbian_c27set_decryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1008 NONAME
-	_ZN23eap_am_crypto_symbian_c27set_encryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1009 NONAME
-	_ZN23eap_am_crypto_symbian_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKhmS3_m @ 1010 NONAME
-	_ZN23eap_am_crypto_symbian_c28rsa_decrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1011 NONAME
-	_ZN23eap_am_crypto_symbian_c28rsa_encrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1012 NONAME
-	_ZN23eap_am_crypto_symbian_c8dsa_initEP19eap_variable_data_c @ 1013 NONAME
-	_ZN23eap_am_crypto_symbian_c8dsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1014 NONAME
-	_ZN23eap_am_crypto_symbian_c8md4_initEP19eap_variable_data_c @ 1015 NONAME
-	_ZN23eap_am_crypto_symbian_c8md5_initEP19eap_variable_data_c @ 1016 NONAME
-	_ZN23eap_am_crypto_symbian_c8rsa_initEP19eap_variable_data_c @ 1017 NONAME
-	_ZN23eap_am_crypto_symbian_c8rsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1018 NONAME
-	_ZN23eap_am_crypto_symbian_c9configureEv @ 1019 NONAME
-	_ZN23eap_am_crypto_symbian_c9md4_finalEP19eap_variable_data_cPhPm @ 1020 NONAME
-	_ZN23eap_am_crypto_symbian_c9md5_finalEP19eap_variable_data_cPhPm @ 1021 NONAME
-	_ZN23eap_am_crypto_symbian_c9sha1_initEP19eap_variable_data_c @ 1022 NONAME
-	_ZN23eap_am_crypto_symbian_cC1EP18abs_eap_am_tools_c @ 1023 NONAME
-	_ZN23eap_am_crypto_symbian_cC2EP18abs_eap_am_tools_c @ 1024 NONAME
-	_ZN23eap_am_crypto_symbian_cD0Ev @ 1025 NONAME
-	_ZN23eap_am_crypto_symbian_cD1Ev @ 1026 NONAME
-	_ZN23eap_am_crypto_symbian_cD2Ev @ 1027 NONAME
-	_ZN23eap_session_core_base_c22new_eap_session_core_cEP18abs_eap_am_tools_cP22abs_eap_session_core_cbm @ 1028 NONAME
-	_ZN23eap_session_core_base_cC2Ev @ 1029 NONAME
-	_ZN23eap_session_core_base_cD0Ev @ 1030 NONAME
-	_ZN23eap_session_core_base_cD1Ev @ 1031 NONAME
-	_ZN23eap_session_core_base_cD2Ev @ 1032 NONAME
-	_ZN23network_key_and_index_c12get_is_validEv @ 1033 NONAME
-	_ZN23network_key_and_index_c15get_network_keyEv @ 1034 NONAME
-	_ZN23network_key_and_index_c17get_is_valid_dataEv @ 1035 NONAME
-	_ZN23network_key_and_index_c21set_network_key_indexEh @ 1036 NONAME
-	_ZN23network_key_and_index_c4copyEv @ 1037 NONAME
-	_ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 1038 NONAME
-	_ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 1039 NONAME
-	_ZN23network_key_and_index_cD0Ev @ 1040 NONAME
-	_ZN23network_key_and_index_cD1Ev @ 1041 NONAME
-	_ZN23network_key_and_index_cD2Ev @ 1042 NONAME
-	_ZN24eap_am_mutex_reference_c13add_referenceEv @ 1043 NONAME
-	_ZN24eap_am_mutex_reference_c15get_is_reservedEv @ 1044 NONAME
-	_ZN24eap_am_mutex_reference_c15set_is_reservedEb @ 1045 NONAME
-	_ZN24eap_am_mutex_reference_c16remove_referenceEv @ 1046 NONAME
-	_ZN24eap_am_mutex_reference_c19get_reference_countEv @ 1047 NONAME
-	_ZN24eap_am_mutex_reference_cC1Ev @ 1048 NONAME
-	_ZN24eap_am_mutex_reference_cC2Ev @ 1049 NONAME
-	_ZN24eap_am_mutex_reference_cD0Ev @ 1050 NONAME
-	_ZN24eap_am_mutex_reference_cD1Ev @ 1051 NONAME
-	_ZN24eap_am_mutex_reference_cD2Ev @ 1052 NONAME
-	_ZN24eap_master_session_key_c12set_eap_typeE19eap_expanded_type_c @ 1053 NONAME
-	_ZN24eap_master_session_key_c18copy_leap_passwordEPK19eap_variable_data_c @ 1054 NONAME
-	_ZN24eap_master_session_key_c8set_copyEPKS_ @ 1055 NONAME
-	_ZN24eap_master_session_key_cC1EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1056 NONAME
-	_ZN24eap_master_session_key_cC2EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1057 NONAME
-	_ZN24eap_master_session_key_cD0Ev @ 1058 NONAME
-	_ZN24eap_master_session_key_cD1Ev @ 1059 NONAME
-	_ZN24eap_master_session_key_cD2Ev @ 1060 NONAME
-	_ZN24eap_state_notification_c16get_state_stringEmm @ 1061 NONAME
-	_ZN24eap_state_notification_c19get_protocol_stringEmm @ 1062 NONAME
-	_ZN24eap_state_notification_c23set_notification_stringEPK19eap_variable_data_cb @ 1063 NONAME
-	_ZN24eap_state_notification_c24set_authentication_errorE12eap_status_e @ 1064 NONAME
-	_ZN24eap_state_notification_c25get_protocol_layer_stringEm @ 1065 NONAME
-	_ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1066 NONAME
-	_ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1067 NONAME
-	_ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1068 NONAME
-	_ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1069 NONAME
-	_ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1070 NONAME
-	_ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1071 NONAME
-	_ZN24eap_state_notification_cD0Ev @ 1072 NONAME
-	_ZN24eap_state_notification_cD1Ev @ 1073 NONAME
-	_ZN24eap_state_notification_cD2Ev @ 1074 NONAME
-	_ZN25eap_core_retransmission_c19get_send_network_idEv @ 1075 NONAME
-	_ZN25eap_core_retransmission_c28get_next_retransmission_timeEv @ 1076 NONAME
-	_ZN25eap_core_retransmission_c31get_next_retransmission_counterEv @ 1077 NONAME
-	_ZN25eap_core_retransmission_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1078 NONAME
-	_ZN25eap_core_retransmission_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1079 NONAME
-	_ZN25eap_core_retransmission_cD0Ev @ 1080 NONAME
-	_ZN25eap_core_retransmission_cD1Ev @ 1081 NONAME
-	_ZN25eap_core_retransmission_cD2Ev @ 1082 NONAME
-	_ZN25eap_general_header_base_c17set_header_bufferEPhm @ 1083 NONAME
-	_ZN25eap_general_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1084 NONAME
-	_ZN25eap_general_header_base_cD0Ev @ 1085 NONAME
-	_ZN25eap_general_header_base_cD1Ev @ 1086 NONAME
-	_ZN25eap_general_header_base_cD2Ev @ 1087 NONAME
-	_ZN25eap_network_id_selector_c12set_selectorEPK19eap_am_network_id_c @ 1088 NONAME
-	_ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_c @ 1089 NONAME
-	_ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1090 NONAME
-	_ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPKS_ @ 1091 NONAME
-	_ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_c @ 1092 NONAME
-	_ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1093 NONAME
-	_ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPKS_ @ 1094 NONAME
-	_ZN25eap_network_id_selector_cD0Ev @ 1095 NONAME
-	_ZN25eap_network_id_selector_cD1Ev @ 1096 NONAME
-	_ZN25eap_network_id_selector_cD2Ev @ 1097 NONAME
-	_ZN26eapol_ethernet_header_rd_cC1EP18abs_eap_am_tools_cPKhm @ 1098 NONAME
-	_ZN26eapol_ethernet_header_rd_cC2EP18abs_eap_am_tools_cPKhm @ 1099 NONAME
-	_ZN26eapol_ethernet_header_rd_cD0Ev @ 1100 NONAME
-	_ZN26eapol_ethernet_header_rd_cD1Ev @ 1101 NONAME
-	_ZN26eapol_ethernet_header_rd_cD2Ev @ 1102 NONAME
-	_ZN26eapol_ethernet_header_wr_c10get_sourceEv @ 1103 NONAME
-	_ZN26eapol_ethernet_header_wr_c12reset_headerE21eapol_ethernet_type_et @ 1104 NONAME
-	_ZN26eapol_ethernet_header_wr_c15get_destinationEv @ 1105 NONAME
-	_ZN26eapol_ethernet_header_wr_cC1EP18abs_eap_am_tools_cPKhm @ 1106 NONAME
-	_ZN26eapol_ethernet_header_wr_cC2EP18abs_eap_am_tools_cPKhm @ 1107 NONAME
-	_ZN26eapol_ethernet_header_wr_cD0Ev @ 1108 NONAME
-	_ZN26eapol_ethernet_header_wr_cD1Ev @ 1109 NONAME
-	_ZN26eapol_ethernet_header_wr_cD2Ev @ 1110 NONAME
-	_ZN26simple_config_credential_c12get_is_validEv @ 1111 NONAME
-	_ZN26simple_config_credential_c15get_MAC_addressEv @ 1112 NONAME
-	_ZN26simple_config_credential_c16get_network_keysEv @ 1113 NONAME
-	_ZN26simple_config_credential_c17set_network_indexEh @ 1114 NONAME
-	_ZN26simple_config_credential_c19get_Encryption_TypeEv @ 1115 NONAME
-	_ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 1116 NONAME
-	_ZN26simple_config_credential_c23get_Authentication_TypeEv @ 1117 NONAME
-	_ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 1118 NONAME
-	_ZN26simple_config_credential_c8get_SSIDEv @ 1119 NONAME
-	_ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 1120 NONAME
-	_ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 1121 NONAME
-	_ZN26simple_config_credential_cD0Ev @ 1122 NONAME
-	_ZN26simple_config_credential_cD1Ev @ 1123 NONAME
-	_ZN26simple_config_credential_cD2Ev @ 1124 NONAME
-	_ZN27abs_crypto_hash_algorithm_cD0Ev @ 1125 NONAME
-	_ZN27abs_crypto_hash_algorithm_cD1Ev @ 1126 NONAME
-	_ZN27abs_crypto_hash_algorithm_cD2Ev @ 1127 NONAME
-	_ZN27abs_crypto_hmac_algorithm_cD0Ev @ 1128 NONAME
-	_ZN27abs_crypto_hmac_algorithm_cD1Ev @ 1129 NONAME
-	_ZN27abs_crypto_hmac_algorithm_cD2Ev @ 1130 NONAME
-	_ZN27eap_am_file_input_symbian_c10file_closeEv @ 1131 NONAME
-	_ZN27eap_am_file_input_symbian_c10file_writeEPK19eap_variable_data_c @ 1132 NONAME
-	_ZN27eap_am_file_input_symbian_c11file_deleteEPK19eap_variable_data_c @ 1133 NONAME
-	_ZN27eap_am_file_input_symbian_c11file_existsEPK19eap_variable_data_c @ 1134 NONAME
-	_ZN27eap_am_file_input_symbian_c14file_read_lineEP19eap_variable_data_c @ 1135 NONAME
-	_ZN27eap_am_file_input_symbian_c9file_copyEPK19eap_variable_data_cS2_ @ 1136 NONAME
-	_ZN27eap_am_file_input_symbian_c9file_openEPK19eap_variable_data_c23eap_file_io_direction_e @ 1137 NONAME
-	_ZN27eap_am_file_input_symbian_c9file_readEP19eap_variable_data_c @ 1138 NONAME
-	_ZN27eap_am_file_input_symbian_c9file_sizeEv @ 1139 NONAME
-	_ZN27eap_am_file_input_symbian_cC1EP18abs_eap_am_tools_c @ 1140 NONAME
-	_ZN27eap_am_file_input_symbian_cC2EP18abs_eap_am_tools_c @ 1141 NONAME
-	_ZN27eap_am_file_input_symbian_cD0Ev @ 1142 NONAME
-	_ZN27eap_am_file_input_symbian_cD1Ev @ 1143 NONAME
-	_ZN27eap_am_file_input_symbian_cD2Ev @ 1144 NONAME
-	_ZN28abs_crypto_block_algorithm_cD0Ev @ 1145 NONAME
-	_ZN28abs_crypto_block_algorithm_cD1Ev @ 1146 NONAME
-	_ZN28abs_crypto_block_algorithm_cD2Ev @ 1147 NONAME
-	_ZN28eapol_ethernet_header_base_c17get_header_lengthEv @ 1148 NONAME
-	_ZN28eapol_ethernet_header_base_c8set_typeE21eapol_ethernet_type_e @ 1149 NONAME
-	_ZN28eapol_ethernet_header_base_cC1EP18abs_eap_am_tools_cPvm @ 1150 NONAME
-	_ZN28eapol_ethernet_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1151 NONAME
-	_ZN28eapol_ethernet_header_base_cD0Ev @ 1152 NONAME
-	_ZN28eapol_ethernet_header_base_cD1Ev @ 1153 NONAME
-	_ZN28eapol_ethernet_header_base_cD2Ev @ 1154 NONAME
-	_ZN29abs_crypto_stream_algorithm_cD0Ev @ 1155 NONAME
-	_ZN29abs_crypto_stream_algorithm_cD1Ev @ 1156 NONAME
-	_ZN29abs_crypto_stream_algorithm_cD2Ev @ 1157 NONAME
-	_ZN30abs_eap_am_memory_store_data_cC1Ev @ 1158 NONAME
-	_ZN30abs_eap_am_memory_store_data_cC2Ev @ 1159 NONAME
-	_ZN30abs_eap_am_memory_store_data_cD0Ev @ 1160 NONAME
-	_ZN30abs_eap_am_memory_store_data_cD1Ev @ 1161 NONAME
-	_ZN30abs_eap_am_memory_store_data_cD2Ev @ 1162 NONAME
-	_ZN30crypto_wpa_psk_password_hash_c12get_is_validEv @ 1163 NONAME
-	_ZN30crypto_wpa_psk_password_hash_c13password_hashEPK19eap_variable_data_cS2_PS0_PvPF12eap_status_eS4_mE @ 1164 NONAME
-	_ZN30crypto_wpa_psk_password_hash_cC1EP18abs_eap_am_tools_c @ 1165 NONAME
-	_ZN30crypto_wpa_psk_password_hash_cC2EP18abs_eap_am_tools_c @ 1166 NONAME
-	_ZN30crypto_wpa_psk_password_hash_cD0Ev @ 1167 NONAME
-	_ZN30crypto_wpa_psk_password_hash_cD1Ev @ 1168 NONAME
-	_ZN30crypto_wpa_psk_password_hash_cD2Ev @ 1169 NONAME
-	_ZN30eap_am_memory_store_tlv_data_c17copy_message_dataEPK22eap_tlv_message_data_cm @ 1170 NONAME
-	_ZN30eap_am_memory_store_tlv_data_c31object_decrease_reference_countEv @ 1171 NONAME
-	_ZN30eap_am_memory_store_tlv_data_c31object_increase_reference_countEv @ 1172 NONAME
-	_ZN30eap_am_memory_store_tlv_data_cC1EP18abs_eap_am_tools_c @ 1173 NONAME
-	_ZN30eap_am_memory_store_tlv_data_cC2EP18abs_eap_am_tools_c @ 1174 NONAME
-	_ZN30eap_am_memory_store_tlv_data_cD0Ev @ 1175 NONAME
-	_ZN30eap_am_memory_store_tlv_data_cD1Ev @ 1176 NONAME
-	_ZN30eap_am_memory_store_tlv_data_cD2Ev @ 1177 NONAME
-	_ZN30eap_process_tlv_message_data_c12get_is_validEv @ 1178 NONAME
-	_ZN30eap_process_tlv_message_data_c15get_type_stringE22eap_tlv_message_type_e @ 1179 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataE12eap_status_e @ 1180 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataE19eap_expanded_type_c @ 1181 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataE22eap_tlv_message_type_em @ 1182 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataE31eap_tlv_message_type_function_e @ 1183 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataE31eapol_key_authentication_type_e @ 1184 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataE38eapol_key_802_11_authentication_mode_e @ 1185 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI19eap_expanded_type_cE @ 1186 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI23eap_certificate_entry_cE @ 1187 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI26simple_config_credential_cE @ 1188 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cItE @ 1189 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK18eap_buf_chain_wr_c @ 1190 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eap_am_network_id_c @ 1191 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eap_variable_data_c @ 1192 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eap_variable_data_cPK18eap_config_value_c @ 1193 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eapol_session_key_c @ 1194 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK21eap_method_settings_c @ 1195 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK23eap_certificate_entry_c @ 1196 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK25eap_general_header_base_c @ 1197 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK28abs_eap_state_notification_c @ 1198 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEb @ 1199 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEc @ 1200 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEh @ 1201 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEl @ 1202 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEm @ 1203 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEs @ 1204 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEt @ 1205 NONAME
-	_ZN30eap_process_tlv_message_data_c18add_parameter_dataEy @ 1206 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI19eap_expanded_type_cE @ 1207 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI23eap_certificate_entry_cE @ 1208 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI23network_key_and_index_cE @ 1209 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI26simple_config_credential_cE @ 1210 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cItE @ 1211 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_am_network_id_c @ 1212 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_expanded_type_c @ 1213 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_variable_data_c @ 1214 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eapol_session_key_c @ 1215 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP21eap_method_settings_c @ 1216 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP23eap_certificate_entry_c @ 1217 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP23network_key_and_index_c @ 1218 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP26simple_config_credential_c @ 1219 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP31eap_tlv_message_type_function_e @ 1220 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPP24eap_state_notification_c @ 1221 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPc @ 1222 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPh @ 1223 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPl @ 1224 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPm @ 1225 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPs @ 1226 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPt @ 1227 NONAME
-	_ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPy @ 1228 NONAME
-	_ZN30eap_process_tlv_message_data_c19get_function_stringE31eap_tlv_message_type_function_e @ 1229 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEm22eap_tlv_message_type_eP12eap_status_e @ 1230 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eap_am_network_id_c @ 1231 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eap_expanded_type_c @ 1232 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eap_variable_data_c @ 1233 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eapol_session_key_c @ 1234 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP21eap_method_settings_c @ 1235 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP31eap_tlv_message_type_function_e @ 1236 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP31eapol_key_authentication_type_e @ 1237 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP31simple_config_Encryption_Type_e @ 1238 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP33eapol_wlan_authentication_state_e @ 1239 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP35simple_config_Authentication_Type_e @ 1240 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP38eapol_key_802_11_authentication_mode_e @ 1241 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPN23eap_certificate_entry_c22eap_certificate_type_eE @ 1242 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eE @ 1243 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 1244 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPP24eap_state_notification_c @ 1245 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I19eap_am_network_id_cE @ 1246 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I19eap_expanded_type_cE @ 1247 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I23eap_certificate_entry_cE @ 1248 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I23network_key_and_index_cE @ 1249 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I26simple_config_credential_cE @ 1250 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_ItE @ 1251 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPb @ 1252 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPc @ 1253 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPh @ 1254 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPl @ 1255 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPm @ 1256 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPs @ 1257 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPt @ 1258 NONAME
-	_ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPy @ 1259 NONAME
-	_ZN30eap_process_tlv_message_data_c31add_structured_parameter_headerE22eap_tlv_message_type_em @ 1260 NONAME
-	_ZN30eap_process_tlv_message_data_c31object_decrease_reference_countEv @ 1261 NONAME
-	_ZN30eap_process_tlv_message_data_c31object_increase_reference_countEv @ 1262 NONAME
-	_ZN30eap_process_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 1263 NONAME
-	_ZN30eap_process_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 1264 NONAME
-	_ZN30eap_process_tlv_message_data_cD0Ev @ 1265 NONAME
-	_ZN30eap_process_tlv_message_data_cD1Ev @ 1266 NONAME
-	_ZN30eap_process_tlv_message_data_cD2Ev @ 1267 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_c10t_prf_initEPK19eap_variable_data_cS2_S2_ @ 1268 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_c12get_is_validEv @ 1269 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_c12set_is_validEv @ 1270 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_c12t_prf_outputEPvt @ 1271 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_c13t_prf_cleanupEv @ 1272 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_c14set_is_invalidEv @ 1273 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_cC1EP18abs_eap_am_tools_c @ 1274 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_cC2EP18abs_eap_am_tools_c @ 1275 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_cD0Ev @ 1276 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_cD1Ev @ 1277 NONAME
-	_ZN31crypto_eap_fast_hmac_sha1_prf_cD2Ev @ 1278 NONAME
-	_ZN32abs_crypto_cbc_block_algorithm_cD0Ev @ 1279 NONAME
-	_ZN32abs_crypto_cbc_block_algorithm_cD1Ev @ 1280 NONAME
-	_ZN32abs_crypto_cbc_block_algorithm_cD2Ev @ 1281 NONAME
-	_ZN32eap_simple_config_trace_string_cC1Ev @ 1282 NONAME
-	_ZN32eap_simple_config_trace_string_cC2Ev @ 1283 NONAME
-	_ZN32eap_simple_config_trace_string_cD0Ev @ 1284 NONAME
-	_ZN32eap_simple_config_trace_string_cD1Ev @ 1285 NONAME
-	_ZN32eap_simple_config_trace_string_cD2Ev @ 1286 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_c10dh_cleanupEPK19eap_variable_data_c @ 1287 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_c12get_is_validEv @ 1288 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_c12set_is_validEv @ 1289 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKvmS5_m @ 1290 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKvmS3_m @ 1291 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_cC1EP18abs_eap_am_tools_c @ 1292 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_cC2EP18abs_eap_am_tools_c @ 1293 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_cD0Ev @ 1294 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_cD1Ev @ 1295 NONAME
-	_ZN33crypto_ephemeral_diffie_hellman_cD2Ev @ 1296 NONAME
-	_ZNK10eap_core_c19get_is_tunneled_eapEv @ 1297 NONAME
-	_ZNK11EAPSettings5traceEv @ 1298 NONAME
-	_ZNK14eap_am_tools_c14get_trace_maskEv @ 1299 NONAME
-	_ZNK15eap_header_wr_c13get_type_dataEm @ 1300 NONAME
-	_ZNK15eap_header_wr_c20get_type_data_offsetEmm @ 1301 NONAME
-	_ZNK16EapMessageBuffer14GetRequestTypeEv @ 1302 NONAME
-	_ZNK16EapMessageBuffer7GetDataEv @ 1303 NONAME
-	_ZNK16TEapExpandedType11GetVendorIdEv @ 1304 NONAME
-	_ZNK16TEapExpandedType13GetVendorTypeEv @ 1305 NONAME
-	_ZNK16TEapExpandedType7CompareERKS_ @ 1306 NONAME
-	_ZNK16TEapExpandedType8GetValueEv @ 1307 NONAME
-	_ZNK16TEapExpandedTypeeqERKS_ @ 1308 NONAME
-	_ZNK16TEapExpandedTypeneERKS_ @ 1309 NONAME
-	_ZNK16eap_tlv_header_c12check_headerEv @ 1310 NONAME
-	_ZNK16eap_tlv_header_c16get_value_lengthEv @ 1311 NONAME
-	_ZNK16eap_tlv_header_c16get_value_offsetEmm @ 1312 NONAME
-	_ZNK16eap_tlv_header_c8get_typeEv @ 1313 NONAME
-	_ZNK16eap_tlv_header_c9get_valueEm @ 1314 NONAME
-	_ZNK17eap_header_base_c10get_lengthEv @ 1315 NONAME
-	_ZNK17eap_header_base_c12check_headerEv @ 1316 NONAME
-	_ZNK17eap_header_base_c13get_ietf_typeEv @ 1317 NONAME
-	_ZNK17eap_header_base_c13get_type_dataEm @ 1318 NONAME
-	_ZNK17eap_header_base_c14get_identifierEv @ 1319 NONAME
-	_ZNK17eap_header_base_c15get_code_stringEv @ 1320 NONAME
-	_ZNK17eap_header_base_c15get_data_lengthEv @ 1321 NONAME
-	_ZNK17eap_header_base_c15get_data_offsetEmm @ 1322 NONAME
-	_ZNK17eap_header_base_c15get_type_stringEv @ 1323 NONAME
-	_ZNK17eap_header_base_c20get_type_data_lengthEv @ 1324 NONAME
-	_ZNK17eap_header_base_c20get_type_data_offsetEmm @ 1325 NONAME
-	_ZNK17eap_header_base_c21get_type_field_lengthEv @ 1326 NONAME
-	_ZNK17eap_header_base_c8get_codeEv @ 1327 NONAME
-	_ZNK17eap_header_base_c8get_dataEm @ 1328 NONAME
-	_ZNK17eap_header_base_c8get_typeEv @ 1329 NONAME
-	_ZNK17eapol_header_rd_c14get_eap_headerEv @ 1330 NONAME
-	_ZNK18eap_buf_chain_rd_c15get_data_offsetEmm @ 1331 NONAME
-	_ZNK18eap_buf_chain_rd_c19get_ethernet_headerEv @ 1332 NONAME
-	_ZNK18eap_buf_chain_rd_c8get_dataEm @ 1333 NONAME
-	_ZNK18eap_config_value_c12get_is_validEv @ 1334 NONAME
-	_ZNK18eap_config_value_c14get_const_dataEv @ 1335 NONAME
-	_ZNK18eap_config_value_c14get_const_typeEv @ 1336 NONAME
-	_ZNK19EapCertificateEntry10GetIsValidEv @ 1337 NONAME
-	_ZNK19EapCertificateEntry11GetCertTypeEv @ 1338 NONAME
-	_ZNK19EapCertificateEntry12GetIsEnabledEv @ 1339 NONAME
-	_ZNK19EapCertificateEntry13GetIssuerNameEv @ 1340 NONAME
-	_ZNK19EapCertificateEntry13GetThumbprintEv @ 1341 NONAME
-	_ZNK19EapCertificateEntry14GetPrimaryNameEv @ 1342 NONAME
-	_ZNK19EapCertificateEntry14GetSubjectNameEv @ 1343 NONAME
-	_ZNK19EapCertificateEntry15GetLabelPresentEv @ 1344 NONAME
-	_ZNK19EapCertificateEntry15GetSerialNumberEv @ 1345 NONAME
-	_ZNK19EapCertificateEntry15GetSubjectKeyIdEv @ 1346 NONAME
-	_ZNK19EapCertificateEntry16GetSecondaryNameEv @ 1347 NONAME
-	_ZNK19EapCertificateEntry19GetIsEnabledPresentEv @ 1348 NONAME
-	_ZNK19EapCertificateEntry20GetIssuerNamePresentEv @ 1349 NONAME
-	_ZNK19EapCertificateEntry20GetThumbprintPresentEv @ 1350 NONAME
-	_ZNK19EapCertificateEntry21GetPrimaryNamePresentEv @ 1351 NONAME
-	_ZNK19EapCertificateEntry21GetSubjectNamePresentEv @ 1352 NONAME
-	_ZNK19EapCertificateEntry22GetSerialNumberPresentEv @ 1353 NONAME
-	_ZNK19EapCertificateEntry22GetSubjectKeyIdPresentEv @ 1354 NONAME
-	_ZNK19EapCertificateEntry23GetSecondaryNamePresentEv @ 1355 NONAME
-	_ZNK19EapCertificateEntry5traceEv @ 1356 NONAME
-	_ZNK19EapCertificateEntry8GetLabelEv @ 1357 NONAME
-	_ZNK19eap_am_mutex_base_c12get_is_validEv @ 1358 NONAME
-	_ZNK19eap_am_mutex_base_c13get_referenceEv @ 1359 NONAME
-	_ZNK19eap_am_mutex_base_c15get_is_reservedEv @ 1360 NONAME
-	_ZNK19eap_am_network_id_c10get_sourceEv @ 1361 NONAME
-	_ZNK19eap_am_network_id_c12get_is_validEv @ 1362 NONAME
-	_ZNK19eap_am_network_id_c13get_source_idEv @ 1363 NONAME
-	_ZNK19eap_am_network_id_c14get_network_idEv @ 1364 NONAME
-	_ZNK19eap_am_network_id_c15get_destinationEv @ 1365 NONAME
-	_ZNK19eap_am_network_id_c17get_is_valid_dataEv @ 1366 NONAME
-	_ZNK19eap_am_network_id_c17get_source_lengthEv @ 1367 NONAME
-	_ZNK19eap_am_network_id_c18compare_network_idEPKS_ @ 1368 NONAME
-	_ZNK19eap_am_network_id_c18get_destination_idEv @ 1369 NONAME
-	_ZNK19eap_am_network_id_c22get_destination_lengthEv @ 1370 NONAME
-	_ZNK19eap_am_network_id_c4copyEv @ 1371 NONAME
-	_ZNK19eap_am_network_id_c8get_typeEv @ 1372 NONAME
-	_ZNK19eap_core_nak_info_c18get_eap_identifierEv @ 1373 NONAME
-	_ZNK19eap_core_nak_info_c21get_proposed_eap_typeEv @ 1374 NONAME
-	_ZNK19eap_expanded_type_c12get_is_validEv @ 1375 NONAME
-	_ZNK19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cP22eap_type_ietf_values_e @ 1376 NONAME
-	_ZNK19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cPS_ @ 1377 NONAME
-	_ZNK19eap_expanded_type_c13get_vendor_idEv @ 1378 NONAME
-	_ZNK19eap_expanded_type_c15get_vendor_typeEv @ 1379 NONAME
-	_ZNK19eap_expanded_type_c17get_is_valid_dataEv @ 1380 NONAME
-	_ZNK19eap_expanded_type_c22get_expanded_type_dataEP18abs_eap_am_tools_cP19eap_variable_data_c @ 1381 NONAME
-	_ZNK19eap_expanded_type_c4copyEv @ 1382 NONAME
-	_ZNK19eap_expanded_type_c7compareEPKS_ @ 1383 NONAME
-	_ZNK19eap_expanded_type_cadEv @ 1384 NONAME
-	_ZNK19eap_expanded_type_ceqE22eap_type_ietf_values_e @ 1385 NONAME
-	_ZNK19eap_expanded_type_ceqERKS_ @ 1386 NONAME
-	_ZNK19eap_expanded_type_cneE22eap_type_ietf_values_e @ 1387 NONAME
-	_ZNK19eap_expanded_type_cneERKS_ @ 1388 NONAME
-	_ZNK19eap_variable_data_c10get_bufferEm @ 1389 NONAME
-	_ZNK19eap_variable_data_c12get_is_validEv @ 1390 NONAME
-	_ZNK19eap_variable_data_c14compare_lengthEPKS_m @ 1391 NONAME
-	_ZNK19eap_variable_data_c14compare_lengthEPKvmm @ 1392 NONAME
-	_ZNK19eap_variable_data_c15get_data_lengthEv @ 1393 NONAME
-	_ZNK19eap_variable_data_c15get_data_offsetEmm @ 1394 NONAME
-	_ZNK19eap_variable_data_c15get_is_writableEv @ 1395 NONAME
-	_ZNK19eap_variable_data_c17get_buffer_lengthEv @ 1396 NONAME
-	_ZNK19eap_variable_data_c17get_buffer_offsetEmm @ 1397 NONAME
-	_ZNK19eap_variable_data_c17get_is_valid_dataEv @ 1398 NONAME
-	_ZNK19eap_variable_data_c4copyEv @ 1399 NONAME
-	_ZNK19eap_variable_data_c4hashEm @ 1400 NONAME
-	_ZNK19eap_variable_data_c7compareEPKS_ @ 1401 NONAME
-	_ZNK19eap_variable_data_c7compareEPKvm @ 1402 NONAME
-	_ZNK19eap_variable_data_c8get_dataEm @ 1403 NONAME
-	_ZNK19eap_variable_data_c8get_dataEv @ 1404 NONAME
-	_ZNK19eapol_header_base_c11get_versionEv @ 1405 NONAME
-	_ZNK19eapol_header_base_c12check_headerEv @ 1406 NONAME
-	_ZNK19eapol_header_base_c15get_data_lengthEv @ 1407 NONAME
-	_ZNK19eapol_header_base_c15get_packet_typeEv @ 1408 NONAME
-	_ZNK19eapol_header_base_c15get_type_stringEv @ 1409 NONAME
-	_ZNK19eapol_header_base_c8get_dataEm @ 1410 NONAME
-	_ZNK19eapol_session_key_c12get_is_validEv @ 1411 NONAME
-	_ZNK19eapol_session_key_c12get_key_typeEv @ 1412 NONAME
-	_ZNK19eapol_session_key_c13get_key_indexEv @ 1413 NONAME
-	_ZNK19eapol_session_key_c14get_key_tx_bitEv @ 1414 NONAME
-	_ZNK19eapol_session_key_c19get_sequence_numberEv @ 1415 NONAME
-	_ZNK19eapol_session_key_c7get_keyEv @ 1416 NONAME
-	_ZNK20eap_buf_chain_base_c11get_encryptEv @ 1417 NONAME
-	_ZNK20eap_buf_chain_base_c12check_guardsEv @ 1418 NONAME
-	_ZNK20eap_buf_chain_base_c12get_is_validEv @ 1419 NONAME
-	_ZNK20eap_buf_chain_base_c13get_is_clientEv @ 1420 NONAME
-	_ZNK20eap_buf_chain_base_c15get_data_lengthEv @ 1421 NONAME
-	_ZNK20eap_buf_chain_base_c15get_data_offsetEmm @ 1422 NONAME
-	_ZNK20eap_buf_chain_base_c17check_guard_bytesEPKh @ 1423 NONAME
-	_ZNK20eap_buf_chain_base_c17get_buffer_lengthEv @ 1424 NONAME
-	_ZNK20eap_buf_chain_base_c17get_is_valid_dataEv @ 1425 NONAME
-	_ZNK20eap_buf_chain_base_c17get_stack_addressEv @ 1426 NONAME
-	_ZNK20eap_buf_chain_base_c20get_do_length_checksEv @ 1427 NONAME
-	_ZNK20eap_buf_chain_base_c8get_dataEm @ 1428 NONAME
-	_ZNK20eap_rogue_ap_entry_c15get_mac_addressEPh @ 1429 NONAME
-	_ZNK20eap_rogue_ap_entry_c15get_mac_addressEv @ 1430 NONAME
-	_ZNK20eap_rogue_ap_entry_c16get_rogue_reasonEv @ 1431 NONAME
-	_ZNK20eap_rogue_ap_entry_c4copyEv @ 1432 NONAME
-	_ZNK20eap_type_selection_c12get_is_validEv @ 1433 NONAME
-	_ZNK20eap_type_selection_c14get_is_enabledEv @ 1434 NONAME
-	_ZNK20eap_type_selection_c17get_is_valid_dataEv @ 1435 NONAME
-	_ZNK20eap_type_selection_c4copyEv @ 1436 NONAME
-	_ZNK20eap_type_selection_c8get_typeEv @ 1437 NONAME
-	_ZNK22eap_am_mutex_symbian_c12get_is_validEv @ 1438 NONAME
-	_ZNK22eap_am_mutex_symbian_c15get_is_reservedEv @ 1439 NONAME
-	_ZNK22eap_am_mutex_symbian_c16get_owner_threadEv @ 1440 NONAME
-	_ZNK22eap_am_mutex_symbian_c9get_mutexEv @ 1441 NONAME
-	_ZNK22eap_am_tools_symbian_c12get_is_validEv @ 1442 NONAME
-	_ZNK22eap_tlv_message_data_c16get_message_dataEv @ 1443 NONAME
-	_ZNK22eap_tlv_message_data_c23get_message_data_lengthEv @ 1444 NONAME
-	_ZNK23eap_am_crypto_symbian_c12get_is_validEv @ 1445 NONAME
-	_ZNK23network_key_and_index_c21get_network_key_constEv @ 1446 NONAME
-	_ZNK23network_key_and_index_c21get_network_key_indexEv @ 1447 NONAME
-	_ZNK24eap_master_session_key_c12get_eap_typeEv @ 1448 NONAME
-	_ZNK24eap_master_session_key_c17get_leap_passwordEv @ 1449 NONAME
-	_ZNK24eap_state_notification_c12get_eap_typeEv @ 1450 NONAME
-	_ZNK24eap_state_notification_c12get_protocolEv @ 1451 NONAME
-	_ZNK24eap_state_notification_c13get_is_clientEv @ 1452 NONAME
-	_ZNK24eap_state_notification_c17get_current_stateEv @ 1453 NONAME
-	_ZNK24eap_state_notification_c18get_eap_identifierEv @ 1454 NONAME
-	_ZNK24eap_state_notification_c18get_previous_stateEv @ 1455 NONAME
-	_ZNK24eap_state_notification_c18get_protocol_layerEv @ 1456 NONAME
-	_ZNK24eap_state_notification_c19get_protocol_stringEv @ 1457 NONAME
-	_ZNK24eap_state_notification_c19get_send_network_idEv @ 1458 NONAME
-	_ZNK24eap_state_notification_c23get_notification_stringEv @ 1459 NONAME
-	_ZNK24eap_state_notification_c24get_authentication_errorEv @ 1460 NONAME
-	_ZNK24eap_state_notification_c24get_current_state_stringEv @ 1461 NONAME
-	_ZNK24eap_state_notification_c25get_previous_state_stringEv @ 1462 NONAME
-	_ZNK24eap_state_notification_c25get_protocol_layer_stringEv @ 1463 NONAME
-	_ZNK24eap_state_notification_c26get_allow_send_eap_successEv @ 1464 NONAME
-	_ZNK24eap_state_notification_c32get_needs_confirmation_from_userEv @ 1465 NONAME
-	_ZNK25eap_core_retransmission_c12get_eap_codeEv @ 1466 NONAME
-	_ZNK25eap_core_retransmission_c12get_eap_typeEv @ 1467 NONAME
-	_ZNK25eap_core_retransmission_c12get_is_validEv @ 1468 NONAME
-	_ZNK25eap_core_retransmission_c15get_buffer_sizeEv @ 1469 NONAME
-	_ZNK25eap_core_retransmission_c15get_data_lengthEv @ 1470 NONAME
-	_ZNK25eap_core_retransmission_c15get_sent_packetEv @ 1471 NONAME
-	_ZNK25eap_core_retransmission_c17get_header_offsetEv @ 1472 NONAME
-	_ZNK25eap_core_retransmission_c18get_eap_identifierEv @ 1473 NONAME
-	_ZNK25eap_core_retransmission_c26get_retransmission_counterEv @ 1474 NONAME
-	_ZNK25eap_general_header_base_c12get_am_toolsEv @ 1475 NONAME
-	_ZNK25eap_general_header_base_c12get_is_validEv @ 1476 NONAME
-	_ZNK25eap_general_header_base_c17get_header_bufferEm @ 1477 NONAME
-	_ZNK25eap_general_header_base_c17get_header_offsetEmm @ 1478 NONAME
-	_ZNK25eap_general_header_base_c24get_header_buffer_lengthEv @ 1479 NONAME
-	_ZNK25eap_network_id_selector_c4copyEv @ 1480 NONAME
-	_ZNK26eap_static_expanded_type_c8get_typeEv @ 1481 NONAME
-	_ZNK26eapol_ethernet_header_rd_c16get_eapol_headerEv @ 1482 NONAME
-	_ZNK26eapol_ethernet_header_wr_c16get_eapol_headerEv @ 1483 NONAME
-	_ZNK26simple_config_credential_c14get_SSID_constEv @ 1484 NONAME
-	_ZNK26simple_config_credential_c17get_network_indexEv @ 1485 NONAME
-	_ZNK26simple_config_credential_c21get_MAC_address_constEv @ 1486 NONAME
-	_ZNK26simple_config_credential_c22get_network_keys_constEv @ 1487 NONAME
-	_ZNK28eapol_ethernet_header_base_c10get_sourceEv @ 1488 NONAME
-	_ZNK28eapol_ethernet_header_base_c12check_headerEv @ 1489 NONAME
-	_ZNK28eapol_ethernet_header_base_c15get_data_lengthEv @ 1490 NONAME
-	_ZNK28eapol_ethernet_header_base_c15get_destinationEv @ 1491 NONAME
-	_ZNK28eapol_ethernet_header_base_c17get_source_lengthEv @ 1492 NONAME
-	_ZNK28eapol_ethernet_header_base_c22get_destination_lengthEv @ 1493 NONAME
-	_ZNK28eapol_ethernet_header_base_c8get_dataEm @ 1494 NONAME
-	_ZNK28eapol_ethernet_header_base_c8get_typeEv @ 1495 NONAME
-	_ZNK30eap_am_memory_store_tlv_data_c12get_timer_idEv @ 1496 NONAME
-	_ZNK30eap_am_memory_store_tlv_data_c16get_message_dataEv @ 1497 NONAME
-	_ZNK30eap_am_memory_store_tlv_data_c23get_message_data_lengthEv @ 1498 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI19eap_expanded_type_cE @ 1499 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI23eap_certificate_entry_cE @ 1500 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI23network_key_and_index_cE @ 1501 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI26simple_config_credential_cE @ 1502 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cItE @ 1503 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eap_am_network_id_c @ 1504 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eap_variable_data_c @ 1505 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eap_variable_data_cPK18eap_config_value_c @ 1506 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eapol_session_key_c @ 1507 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK21eap_method_settings_c @ 1508 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK23eap_certificate_entry_c @ 1509 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK23network_key_and_index_c @ 1510 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK26simple_config_credential_c @ 1511 NONAME
-	_ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK28abs_eap_state_notification_c @ 1512 NONAME
-	_ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 1513 NONAME
-	_ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 1514 NONAME
-	_ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 1515 NONAME
-	_ZTI10eap_core_c @ 1516 NONAME
-	_ZTI11EAPSettings @ 1517 NONAME
-	_ZTI12crypto_aes_c @ 1518 NONAME
-	_ZTI12crypto_cbc_c @ 1519 NONAME
-	_ZTI12crypto_dsa_c @ 1520 NONAME
-	_ZTI12crypto_md4_c @ 1521 NONAME
-	_ZTI12crypto_md5_c @ 1522 NONAME
-	_ZTI12crypto_rc4_c @ 1523 NONAME
-	_ZTI12crypto_rsa_c @ 1524 NONAME
-	_ZTI13crypto_hmac_c @ 1525 NONAME
-	_ZTI13crypto_sha1_c @ 1526 NONAME
-	_ZTI14eap_am_tools_c @ 1527 NONAME
-	_ZTI15EapMessageQueue @ 1528 NONAME
-	_ZTI15crypto_random_c @ 1529 NONAME
-	_ZTI15eap_base_type_c @ 1530 NONAME
-	_ZTI15eap_header_rd_c @ 1531 NONAME
-	_ZTI15eap_header_wr_c @ 1532 NONAME
-	_ZTI16EapMessageBuffer @ 1533 NONAME
-	_ZTI16EapServerStrings @ 1534 NONAME
-	_ZTI16TEapExpandedType @ 1535 NONAME
-	_ZTI16crypto_nt_hash_c @ 1536 NONAME
-	_ZTI16crypto_sha_256_c @ 1537 NONAME
-	_ZTI16crypto_tls_prf_c @ 1538 NONAME
-	_ZTI16eap_tlv_header_c @ 1539 NONAME
-	_ZTI17crypto_3des_ede_c @ 1540 NONAME
-	_ZTI17crypto_aes_wrap_c @ 1541 NONAME
-	_ZTI17eap_file_config_c @ 1542 NONAME
-	_ZTI17eap_header_base_c @ 1543 NONAME
-	_ZTI17eap_timer_queue_c @ 1544 NONAME
-	_ZTI17eapol_header_rd_c @ 1545 NONAME
-	_ZTI17eapol_header_wr_c @ 1546 NONAME
-	_ZTI18abs_eap_am_mutex_c @ 1547 NONAME
-	_ZTI18eap_buf_chain_rd_c @ 1548 NONAME
-	_ZTI18eap_buf_chain_wr_c @ 1549 NONAME
-	_ZTI18eap_config_value_c @ 1550 NONAME
-	_ZTI18eap_session_core_c @ 1551 NONAME
-	_ZTI19EapCertificateEntry @ 1552 NONAME
-	_ZTI19eap_am_crypto_md4_c @ 1553 NONAME
-	_ZTI19eap_am_crypto_rc4_c @ 1554 NONAME
-	_ZTI19eap_am_mutex_base_c @ 1555 NONAME
-	_ZTI19eap_am_network_id_c @ 1556 NONAME
-	_ZTI19eap_core_nak_info_c @ 1557 NONAME
-	_ZTI19eap_header_string_c @ 1558 NONAME
-	_ZTI19eap_method_values_c @ 1559 NONAME
-	_ZTI19eap_status_string_c @ 1560 NONAME
-	_ZTI19eap_variable_data_c @ 1561 NONAME
-	_ZTI19eapol_header_base_c @ 1562 NONAME
-	_ZTI19eapol_session_key_c @ 1563 NONAME
-	_ZTI20crypto_tls_md5_prf_c @ 1564 NONAME
-	_ZTI20eap_am_crypto_sha1_c @ 1565 NONAME
-	_ZTI20eap_buf_chain_base_c @ 1566 NONAME
-	_ZTI20eap_rogue_ap_entry_c @ 1567 NONAME
-	_ZTI20eap_type_selection_c @ 1568 NONAME
-	_ZTI21crypto_tls_base_prf_c @ 1569 NONAME
-	_ZTI21crypto_tls_sha1_prf_c @ 1570 NONAME
-	_ZTI21eap_am_memory_store_c @ 1571 NONAME
-	_ZTI21eap_method_settings_c @ 1572 NONAME
-	_ZTI21tls_peap_tlv_header_c @ 1573 NONAME
-	_ZTI22eap_am_mutex_symbian_c @ 1574 NONAME
-	_ZTI22eap_am_tools_symbian_c @ 1575 NONAME
-	_ZTI22eap_timer_queue_hash_c @ 1576 NONAME
-	_ZTI22eap_tlv_message_data_c @ 1577 NONAME
-	_ZTI23crypto_kd_hmac_sha256_c @ 1578 NONAME
-	_ZTI23eap_am_crypto_sha_256_c @ 1579 NONAME
-	_ZTI23eap_am_crypto_symbian_c @ 1580 NONAME
-	_ZTI23eap_certificate_entry_c @ 1581 NONAME
-	_ZTI23eap_session_core_base_c @ 1582 NONAME
-	_ZTI23eap_timer_queue_event_c @ 1583 NONAME
-	_ZTI23network_key_and_index_c @ 1584 NONAME
-	_ZTI24eap_am_mutex_reference_c @ 1585 NONAME
-	_ZTI24eap_master_session_key_c @ 1586 NONAME
-	_ZTI24eap_state_notification_c @ 1587 NONAME
-	_ZTI25eap_core_retransmission_c @ 1588 NONAME
-	_ZTI25eap_general_header_base_c @ 1589 NONAME
-	_ZTI25eap_network_id_selector_c @ 1590 NONAME
-	_ZTI26eapol_ethernet_header_rd_c @ 1591 NONAME
-	_ZTI26eapol_ethernet_header_wr_c @ 1592 NONAME
-	_ZTI26simple_config_credential_c @ 1593 NONAME
-	_ZTI27abs_crypto_hash_algorithm_c @ 1594 NONAME
-	_ZTI27abs_crypto_hmac_algorithm_c @ 1595 NONAME
-	_ZTI27eap_am_file_input_symbian_c @ 1596 NONAME
-	_ZTI28abs_crypto_block_algorithm_c @ 1597 NONAME
-	_ZTI28eapol_ethernet_header_base_c @ 1598 NONAME
-	_ZTI29abs_crypto_stream_algorithm_c @ 1599 NONAME
-	_ZTI30abs_eap_am_memory_store_data_c @ 1600 NONAME
-	_ZTI30crypto_wpa_psk_password_hash_c @ 1601 NONAME
-	_ZTI30eap_am_memory_store_tlv_data_c @ 1602 NONAME
-	_ZTI30eap_process_tlv_message_data_c @ 1603 NONAME
-	_ZTI31crypto_eap_fast_hmac_sha1_prf_c @ 1604 NONAME
-	_ZTI32abs_crypto_cbc_block_algorithm_c @ 1605 NONAME
-	_ZTI32eap_simple_config_trace_string_c @ 1606 NONAME
-	_ZTI33crypto_ephemeral_diffie_hellman_c @ 1607 NONAME
-	_ZTV10eap_core_c @ 1608 NONAME
-	_ZTV11EAPSettings @ 1609 NONAME
-	_ZTV12crypto_aes_c @ 1610 NONAME
-	_ZTV12crypto_cbc_c @ 1611 NONAME
-	_ZTV12crypto_dsa_c @ 1612 NONAME
-	_ZTV12crypto_md4_c @ 1613 NONAME
-	_ZTV12crypto_md5_c @ 1614 NONAME
-	_ZTV12crypto_rc4_c @ 1615 NONAME
-	_ZTV12crypto_rsa_c @ 1616 NONAME
-	_ZTV13crypto_hmac_c @ 1617 NONAME
-	_ZTV13crypto_sha1_c @ 1618 NONAME
-	_ZTV14eap_am_tools_c @ 1619 NONAME
-	_ZTV15EapMessageQueue @ 1620 NONAME
-	_ZTV15crypto_random_c @ 1621 NONAME
-	_ZTV15eap_base_type_c @ 1622 NONAME
-	_ZTV15eap_header_rd_c @ 1623 NONAME
-	_ZTV15eap_header_wr_c @ 1624 NONAME
-	_ZTV16EapMessageBuffer @ 1625 NONAME
-	_ZTV16EapServerStrings @ 1626 NONAME
-	_ZTV16TEapExpandedType @ 1627 NONAME
-	_ZTV16crypto_nt_hash_c @ 1628 NONAME
-	_ZTV16crypto_sha_256_c @ 1629 NONAME
-	_ZTV16crypto_tls_prf_c @ 1630 NONAME
-	_ZTV16eap_tlv_header_c @ 1631 NONAME
-	_ZTV17crypto_3des_ede_c @ 1632 NONAME
-	_ZTV17crypto_aes_wrap_c @ 1633 NONAME
-	_ZTV17eap_file_config_c @ 1634 NONAME
-	_ZTV17eap_header_base_c @ 1635 NONAME
-	_ZTV17eap_timer_queue_c @ 1636 NONAME
-	_ZTV17eapol_header_rd_c @ 1637 NONAME
-	_ZTV17eapol_header_wr_c @ 1638 NONAME
-	_ZTV18abs_eap_am_mutex_c @ 1639 NONAME
-	_ZTV18eap_buf_chain_rd_c @ 1640 NONAME
-	_ZTV18eap_buf_chain_wr_c @ 1641 NONAME
-	_ZTV18eap_config_value_c @ 1642 NONAME
-	_ZTV18eap_session_core_c @ 1643 NONAME
-	_ZTV19EapCertificateEntry @ 1644 NONAME
-	_ZTV19eap_am_crypto_md4_c @ 1645 NONAME
-	_ZTV19eap_am_crypto_rc4_c @ 1646 NONAME
-	_ZTV19eap_am_mutex_base_c @ 1647 NONAME
-	_ZTV19eap_am_network_id_c @ 1648 NONAME
-	_ZTV19eap_core_nak_info_c @ 1649 NONAME
-	_ZTV19eap_header_string_c @ 1650 NONAME
-	_ZTV19eap_method_values_c @ 1651 NONAME
-	_ZTV19eap_status_string_c @ 1652 NONAME
-	_ZTV19eap_variable_data_c @ 1653 NONAME
-	_ZTV19eapol_header_base_c @ 1654 NONAME
-	_ZTV19eapol_session_key_c @ 1655 NONAME
-	_ZTV20crypto_tls_md5_prf_c @ 1656 NONAME
-	_ZTV20eap_am_crypto_sha1_c @ 1657 NONAME
-	_ZTV20eap_buf_chain_base_c @ 1658 NONAME
-	_ZTV20eap_rogue_ap_entry_c @ 1659 NONAME
-	_ZTV20eap_type_selection_c @ 1660 NONAME
-	_ZTV21crypto_tls_base_prf_c @ 1661 NONAME
-	_ZTV21crypto_tls_sha1_prf_c @ 1662 NONAME
-	_ZTV21eap_am_memory_store_c @ 1663 NONAME
-	_ZTV21eap_method_settings_c @ 1664 NONAME
-	_ZTV21tls_peap_tlv_header_c @ 1665 NONAME
-	_ZTV22eap_am_mutex_symbian_c @ 1666 NONAME
-	_ZTV22eap_am_tools_symbian_c @ 1667 NONAME
-	_ZTV22eap_timer_queue_hash_c @ 1668 NONAME
-	_ZTV22eap_tlv_message_data_c @ 1669 NONAME
-	_ZTV23crypto_kd_hmac_sha256_c @ 1670 NONAME
-	_ZTV23eap_am_crypto_sha_256_c @ 1671 NONAME
-	_ZTV23eap_am_crypto_symbian_c @ 1672 NONAME
-	_ZTV23eap_certificate_entry_c @ 1673 NONAME
-	_ZTV23eap_session_core_base_c @ 1674 NONAME
-	_ZTV23eap_timer_queue_event_c @ 1675 NONAME
-	_ZTV23network_key_and_index_c @ 1676 NONAME
-	_ZTV24eap_am_mutex_reference_c @ 1677 NONAME
-	_ZTV24eap_master_session_key_c @ 1678 NONAME
-	_ZTV24eap_state_notification_c @ 1679 NONAME
-	_ZTV25eap_core_retransmission_c @ 1680 NONAME
-	_ZTV25eap_general_header_base_c @ 1681 NONAME
-	_ZTV25eap_network_id_selector_c @ 1682 NONAME
-	_ZTV26eapol_ethernet_header_rd_c @ 1683 NONAME
-	_ZTV26eapol_ethernet_header_wr_c @ 1684 NONAME
-	_ZTV26simple_config_credential_c @ 1685 NONAME
-	_ZTV27abs_crypto_hash_algorithm_c @ 1686 NONAME
-	_ZTV27abs_crypto_hmac_algorithm_c @ 1687 NONAME
-	_ZTV27eap_am_file_input_symbian_c @ 1688 NONAME
-	_ZTV28abs_crypto_block_algorithm_c @ 1689 NONAME
-	_ZTV28eapol_ethernet_header_base_c @ 1690 NONAME
-	_ZTV29abs_crypto_stream_algorithm_c @ 1691 NONAME
-	_ZTV30abs_eap_am_memory_store_data_c @ 1692 NONAME
-	_ZTV30crypto_wpa_psk_password_hash_c @ 1693 NONAME
-	_ZTV30eap_am_memory_store_tlv_data_c @ 1694 NONAME
-	_ZTV30eap_process_tlv_message_data_c @ 1695 NONAME
-	_ZTV31crypto_eap_fast_hmac_sha1_prf_c @ 1696 NONAME
-	_ZTV32abs_crypto_cbc_block_algorithm_c @ 1697 NONAME
-	_ZTV32eap_simple_config_trace_string_c @ 1698 NONAME
-	_ZTV33crypto_ephemeral_diffie_hellman_c @ 1699 NONAME
-	_ZThn12_N10eap_core_c12get_is_validEv @ 1700 NONAME
-	_ZThn12_N10eap_core_c12set_is_validEv @ 1701 NONAME
-	_ZThn12_N10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1702 NONAME
-	_ZThn12_N10eap_core_c8shutdownEv @ 1703 NONAME
-	_ZThn12_N10eap_core_c9configureEv @ 1704 NONAME
-	_ZThn12_N10eap_core_cD0Ev @ 1705 NONAME
-	_ZThn12_N10eap_core_cD1Ev @ 1706 NONAME
-	_ZThn12_N18eap_session_core_c12get_is_validEv @ 1707 NONAME
-	_ZThn12_N18eap_session_core_c12set_is_validEv @ 1708 NONAME
-	_ZThn12_N18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1709 NONAME
-	_ZThn12_N18eap_session_core_c8shutdownEv @ 1710 NONAME
-	_ZThn12_N18eap_session_core_c9configureEv @ 1711 NONAME
-	_ZThn12_N18eap_session_core_cD0Ev @ 1712 NONAME
-	_ZThn12_N18eap_session_core_cD1Ev @ 1713 NONAME
-	_ZThn16_N18eap_session_core_c12get_is_validEv @ 1714 NONAME
-	_ZThn16_N18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1715 NONAME
-	_ZThn16_N18eap_session_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 1716 NONAME
-	_ZThn16_N18eap_session_core_c18create_eap_sessionEPK19eap_am_network_id_c @ 1717 NONAME
-	_ZThn16_N18eap_session_core_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 1718 NONAME
-	_ZThn16_N18eap_session_core_c23cancel_all_eap_sessionsEv @ 1719 NONAME
-	_ZThn16_N18eap_session_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 1720 NONAME
-	_ZThn16_N18eap_session_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 1721 NONAME
-	_ZThn16_N18eap_session_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 1722 NONAME
-	_ZThn16_N18eap_session_core_c5resetEv @ 1723 NONAME
-	_ZThn16_N18eap_session_core_c8shutdownEv @ 1724 NONAME
-	_ZThn16_N18eap_session_core_c9configureEv @ 1725 NONAME
-	_ZThn16_N18eap_session_core_cD0Ev @ 1726 NONAME
-	_ZThn16_N18eap_session_core_cD1Ev @ 1727 NONAME
-	_ZThn4_N10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1728 NONAME
-	_ZThn4_N10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1729 NONAME
-	_ZThn4_N10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1730 NONAME
-	_ZThn4_N10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1731 NONAME
-	_ZThn4_N10eap_core_c13unload_moduleE19eap_expanded_type_c @ 1732 NONAME
-	_ZThn4_N10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1733 NONAME
-	_ZThn4_N10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1734 NONAME
-	_ZThn4_N10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1735 NONAME
-	_ZThn4_N10eap_core_c17get_header_offsetEPmS0_ @ 1736 NONAME
-	_ZThn4_N10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1737 NONAME
-	_ZThn4_N10eap_core_c19set_session_timeoutEm @ 1738 NONAME
-	_ZThn4_N10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 1739 NONAME
-	_ZThn4_N10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 1740 NONAME
-	_ZThn4_N10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1741 NONAME
-	_ZThn4_N10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1742 NONAME
-	_ZThn4_N10eap_core_c23set_authentication_roleEb @ 1743 NONAME
-	_ZThn4_N10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 1744 NONAME
-	_ZThn4_N10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1745 NONAME
-	_ZThn4_N10eap_core_cD0Ev @ 1746 NONAME
-	_ZThn4_N10eap_core_cD1Ev @ 1747 NONAME
-	_ZThn4_N14eap_am_tools_cD0Ev @ 1748 NONAME
-	_ZThn4_N14eap_am_tools_cD1Ev @ 1749 NONAME
-	_ZThn4_N18eap_session_core_cD0Ev @ 1750 NONAME
-	_ZThn4_N18eap_session_core_cD1Ev @ 1751 NONAME
-	_ZThn4_N21eap_am_memory_store_c13timer_expiredEmPv @ 1752 NONAME
-	_ZThn4_N21eap_am_memory_store_c17timer_delete_dataEmPv @ 1753 NONAME
-	_ZThn4_N21eap_am_memory_store_cD0Ev @ 1754 NONAME
-	_ZThn4_N21eap_am_memory_store_cD1Ev @ 1755 NONAME
-	_ZThn4_N22eap_am_mutex_symbian_cD0Ev @ 1756 NONAME
-	_ZThn4_N22eap_am_mutex_symbian_cD1Ev @ 1757 NONAME
-	_ZThn4_N22eap_am_tools_symbian_cD0Ev @ 1758 NONAME
-	_ZThn4_N22eap_am_tools_symbian_cD1Ev @ 1759 NONAME
-	_ZThn4_NK10eap_core_c19get_is_tunneled_eapEv @ 1760 NONAME
-	_ZThn536_N22eap_am_tools_symbian_cD0Ev @ 1761 NONAME
-	_ZThn536_N22eap_am_tools_symbian_cD1Ev @ 1762 NONAME
-	_ZThn8_N10eap_core_c13timer_expiredEmPv @ 1763 NONAME
-	_ZThn8_N10eap_core_c17timer_delete_dataEmPv @ 1764 NONAME
-	_ZThn8_N10eap_core_cD0Ev @ 1765 NONAME
-	_ZThn8_N10eap_core_cD1Ev @ 1766 NONAME
-	_ZThn8_N18eap_session_core_c13timer_expiredEmPv @ 1767 NONAME
-	_ZThn8_N18eap_session_core_c17timer_delete_dataEmPv @ 1768 NONAME
-	_ZThn8_N18eap_session_core_cD0Ev @ 1769 NONAME
-	_ZThn8_N18eap_session_core_cD1Ev @ 1770 NONAME
-	_ZN10eap_core_c36asynchronous_init_remove_eap_sessionEv @ 1771 NONAME
-	_ZN10eap_core_c43cancel_asynchronous_init_remove_eap_sessionEv @ 1772 NONAME
-	_ZN10eap_core_c47initialize_asynchronous_init_remove_eap_sessionEm @ 1773 NONAME
-	_ZN18eap_session_core_c36asynchronous_init_remove_eap_sessionEPK25eap_network_id_selector_c @ 1774 NONAME
-	_ZN22eap_am_tools_symbian_c17stop_timer_threadEv @ 1775 NONAME
-	_ZN22eap_am_tools_symbian_c18start_timer_threadEv @ 1776 NONAME
-	_ZN27eap_am_file_input_symbian_c12get_is_validEv @ 1777 NONAME
-	_ZN27eap_am_file_input_symbian_c14directory_openEPK19eap_variable_data_c @ 1778 NONAME
-	_ZN27eap_am_file_input_symbian_c14directory_readEP11eap_array_cI19abs_eap_file_stat_cE @ 1779 NONAME
-	_ZN27eap_am_file_input_symbian_c14file_read_wordEP19eap_variable_data_c @ 1780 NONAME
-	_ZN27eap_am_file_input_symbian_c15directory_closeEv @ 1781 NONAME
-	dss_pseudo_random @ 1782 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/tools/eabi/eaptraceu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z22eap_trace_data_symbianPKcPKvj @ 1 NONAME
-
--- a/eapol/eapol_framework/eapol_symbian/tools/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  Build information file for tools objects used by all other modules. This must be compiled first before any other module.
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef _EAP_TOOLS_GROUP_BLD_INF_
-#define _EAP_TOOLS_GROUP_BLD_INF_
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-
-// Eap Trace
-eaptrace.mmp
-
-// Eap Tools
-eaptools.mmp
-
-// Eap Tools for Symbian
-eapsymbiantools.mmp
-
-#endif //#ifndef _EAP_TOOLS_GROUP_BLD_INF_
-
-// End of file.
--- a/eapol/eapol_framework/eapol_symbian/tools/group/eapsymbiantools.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +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:  Project definition file for tools library.
-*
-*/
-
-/*
-* %version: 10 %
-*/
-
-//-------------------------------------------------------------------
-
-#include <platform_paths.hrh>
-#include "../../group/eapol.mmh"
-
-//-------------------------------------------------------------------
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-TARGET			eapsymbiantools.dll
-TARGETTYPE		dll
-UID			0x1000008d  0x20026fd0
-
-deffile eapsymbiantools.def
-
-SOURCEPATH ../../am/common/symbian
-SOURCE EapExpandedType.cpp
-SOURCE EapPluginTools.cpp
-
-///////////////////////////////////////////////////////////////////
-
-LANG	SC
-
-USERINCLUDE ../../am/type/symbian/plugin/include
-USERINCLUDE ../../am/common
-USERINCLUDE ../../../eapol_common/am/common
-USERINCLUDE ../../am/include
-USERINCLUDE ../../../eapol_common/am/include
-USERINCLUDE ../../../eapol_common/include
-USERINCLUDE ../../../eapol_common/type
-USERINCLUDE ../../../eapol_common/am/common/DSS_random
-USERINCLUDE ../../../eapol_common/type/tls_peap/tls/include
-USERINCLUDE ../../../eapol_common/type/simple_config/simple_config/include
-USERINCLUDE ../../../eapol_common/type/simple_config/eap/include
-
-USERINCLUDE ../../eap_if/include
-USERINCLUDE ../../eap_server/include
-
-
-SYSTEMINCLUDE	/epoc32/include/ecom
-SYSTEMINCLUDE	/epoc32/include/kernel 
-SYSTEMINCLUDE	/epoc32/include/libc
-SYSTEMINCLUDE	/epoc32/include/libc/netinet
-
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-LIBRARY		eaptools.lib eaptrace.lib
-LIBRARY		ecom.lib 
-LIBRARY		euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib
-LIBRARY     charconv.lib 
-
-MACRO USE_EAP_INTERFACE_EXPORTS
-
-
-//-------------------------------------------------------------------
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/tools/group/eaptools.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +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:  Project definition file for EAP-tools project.
-*
-*/
-
-/*
-* %version: 12 %
-*/
-
-//-------------------------------------------------------------------
-
-#include <platform_paths.hrh>
-#include "../../group/eapol.mmh"
-
-//-------------------------------------------------------------------
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-TARGET			eaptools.dll
-TARGETTYPE		dll
-UID			0x1000008d  0x20026FC8
-
-deffile eaptools.def
-
-SOURCEPATH ../../am/common/symbian 
-SOURCE dll_entry.cpp
-SOURCE eap_am_tools_symbian.cpp
-
-SOURCEPATH ../../am/common/symbian
-SOURCE eap_am_crypto_symbian.cpp
-SOURCE eap_am_mutex_symbian.cpp
-SOURCE EapConversion.cpp
-SOURCE EapExpandedType.cpp
-SOURCE EapMessageQueue.cpp
-SOURCE EapSettings.cpp
-
-SOURCEPATH ../../eap_server/src/
-SOURCE EapServerStrings.cpp
-
-SOURCEPATH	../../am/common/DSS_random
-SOURCE dss_random_symbian.cpp
-
-#if defined(USE_EAP_ASSERT_STACK_TRACE)
-SOURCEPATH ../../../eapol_common/am/common/stack
-SOURCE eap_am_stack_trace.cpp
-#endif //#if defined(USE_EAP_ASSERT_STACK_TRACE)
-
-SOURCEPATH	../../../eapol_common/am/common/crypto/md4
-SOURCE eap_am_crypto_md4.cpp
-
-SOURCEPATH	../../../eapol_common/am/common/crypto/rc4
-SOURCE eap_am_crypto_rc4.cpp
-
-SOURCEPATH	../../../eapol_common/am/common/crypto/sha1
-SOURCE eap_am_crypto_sha1.cpp
-
-SOURCEPATH	../../../eapol_common/am/common/crypto/sha-256
-SOURCE eap_am_crypto_sha_256.cpp
-
-SOURCEPATH	../../../eapol_common/am/common
-SOURCE eap_am_memory.cpp
-SOURCE eap_am_network_id.cpp
-SOURCE eap_am_tools.cpp
-SOURCE eap_timer_queue.cpp
-SOURCE eap_am_memory_store.cpp
-SOURCE eap_am_memory_store_data.cpp
-SOURCE abs_eap_am_mutex.cpp
-SOURCE eap_file_config.cpp
-
-SOURCEPATH	../../am/common/file_io/symbian
-SOURCE eap_am_file_input_symbian.cpp
-
-LIBRARY bafl.lib
-
-///////////////////////////////////////////////////////////////////
-
-LANG	SC
-
-SOURCEPATH	../../../eapol_common/common
-SOURCE eap_base_type.cpp
-SOURCE eap_buffer.cpp
-SOURCE eap_crypto_api.cpp
-SOURCE eap_header.cpp
-SOURCE eap_expanded_type.cpp
-SOURCE eap_header_string.cpp
-SOURCE eap_state_notification.cpp
-SOURCE eap_tools.cpp
-SOURCE eap_status_string.cpp
-SOURCE eap_variable_data.cpp
-SOURCE eap_master_session_key.cpp
-SOURCE eap_general_header_base.cpp
-SOURCE eap_rogue_ap_entry.cpp
-SOURCE eap_memory_store_variable_data.cpp
-SOURCE eapol_session_key.cpp
-SOURCE eap_network_id_selector.cpp
-SOURCE eapol_ethernet_header.cpp
-SOURCE eapol_header.cpp
-SOURCE eap_tlv_header.cpp
-SOURCE eap_tlv_message_data.cpp
-SOURCE eap_method_settings.cpp
-
-SOURCEPATH	../../../eapol_common/core
-SOURCE eap_core.cpp
-SOURCE eap_core_nak_info.cpp
-SOURCE eap_core_retransmission.cpp
-SOURCE eap_session_core.cpp
-SOURCE eap_type_selection.cpp
-SOURCE eap_process_tlv_message_data.cpp
-SOURCE eap_session_core_base.cpp
-
-SOURCEPATH	../../am/eap_test_timer/symbian 
-SOURCE eap_test_timer.cpp
-
-SOURCEPATH ../../../eapol_common/type/tls_peap/tls/src
-SOURCE tls_peap_tlv_header.cpp
-
-SOURCEPATH ../../../eapol_common/type/simple_config/simple_config/src
-SOURCE simple_config_credential.cpp
-SOURCE simple_config_types.cpp
-
-USERINCLUDE ..
-USERINCLUDE ../../am/type/symbian/plugin/include
-USERINCLUDE ../../am/common
-USERINCLUDE ../../../eapol_common/am/common
-USERINCLUDE ../../am/include
-USERINCLUDE ../../../eapol_common/am/include
-USERINCLUDE ../../../eapol_common/include
-USERINCLUDE ../../../eapol_common/type
-USERINCLUDE ../../../eapol_common/am/common/DSS_random
-USERINCLUDE ../../../eapol_common/type/tls_peap/tls/include
-USERINCLUDE ../../../eapol_common/type/simple_config/simple_config/include
-USERINCLUDE ../../../eapol_common/type/simple_config/eap/include
-
-#if defined(EAP_USE_WPXM)
-USERINCLUDE ../../../eapol_common/wpx_include
-#endif //#if defined(EAP_USE_WPXM)
-USERINCLUDE ../../eap_if/include
-USERINCLUDE ../../eap_server/include
-
-
-SYSTEMINCLUDE	/epoc32/include/ecom
-SYSTEMINCLUDE	/epoc32/include/kernel 
-SYSTEMINCLUDE	/epoc32/include/libc
-SYSTEMINCLUDE	/epoc32/include/libc/netinet
-
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-// Note, do not add eapsymbiantools.lib here. This library cannot use eapsymbiantools.lib because eapsymbiantools.lib already uses eaptools.lib.
-LIBRARY		ecom.lib
-LIBRARY		eaptrace.lib
-LIBRARY		euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib
-LIBRARY     charconv.lib
-
-MACRO USE_EAP_INTERFACE_EXPORTS
-
-//-------------------------------------------------------------------
-// End of File
--- a/eapol/eapol_framework/eapol_symbian/tools/group/eaptrace.mmp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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:  Project definition file for trace library.
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-//-------------------------------------------------------------------
-
-#include <platform_paths.hrh>
-#include "../../group/eapol.mmh"
-
-//-------------------------------------------------------------------
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-TARGET			eaptrace.dll
-TARGETTYPE		dll
-UID			0x1000008d  0x2002b38f
-
-deffile eaptrace.def
-
-SOURCEPATH ../../am/common/symbian
-SOURCE eap_am_trace_symbian.cpp
-
-///////////////////////////////////////////////////////////////////
-
-LANG	SC
-
-USERINCLUDE ../../am/type/symbian/plugin/include
-USERINCLUDE ../../am/common
-USERINCLUDE ../../../eapol_common/am/common
-USERINCLUDE ../../am/include
-USERINCLUDE ../../../eapol_common/am/include
-USERINCLUDE ../../../eapol_common/include
-USERINCLUDE ../../../eapol_common/type
-USERINCLUDE ../../../eapol_common/am/common/DSS_random
-USERINCLUDE ../../../eapol_common/type/tls_peap/tls/include
-USERINCLUDE ../../../eapol_common/type/simple_config/simple_config/include
-USERINCLUDE ../../../eapol_common/type/simple_config/eap/include
-
-USERINCLUDE ../../eap_if/include
-USERINCLUDE ../../eap_server/include
-
-
-SYSTEMINCLUDE	/epoc32/include/ecom
-SYSTEMINCLUDE	/epoc32/include/kernel 
-SYSTEMINCLUDE	/epoc32/include/libc
-SYSTEMINCLUDE	/epoc32/include/libc/netinet
-
-
-MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers.
-
-LIBRARY		ecom.lib 
-LIBRARY		euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib
-LIBRARY     charconv.lib 
-
-MACRO USE_EAP_INTERFACE_EXPORTS
-
-
-//-------------------------------------------------------------------
-// End of File
--- a/eapol/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ b/eapol/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -25,8 +25,6 @@
 PRJ_EXPORTS
 
 PRJ_MMPFILES
-// Tools libraries are used by many other modules. Tools libraries must be build first.
-#include "../eapol_framework/eapol_symbian/tools/group/bld.inf"
 #include "../eapol_framework/eapol_symbian/group/bld.inf"
 
 PRJ_TESTMMPFILES
--- a/group/bld.inf	Tue Aug 31 15:16:37 2010 +0300
+++ b/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2009 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"
@@ -11,13 +11,12 @@
 *
 * Contributors:
 *
-* Description: Build information file for all 
-*   project in eapol subsystem 
+* Description: Build information file for all project in eapol subsystem 
 *
 */
 
 /*
-* %version: 8 %
+* %version: %
 */
 
 PRJ_PLATFORMS
@@ -26,8 +25,8 @@
 PRJ_EXPORTS
 
 PRJ_MMPFILES
-
+#include "../wlansecuritysettings/group/bld.inf"
 #include "../accesssec_plat/group/bld.inf"
 #include "../eapol/group/bld.inf"
 
-PRJ_TESTMMPFILES
+PRJ_TESTMMPFILES
\ No newline at end of file
--- a/layers.sysdef.xml	Tue Aug 31 15:16:37 2010 +0300
+++ b/layers.sysdef.xml	Wed Sep 01 12:23:57 2010 +0100
@@ -1,14 +1,19 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
   <!ENTITY layer_real_source_path "sf/mw/accesssec" >
 ]>
 
-<SystemDefinition name="accesssec" schema="1.5.1">
+<SystemDefinition name="accesssec" schema="1.4.0">
   <systemModel>
     <layer name="mw_layer">
       <module name="accesssec">
-        <unit unitID="netdo.accesssecqt" mrp="" bldFile="&layer_real_source_path;" name="accesssecqt" proFile="accesssec.pro" qmakeArgs="-r"/>
-     </module>
+        <unit unitID="netdo.accesssec" mrp="" bldFile="&layer_real_source_path;/group" name="accesssec" />
+        <unit unitID="netdo.wpxeapol" mrp="" bldFile="&layer_real_source_path;/eapol/eapol_framework/eapol_symbian/group/wpxeapol" filter="dfs_build" name="wpxeapol" />
+        <unit unitID="netdo.wpxeap" mrp="" bldFile="&layer_real_source_path;/eapol/eapol_framework/eapol_symbian/group/wpxeap" filter="dfs_build" name="wpxeap" />
+        <unit unitID="netdo.wpx" mrp="" bldFile="&layer_real_source_path;/wlansecuritysettings/wlaneapsettingsui/group/wpx" filter="dfs_build" name="wpx" />
+        <unit unitID="netdo.wapisymbian" mrp="" bldFile="&layer_real_source_path;/eapol/eapol_framework/wapi_symbian/group" filter="dfs_build" name="wapisymbian" />
+        <unit unitID="netdo.wapiui" mrp="" bldFile="&layer_real_source_path;/wlansecuritysettings/wapisecuritysettingsui/group/" filter="dfs_build" name="wapiui" />
+      </module>
     </layer>
   </systemModel>
 </SystemDefinition>
\ No newline at end of file
--- a/package_definition.xml	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0"  xmlns:qt="http://www.nokia.com/qt">
- <package id="accesssec" name="Access Security" levels="plugin framework server generic specific">
-  <collection id="accesssec_plat" name="Access Security Platform Interfaces" level="specific">
-   <component id="eap_vpn_api" name="EAP VPN API" class="api" filter="s60">
-    <meta rel="Api" href="accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml"/>
-    <unit bldFile="accesssec_plat/eap_vpn_api/group"/>
-   </component>
-   <component id="eap_type_api" name="EAP Type API" class="api" filter="s60">
-    <meta rel="Api" href="accesssec_plat/eap_type_api/eap_type_api.metaxml"/>
-    <unit bldFile="accesssec_plat/eap_type_api/group"/>
-   </component>
-   <component id="eap_qt_configuration_api" name="EAP Qt Configuration API" class="api" filter="s60" introduced="^4">
-    <unit bldFile="accesssec_plat" qt:proFile="accesssec_plat.pro"/>
-   </component>
-  </collection>
-  <collection id="securitysettings" name="WLAN Security Settings" level="specific">
-   <component id="accesssec_qtconfigutils" filter="s60" name="Access Security Config Utils" introduced="^4">
-    <unit bldFile="securitysettings/qtconfigutils" qt:proFile="qtconfigutils.pro"/>
-   </component>
-   <component id="cpwlansecurityuiplugins" filter="s60" name="Control Panel WLAN Security UI Plugins" class="plugin" introduced="^4">
-    <unit bldFile="securitysettings/cpwlansecurityuiplugins" qt:proFile="cpwlansecurityuiplugins.pro"/>
-   </component>
-   <component id="cpeapuiplugins" filter="s60" name="Control Panel EAP UI Pugins" class="plugin"  introduced="^4">
-    <unit bldFile="securitysettings/cpeapuiplugins" qt:proFile="cpeapuiplugins.pro"/>
-   </component>
-   <component id="eapqtdialogs" filter="s60" name="EAP Qt Dialogs" introduced="^4">
-    <unit bldFile="securitysettings/eapqtdialogs" qt:proFile="eapqtdialogs.pro"/>
-   </component>
-  </collection>
-  <collection id="eapol" name="EAPOL" level="framework">
-   <component id="eapol_framework" filter="s60" name="EAPOL Framework" introduced="9.2">
-    <unit bldFile="eapol/group"/>
-   </component>
-  </collection>
- </package>
-</SystemDefinition>
--- a/package_map.xml	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-<PackageMap root="sf" layer="mw"/>
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/bwins/cpeapciphersuiteuiu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
-	??_ECpEapCiphersuiteUi@@UAE@I@Z @ 1 NONAME ; CpEapCiphersuiteUi::~CpEapCiphersuiteUi(unsigned int)
-	??1CpEapCiphersuiteUi@@UAE@XZ @ 2 NONAME ; CpEapCiphersuiteUi::~CpEapCiphersuiteUi(void)
-	??0CpEapCiphersuiteUi@@QAE@AAVQVariant@@@Z @ 3 NONAME ; CpEapCiphersuiteUi::CpEapCiphersuiteUi(class QVariant &)
-	?ciphersuites@CpEapCiphersuiteUi@@QAE?AVQVariant@@XZ @ 4 NONAME ; class QVariant CpEapCiphersuiteUi::ciphersuites(void)
-
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/cpeapciphersuiteui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#	Control Panel QT UI for TLS ciphersuite configuration in EAP methods
-#
-
-# %version: 9 %
-
-
-TEMPLATE = lib
-TARGET = cpeapciphersuiteui
-
-DEFINES += BUILD_CP_EAP_CIPHERSUITE_UI_DLL
-
-CONFIG += hb
-
-LIBS += -lcpframework
-
-MOC_DIR    = _build
-RCC_DIR    = _build
-OBJECTS_DIR= _build
-
-HEADERS += \
-    ../inc/eapuidefs.h \
-	inc/cpeapciphersuiteui.h \
-	inc/cpeapciphersuiteui_p.h
-             
-SOURCES += \
-	src/cpeapciphersuiteui.cpp \
-	src/cpeapciphersuiteui_p.cpp
-    
-symbian: {
-	TARGET.UID3 = 0x2002C2F8
-	TARGET.CAPABILITY = CAP_GENERAL_DLL
-	TARGET.EPOCALLOWDLLDATA = 1
-
-	defFilePath = .
-  	
-  	BLD_INF_RULES.prj_exports += \ 
-  		"rom/cpeapciphersuiteui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeapciphersuiteui.iby)" \
-  		"inc/cpeapciphersuiteui.h    |../inc/cpeapciphersuiteui.h"
-  	
-}
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/eabi/cpeapciphersuiteuiu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	_ZN18CpEapCiphersuiteUi12ciphersuitesEv @ 1 NONAME
-	_ZN18CpEapCiphersuiteUiC1ER8QVariant @ 2 NONAME
-	_ZN18CpEapCiphersuiteUiC2ER8QVariant @ 3 NONAME
-	_ZN18CpEapCiphersuiteUiD0Ev @ 4 NONAME
-	_ZN18CpEapCiphersuiteUiD1Ev @ 5 NONAME
-	_ZN18CpEapCiphersuiteUiD2Ev @ 6 NONAME
-	_ZTI18CpEapCiphersuiteUi @ 7 NONAME
-	_ZTV18CpEapCiphersuiteUi @ 8 NONAME
-	_ZThn8_N18CpEapCiphersuiteUiD0Ev @ 9 NONAME
-	_ZThn8_N18CpEapCiphersuiteUiD1Ev @ 10 NONAME
-
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   Control Panel QT UI for TLS ciphersuite configiration in EAP methods
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-
-#ifndef CP_EAP_CIPHERSUITE_UI_H
-#define CP_EAP_CIPHERSUITE_UI_H
-
-// System includes
-#include <QVariant>
-#include <cpsettingformitemdata.h>
-
-// User includes
-
-// Forward declarations
-class CpEapCiphersuiteUiPrivate;
-
-// External data types
-
-// Constants
-
-
-//If BUILD_CP_EAP_CIPHERSUITE_UI_DLL macro is defined 
-// in the project file,
-//The dll is exported, 
-//otherwise, 
-//the dll will be imported(used)
-#ifdef BUILD_CP_EAP_CIPHERSUITE_UI_DLL
-#define CP_EAP_CIPHERSUITE_UI_EXPORT Q_DECL_EXPORT
-#else
-#define CP_EAP_CIPHERSUITE_UI_EXPORT Q_DECL_IMPORT
-#endif
-
-
-/*!
- * @addtogroup group_eap_cipher_suite
- * @{
- */
-class CP_EAP_CIPHERSUITE_UI_EXPORT CpEapCiphersuiteUi: public CpSettingFormItemData
-{
-public:
-    CpEapCiphersuiteUi( QVariant &ciphersuites );
-    ~CpEapCiphersuiteUi();
-
-    QVariant ciphersuites();
-
-private:
-    Q_DISABLE_COPY(CpEapCiphersuiteUi)
-    CpEapCiphersuiteUi();
-    QScopedPointer<CpEapCiphersuiteUiPrivate> d_ptr;
-};
-
-/*! @} */
-
-#endif
-
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   Control Panel QT UI for TLS ciphersuite configiration in EAP methods
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef CP_EAP_CIPHERSUITE_UI_P_H
-#define CP_EAP_CIPHERSUITE_UI_P_H
-
-// System includes
-#include <hbdataformmodelitem.h> 
-
-// User includes
-
-// Forward declarations
-class CpSettingFormItemData;
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_cipher_suite
- * @{
- */
-
-class CpEapCiphersuiteUiPrivate
-{
-public:
-    CpEapCiphersuiteUiPrivate();
-    
-    ~CpEapCiphersuiteUiPrivate();
-
-    int ciphersuiteSelected(QVariant suites, int id);
-
-    CpSettingFormItemData* createGroupItem(
-        QVariant &suites, QString name, int id);
-    
-private:
-    friend class CpEapCiphersuiteUi;
-    QHash<HbDataFormModelItem*, int> mSuiteMapper;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/rom/cpeapciphersuiteui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Image description file for cipher suites UI 
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#ifndef CPEAPCIPHERSUITEUI_IBY
-#define CPEAPCIPHERSUITEUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpeapciphersuiteui.dll SHARED_LIB_DIR/cpeapciphersuiteui.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPEAPCIPHERSUITEUI_IBY
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   Control Panel QT UI for TLS ciphersuite configiration in EAP methods
-*
-*/
-
-/*
-* %version: 8 %
-*/
-
-// System includes
-#include <qlist.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "cpeapciphersuiteui.h"
-#include "cpeapciphersuiteui_p.h"
-#include "eapuidefs.h"
-
-/*!
- * \class CpEapCiphersuiteUi
- * \brief Control Panel QT UI for TLS ciphersuite configiration in EAP methods. 
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param suites List of selected cipher suites
- */ 
-CpEapCiphersuiteUi::CpEapCiphersuiteUi( QVariant &suites ) :
-    CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId(
-        "txt_occ_subhead_cipher_suites"))
-{ 
-    qDebug("CpEapCiphersuiteUi::CpEapCiphersuiteUi()");
-    d_ptr.reset(new CpEapCiphersuiteUiPrivate());
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_AES_SHA,
-        EapQtConfig::TLS_RSA_WITH_AES_128_CBC_SHA));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_RSA_AES_SHA,
-        EapQtConfig::TLS_DHE_RSA_WITH_AES_128_CBC_SHA));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_DSS_AES_SHA,
-        EapQtConfig::TLS_DHE_DSS_WITH_AES_128_CBC_SHA));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_3DES_SHA,
-        EapQtConfig::TLS_RSA_WITH_3DES_EDE_CBC_SHA));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_RSA_3DES_SHA,
-        EapQtConfig::TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_DSS_3DES_SHA,
-        EapQtConfig::TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_RC4_MD5,
-        EapQtConfig::TLS_RSA_WITH_RC4_128_MD5));
-
-    appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_RC4_SHA,
-        EapQtConfig::TLS_RSA_WITH_RC4_128_SHA));
-    
-    qDebug("CpEapCiphersuiteUi::CpEapCiphersuiteUi() - complete");
-}
-
-/*!
- * Destructor.
- */
-CpEapCiphersuiteUi::~CpEapCiphersuiteUi()
-{
-
-}
-
-/*!
- * Creates list of selected cipher suites
- * 
- * @return List of selected cipher suites
- */
-QVariant CpEapCiphersuiteUi::ciphersuites()
-{ 
-    QList<QVariant> suites;
-
-    for (int i = 0; i < childCount(); ++i) {
-        QVariant state(childAt(i)->contentWidgetData("checkState"));
-        if (state.toInt() == Qt::Checked) {
-            qDebug("Cipher suite selected: 0x%04x", d_ptr->mSuiteMapper[childAt(i)]);
-            suites.append(QVariant(d_ptr->mSuiteMapper[childAt(i)]));           
-        }
-        else {
-            qDebug("Cipher suite not selected: 0x%04x", d_ptr->mSuiteMapper[childAt(i)]);
-        }
-    }
-    
-    return QVariant(suites);
-}
--- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   Control Panel QT UI for TLS ciphersuite configiration in EAP methods
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-// System includes
-#include <cpsettingformitemdata.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "cpeapciphersuiteui_p.h"
-
-/*!
- * \class CpEapCiphersuiteUiPrivate
- * \brief Control Panel QT UI for TLS ciphersuite configiration in EAP methods. 
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- */ 
-CpEapCiphersuiteUiPrivate::CpEapCiphersuiteUiPrivate()
-{
-
-}
-
-/*!
- * Destructor.
- */
-CpEapCiphersuiteUiPrivate::~CpEapCiphersuiteUiPrivate()
-{
-
-}
-
-/*!
- * Tells the caller is requested cipher suite selected
- * 
- * @param suites List of selected cipher suites
- * @param id Index of requested cipher suite
- * 
- * @return Qt::Checked if requested cipher suite is found from the list
- *         Qt::Unchecked otherwise
- */
-int CpEapCiphersuiteUiPrivate::ciphersuiteSelected(QVariant suites, int id)
-{
-    QList<QVariant> suiteList(suites.toList());
-    int ret = Qt::Unchecked;
-    for (int i = 0; i < suiteList.count(); ++i) {
-        
-        if (suiteList.at(i).toInt() == id) {
-            ret = Qt::Checked;
-            break;
-        }
-    } 
-    
-    return ret;
-}
-
-/*!
- * Creates Cipher suite group item
- * 
- * @param suites List of selected cipher suites
- * @param name Localisation string of the cipher suite
- * @param id Index of the cipher suite
- * 
- * @return CpSettingFormItemData: Cipher suite check box
- */
-CpSettingFormItemData* CpEapCiphersuiteUiPrivate::createGroupItem(
-    QVariant &suites, QString name, int id)
-{
-    qDebug("CpEapCiphersuiteUiPrivate::createGroupItem - id: 0x%04x", id);
-    QScopedPointer<CpSettingFormItemData> mItem;
-    mItem.reset(new CpSettingFormItemData(
-        HbDataFormModelItem::CheckBoxItem, QString("")));
-    mItem->setContentWidgetData("text", name);
-    mItem->setContentWidgetData("checkState", ciphersuiteSelected(
-        suites, id));
-    mSuiteMapper[mItem.data()] = id;
-    
-    CpSettingFormItemData* tmp = mItem.data();
-    mItem.take();
-    return tmp;
-}
--- a/securitysettings/cpeapuiplugins/cpeapsimakaui/cpeapsimakaui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Project info file for Control Panel SIM/AKA settings plugin. 
-#
-
-# %version:  11 %
-
-
-TEMPLATE = lib
-TARGET = cpeapsimakaui
-
-INCLUDEPATH += \
-    ../../inc
-
-CONFIG += hb \
-    plugin
-
-LIBS += -lcpframework \
-        -leapqtconfiginterface \
-        -leapqtplugininfo 
-
-MOC_DIR    = _build
-RCC_DIR    = _build
-OBJECTS_DIR= _build
-
-
-# Sources
-HEADERS +=  \
-    ../inc/eapuidefs.h \
-    inc/cpeapsimakaui.h \
-    inc/cpeapsimakaplugin.h   
-
-SOURCES += \ 
-    src/cpeapsimakaui.cpp \
-    src/cpeapsimakaplugin.cpp
-
-symbian: { 
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002C2F9  
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-
-    deploy.path = C:
-    qtplugins.path = /resource/qt/plugins/controlpanel/eapsecurity
-    qtplugins.sources += qmakepluginstubs/cpeapsimakaui.qtplugin
-
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-    
-    BLD_INF_RULES.prj_exports += \ 
-  		"rom/cpeapsimakaui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeapsimakaui.iby)"
-}
-
-plugin.sources += cpeapsimakaui.dll
-plugin.path = /resource/qt/plugins/controlpanel/eapsecurity
-DEPLOYMENT += plugin
--- a/securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaplugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT plugin for EAP-SIM and EAP-AKA 
- *   method configuration
- *
- */
-
-/*
- * %version:  7 %
- */
-
-#ifndef CPEAPSIMAKAPLUGIN_H
-#define CPEAPSIMAKAPLUGIN_H
-
-// System includes
-#include <QObject>
-// User includes
-#include "cpeapplugininterface.h"
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_simaka
- * @{
- */
-class CpEapSimAkaPlugin: public QObject, public CpEapPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpEapPluginInterface)
-
-public:
-    CpEapSimAkaPlugin();
-    ~CpEapSimAkaPlugin();
-
-    void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, const int iapId);
-    QList<EapQtPluginInfo> pluginInfo();
-    CpBaseSettingView* uiInstance(const EapQtPluginHandle& outerHandle,
-        const EapQtPluginInfo &plugin);
-
-private:
-    EapQtConfigInterface::EapBearerType mBearer;
-    int mIapId;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT UI for EAP-SIM and EAP-AKA method configuration
- *
- */
-
-/*
- * %version:  14 %
- */
-
-#ifndef CPEAPSIMAKAUI_H
-#define CPEAPSIMAKAUI_H
-
-// System includes
-#include <cpbasesettingview.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtplugininfo.h>
-#include <eapqtpluginhandle.h>
-
-// User includes
-
-// Forward declarations
-class HbDataForm;
-class HbDataFormModel;
-class HbDataFormModelItem;
-class CpSettingFormItemData;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_simaka
- * @{
- */
-
-class CpEapSimAkaUi : public CpBaseSettingView
-{
-Q_OBJECT
-
-public:
-    CpEapSimAkaUi(
-        const EapQtConfigInterface::EapBearerType bearer,
-        const int iapId,
-        const EapQtPluginInfo &plugin,
-        const EapQtPluginHandle& outerHandle);
-    ~CpEapSimAkaUi();
-
-protected:
-    void close();
-    
-private:
-    void createUi();
-    void createUsername();
-    void createRealm();
-    
-    bool checkStateToBool(const int state);
-    int boolToCheckState(const bool state);
-    
-    bool storeSettings();
-    bool validate();
-    bool validateGroup(CpSettingFormItemData *edit, CpSettingFormItemData *checkBox,
-        EapQtValidator* validator);
-
-private slots:
-    void setValidator(const QModelIndex);
-    void usernameAutomaticChanged(int state);
-    void realmAutomaticChanged(int state);
-
-private:
-    //! Pointer to EapQtConfigInterface
-    QScopedPointer <EapQtConfigInterface> mConfigIf;
-    //! Plugin info
-    EapQtPluginInfo mPluginInfo;
-    //! Outer handle
-    EapQtPluginHandle mOuterHandle;
-    //! Current EAP configuration
-    EapQtConfig mEapConfig;
-    
-    //! Dataform
-    HbDataForm *mForm;
-    //! Datform model
-    HbDataFormModel *mModel;
-    //! Control Panel item data helper for EAP-SIM/AKA plugins
-    CpItemDataHelper *mItemDataHelper;
-    //! EAP-SIM/AKA settings group
-    HbDataFormModelItem *mGroupItem;
-    //! Username generate automatically checkBox
-    CpSettingFormItemData *mUsernameAutomatic;
-    //! Username lineEdit
-    CpSettingFormItemData *mUsername;
-    //! Realm generate automatically checkBox
-    CpSettingFormItemData *mRealmAutomatic;
-    //! Realm lineEdit
-    CpSettingFormItemData *mRealm;
-
-    //! Realm validator
-    QScopedPointer<EapQtValidator> mValidatorRealm;
-    //! Username validator
-    QScopedPointer<EapQtValidator> mValidatorUsername;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeapsimakaui/rom/cpeapsimakaui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Image description file for SIM/AKA UI
-*
-*/
-
-/*
- * %version:  4 %
- */
- 
-#ifndef CPEAPSIMAKAUI_IBY
-#define CPEAPSIMAKAUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpeapsimakaui.dll SHARED_LIB_DIR/cpeapsimakaui.dll
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/eapsecurity/cpeapsimakaui.qtplugin   resource/qt/plugins/controlpanel/eapsecurity/cpeapsimakaui.qtplugin 
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPEAPSIMAKAUI_IBY
--- a/securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaplugin.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT plugin for EAP-SIM and EAP-AKA 
- *   method configuration
- *
- */
-
-/*
- * %version:  10 %
- */
-
-// System includes
-#include <eapqtpluginhandle.h>
-
-// User includes
-#include "cpeapsimakaplugin.h"
-#include "cpeapsimakaui.h"
-#include "eapuidefs.h"
-
-/*!
- * \class CpEapSimAkaPlugin
- * \brief Control Panel QT plugin for EAP-SIM and EAP-AKA method configuration. 
- */
-
-// External function prototypes
-
-// Local constants
-
-Q_EXPORT_PLUGIN2(CpEapSimAkaPlugin, CpEapSimAkaPlugin);
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- */
-CpEapSimAkaPlugin::CpEapSimAkaPlugin() :
-    mBearer(EapQtConfigInterface::EapBearerTypeWlan),
-    mIapId(EapQtConfigInterface::IapIdUndefined)
-{
-    // Nothing to be done
-    qDebug("CpEapSimAkaPlugin created");
-}
-
-/*!
- * Destructor.
- */
-CpEapSimAkaPlugin::~CpEapSimAkaPlugin()
-{
-    // Nothing to be done
-    // UI instances are owned and deallocated by CP framework
-    qDebug("CpEapSimAkaPlugin destroyed");
-}
-
-/*!
- * See CpEapPluginInterface::setSettingsReference()
- * 
- * @param bearer Bearer of the accessed settings
- * @param iapId ID of the accessed IAP
- */
-void CpEapSimAkaPlugin::setSettingsReference(const EapQtConfigInterface::EapBearerType bearer,
-    const int iapId)
-{
-    mBearer = bearer;
-    mIapId = iapId;
-}
-
-/*!
- * See CpEapPluginInterface::pluginInfo()
- * 
- * @return Plugin info (EAP-SIM and EAP-AKA)
- */
-QList<EapQtPluginInfo> CpEapSimAkaPlugin::pluginInfo()
-{
-    qDebug("CpEapSimAkaPlugin: provide plugin info");
-    QList<EapQtPluginInfo> ret;
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginEapSim,
-        EapQtUiConstants::StringEapSim,
-        EapQtUiConstants::OrderEapSim));
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginEapAka,
-        EapQtUiConstants::StringEapAka,
-        EapQtUiConstants::OrderEapAka));
-
-    return ret;
-}
-
-/*!
- * See CpEapPluginInterface::uiInstance()
- * 
- * Creates UI instance
- * 
- * @param outerHandle Plugin handle to outer EAP type.
- * @param plugin Plugin info
- * 
- * @return SIM/AKA UI instance
- */
-CpBaseSettingView* CpEapSimAkaPlugin::uiInstance(
-    const EapQtPluginHandle& outerHandle,
-    const EapQtPluginInfo &plugin)
-{
-    qDebug("CpEapSimAkaPlugin: create UI instance");
-
-    Q_ASSERT(mIapId != EapQtConfigInterface::IapIdUndefined);
-
-    // instance is owned and deallocated by CP framework
-    return new CpEapSimAkaUi(mBearer, mIapId, plugin, outerHandle);
-}
--- a/securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,417 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT UI for EAP-SIM and EAP-AKA method configuration
- *
- */
-
-/*
- * %version:  18 %
- */
-
-// System includes
-#include <HbDataForm>
-#include <HbDataFormModel>
-#include <HbDataFormViewItem>
-#include <HbParameterLengthLimiter>
-#include <HbMessageBox> 
-#include <HbAction>
-#include <HbLineEdit>
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-#include "cpeapsimakaui.h"
-
-/*!
- * \class CpEapSimAkaUi
- * \brief Implementes EAP-SIM and EAP-AKA method configuration ui. 
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param bearer        Bearer type of the accessed configuration.
- * @param iapId         IAP ID of the accessed configuration.
- * @param plugin        Plugin.
- * @param outerHandle   Outer handle.
- */
-CpEapSimAkaUi::CpEapSimAkaUi(
-    const EapQtConfigInterface::EapBearerType bearer,
-    const int iapId,
-    const EapQtPluginInfo &plugin,
-    const EapQtPluginHandle& outerHandle) :
-        mConfigIf(NULL),
-        mPluginInfo(plugin),
-        mOuterHandle(outerHandle),
-        mForm(NULL),
-        mModel(NULL),
-        mItemDataHelper(NULL),
-        mGroupItem(NULL),
-        mUsernameAutomatic(NULL),
-        mUsername(NULL),
-        mRealmAutomatic(NULL),
-        mRealm(NULL),
-        mValidatorRealm(NULL),
-        mValidatorUsername(NULL)
-{
-    qDebug("CpEapSimAkaUi::CpEapSimAkaUi");
-
-    // IAP must be valid in construction (check includes
-    // EapQtConfigInterface::IapIdUndefined)
-    if (iapId < 0) {
-        QT_THROW(std::bad_alloc());
-        // scoped pointer gets deleted automaticaly on exception
-    }
-
-    // Get EAP config interface
-    mConfigIf.reset(new EapQtConfigInterface(bearer, iapId));
-    
-    createUi();
-}
-
-/*!
- * Destructor.
- */
-CpEapSimAkaUi::~CpEapSimAkaUi()
-{
-    qDebug("CpEapSimAkaUi::~CpEapSimAkaUi");
-
-    // mValidatorRealm, mValidatorUsername
-    // mConfigIf: scoped pointer deleted automatically
-}
-
-/*!
- * Creates EAP-SIM/AKA UI and initilizes settings read via
- * EapQtConfigInterface
- */
-void CpEapSimAkaUi::createUi()
-{
-    qDebug("CpEapSimAkaUi::createUi");
-
-    // Read EAP Configurations
-    bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(),
-        mEapConfig);
-    if (!configurationRead) {
-        qDebug("CpEapSimAkaUi::initializeSimAkaUi - read configuration failed.");
-    }
-    
-    // Construct EAP-SIM/AKA settings UI 
-    mForm = new HbDataForm();
-    this->setWidget(mForm);
-    mModel = new HbDataFormModel(mForm);
-
-    mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
-        HbParameterLengthLimiter(
-            hbTrId("txt_occ_subhead_eap_module_settings")).arg(
-                mPluginInfo.localizationId()));
-    mModel->appendDataFormItem(mGroupItem);
-
-    // The parameter given as 0 is a HbDataForm pointer, not parent
-    mItemDataHelper = new CpItemDataHelper(0);
-    mItemDataHelper->setParent(this);
-
-    // Create UI components
-    createUsername();
-    createRealm();
-    
-    mItemDataHelper->bindToForm(mForm);
-    mForm->setModel(mModel);
-    
-    // Connect signal to add validators when items get activated (visualization created).
-    bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this,
-        SLOT( setValidator(const QModelIndex) ));
-    Q_ASSERT(connected);
-
-    // Expand EAP-SIM/AKA settings group
-    mForm->setExpanded(mModel->indexFromItem(mGroupItem), true);
-}
-
-/*!
- * Creates Username group:
- * Generate automatically checkBox and username lineEdit
- */
-void CpEapSimAkaUi::createUsername()
-{
-    qDebug("CpEapSimAkaUi::createUsername()");
-    // UsernameAutomatic
-    mUsernameAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    mUsernameAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_user_name_val_generate_automatica"));
-    // Initialize the value from EapQtConfig
-    // Generate username automatically is selected by default
-    mUsernameAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::UsernameAutomatic).toBool()));
-    // Connect signal to disable/enable username when usernameAutomatic changed   
-    mForm->addConnection(mUsernameAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(usernameAutomaticChanged(int)));
-    mGroupItem->appendChild(mUsernameAutomatic);
-
-    //Username
-    mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username));
-    // Dim username if usernameAutomatic selected
-    usernameAutomaticChanged(mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mUsername);
-}
-
-/*!
- * Creates Realm group:
- * Generate automatically checkBox and realm lineEdit
- */
-void CpEapSimAkaUi::createRealm()
-{
-    qDebug("CpEapSimAkaUi::createRealm()");
-    // RealmAutomatic
-    mRealmAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_realm"));
-    mRealmAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_realm_val_generate_automatically"));
-    // Initialize the value from EapQtConfig
-    // Generate realm automatically is selected by default
-    mRealmAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::RealmAutomatic).toBool()));
-    // connect signal to disable/enable realm when realmAutomatic changed 
-    mForm->addConnection(mRealmAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(realmAutomaticChanged(int)));
-    mGroupItem->appendChild(mRealmAutomatic);
-
-    //Realm
-    mRealm = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_realm"));
-    mRealm->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Realm));
-    // Dim realm if realmAutomatic selected
-    realmAutomaticChanged(mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mRealm);
-}
-
-/*!
- * Adds validators.
- * 
- * @param modelIndex Model index
- */
-void CpEapSimAkaUi::setValidator(const QModelIndex modelIndex)
-{
-    qDebug("CpEapUserPasswordUi::itemActivated");
-
-    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
-        (mForm->itemByIndex(modelIndex));
-    HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
-    
-    if (modelItem == mUsername) {
-        // When username lineEdit is activated (shown) first time, validator is added
-        mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-            EapQtConfig::Username));
-        HbLineEdit *edit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorUsername->updateEditor(edit);
-    }
-    else if (modelItem == mRealm) {
-        // When realm lineEdit is activated (shown) first time, validator is added
-        mValidatorRealm.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-                EapQtConfig::Realm));
-        HbLineEdit *edit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorRealm->updateEditor(edit);
-    }
-}
-
-/*!
- * This is called when user is about to exit the view.
- * Validates configuration and saves settings.
- * If configuration is not valid prompts question dialog.
- * If user chooses "OK" leaves without saving.
- * 
- */
-void CpEapSimAkaUi::close()
-{
-    qDebug("CpEapSimAkaUi::close");
-
-    // Validate configuration
-    if (validate()) {
-        qDebug("CpEapSimAkaUi::close - Validation OK");
-
-        // Store settings
-        if (storeSettings()){
-            qDebug("CpEapSimAkaUi::close - Settings stored, close view");
-            // Close view
-            CpBaseSettingView::close();   
-        }
-        else {
-            qDebug("CpEapSimAkaUi::close - Store settings failed, prompt warning");
-            // Store failed. Show error note to user
-            QScopedPointer<HbMessageBox> infoBox;
-            infoBox.reset(new HbMessageBox(
-                HbMessageBox::MessageTypeWarning));
-            infoBox->setAttribute(Qt::WA_DeleteOnClose);
-            infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting"));
-            infoBox->clearActions();
-            // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal
-            HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-            infoBox->addAction(okAction);
-            bool connected = connect(
-                okAction,
-                SIGNAL(triggered()),
-                this,
-                SIGNAL(aboutToClose()));
-            Q_ASSERT(connected);
-            infoBox->open();
-            infoBox.take();
-        }
-    }
-    else {
-        qDebug("CpEapSimAkaUi::close - validation failed. Prompt question.");
-        QScopedPointer<HbMessageBox> messageBox;
-        messageBox.reset(new HbMessageBox(
-            HbMessageBox::MessageTypeQuestion));
-        messageBox->setAttribute(Qt::WA_DeleteOnClose);
-        messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa"));
-        messageBox->clearActions();
-        // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal
-        HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes"));
-        messageBox->addAction(okAction);
-        bool connected = connect(
-            okAction,
-            SIGNAL(triggered()),
-            this,
-            SIGNAL(aboutToClose()));
-        Q_ASSERT(connected);
-        // Clicking 'NO'-button does nothing
-        HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no"));
-        messageBox->addAction(cancelAction);
-        messageBox->setTimeout(HbPopup::NoTimeout);
-        messageBox->open();
-        messageBox.take();
-    }
-}
-
-/*!
- * Dims the realm if generate realm automatically has been selected.
- * 
- * @param state Tells is generate automatically checked.
- */
-void CpEapSimAkaUi::realmAutomaticChanged(int state)
-{
-    qDebug("CpEapSimAkaUi::realmAutomaticChanged");
-
-    mRealm->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Dims the username if generate username automatically has been selected.
- * 
- * @param state Tells is generate automatically checked.
- */
-void CpEapSimAkaUi::usernameAutomaticChanged(int state)
-{
-    qDebug("CpEapSimAkaUi::usernameAutomaticChanged");
-
-    mUsername->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Converts check box state to boolean.
- * 
- * @param state Check box state
- * 
- * @return true if Check box is checked, false otherwise.
- */
-bool CpEapSimAkaUi::checkStateToBool(const int state)
-{
-    return (Qt::Unchecked == state ? false : true);
-}
-
-/*!
- * Converts boolean to check box state.
- * 
- * @param state Tells is check box checked.
- * 
- * @return Qt check state
- */
-int CpEapSimAkaUi::boolToCheckState(const bool state)
-{
-    return (false == state ? Qt::Unchecked : Qt::Checked);
-}
-
-/*!
- * Validates settings configuration.
- * 
- * @return true if configuration OK, false otherwise.
- */
-bool CpEapSimAkaUi::validate()
-{
-    bool valid = false;
-
-    if (validateGroup(mUsername, mUsernameAutomatic, mValidatorUsername.data()) 
-        && validateGroup(mRealm, mRealmAutomatic, mValidatorRealm.data())) {
-        valid = true;
-    }
-
-    return valid;
-}
-
-/*!
- * Validates checkBox and lineEdit group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapSimAkaUi::validateGroup(CpSettingFormItemData *edit, CpSettingFormItemData *checkBox,
-    EapQtValidator *validator)
-{
-    bool status = false;
-    // true if generate automatically is checked or given value is valid
-    if (checkBox->contentWidgetData("checkState") == Qt::Checked
-        || EapQtValidator::StatusOk == validator->validate(
-            edit->contentWidgetData("text"))) {
-        status = true;
-    }
-    return status;
-}
-
-/*!
- * Stores settings given via SIM-AKA configuration UI
- * 
- * @return false if saving failed, true otherwise
- */
-bool CpEapSimAkaUi::storeSettings()
-{
-    qDebug("CpEapSimAkaUi::storeSettings");
-
-    EapQtConfig eapConfig;
-
-    eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle));
-    eapConfig.setValue(EapQtConfig::UsernameAutomatic, checkStateToBool(
-        mUsernameAutomatic->contentWidgetData("checkState").toInt()));
-    eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text"));
-    eapConfig.setValue(EapQtConfig::RealmAutomatic, checkStateToBool(
-        mRealmAutomatic->contentWidgetData("checkState").toInt()));
-    eapConfig.setValue(EapQtConfig::Realm, mRealm->contentWidgetData("text"));
-
-    // Save configuration
-    if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) {
-        qDebug("CpEapSimAkaUi::storeSettings - configuration saving failed.");
-        return false;
-    }
-    return true;
-}
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/cpeaptlsmethodsui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#	Control Panel QT UI for TLS-based EAP methods configuration
-#
-
-# %version: 13 %
-
-
-TEMPLATE = lib
-TARGET = cpeaptlsmethodsui
-
-INCLUDEPATH += \
-    ../../inc
-
-CONFIG += hb \
-    plugin
-
-LIBS += -lcpframework \
-        -leapqtconfiginterface \
-        -leapqtplugininfo \
-        -lcpeapciphersuiteui
-
-MOC_DIR    = _build
-RCC_DIR    = _build
-OBJECTS_DIR= _build
-
-
-# Sources
-HEADERS +=  \
-    ../inc/eapuidefs.h \
-    inc/cpeaptlsmethodsui.h \
-    inc/cpeaptlsmethodsplugin.h \
-    inc/cpeaptlsmethodsinnereapui.h  
-
-SOURCES += \ 
-    src/cpeaptlsmethodsui.cpp \
-    src/cpeaptlsmethodsplugin.cpp \
-    src/cpeaptlsmethodsinnereapui.cpp
-
-symbian: { 
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002C2FA  
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-
-    deploy.path = c:
-    qtplugins.path = /resource/qt/plugins/controlpanel/eapsecurity
-    qtplugins.sources += qmakepluginstubs/cpeaptlsmethodsui.qtplugin
-
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-    
-    BLD_INF_RULES.prj_exports += \ 
-  		"rom/cpeaptlsmethodsui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeaptlsmethodsui.iby)"
-}
-
-plugin.sources += cpeaptlsmethodsui.dll
-plugin.path = /resource/qt/plugins/controlpanel/eapsecurity
-DEPLOYMENT += plugin
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsinnereapui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel Inner EAP Entry item for TLS-based EAP methods
- *
- */
-
-/*
- * %version: 3 %
- */
-
-#ifndef CPEAPTLSMETHODSINNEREAPUI_H
-#define CPEAPTLSMETHODSINNEREAPUI_H
-
-// System includes
-#include <cpsettingformentryitemdata.h>
-
-// User includes
-
-// Forward declarations
-class CpEapTlsMethodsUi;
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_eap_tlsmethods
- * @{
- */
-
-class EapInnerMethodEntryItemData : public CpSettingFormEntryItemData
-{
-public:
-    EapInnerMethodEntryItemData(
-        CpEapTlsMethodsUi* tlsUi, 
-        CpItemDataHelper &itemDataHelper,
-        const QString &text);
-    
-    virtual ~EapInnerMethodEntryItemData();
-
-    virtual CpBaseSettingView *createSettingView() const;
-
-private:
-    CpEapTlsMethodsUi* mTlsUi;
-    CpItemDataHelper& mItemDataHelper;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsplugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT plugin for TLS-based EAP methods configuration
- *
- */
-
-/*
- * %version:  6 %
- */
-
-#ifndef CPEAPTLSMETHODSPLUGIN_H
-#define CPEAPTLSMETHODSPLUGIN_H
-
-// System includes
-#include <QObject>
-
-// User includes
-#include "cpeapplugininterface.h"
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_tlsmethods
- * @{
- */
-class CpEapTlsMethodsPlugin : public QObject, public CpEapPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpEapPluginInterface)
-
-public:
-    CpEapTlsMethodsPlugin();
-    ~CpEapTlsMethodsPlugin();
-
-    void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, const int iapId);
-    QList<EapQtPluginInfo> pluginInfo();
-    CpBaseSettingView* uiInstance(const EapQtPluginHandle& outerHandle,
-        const EapQtPluginInfo &plugin);
-    
-private:
-    EapQtConfigInterface::EapBearerType mBearer;
-    int mIapId;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT UI for TLS-based EAP methods configuration
- *
- */
-
-/*
- * %version: 17 %
- */
-
-#ifndef CPEAPTLSMETHODSUI_H
-#define CPEAPTLSMETHODSUI_H
-
-// System includes
-#include <cpbasesettingview.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtplugininfo.h>
-#include <eapqtpluginhandle.h>
-
-// User includes
-
-// Forward declarations
-class HbDataForm;
-class HbDataFormModel;
-class HbDataFormModelItem;
-class HbMessageBox;
-class CpSettingFormItemData;
-class EapQtValidator;
-class EapQtCertificateInfo;
-class CpEapCiphersuiteUi;
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_eap_tlsmethods
- * @{
- */
-
-class CpEapTlsMethodsUi : public CpBaseSettingView
-{
-Q_OBJECT
-
-public:
-    CpEapTlsMethodsUi(
-        const EapQtConfigInterface::EapBearerType bearer,
-        const int iapId,
-        const EapQtPluginInfo &plugin,
-        const EapQtPluginHandle& outerHandle);
-    ~CpEapTlsMethodsUi();
-
-    CpBaseSettingView *innerUiInstance();
-
-protected:
-    void close();
-
-private:
-    // Supported PEAP versions
-    enum PeapVersions {
-        //PEAPv0
-        PeapVersion0,
-        //PEAPv1
-        PeapVersion1,
-        //PEAPv0 or PEAPv1
-        PeapVersionBoth
-    };
-    
-private:
-    void createUi();
-    void createTlsUi();
-    void createTtlsUi();
-    void createPeapUi();
-    void createFastUi();
-    
-    void createUsername();
-    void createRealm();
-    void createUserCerts();
-    void createAuthorityCerts();
-    void createPeapVersion();
-    void createInnerMethod();
-    void createEapSelector();
-    
-    void defaultInnerPlugin();
-
-    bool checkStateToBool(const int state);
-    int boolToCheckState(const bool state);
-    
-    bool validate();
-    bool validateUsernameGroup();
-    bool validateRealmGroup();
-    bool validateAuthorityCertificate();
-    bool validateUserCertificate();
-    bool validateCiphersuites();
-    void setPeapVersion(EapQtConfig &eapConfig);
-    bool storeSettings();
-    
-private slots:  
-    void setValidator(const QModelIndex);
-    void usernameAutomaticChanged(int state);
-    void realmAutomaticChanged(int state);
-    void userCertChanged(int value);
-    void authorityCertAutomaticChanged(int state);
-    void authorityCertChanged(int value);
-    void peapVersionChanged(int value);
-    void innerEapTypeChanged(int value);
-    
-private:
-    //! Pointer to EapQtConfigInterface
-    QScopedPointer <EapQtConfigInterface> mConfigIf;
-    //! List of supported Inner EAP types
-    QList<EapQtPluginInfo> mPlugins;
-    //! Plugin info
-    EapQtPluginInfo mPluginInfo;
-    //! Outer handle
-    EapQtPluginHandle mOuterHandle;
-    //! Current EAP configuration
-    EapQtConfig mEapConfig;
-    
-    //! Dataform
-    HbDataForm *mForm;
-    //! Datform model
-    HbDataFormModel *mModel;
-    //! Control Panel item data helper for TLS methods plugins
-    CpItemDataHelper *mItemDataHelper;
-    //! TLS based methods settings group
-    HbDataFormModelItem *mGroupItem;    
-    //! Username generate automatically checkBox
-    CpSettingFormItemData *mUsernameAutomatic;
-    //! Username lineEdit
-    CpSettingFormItemData *mUsername;
-    //! Realm generate automatically checkBox
-    CpSettingFormItemData *mRealmAutomatic;
-    //! Realm lineEdit
-    CpSettingFormItemData *mRealm;
-    //! Authority certificate select automatically checkBox
-    CpSettingFormItemData *mCaCertAutomatic;
-    //! Authority certificate comboBox
-    CpSettingFormItemData *mCaCert;
-    //! Peap version comboBox
-    CpSettingFormItemData *mPeapVersion;
-    //! Inner EAP type comboBox
-    CpSettingFormItemData *mInnerEapType;
-    //! Cipher suites group
-    CpEapCiphersuiteUi *mGroupItemCs;
-    
-    //! Realm validator
-    QScopedPointer<EapQtValidator> mValidatorRealm;
-    //! Username validator
-    QScopedPointer<EapQtValidator> mValidatorUsername;
-    
-    //! List of system's user certificates
-    QList<EapQtCertificateInfo> mUserCerts;
-    //! Index of selected user certificate
-    int mCurrentUserCert;
-    //! List if system's authority certificates
-    QList<EapQtCertificateInfo> mAuthorityCerts;
-    //! Index of selected authority certificate
-    int mCurrentAuthorityCert;
-    //! Index of current PEAP version 
-    //  0:PEAPv0, 1:PEAPv2, 2:PEAPv0 or PEAPv1
-    int mCurrentPeapVersion;
-    //! Index of selected Inner EAP type
-    int mCurrentInnerPlugin;
-    //! Index of inner type EAP-MSCHAPv2, default value for PEAP and EAP-FAST 
-    int mInnerEapMschapv2;
-    //! Index of inner type EAP-GTC, default value for PEAPv1
-    int mInnerEapGtc;
-    //! Tells if no inner EAP type is stored and default value is used instead
-    bool mDefaultPluginInUse;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/rom/cpeaptlsmethodsui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Image description file for TLS based methods settings UI
-*
-*/
-
-/*
- * %version: 4 %
- */
- 
-#ifndef CPEAPTLSMETHODSUI_IBY
-#define CPEAPTLSMETHODSUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpeaptlsmethodsui.dll SHARED_LIB_DIR/cpeaptlsmethodsui.dll
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/eapsecurity/cpeaptlsmethodsui.qtplugin   resource/qt/plugins/controlpanel/eapsecurity/cpeaptlsmethodsui.qtplugin
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPEAPTLSMETHODSUI_IBY
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsinnereapui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   Control Panel Inner EAP methods Entry Item for TLS-based 
- *   EAP methods 
- *
- */
-
-/*
- * %version: 2 %
- */
-
-// System includes
-#include <HbDataFormModelItem>
-
-
-// User includes
-#include "cpeaptlsmethodsinnereapui.h"
-#include "cpeaptlsmethodsui.h"
-
-
-/*!
- * \class  EapInnerMethodEntryItemData
- * \brief  Implements Inner EAP method Entry Item
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor
- * 
- * @param tlsUi Pointer to TLS-methods UI object
- * @param itemDataHelpper Control Panel Item data helpper object
- * @param text Text for entry button
- */
-EapInnerMethodEntryItemData::EapInnerMethodEntryItemData(
-    CpEapTlsMethodsUi* tlsUi, 
-    CpItemDataHelper &itemDataHelper,
-    const QString &text) :
-        CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem,
-            itemDataHelper, text), 
-        mTlsUi(tlsUi),
-        mItemDataHelper(itemDataHelper)
-{
-}
-
-/*!
- * Desctructor.
- */
-EapInnerMethodEntryItemData::~EapInnerMethodEntryItemData()
-{
-    qDebug("EapInnerMethodEntryItemData::~EapInnerMethodEntryItemData()");
-}
-
-/*!
- * Implements CpSettingFormEntryItemData::createSettingView
- */
-CpBaseSettingView* EapInnerMethodEntryItemData::createSettingView() const
-{
-    qDebug("EapInnerMethodEntryItemData::createSettingView()");
-    return mTlsUi->innerUiInstance();
-}
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsplugin.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT plugin for TLS-based EAP methods configuration 
- *
- */
-
-/*
- * %version:  7 %
- */
-
-// System includes
-#include <eapqtpluginhandle.h>
-
-// User includes
-#include "cpeaptlsmethodsplugin.h"
-#include "cpeaptlsmethodsui.h"
-#include "eapuidefs.h"
-
-/*!
- * \class CpEapTlsMethodsPlugin
- * \brief Control Panel QT plugin for TLS-based EAP methods configuration. 
- */
-
-// External function prototypes
-
-// Local constants
-
-Q_EXPORT_PLUGIN2(CpEapTlsMethodsPlugin, CpEapTlsMethodsPlugin);
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- */
-CpEapTlsMethodsPlugin::CpEapTlsMethodsPlugin() :
-    mBearer(EapQtConfigInterface::EapBearerTypeWlan),
-    mIapId(EapQtConfigInterface::IapIdUndefined)
-{
-    // Nothing to be done
-
-    qDebug("CpEapTlsMethodsPlugin created");
-}
-
-/*!
- * Destructor.
- */
-CpEapTlsMethodsPlugin::~CpEapTlsMethodsPlugin()
-{
-    // Nothing to be done
-    // UI instances are owned and deallocated by CP framework
-
-    qDebug("CpEapTlsMethodsPlugin destroyed");
-}
-
-/*!
- * See CpEapPluginInterface::setSettingsReference()
- * 
- * @param bearer Bearer of the accessed settings
- * @param iapId ID of the accessed IAP
- */
-void CpEapTlsMethodsPlugin::setSettingsReference(const EapQtConfigInterface::EapBearerType bearer,
-    const int iapId)
-{
-    mBearer = bearer;
-    mIapId = iapId;
-}
-
-/*!
- * See CpEapPluginInterface::pluginInfo()
- * 
- * @return Plugin info
- */
-QList<EapQtPluginInfo> CpEapTlsMethodsPlugin::pluginInfo()
-{
-    qDebug("CpEapTlsMethodsPlugin: provide plugin info");
-    QList<EapQtPluginInfo> ret;
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginEapTtls,
-        EapQtUiConstants::StringEapTtls,
-        EapQtUiConstants::OrderEapTtls) );
-    
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginPeap,
-        EapQtUiConstants::StringPeap,
-        EapQtUiConstants::OrderPeap) );
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginEapTls,
-        EapQtUiConstants::StringEapTls,
-        EapQtUiConstants::OrderEapTls) );
-
-    return ret;
-}
-
-/*!
- * See CpEapPluginInterface::uiInstance()
- * 
- * Creates UI instance
- * 
- * @param outerHandle Plugin handle to outer EAP type.
- * @param plugin Plugin info
- * 
- * @return TLS methods UI instance
- */
-CpBaseSettingView* CpEapTlsMethodsPlugin::uiInstance(
-    const EapQtPluginHandle& outerHandle,
-    const EapQtPluginInfo &plugin)
-{
-
-    Q_ASSERT(mIapId != EapQtConfigInterface::IapIdUndefined);
-
-    qDebug("CpEapTlsMethodsPlugin: create UI instance");
-    return new CpEapTlsMethodsUi(mBearer, mIapId, plugin, outerHandle);
-}
--- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,985 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   Control Panel QT UI for TLS-based EAP methods configuration
- *
- */
-
-/*
- * %version: 24 %
- */
-
-// System includes
-#include <HbDataForm>
-#include <HbDataFormModel>
-#include <HbDataFormViewItem>
-#include <HbParameterLengthLimiter>
-#include <HbMessageBox> 
-#include <HbAction>
-#include <HbLineEdit>
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtcertificateinfo.h>
-#include <cppluginutility.h>
-
-// User includes
-#include "cpeapciphersuiteui.h"
-#include "cpeaptlsmethodsui.h"
-#include "cpeaptlsmethodsinnereapui.h"
-
-/*!
- * \class CpEapTlsMethodsUi
- * \brief Implementes TLS based methods configuration ui. 
- */
-
-// External function prototypes
-
-// Local constants
-
-/*!
- * ComboBox index is unkown
- */
-static const int UnknownIndex = -1;
-/*!
- * Default index for ComboBox, used if no value has been stored
- */
-static const int DefaultIndex = 0;
-/*!
- * Index of 'Not in use'in certificate selection lists.
- */
-static const int NotInUseIndex = 0;
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param bearer        Bearer type of the accessed configuration.
- * @param iapId         IAP ID of the accessed configuration.
- * @param plugin        Plugin.
- * @param outerHandle   Outer handle.
- */
-
-CpEapTlsMethodsUi::CpEapTlsMethodsUi(
-    const EapQtConfigInterface::EapBearerType bearer,
-    const int iapId,
-    const EapQtPluginInfo &plugin,
-    const EapQtPluginHandle& outerHandle) :
-        mConfigIf(NULL),
-        mPluginInfo(plugin),
-        mOuterHandle(outerHandle),
-        mForm(NULL),
-        mModel(NULL),
-        mItemDataHelper(NULL),
-        mGroupItem(NULL),
-        mUsernameAutomatic(NULL),
-        mUsername(NULL),
-        mRealmAutomatic(NULL),
-        mRealm(NULL),
-        mCaCertAutomatic(NULL),
-        mCaCert(NULL),
-        mPeapVersion(NULL),
-        mInnerEapType(NULL),
-        mGroupItemCs(NULL),
-        mCurrentUserCert(0),
-        mCurrentAuthorityCert(0),
-        mCurrentPeapVersion(0),
-        mCurrentInnerPlugin(0),
-        mInnerEapMschapv2(0),
-        mInnerEapGtc(0),
-        mDefaultPluginInUse(false)
-{
-    qDebug("CpEapTlsMethodsUi::CpEapTlsMethodsUi()");
-
-    // IAP must be valid in construction (check includes
-    // EapQtConfigInterface::IapIdUndefined)
-    if (iapId < 0) {
-        QT_THROW(std::bad_alloc());
-        // scoped pointer gets deleted automaticaly on exception
-    }
-
-    // Get EAP config interface
-    mConfigIf.reset(new EapQtConfigInterface(bearer, iapId));
-    
-    // Request supported inner EAP types
-    mPlugins.append(mConfigIf->supportedInnerTypes(mPluginInfo.pluginHandle()));
-
-    // Create UI
-    createUi();
-}
-
-/*!
- * Destructor.
- */
-CpEapTlsMethodsUi::~CpEapTlsMethodsUi()
-{
-    qDebug("CpEapTlsMethodsUi::~CpEapTlsMethodsUi()");
-    
-    // mEapQtConfigInterface: scoped pointer deleted automatically
-    // mValidatorRealm: scoped pointer deleted automatically
-    // mValidatorUsername: scoped pointer deleted automatically
-}
-
-/*!
- * Calls inner UI instance
- * 
- * @return pointer to inner UI instance
- */
-CpBaseSettingView *CpEapTlsMethodsUi::innerUiInstance()
-{
-    return mConfigIf->uiInstance(mPluginInfo.pluginHandle(),
-        mPlugins.at(mCurrentInnerPlugin).pluginHandle());
-}
-
-/*!
- * Creates TLS based methods UI and initilizes settings read via
- * EapQtConfigInterface
- */
-void CpEapTlsMethodsUi::createUi()
-{
-    qDebug("CpEapTlsMethodsUi::createUi()");
-
-    // Read EAP Configurations
-    bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(),
-        mEapConfig);
-    if (!configurationRead) {
-        qDebug("CpEapTlsMethodsUi::createUi - read configuration failed.");
-    }
-    
-    // Construct TLS based methods settings UI
-    mForm = new HbDataForm();
-    this->setWidget(mForm);
-    CpPluginUtility::addCpItemPrototype(mForm);
-    mModel = new HbDataFormModel(mForm);
-    
-    // Create settings group
-    mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
-        HbParameterLengthLimiter(
-            hbTrId("txt_occ_subhead_eap_module_settings")).arg(
-            mPluginInfo.localizationId()));
-    mModel->appendDataFormItem(mGroupItem);
-
-    // The parameter given as 0 is a HbDataForm pointer, not parent
-    mItemDataHelper = new CpItemDataHelper(0);
-    mItemDataHelper->setParent(this);
-
-    // Create method specific UI
-    if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls) {
-        createTlsUi();
-    }
-    else if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTtls) {
-        createTtlsUi();
-    }
-    else if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginPeap) {
-        createPeapUi();
-    }
-    else {
-        qDebug("CpEapTlsMethodsUi::createUi() - unknown EAP method");
-    }
-    
-    // Load cipher suites view
-    QVariant variant;
-    variant = mEapConfig.value(EapQtConfig::CipherSuites);
-    mGroupItemCs = new CpEapCiphersuiteUi(variant);
-    mModel->appendDataFormItem(mGroupItemCs);
-
-    mItemDataHelper->bindToForm(mForm);
-    mForm->setModel(mModel);
-
-    // Connect signal to add validators
-    bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this,
-        SLOT( setValidator(const QModelIndex) ));
-    Q_ASSERT(connected); 
-    
-    // Expand TLS based method settings group
-    mForm->setExpanded(mModel->indexFromItem(mGroupItem), true);
-}
-
-/*!
- * Creates EAP-TLS settings UI
- */
-void CpEapTlsMethodsUi::createTlsUi()
-{
-    qDebug("CpEapTlsMethodsUi::createTlsUi()");
-    // Create common TLS settings componenets
-    createAuthorityCerts();
-    createUserCerts();
-    createUsername();
-    createRealm();
-}
-
-/*!
- * Creates EAP-TTLS settings UI
- */
-void CpEapTlsMethodsUi::createTtlsUi()
-{
-    qDebug("CpEapTlsMethodsUi::createTtlsUi()");
-    // Create common TLS settings componenets
-    createAuthorityCerts();
-    createUserCerts();
-    createUsername();
-    createRealm();
-    
-    // Create Inner Eap type selection comboBox and configuration button
-    createInnerMethod();
-}
-
-/*!
- * Creates PEAP settings UI
- */
-void CpEapTlsMethodsUi::createPeapUi()
-{
-    qDebug("CpEapTlsMethodsUi::createPeapUi()");
-    // Create common TLS settings componenets
-    createAuthorityCerts();
-    createUserCerts();
-    createUsername();
-    createRealm();
- 
-    // Create PEAP version selection comboBox
-    createPeapVersion();
-    
-    // Create Inner Eap type selection comboBox and configuration button    
-    createInnerMethod();
-    
-    // If not stored inner Eap type, set default inner EAP method
-    // according PEAP version
-    if (mDefaultPluginInUse) {
-        defaultInnerPlugin();
-    }
-}
-/*!
- * Creates Username group:
- * Generate automatically checkBox and username lineEdit
- */
-void CpEapTlsMethodsUi::createUsername()
-{
-    qDebug("CpEapTlsMethodsUi::createUsername()");
-    // UsernameAutomatic
-    mUsernameAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    mUsernameAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_user_name_val_generate_automatica"));
-    // Initialize the value from EapQtConfig
-    // Generate username automatically is selected by default
-    mUsernameAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::UsernameAutomatic).toBool()));
-    // Connect signal to disable/enable username when usernameAutomatic changed   
-    mForm->addConnection(mUsernameAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(usernameAutomaticChanged(int)));
-    mGroupItem->appendChild(mUsernameAutomatic);
-
-    //Username
-    mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username));
-    // Dim username if usernameAutomatic selected
-    usernameAutomaticChanged(mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mUsername);
-}
-
-/*!
- * Creates Realm group:
- * Generate automatically checkBox and realm lineEdit
- */
-void CpEapTlsMethodsUi::createRealm()
-{
-    qDebug("CpEapTlsMethodsUi::createRealm()");
-    // RealmAutomatic
-    mRealmAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_realm"));
-    mRealmAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_realm_val_generate_automatically"));
-    // Initialize the value from EapQtConfig
-    // Generate realm automatically is selected by default
-    mRealmAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::RealmAutomatic).toBool()));
-    // connect signal to disable/enable realm when realmAutomatic changed 
-    mForm->addConnection(mRealmAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(realmAutomaticChanged(int)));
-    mGroupItem->appendChild(mRealmAutomatic);
-
-    //Realm
-    mRealm = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_realm"));
-    mRealm->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Realm));
-    // Dim realm if realmAutomatic selected
-    realmAutomaticChanged(mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mRealm); 
-}
-
-/*!
- * Creates User certificate selection comboBox
- */
-void CpEapTlsMethodsUi::createUserCerts()
-{
-    qDebug("CpEapTlsMethodsUi::createUserCerts()");
-    // Create User certificate comboBox
-    CpSettingFormItemData *userCertList = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_user_certificate"));
-    
-    // Stored certificate
-    QList<QVariant> storedCertsList = mEapConfig.value(EapQtConfig::UserCertificate).toList();
-    EapQtCertificateInfo storedCert;
-    if (!storedCertsList.empty() && storedCertsList[0].canConvert<EapQtCertificateInfo> ()) {
-        // Stored certificate found, index is still unknown 
-        storedCert = storedCertsList[0].value<EapQtCertificateInfo> ();
-        mCurrentUserCert = UnknownIndex;
-    }
-    else {
-        // no stored certificate, use 'not in use'
-        mCurrentUserCert = DefaultIndex;
-    }
-
-    // User certificates found from system
-    mUserCerts = mConfigIf->userCertificates();
-    
-    // List of comboBox items
-    QStringList items;
-    // Add 'Not in use' to comboBox list
-    items << hbTrId("txt_occ_setlabel_user_certificate_val_not_in_use");
-    // Add certificates to comboBox list and find index of stored certificate
-    for (int i = 0; i < mUserCerts.count(); ++i) {
-        items << mUserCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString();
-        if (mCurrentUserCert == UnknownIndex 
-            && storedCert.value(EapQtCertificateInfo::SubjectKeyId)
-            == mUserCerts.at(i).value(EapQtCertificateInfo::SubjectKeyId)) {
-            mCurrentUserCert = i + 1;
-        }
-    }
-    if (mCurrentUserCert == UnknownIndex) {
-        // Stored certificate not found in the certificate list
-        qDebug("CpEapTlsMethodsUi::createUserCerts() - stored certificate not in the list");
-        mCurrentUserCert = DefaultIndex;
-    }
-    
-    // Initialize comboBox
-    userCertList->setContentWidgetData("items", items);
-    userCertList->setContentWidgetData("currentIndex", mCurrentUserCert);
-    
-    // Get info when user certificate selection has been changed
-    mForm->addConnection(userCertList, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(userCertChanged(int)));
-    mGroupItem->appendChild(userCertList);
-}
-
-/*!
- * Creates Authority certs group:
- * Select automatically check box and certificate comboBox
- */
-void CpEapTlsMethodsUi::createAuthorityCerts()
-{
-    qDebug("CpEapTlsMethodsUi::createAuthorityCerts()");
-    // Select Authority Certificate Automatically
-    mCaCertAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_authority_certificate"));
-    mCaCertAutomatic->setContentWidgetData("text", hbTrId(
-        "txt_occ_setlabel_authority_certificate_val_select"));
-    // Initialize the value from EapQtConfig
-    // Select CA Cert automatically is selected by default
-    mCaCertAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::AuthorityCertificateAutomatic).toBool()));
-    // connect signal to disable/enable CA cert when CaCertAutomatic changed 
-    mForm->addConnection(mCaCertAutomatic, SIGNAL(stateChanged(int)), this,
-        SLOT(authorityCertAutomaticChanged(int)));
-    mGroupItem->appendChild(mCaCertAutomatic);
-    
-    // Authority certificate comboBox
-    mCaCert = new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_authority_certificate"));
-    
-    // Stored certificate from EAP configuration
-    QList<QVariant> storedCertsList = mEapConfig.value(EapQtConfig::AuthorityCertificate).toList();
-    EapQtCertificateInfo storedCert;
-    if (!storedCertsList.empty() && storedCertsList[0].canConvert<EapQtCertificateInfo> ()) {
-        // Stored certificate found, index is still unknown 
-        storedCert = storedCertsList[0].value<EapQtCertificateInfo> ();
-        mCurrentAuthorityCert = UnknownIndex;
-    }
-    else {
-        // no selected certificate, use 'not in use'
-        mCurrentAuthorityCert = DefaultIndex;
-    }
-
-    // Authority certificates found from system
-    mAuthorityCerts = mConfigIf->certificateAuthorityCertificates();
-    
-    // List of comboBox items
-    QStringList items;
-    // Add 'Not in use' to comboBox list
-    items << hbTrId("txt_occ_setlabel_authority_certificate_val_not_in");
-    // Add certificates to comboBox list and find index of stored certificate 
-    for (int i = 0; i < mAuthorityCerts.count(); ++i) {
-        items << mAuthorityCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString();
-        if (mCurrentAuthorityCert == UnknownIndex 
-            && storedCert.value(EapQtCertificateInfo::SubjectKeyId)
-            == mAuthorityCerts.at(i).value(EapQtCertificateInfo::SubjectKeyId)) {
-            mCurrentAuthorityCert = i + 1;
-        }
-    }
-    if (mCurrentAuthorityCert == UnknownIndex) {
-        // Selected certificate not found in the certificate list
-        mCurrentAuthorityCert = DefaultIndex;
-    }
-    
-    // Initialize Authority certificates comboBox
-    mCaCert->setContentWidgetData("items", items);
-    mCaCert->setContentWidgetData("currentIndex", mCurrentAuthorityCert);
-    
-    // Get info when authority certificate selection has been changed
-    mForm->addConnection(mCaCert, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(authorityCertChanged(int)));
-    // Dim authority certificate if select automatically checked
-    authorityCertAutomaticChanged(mCaCertAutomatic->contentWidgetData("checkState") == Qt::Checked);
-    mGroupItem->appendChild(mCaCert);
-}
-
-/*!
- * Creates PEAP version selection comboBox
- */
-void CpEapTlsMethodsUi::createPeapVersion()
-{
-    qDebug("CpEapTlsMethodsUi::createPeapVersion()");
-    // Create PEAP version comboBox
-    mPeapVersion = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_peap_version"));
-    
-    // Add items to comboBox List
-    QStringList items;
-    items << hbTrId("txt_occ_setlabel_peap_version_val_peapv0")
-        << hbTrId("txt_occ_setlabel_peap_version_val_peapv1")
-        << hbTrId("txt_occ_setlabel_peap_version_val_peapv0_or_peapv1");
-    mPeapVersion->setContentWidgetData("items", items);
-    
-    // Initialize PEAP version from EAP configuration
-    if (mEapConfig.value(EapQtConfig::PeapVersion0Allowed).toBool()
-        && mEapConfig.value(EapQtConfig::PeapVersion1Allowed).toBool()) {
-        // PEAPv0 or PEAPv1
-        mCurrentPeapVersion = PeapVersionBoth;
-    }
-    else if (mEapConfig.value(EapQtConfig::PeapVersion1Allowed).toBool()) {
-        // PEAPv1
-        mCurrentPeapVersion = PeapVersion1;
-    }
-    else if (mEapConfig.value(EapQtConfig::PeapVersion0Allowed).toBool()) {
-        // PEAPv0
-        mCurrentPeapVersion = PeapVersion0;
-    }
-    else {
-        qDebug("CpEapTlsMethodsUi::createPeapVersion() - unknown version");    
-        // Set default (PEAPv0 or PEAPv1)
-        mCurrentPeapVersion = PeapVersionBoth;
-    }
-    mPeapVersion->setContentWidgetData("currentIndex", mCurrentPeapVersion);
-
-    // Get info when PEAP version selection has been changed
-    mForm->addConnection(mPeapVersion, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(peapVersionChanged(int)));
-    mGroupItem->appendChild(mPeapVersion);
-}
-
-/*!
- * Creates inner EAP type selection comboBox and configure button
- */
-void CpEapTlsMethodsUi::createInnerMethod()
-{
-    qDebug("CpEapTlsMethodsUi::createInnerMethod()");
-    // Create inner EAP type selection combo box
-    createEapSelector();
-    // Create 'configure inner EAP type' button
-    EapInnerMethodEntryItemData *eapEntry = NULL;
-    eapEntry = new EapInnerMethodEntryItemData(this, *mItemDataHelper,
-        hbTrId("txt_occ_button_inner_eap_type"));
-    mGroupItem->appendChild(eapEntry);    
-}
-
-/*!
- * Creates Combo box for inner EAP type selection
- */
-void CpEapTlsMethodsUi::createEapSelector()
-{
-    mInnerEapType = new CpSettingFormItemData(
-        HbDataFormModelItem::ComboBoxItem, 
-        hbTrId("txt_occ_setlabel_inner_eap_type"));
-
-    // Selected inner EAP type stored into the database
-    QList<QVariant> currentEapList = mEapConfig.value(EapQtConfig::InnerType).toList();
-    EapQtPluginHandle readInnerEap;
-    if (!currentEapList.empty() && currentEapList[0].canConvert<EapQtPluginHandle> ()) {
-        readInnerEap = currentEapList[0].value<EapQtPluginHandle> ();
-        mCurrentInnerPlugin = UnknownIndex;
-    }
-    else {
-        // no selected inner EAP type, use the first one
-        mCurrentInnerPlugin = DefaultIndex;
-        mDefaultPluginInUse = true;
-    }
-    
-    QStringList items;
-    for (int i = 0; i < mPlugins.count(); ++i) {
-        // Add certificate to comboBox list
-        items << mPlugins.at(i).localizationId();
-        if (mCurrentInnerPlugin == UnknownIndex && readInnerEap.pluginId() 
-            == mPlugins.at(i).pluginHandle().pluginId()) {
-            // Store index of selected certificate
-            mCurrentInnerPlugin = i;
-        }
-        if (mPlugins.at(i).pluginHandle().pluginId() == EapQtPluginHandle::PluginEapMschapv2) {
-            // Store index of EAP-MSCHAPv2 (used as default with PEAP and unauthenticated FAST)
-            mInnerEapMschapv2 = i;
-        }
-        else if (mPlugins.at(i).pluginHandle().pluginId() == EapQtPluginHandle::PluginEapGtc) {
-            // Store index of EAP-GTC (Used as default with PEAPv1)
-            mInnerEapGtc = i;
-        }
-    }
-    if (mCurrentInnerPlugin == UnknownIndex) {
-        // Selected inner EAP type not found
-        mCurrentInnerPlugin = DefaultIndex;
-        mDefaultPluginInUse = true;      
-    }
-    
-    mInnerEapType->setContentWidgetData("items", items);
-    mInnerEapType->setContentWidgetData("currentIndex", mCurrentInnerPlugin);
-    
-    mForm->addConnection(mInnerEapType, SIGNAL(currentIndexChanged(int)), this,
-        SLOT(innerEapTypeChanged(int)));
-    
-    mGroupItem->appendChild(mInnerEapType);
-}
-
-/*!
- * Adds validators.
- * 
- * @param modelIndex Model index
- */
-void CpEapTlsMethodsUi::setValidator(const QModelIndex modelIndex)
-{
-    qDebug("CpEapTlsMethodsUi::itemActivated");
-
-    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
-        (mForm->itemByIndex(modelIndex));
-    HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
-    
-    if (modelItem == mUsername) {
-        // When username lineEdit is activated (shown) first time, validator is added
-        mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-            EapQtConfig::Username));
-        HbLineEdit *edit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorUsername->updateEditor(edit);
-    }
-    else if (modelItem == mRealm) {
-        // When realm lineEdit is activated (shown) first time, validator is added
-        mValidatorRealm.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-                EapQtConfig::Realm));
-        HbLineEdit *edit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorRealm->updateEditor(edit);
-    }
-}
-
-/*!
- * Sets default Inner EAP method according PEAP version
- */
-void CpEapTlsMethodsUi::defaultInnerPlugin()
-{
-    qDebug("CpEapTlsMethodsUi::defaultInnerPlugin()");
-    if (mCurrentPeapVersion == PeapVersion1) {
-        mInnerEapType->setContentWidgetData("currentIndex", mInnerEapGtc);
-        mCurrentInnerPlugin = mInnerEapGtc;
-    }
-    else {
-        mInnerEapType->setContentWidgetData("currentIndex", mInnerEapMschapv2);
-        mCurrentInnerPlugin = mInnerEapMschapv2;
-    }  
-}
-
-/*!
- * Stores the index of selected user certificate
- * 
- * @param value Index of selected certificate.
- */
-void CpEapTlsMethodsUi::userCertChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::userCertChanged()");
-    mCurrentUserCert = value;
-}
-
-/*!
- * Stores the index of selected authority certificate
- * 
- * @param value Index of selected certificate.
- */
-void CpEapTlsMethodsUi::authorityCertChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::authorityCertChanged()");
-    mCurrentAuthorityCert = value;
-}
-
-/*!
- * Stores the index of selected PEAP version
- * 
- * @param value Index of selected PEAP version.
- */
-void CpEapTlsMethodsUi::peapVersionChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::peapVersionChanged()");
-    mCurrentPeapVersion = value;
-    defaultInnerPlugin();
-}
-
-/*!
- * Stores the index of selected inner EAP type
- * 
- * @param value Index of selected ineer EAP type.
- */
-void CpEapTlsMethodsUi::innerEapTypeChanged(int value)
-{
-    qDebug("CpEapTlsMethodsUi::innerEapTypeChanged()");
-    mCurrentInnerPlugin = value;
-}
-
-/*!
- * Dims the username if generate username automatically has been selected.
- * 
- * @param state Tells is generate automatically checked.
- */
-void CpEapTlsMethodsUi::usernameAutomaticChanged(int state)
-{
-    qDebug("CpEapTlsMethodsUi::usernameAutomaticChanged");
-
-    mUsername->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Dims the realm if generate realm automatically has been selected.
- * 
- * @param state Tells is generate automatically checked.
- */
-void CpEapTlsMethodsUi::realmAutomaticChanged(int state)
-{
-    qDebug("CpEapTlsMethodsUi::realmAutomaticChanged");
-
-    mRealm->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Dims the authority certificate if select caCert automatically has been selected.
- * 
- * @param state Tells is select automatically checked.
- */
-void CpEapTlsMethodsUi::authorityCertAutomaticChanged(int state)
-{
-    qDebug("CpEapTlsMethodsUi::authorityCertAutomaticChanged");
-
-    mCaCert->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Converts check box state to boolean.
- * 
- * @param state Check box state
- * 
- * @return true if Check box is checked, false otherwise.
- */
-bool CpEapTlsMethodsUi::checkStateToBool(const int state)
-{
-    return (Qt::Unchecked == state ? false : true);
-}
-
-/*!
- * Converts boolean to check box state.
- * 
- * @param state Tells is check box checked.
- * 
- * @return Qt check state
- */
-int CpEapTlsMethodsUi::boolToCheckState(const bool state)
-{
-    return (false == state ? Qt::Unchecked : Qt::Checked);
-}
-
-/*!
- * This is called when user is about to exit the view.
- * Validates configuration and saves settings.
- * If configuration is not valid prompts question dialog.
- * If user chooses "OK" leaves without saving.
- * 
- */
-void CpEapTlsMethodsUi::close()
-{
-    qDebug("CpEapTlsMethodsUi::close");
-    
-    // Validate configuration
-    if (validate()) {
-        qDebug("CpEapTlsMethodsUi::close - Validation OK");
-        
-        // Store settings
-        if (storeSettings()){
-            qDebug("CpEapTlsMethodsUi::close - Settings stored, close view");
-            // Close view
-            CpBaseSettingView::close();   
-        }
-        else {
-            qDebug("CpEapTlsMethodsUi::close - Store settings failed, prompt warning");
-            // Store failed. Show error note to user
-            QScopedPointer<HbMessageBox> infoBox;
-            infoBox.reset(new HbMessageBox(
-                HbMessageBox::MessageTypeWarning));
-            infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting"));
-            infoBox->clearActions();
-            // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal
-            HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-            infoBox->addAction(okAction);
-            bool connected = connect(
-                okAction,
-                SIGNAL(triggered()),
-                this,
-                SIGNAL(aboutToClose()));
-            Q_ASSERT(connected);
-            infoBox->open();
-            infoBox.take();
-        }
-    }
-    else {
-        qDebug("CpEapTlsMethodsUi::close - validation failed. Prompt question.");
-
-        // Validate failed. Request user to exit anyway
-        QScopedPointer<HbMessageBox> messageBox;
-        messageBox.reset(new HbMessageBox(
-            HbMessageBox::MessageTypeQuestion));
-        messageBox->setAttribute(Qt::WA_DeleteOnClose);
-        messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa"));
-        messageBox->clearActions();
-        // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal
-        HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes"));
-        messageBox->addAction(okAction);
-        bool connected = connect(
-            okAction,
-            SIGNAL(triggered()),
-            this,
-            SIGNAL(aboutToClose()));
-        Q_ASSERT(connected);
-        // Clicking 'NO'-button does nothing
-        HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no"));
-        messageBox->addAction(cancelAction);
-        messageBox->setTimeout(HbPopup::NoTimeout);
-        messageBox->open();
-        messageBox.take();
-    }
-}
-
-/*!
- * Validates settings configuration.
- * 
- * @return true if configuration OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validate()
-{
-    qDebug("CpEapTlsMethodsUi::validate()");
-    bool valid = false;
-
-    if (validateUsernameGroup() 
-        && validateRealmGroup()
-        && validateAuthorityCertificate()
-        && validateUserCertificate()
-        && validateCiphersuites()) {
-        valid = true;
-    }
-
-    return valid;
-}
-
-/*!
- * Validates username checkBox and lineEdit group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validateUsernameGroup()
-{
-    bool status = false;
-    // true if generate automatically is checked or given value is valid
-    if (mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked
-        || EapQtValidator::StatusOk == mValidatorUsername->validate(
-            mUsername->contentWidgetData("text"))) {
-        status = true;
-    }
-    qDebug("CpEapTlsMethodsUi::validateUsernameGroup() - status: %d", status);
-    return status;
-}
-
-/*!
- * Validates realm checkBox and lineEdit group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validateRealmGroup()
-{
-    bool status = false;
-    // true if generate automatically is checked or given value is valid
-    if (mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked
-        || EapQtValidator::StatusOk == mValidatorRealm->validate(
-            mRealm->contentWidgetData("text"))) {
-        status = true;
-    }
-    qDebug("CpEapTlsMethodsUi::validateRealmGroup() - status: %d", status);
-    return status;
-}
-
-/*!
- * Validates authority certificate checkBox and comboBox group.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapTlsMethodsUi::validateAuthorityCertificate()
-{
-    bool status = false;
-    //true if select automatically is checked or certificate is selected
-    if (mCaCertAutomatic->contentWidgetData("checkState") == Qt::Checked
-        || mCurrentAuthorityCert > NotInUseIndex) {
-        status = true;
-    }
-    qDebug("CpEapTlsMethodsUi::validateAuthorityCertificate()- status: %d", status);
-    return status;
-}
-
-/*!
- * Validates user certificate selection.
- * 
- * @return false if EAP-TLS and no certificate, true otherwise
- */
-bool CpEapTlsMethodsUi::validateUserCertificate()
-{
-    bool status = true;
-    // false if EAP-TLS and not selected user certificate
-    if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls
-        && mCurrentUserCert == NotInUseIndex) {
-        status = false;
-    }
-    qDebug("CpEapTlsMethodsUi::validateUserCertificate() - status: %d", status);
-    return status;
-}
-
-/*!
- * Validates cipher suites selection.
- * 
- * @return false if no cipher suite is selected, true otherwise
- */
-bool CpEapTlsMethodsUi::validateCiphersuites()
-{
-    bool status = true;
-    QVariant cipherSuites = mGroupItemCs->ciphersuites();
-    QList<QVariant> cipherList = cipherSuites.toList();
-    if (cipherList.count() == 0){
-        status = false;
-    }
-    qDebug("CpEapTlsMethodsUi::validateCiphersuites() - status: %d", status);
-    return status;
-}
-
-/*!
- * Write PEAP specific values into the EAP configuration
- * 
- * @param eapConfig
- */
-void CpEapTlsMethodsUi::setPeapVersion(EapQtConfig &eapConfig)
-{
-    qDebug("CpEapTlsMethodsUi::setPeapVersion()");
-    if (mCurrentPeapVersion == PeapVersion0) {
-        eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, true);
-        eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, false);
-    }
-    else if (mCurrentPeapVersion == PeapVersion1) {
-        eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, false);
-        eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, true);            
-    }
-    else {
-        Q_ASSERT(mCurrentPeapVersion == PeapVersionBoth);
-        eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, true);
-        eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, true);            
-    }    
-}
-
-/*!
- * Stores settings given via TLS based methods setting UI
- * 
- * @return false if saving failed, true otherwise
- */
-bool CpEapTlsMethodsUi::storeSettings()
-{
-    qDebug("CpEapTlsMethodsUi::storeSettings");
-
-    EapQtConfig eapConfig;
-
-    // Store common settings
-    qDebug("CpEapTlsMethodsUi::storeSettings - Common settings");
-    eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle));
-    eapConfig.setValue(EapQtConfig::UsernameAutomatic, checkStateToBool(
-        mUsernameAutomatic->contentWidgetData("checkState").toInt()));
-    eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text"));
-    eapConfig.setValue(EapQtConfig::RealmAutomatic, checkStateToBool(
-        mRealmAutomatic->contentWidgetData("checkState").toInt()));
-    eapConfig.setValue(EapQtConfig::Realm, mRealm->contentWidgetData("text"));
-
-    // User certificate
-    qDebug("CpEapTlsMethodsUi::storeSettings - User certificate");
-    if (mCurrentUserCert > NotInUseIndex) {
-        QList<QVariant> userCerts;
-        userCerts.append(qVariantFromValue(mUserCerts.at(mCurrentUserCert - 1)));
-        // The first item in UI(index 0) is 'not in use'
-        eapConfig.setValue(EapQtConfig::UserCertificate, userCerts); 
-    }
-
-    // Authority certificate
-    qDebug("CpEapTlsMethodsUi::storeSettings - Authority certificate");
-    eapConfig.setValue(EapQtConfig::AuthorityCertificateAutomatic, checkStateToBool(
-        mCaCertAutomatic->contentWidgetData("checkState").toInt()));
-    if (mCurrentAuthorityCert > NotInUseIndex && !checkStateToBool(
-        mCaCertAutomatic->contentWidgetData("checkState").toInt())) {
-        QList<QVariant> authorityCerts;
-        authorityCerts.append(qVariantFromValue(mAuthorityCerts.at(mCurrentAuthorityCert - 1)));
-        // The first item in UI(index 0) is 'not in use'
-        eapConfig.setValue(EapQtConfig::AuthorityCertificate, authorityCerts); 
-    }    
-    
-    // Inner EAP method (Not valid for EAP-TLS)
-    if (!(mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls)) {
-        qDebug("CpEapTlsMethodsUi::storeSettings - Inner EAP method");
-        QList<QVariant> innerEaps;
-        innerEaps.append(qVariantFromValue(mPlugins.at(mCurrentInnerPlugin).pluginHandle()));
-        eapConfig.setValue(EapQtConfig::InnerType, innerEaps);
-    }
-
-    // Cipher suites
-    qDebug("CpEapTlsMethodsUi::storeSettings - Cipher suites");
-    eapConfig.setValue(EapQtConfig::CipherSuites, mGroupItemCs->ciphersuites());
-    
-    // PEAP version (valid only for PEAP)
-    if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginPeap) {
-        setPeapVersion(eapConfig);
-    }
-    
-    // Save configuration
-    if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) {
-        qDebug("CpEapTlsMethodsUi::storeSettings - configuration saving failed.");
-        return false;
-    }
-    return true;
-}
-
--- a/securitysettings/cpeapuiplugins/cpeapuiplugins.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#	Control Panel QT UIs for EAP method configuration
-#
-
-# %version: 6 %
-
-
-TEMPLATE = subdirs
-
-SUBDIRS = \
-		cpeapuserpasswordui \
-		cpeapsimakaui \
-		cpeaptlsmethodsui \
-		cpeapciphersuiteui
-		
-CONFIG += ordered
\ No newline at end of file
--- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/cpeapuserpasswordui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Project info file for Control Panel username-password based EAP method
-#   settings plugin.  
-#
-
-# %version: 13 %
-
-
-TEMPLATE = lib
-TARGET = cpeapuserpasswordui
-
-INCLUDEPATH += \
-    ../../inc
-    
-
-CONFIG += hb \
-    plugin
-
-LIBS += -lcpframework \
-        -leapqtconfiginterface \
-        -leapqtplugininfo
-
-MOC_DIR    = _build
-RCC_DIR    = _build
-OBJECTS_DIR= _build
-
-# Sources
-HEADERS +=  \
-    ../inc/eapuidefs.h \
-    inc/cpeapuserpasswordui.h \
-    inc/cpeapuserpasswordplugin.h
-
-SOURCES += \ 
-    src/cpeapuserpasswordui.cpp \
-    src/cpeapuserpasswordplugin.cpp
-
-symbian: { 
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002C2FB
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
- 
-    deploy.path = C:
-    qtplugins.path = /resource/qt/plugins/controlpanel/eapsecurity
-    qtplugins.sources += qmakepluginstubs/cpeapuserpasswordui.qtplugin
-    
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-    
-    BLD_INF_RULES.prj_exports += \ 
-  		"rom/cpeapuserpasswordui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeapuserpasswordui.iby)"
-}
-
-plugin.sources += cpeapuserpasswordui.dll
-plugin.path = /resource/qt/plugins/controlpanel/eapsecurity
-DEPLOYMENT += plugin
--- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordplugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT plugin for username-password based 
- *   EAP method configuration
- *
- */
-
-/*
- * %version: 8 %
- */
-
-#ifndef CPEAPUSERPASSWORDPLUGIN_H
-#define CPEAPUSERPASSWORDPLUGIN_H
-
-// System includes
-#include <QObject>
-// User includes
-#include "cpeapplugininterface.h"
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_userpassword
- * @{
- */
-class CpEapUserPasswordPlugin: public QObject, public CpEapPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpEapPluginInterface)
-
-public:
-    CpEapUserPasswordPlugin();
-    ~CpEapUserPasswordPlugin();
-
-    void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, const int iapId);
-    QList<EapQtPluginInfo> pluginInfo();
-    CpBaseSettingView* uiInstance(const EapQtPluginHandle& outerHandle,
-        const EapQtPluginInfo &plugin);
-
-private:
-    EapQtConfigInterface::EapBearerType mBearer;
-    int mIapId;
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT UI for username-password based EAP method configuration
- *
- */
-
-/*
- * %version: 21 %
- */
-
-#ifndef CPEAPUSERPASSWORDUI_H
-#define CPEAPUSERPASSWORDUI_H
-
-// System includes
-#include <cpbasesettingview.h>
-#include <eapqtplugininfo.h>
-#include <eapqtpluginhandle.h>
-#include <eapqtconfiginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbDataForm;
-class HbDataFormModel;
-class HbDataFormModelItem;
-class CpSettingFormItemData;
-class HbLineEdit;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
- * @addtogroup group_eap_ui_plugin_userpassword
- * @{
- */
-
-class CpEapUserPasswordUi : public CpBaseSettingView
-{
-Q_OBJECT
-
-public:
-    CpEapUserPasswordUi(
-        const EapQtConfigInterface::EapBearerType bearer,
-        const int iapId,
-        const EapQtPluginInfo &plugin,
-        const EapQtPluginHandle& outerHandle);
-    ~CpEapUserPasswordUi();
-
-protected:
-    bool eventFilter(QObject *obj, QEvent *event);
-    void close();
-    
-private:
-    void createUi();
-    void createUsername();
-    void createPassword();
-    
-    bool checkStateToBool(const int state);
-    int boolToCheckState(const bool state);
-    
-    bool storeSettings();
-    bool validate();
-    bool validateUsername();
-    bool validatePasswordGroup();
-    
-private slots:
-    void setValidator(const QModelIndex);
-    void passwordPromptChanged(int state);
-    void passwordChanged();
-    
-private:
-    //! Pointer to EapQtConfigInterface
-    QScopedPointer <EapQtConfigInterface> mConfigIf;
-    //! Plugin info
-    EapQtPluginInfo mPluginInfo;
-    //! Outer handle
-    EapQtPluginHandle mOuterHandle;
-    //! Current EAP configuration
-    EapQtConfig mEapConfig;
-    
-    //! Dataform
-    HbDataForm *mForm;
-    //! Datform model
-    HbDataFormModel *mModel;
-    //! Control Panel item data helper for username-password plugins
-    CpItemDataHelper *mItemDataHelper;
-    //! Username-password settings group
-    HbDataFormModelItem *mGroupItem;
-    //! Username lineEdit
-    CpSettingFormItemData *mUsername;
-    //! Prompt password checkBox
-    CpSettingFormItemData *mPasswordPrompt;
-    //! Password lineEdit
-    CpSettingFormItemData *mPassword;
-
-    //! Realm validator
-    QScopedPointer<EapQtValidator> mValidatorUsername;
-    //! Password validator
-    QScopedPointer<EapQtValidator> mValidatorPassword;
-    
-    //! Password is stored
-    bool mPasswordStored;
-    //! Password is saved
-    bool mPasswordChanged;
-    //! Password lineEdit
-    HbLineEdit *mPasswordEdit;
-        
-};
-
-/*! @} */
-
-#endif
--- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/rom/cpeapuserpasswordui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Image description file for userpassword UI
-*
-*/
-
-/*
- * %version:  4 %
- */
- 
-#ifndef CPEAPUSERPASSWORDUI_IBY
-#define CPEAPUSERPASSWORDUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpeapuserpasswordui.dll SHARED_LIB_DIR/cpeapuserpasswordui.dll
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/eapsecurity/cpeapuserpasswordui.qtplugin   resource/qt/plugins/controlpanel/eapsecurity/cpeapuserpasswordui.qtplugin
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPEAPUSERPASSWORDUI_IBY
--- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordplugin.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT plugin for username-password based 
- *   EAP method configuration
- *
- */
-
-/*
- * %version: 11 %
- */
-
-// System includes
-// User includes
-#include "cpeapuserpasswordplugin.h"
-#include "cpeapuserpasswordui.h"
-#include "eapuidefs.h"
-
-/*!
- * \class CpEapUserPasswordPlugin
- * \brief Control Panel QT plugin for username-password based EAP method configuration. 
- */
-
-// External function prototypes
-
-// Local constants
-
-Q_EXPORT_PLUGIN2(CpEapUserPasswordPlugin, CpEapUserPasswordPlugin);
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- */
-CpEapUserPasswordPlugin::CpEapUserPasswordPlugin() :
-    mBearer(EapQtConfigInterface::EapBearerTypeWlan),
-    mIapId(EapQtConfigInterface::IapIdUndefined)
-{
-    // Nothing to be done
-
-    qDebug("CpEapUserPasswordPlugin created");
-}
-
-/*!
- * Destructor.
- */
-CpEapUserPasswordPlugin::~CpEapUserPasswordPlugin()
-{
-    // Nothing to be done
-    // UI instances are owned and deallocated by CP framework
-
-    qDebug("CpEapUserPasswordPlugin destroyed");
-}
-
-/*!
- * See CpEapPluginInterface::setSettingsReference()
- * 
- * @param bearer Bearer of the accessed settings
- * @param iapId ID of the accessed IAP
- */
-void CpEapUserPasswordPlugin::setSettingsReference(
-    const EapQtConfigInterface::EapBearerType bearer, const int iapId)
-{
-    mBearer = bearer;
-    mIapId = iapId;
-}
-
-/*!
- * See CpEapPluginInterface::pluginInfo()
- * 
- * @return Plugin info
- */
-QList<EapQtPluginInfo> CpEapUserPasswordPlugin::pluginInfo()
-{
-    qDebug("CpEapUserPasswordPlugin: provide plugin info");
-    QList<EapQtPluginInfo> ret;
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginEapMschapv2,
-        EapQtUiConstants::StringEapMschapv2,
-        EapQtUiConstants::OrderEapMschapv2));
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginPap,
-        EapQtUiConstants::StringPap,
-        EapQtUiConstants::OrderPap));
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginPlainMschapv2,
-        EapQtUiConstants::StringMschapv2,
-        EapQtUiConstants::OrderMschapv2));
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginEapGtc,
-        EapQtUiConstants::StringEapGtc,
-        EapQtUiConstants::OrderEapGtc));
-
-    ret.append(EapQtPluginInfo(
-        EapQtPluginHandle::PluginLeap,
-        EapQtUiConstants::StringLeap,
-        EapQtUiConstants::OrderLeap));
-
-    return ret;
-}
-
-/*!
- * See CpEapPluginInterface::uiInstance()
- * 
- * Creates UI instance
- * 
- * @param outerHandle Plugin handle to outer EAP type.
- * @param plugin Plugin info
- * 
- * @return username-password UI instance
- */
-CpBaseSettingView* CpEapUserPasswordPlugin::uiInstance(const EapQtPluginHandle& outerHandle,
-    const EapQtPluginInfo &plugin)
-{
-    qDebug("CpEapUserPasswordPlugin: create UI instance");
-
-    Q_ASSERT(mIapId != EapQtConfigInterface::IapIdUndefined);
-
-    // instance is owned and deallocated by CP framework
-    return new CpEapUserPasswordUi(mBearer, mIapId, plugin, outerHandle);
-}
--- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,480 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel QT UI for username-password based EAP method configuration
- *
- */
-
-/*
- * %version: 27 %
- */
-
-// System includes
-#include <HbDataForm>
-#include <HbDataFormModel>
-#include <HbDataFormViewItem>
-#include <HbParameterLengthLimiter>
-#include <HbMessageBox> 
-#include <HbAction>
-#include <HbLineEdit>
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-#include "cpeapuserpasswordui.h"
-
-/*!
- * \class CpEapUserPasswordUi
- * \brief Implementes username-password based EAP method configuration ui. 
- */
-
-// External function prototypes
-
-// Local constants
-
-/*! 
- * If password has already been stored into the database
- * user is shown dummy password (fixed number of asterisks)
- */
-static const QVariant passwordExistString = "xxxx";
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param bearer        Bearer type of the accessed configuration.
- * @param iapId         IAP ID of the accessed configuration.
- * @param plugin        Plugin.
- * @param outerHandle   Outer handle.
- */
-CpEapUserPasswordUi::CpEapUserPasswordUi(
-    const EapQtConfigInterface::EapBearerType bearer,
-    const int iapId,
-    const EapQtPluginInfo &plugin, 
-    const EapQtPluginHandle& outerHandle) :
-        mConfigIf(NULL),
-        mPluginInfo(plugin), 
-        mOuterHandle(outerHandle), 
-        mForm(NULL),
-        mModel(NULL),
-        mItemDataHelper(NULL),
-        mGroupItem(NULL),
-        mUsername(NULL), 
-        mPasswordPrompt(NULL), 
-        mPassword(NULL), 
-        mValidatorUsername(NULL),
-        mValidatorPassword(NULL), 
-        mPasswordStored(false), 
-        mPasswordChanged(false), 
-        mPasswordEdit(NULL)
-{
-    qDebug("CpEapUserPasswordUi::CpEapUserPasswordUi");
-
-    // IAP must be valid in construction (check includes
-    // EapQtConfigInterface::IapIdUndefined)
-    if (iapId < 0) {
-        QT_THROW(std::bad_alloc());
-        // scoped pointer gets deleted automaticaly on exception
-    }
-
-    // Get EAP config interface
-    mConfigIf.reset(new EapQtConfigInterface(bearer, iapId));
-    
-    createUi();
-}
-
-/*!
- * Destructor.
- */
-CpEapUserPasswordUi::~CpEapUserPasswordUi()
-{
-    qDebug("CpEapUserPasswordUi::~CpEapUserPasswordUi");
-
-    // mValidatorUsername, mValidatorPassword
-    // mConfigIf: scoped pointer deleted automatically
-}
-
-/*!
- * Creates username-password UI and initilizes settings read via
- * EapQtConfigInterface
- */
-void CpEapUserPasswordUi::createUi()
-{
-    qDebug("CpEapUserPasswordUi::createUi");
-
-    // Read Configurations
-    bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(),
-        mEapConfig);
-    if (!configurationRead) {
-        qDebug("CpEapUserPasswordUi::initializeUserPasswordUi - read configuration failed.");
-    }
-
-    // Construct username-password UI
-    mForm = new HbDataForm();
-    this->setWidget(mForm);
-    mModel = new HbDataFormModel(mForm);
-
-    // Create settings group
-    mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
-        HbParameterLengthLimiter(
-            hbTrId("txt_occ_subhead_eap_module_settings")).arg(
-                mPluginInfo.localizationId()));
-    mModel->appendDataFormItem(mGroupItem);
-
-    // The parameter given as 0 is a HbDataForm pointer, not parent
-    mItemDataHelper = new CpItemDataHelper(0);
-    mItemDataHelper->setParent(this);
-
-    // Create UI components
-    createUsername();
-    createPassword();
-    
-    mItemDataHelper->bindToForm(mForm);
-    mForm->setModel(mModel);
-    
-    // Connect signal to add validators when items get activated (visualization created).
-    bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this,
-        SLOT( setValidator(const QModelIndex) ));
-    Q_ASSERT(connected);
-    
-    // Expand username-password settings group
-    mForm->setExpanded(mModel->indexFromItem(mGroupItem), true);
-}
-
-/*!
- * Creates Username lineEdit
- */
-void CpEapUserPasswordUi::createUsername()
-{
-    qDebug("CpEapUserPasswordUi::createUsername()");
-    // Username
-    mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_user_name"));
-    // Initialize the value from EapQtConfig
-    mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username));
-    mGroupItem->appendChild(mUsername);
-}
-
-/*!
- * Creates Password group:
- * Prompt checkBox and password lineEdit
- */
-void CpEapUserPasswordUi::createPassword()
-{
-    qDebug("CpEapUserPasswordUi::createPassword()");
-    // Password prompting
-    mPasswordPrompt = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId(
-        "txt_occ_setlabel_password"));
-    mPasswordPrompt->setContentWidgetData("text", hbTrId("txt_occ_setlabel_password_val_prompt"));
-    mPasswordPrompt->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value(
-        EapQtConfig::PasswordPrompt).toBool()));
-    // Connect signal to disable/enable password when passwordPrompt changed 
-    mForm->addConnection(mPasswordPrompt, SIGNAL(stateChanged(int)), this,
-        SLOT(passwordPromptChanged(int)));
-    mGroupItem->appendChild(mPasswordPrompt);
-
-    // Password
-    mPassword = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId(
-        "txt_occ_setlabel_password"));
-    mPasswordStored = mEapConfig.value(EapQtConfig::PasswordStored).toBool();
-    // If password has already been stored into the databse
-    // fixed number of asterisks are shown in UI
-    if (mPasswordStored) {
-        mPassword->setContentWidgetData("text", passwordExistString);
-    }
-    // Set password echo mode
-    mPassword->setContentWidgetData("echoMode", HbLineEdit::Password);
-    // Dim password if passwordPrompt is selected
-    passwordPromptChanged(mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked);
-    // Connect signal to get info that user has changed the password
-    mForm->addConnection(mPassword, SIGNAL(editingFinished()), this, SLOT(passwordChanged()));
-    mGroupItem->appendChild(mPassword);
-}
-
-/*!
- * Adds validators and connects focusIn event to the Password.
- * 
- * @param modelIndex Model index
- */
-void CpEapUserPasswordUi::setValidator(const QModelIndex modelIndex)
-{
-    qDebug("CpEapUserPasswordUi::itemActivated");
-
-    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
-        (mForm->itemByIndex(modelIndex));
-    HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
-    
-    if (modelItem == mUsername) {
-        // When username lineEdit is activated (shown) first time, validator is added
-        mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-            EapQtConfig::Username));
-        HbLineEdit *usernameEdit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorUsername->updateEditor(usernameEdit);
-    }
-    else if (modelItem == mPassword) {
-        // When password lineEdit is activated (shown) first time, validator is added
-        mValidatorPassword.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(),
-            EapQtConfig::Password));
-        mPasswordEdit = qobject_cast<HbLineEdit *> (viewItem->dataItemContentWidget());
-        mValidatorPassword->updateEditor(mPasswordEdit);
-        // Install event filter to clear dummy password, when password is started to edit.
-        mPasswordEdit->installEventFilter(this);
-    }
-}
-
-/*!
- * This is called when user is about to exit the view.
- * Validates configuration and saves settings.
- * If configuration is not valid prompts question dialog.
- * If user chooses "OK" leaves without saving.
- * 
- */
-void CpEapUserPasswordUi::close()
-{
-    qDebug("CpEapUserPasswordUi::close");
-    
-    // Validate configuration
-    if (validate()) {
-        qDebug("CpEapUserPasswordUi::close - Validation OK");
-        
-        // Store settings
-        if (storeSettings()){
-            qDebug("CpEapUserPasswordUi::close - Settings stored, close view");
-            // Close view
-            CpBaseSettingView::close();   
-        }
-        else {
-            qDebug("CpEapUserPasswordUi::close - Store settings failed, prompt warning");
-            // Store failed. Show error note to user
-            QScopedPointer<HbMessageBox> infoBox;
-            infoBox.reset(new HbMessageBox(
-                HbMessageBox::MessageTypeWarning));
-            infoBox->setAttribute(Qt::WA_DeleteOnClose);
-            infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting"));
-            infoBox->clearActions();
-            // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal
-            HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-            infoBox->addAction(okAction);
-            bool connected = connect(
-                okAction,
-                SIGNAL(triggered()),
-                this,
-                SIGNAL(aboutToClose()));
-            Q_ASSERT(connected);
-            infoBox->open();
-            infoBox.take();
-        }
-    }
-    else {
-        qDebug("CpEapUserPasswordUi::close - validation failed. Prompt question.");
-
-        // Validate failed. Request user to exit anyway
-        QScopedPointer<HbMessageBox> messageBox;
-        messageBox.reset(new HbMessageBox(
-            HbMessageBox::MessageTypeQuestion));
-        messageBox->setAttribute(Qt::WA_DeleteOnClose);
-        messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa"));
-        messageBox->clearActions();
-        // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal
-        HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes"));
-        messageBox->addAction(okAction);
-        bool connected = connect(
-            okAction,
-            SIGNAL(triggered()),
-            this,
-            SIGNAL(aboutToClose()));
-        Q_ASSERT(connected);
-        // Clicking 'NO'-button does nothing
-        HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no"));
-        messageBox->addAction(cancelAction);
-        messageBox->setTimeout(HbPopup::NoTimeout);
-        messageBox->open();
-        messageBox.take();
-    }
-}
-
-/*!
- * Converts check box state to boolean.
- * 
- * @param state Check box state
- * 
- * @return true if Check box is checked, false otherwise.
- */
-bool CpEapUserPasswordUi::checkStateToBool(const int state)
-{
-    return (Qt::Unchecked == state ? false : true);
-}
-
-/*!
- * Converts boolean to check box state.
- * 
- * @param state Tells is check box checked.
- * 
- * @return Qt check state
- */
-int CpEapUserPasswordUi::boolToCheckState(const bool state)
-{
-    return (false == state ? Qt::Unchecked : Qt::Checked);
-}
-
-/*!
- * Dims the password if passwordPrompt has been selected.
- * 
- * @param state Tells is password prompt checked.
- */
-void CpEapUserPasswordUi::passwordPromptChanged(int state)
-{
-    qDebug("CpEapUserPasswordUi::passwordPromptChanged - state: %d", state);
-
-    mPassword->setContentWidgetData("enabled", !checkStateToBool(state));
-}
-
-/*!
- * Saves information that password has been changed and must be stored.
- * If the new password is not given, the stored password is kept (if exists).
- */
-void CpEapUserPasswordUi::passwordChanged()
-{
-    if (mPassword->contentWidgetData("text").toString().length() > 0) {
-        // Stored password is considered as changed only if user
-        // gives new unempty password
-        qDebug("CpEapUserPasswordUi::passwordChanged");
-        mPasswordChanged = true;
-    }
-}
-
-/*!
- * When a focus moves into the password editor, possible dummy password is cleared.
- */
-bool CpEapUserPasswordUi::eventFilter(QObject *obj, QEvent *event)
-{
-    
-    if (obj == mPasswordEdit && event->type() == QEvent::FocusIn 
-        && mPasswordStored && !mPasswordChanged) {
-        qDebug("CpEapUserPasswordUi::eventFilter - mPasswordEdit and FocusIn");
-        mPassword->setContentWidgetData("text", "");
-    }
-    return false;
-}
-
-/*!
- * Validates settings configuration.
- * 
- * @return true if configuration OK, false otherwise.
- */
-bool CpEapUserPasswordUi::validate()
-{
-    qDebug("CpEapUserPasswordUi::validate");
-    bool valid = false;
-
-    if (validateUsername()
-        && validatePasswordGroup()) {
-        qDebug("CpEapUserPasswordUi::validate - OK");
-        valid = true;
-    }
-
-    return valid;
-}
-
-/*!
- * Validates username
- * 
- * @return true if OK, false otherwise
- */
-bool CpEapUserPasswordUi::validateUsername()
-{
-    qDebug("CpEapUserPasswordUi::validateUsername");
-    bool status = false;
-    // true if (given username is valid) or 
-    // (password prompt is on and username is empty)
-    if ((EapQtValidator::StatusOk == mValidatorUsername->validate(
-            mUsername->contentWidgetData("text"))) 
-        || (mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked
-            && mUsername->contentWidgetData("text").toString().length() == 0)) {
-        qDebug("CpEapUserPasswordUi::validateUsername - OK");
-        status = true;
-    }
-    return status;       
-}
-
-/*!
- * Validates password and passwordPrompt.
- * 
- * @return true if OK, false otherwise.
- */
-bool CpEapUserPasswordUi::validatePasswordGroup()
-{
-    qDebug("CpEapUserPasswordUi::validatePasswordGroup");
-    bool status = false;
-    // true if password prompt is checked, stored password has not changed
-    // or changed/given passrword is valid
-    if (mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked 
-        || (mPasswordStored && !mPasswordChanged) 
-        || (mPasswordStored && mPasswordChanged && EapQtValidator::StatusOk
-            == mValidatorPassword->validate(mPassword->contentWidgetData("text").toString()))
-        || (!mPasswordStored && EapQtValidator::StatusOk
-            == mValidatorPassword->validate(mPassword->contentWidgetData("text").toString()))) {
-        qDebug("CpEapUserPasswordUi::validatePasswordGroup - OK");
-        status = true;
-    }
-    return status;
-}
-
-/*!
- * Stores settings given via username-password configuration UI
- * 
- * @return false if saving failed, true otherwisev
- */
-bool CpEapUserPasswordUi::storeSettings()
-{
-    qDebug("CpEapUserPasswordUi::storeSettings");
-
-    EapQtConfig eapConfig;
-
-    eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle));
-    eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text"));
-    eapConfig.setValue(EapQtConfig::PasswordPrompt, checkStateToBool(
-        mPasswordPrompt->contentWidgetData("checkState").toInt()));
-    if (mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked) {
-        if(mPasswordStored) {
-            // Stored password is cleared if prompting has been enabled
-            eapConfig.setValue(EapQtConfig::PasswordClear, true);
-            eapConfig.setValue(EapQtConfig::Password, "");
-        }
-        // else do nothing (password is not saved)
-    }
-    else {
-        // Password prompt is disabled
-        if (!mPasswordChanged && mPasswordStored) {
-            // Stored password has not been changed
-            eapConfig.setValue(EapQtConfig::PasswordStored, true);
-        }
-        else if (mPasswordChanged || !mPasswordStored) {
-            // Store the new password
-            eapConfig.setValue(EapQtConfig::Password, mPassword->contentWidgetData("text").toString());
-        }
-    }
-    
-    // Save configuration
-    if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) {
-        qDebug("CpEapUserPasswordUi::storeSettings - configuration saving failed.");
-        return false;
-    }
-    return true;
-}
--- a/securitysettings/cpeapuiplugins/inc/eapuidefs.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Constant definitions for EAP control panel UIs
- *
- */
-
-/*
- * %version: 7 %
- */
-
-#ifndef EAPUIDEFS_H
-#define EAPUIDEFS_H
-
-#include <QString>
-
-namespace EapQtUiConstants
-{
-
-    // EAP plugin names
-    static const QString StringEapAka       = "EAP-AKA";
-    static const QString StringEapFast      = "EAP-FAST";
-    static const QString StringEapGtc       = "EAP-GTC";
-    static const QString StringEapMschapv2  = "EAP-MSCHAPv2";
-    static const QString StringEapSim       = "EAP-SIM";
-    static const QString StringEapTls       = "EAP-TLS";
-    static const QString StringEapTtls      = "EAP-TTLS";
-    static const QString StringLeap         = "LEAP";
-    static const QString StringMschapv2     = "MSCHAPv2";
-    static const QString StringPap          = "PAP";
-    static const QString StringPeap         = "PEAP";
-
-    // EAP plugin preference order, i.e. the order in which the plugins
-    // are shown on the UI relative to each other
-    static const int OrderPeap          = 10;   // outer only
-    static const int OrderEapTtls       = 20;   // outer only
-    static const int OrderMschapv2      = 30;   // inner only
-    static const int OrderPap           = 40;   // inner only
-    static const int OrderEapGtc        = 50;   // inner only
-    static const int OrderEapMschapv2   = 60;   // inner only
-    static const int OrderEapTls        = 70;   // inner & outer
-    static const int OrderEapFast       = 80;   // outer only
-    static const int OrderLeap          = 90;   // outer only
-    static const int OrderEapAka        = 100;  // inner & outer
-    static const int OrderEapSim        = 110;  // inner & outer
-
-    // TLS cipher names
-    static const QString EapCipher_RSA_AES_SHA      = "RSA, AES, SHA";
-    static const QString EapCipher_DHE_RSA_AES_SHA  = "DHE-RSA, AES, SHA";
-    static const QString EapCipher_DHE_DSS_AES_SHA  = "DHE-DSS, AES, SHA";
-    static const QString EapCipher_RSA_3DES_SHA     = "RSA, 3DES, SHA";
-    static const QString EapCipher_DHE_RSA_3DES_SHA = "DHE-RSA, 3DES, SHA";
-    static const QString EapCipher_DHE_DSS_3DES_SHA = "DHE-DSS, 3DES, SHA";
-    static const QString EapCipher_RSA_RC4_MD5      = "RSA, RC4, MD5";
-    static const QString EapCipher_RSA_RC4_SHA      = "RSA, RC4, SHA";
-
-}
-
-#endif // EAPUIDEFS_H
--- a/securitysettings/cpwlansecurityuiplugins/bwins/cpwpacmnuiu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
-	?createUi@CpWpaCmnUi@@QAEPAVCpSettingFormItemData@@PAVEapQtConfigInterface@@PAVCmConnectionMethodShim@@@Z @ 1 NONAME ; class CpSettingFormItemData * CpWpaCmnUi::createUi(class EapQtConfigInterface *, class CmConnectionMethodShim *)
-	??0CpWpaCmnUi@@QAE@W4WlanSecMode@CMManagerShim@@AAVCpItemDataHelper@@@Z @ 2 NONAME ; CpWpaCmnUi::CpWpaCmnUi(enum CMManagerShim::WlanSecMode, class CpItemDataHelper &)
-	??1CpWpaCmnUi@@QAE@XZ @ 3 NONAME ; CpWpaCmnUi::~CpWpaCmnUi(void)
-	?validateSettings@CpWpaCmnUi@@QAE_NXZ @ 4 NONAME ; bool CpWpaCmnUi::validateSettings(void)
-
--- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/cp802dot1xui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#   Control Panel plugin for 802.1X WLAN security mode
-#
-# %version: tr1cfwln#12 %
-#
-
-TEMPLATE = lib
-TARGET = cp802dot1xui
-
-DEPENDPATH += 
-
-INCLUDEPATH += \
-    ../inc
-    
-CONFIG += \
-    hb \
-    plugin
-    
-LIBS += \ 
-    -lcpframework \
-    -lcpwpacmnui \
-    -lconnection_settings_shim \
-    -leapqtconfiginterface
-    
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-# Input
-HEADERS += \
-    traces/OstTraceDefinitions.h \
-    inc/cp802dot1xui.h
-    
-SOURCES += src/cp802dot1xui.cpp
-
-symbian: 
-{ 
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002DC72
-    
-    deploy.path = C:
-    qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity
-    qtplugins.sources += qmakepluginstubs/cp802dot1xui.qtplugin
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-    
-    BLD_INF_RULES.prj_exports += \ 
-      "rom/cp802dot1xui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cp802dot1xui.iby)"
-}
-
-symbian:
-{
-    MMP_RULES += "USERINCLUDE traces"
-}
-
-# common translation file for all plugins
-TRANSLATIONS = cpwlansecsettingsplugin.ts
-
-plugin.sources += cp802dot1xui.dll
-plugin.path = /resource/qt/plugins/controlpanel
-
-DEPLOYMENT += plugin
--- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/inc/cp802dot1xui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *    Control Panel QT UI for 802_Dot_1x configuration
- *
- */
-
-/*
- * %version: tr1cfwln#7 %
- */
-
-#ifndef CP802DOT1XUI_H
-#define CP802DOT1XUI_H
-
-// System includes
-#include <cpsettingformitemdata.h>
-#include <cpwlansecurityplugininterface.h>
-
-// User includes
-
-
-// Forward declarations
-class EapQtConfigInterface;
-class CmConnectionMethodShim;
-class CpWpaCmnUi;
-class HbTranslator;
-
-/*!
- * @addtogroup group_wlan_security_ui_plugin_802_Dot_1x
- * @{
- */
-
-/*! 
- * Implements 802_Dot_1x plugin for Wlan security control panel  
- */
-//Class Declaration
-class Cp802Dot1xUi : public QObject, public CpWlanSecurityPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpWlanSecurityPluginInterface)
-    
-    public:
-        Cp802Dot1xUi();
-        ~Cp802Dot1xUi();
-    
-    public:
-        // from CpWlanSecurityPluginInterface 
-    
-        CMManagerShim::WlanSecMode securityMode() const;
-            
-        QString securityModeTextId() const;
-            
-        void setReference(CmConnectionMethodShim *cmCm, uint id);
-            
-        int orderNumber() const;
-           
-        CpSettingFormItemData* uiInstance(
-                CpItemDataHelper &dataHelper);
-        
-        bool validateSettings();
-    
-    private:
-    
-        Q_DISABLE_COPY(Cp802Dot1xUi)      
-
-        //!WPA security group item
-        CpSettingFormItemData* mUi;   
-
-        //!Translator for all the localisation Text Id's
-        HbTranslator *mTranslator;
-
-        //! Connection Settings Shim connection method pointer    
-        CmConnectionMethodShim *mCmCM;    
-
-        //! Eap Plugin config interface
-        EapQtConfigInterface *mEapQtConfigInterface;
-
-        //!802.1x ui Implementer Interface
-        QScopedPointer <CpWpaCmnUi> m802Ui;
-
-};
-
-/*! @} */
-
-#endif //CP802DOT1XUI_H
--- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/rom/cp802dot1xui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: IBY file for 802.1x control panel plugin
-*
-*/
-
-/*
- * %version: 1 %
- */
-
-#ifndef CP802DOT1XUI_IBY
-#define CP802DOT1XUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cp802dot1xui.dll SHARED_LIB_DIR/cp802dot1xui.dll
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cp802dot1xui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cp802dot1xui.qtplugin
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CP802DOT1XUI_IBY
--- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *    Control Panel QT UI for 802_Dot_1x configuration
- *
- */
-
-/*
- * %version: tr1cfwln#8 %
- */
-
-//User Includes
-#include "cp802dot1xui.h"
-#include "cpwpacmnui.h"
-#include "cpwpacmnui_global.h"
-
-//System Includes
-#include <cmmanagerdefines_shim.h>
-#include <cmconnectionmethod_shim.h>
-#include <eapqtconfiginterface.h>
-#include <QStringList>
-#include <HbTranslator>
-
-//Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cp802dot1xuiTraces.h"
-#endif
-
-/*!
- \class Cp802Dot1xUi
- \brief Cp802Dot1xUi implements the common Ui for 802.1x only 
- Security Settings Control Panel Plugins,
- which will allow viewing/editing of 802.1x Security Settings.
- */
-//The order in which 802_Dot_1x only mode appears in the list of available 
-//security modes
-const int UI_ORDER_802_Dot_1x = 40;
-
-/*!
- * Constructor
- */
-
-Cp802Dot1xUi::Cp802Dot1xUi() :
-    mUi(NULL), 
-    mTranslator(new HbTranslator("cpwlansecsettingsplugin")),
-    mCmCM(NULL),
-    mEapQtConfigInterface(NULL),
-    m802Ui(NULL)
-{
-   
-}
-
-// Destructor
-Cp802Dot1xUi::~Cp802Dot1xUi()
-{
-    OstTraceFunctionEntry1(CP802DOT1XUI_CP802DOT1XUI_ENTRY,this);
-    delete mEapQtConfigInterface;
-    delete mTranslator;
-    OstTraceFunctionExit1(CP802DOT1XUI_CP802DOT1XUI_EXIT,this);
-}
-
-/*!
- Getter for security mode.
-
- \return Security mode identifier
- */
-CMManagerShim::WlanSecMode Cp802Dot1xUi::securityMode() const
-{
-    OstTraceFunctionEntry1(CP802DOT1XUI_SECURITYMODE_ENTRY,this);
-    OstTraceFunctionExit1(CP802DOT1XUI_SECURITYMODE_EXIT,this);
-    //return security mode 
-    return CMManagerShim::WlanSecMode802_1x;
-}
-
-/*!
- Getter for localization text identifier for the security mode,
- f.ex. "txt_occ_setlabel_wlan_security_mode_val_8021x". This localized
- text will be shown in the UI.
- 
- \return Localization text ID
- */
-QString Cp802Dot1xUi::securityModeTextId() const
-{
-    OstTraceFunctionEntry1( CP802DOT1XUI_SECURITYMODETEXTID_ENTRY, this );
-    OstTraceFunctionExit1( CP802DOT1XUI_SECURITYMODETEXTID_EXIT, this );
-    return "txt_occ_setlabel_wlan_security_mode_val_8021x";
-}
-
-/*! 
- Sets the database reference IAP id.
-
- \param id Database reference
- */
-void Cp802Dot1xUi::setReference(CmConnectionMethodShim *cmCm,uint id)
-{
-    OstTraceFunctionEntry1(CP802DOT1XUI_SETREFERENCE_ENTRY,this);    
-    if (!mEapQtConfigInterface) {
-           mEapQtConfigInterface = new EapQtConfigInterface(
-               EapQtConfigInterface::EapBearerTypeWlan, id);
-    } 
-    else {
-           mEapQtConfigInterface->setConfigurationReference(id);     
-    }
-    
-    //mCmCM is not deleted assuming mCmManager owns it.
-     mCmCM = cmCm;
-    
-    OstTraceFunctionExit1(CP802DOT1XUI_SETREFERENCE_EXIT,this);
-}
-
-/*!
- Getter for order number. This order number is used by the client of
- this interface to put the security modes in correct order in the list.
-
- \return An order number
- */
-int Cp802Dot1xUi::orderNumber() const
-{
-    OstTraceFunctionEntry1(CP802DOT1XUI_ORDERNUMBER_ENTRY,this);
-    OstTraceFunctionExit1(CP802DOT1XUI_ORDERNUMBER_EXIT,this);
-    return UI_ORDER_802_Dot_1x;
-}
-
-/*!
- Creates an UI instance. Caller owns the object.
- 
- \param dataHelper Item data helper
- \return Pointer to an UI object
- */
-CpSettingFormItemData* Cp802Dot1xUi::uiInstance(CpItemDataHelper &dataHelpper)
-{
-    OstTraceFunctionEntry1(CP802DOT1XUI_UIINSTANCE_ENTRY,this);
-
-    //reset Common Ui ptr
-    m802Ui.reset(new CpWpaCmnUi(CMManagerShim::WlanSecMode802_1x, dataHelpper));
-        
-    mUi = m802Ui->createUi(mEapQtConfigInterface, mCmCM);
-      
-    OstTraceFunctionExit1(CP802DOT1XUI_UIINSTANCE_EXIT,this);
-    return mUi;
-}
-
-
-/*!
-   Validates current security settings. This function is called whenever
-   user tries to exit from the settings view. If the plugin determines
-   that some settings need editing before considered valid, it shall
-   return false. A dialog will be shown to the user indicating that
-   settings are still incomplete and asking if he/she wishes to exit
-   anyway.
-
-   \return True if security settings for 802.1x only are valid, false if not.
-*/
-bool Cp802Dot1xUi::validateSettings()
-    {    
-    return true;
-    }
-
-
-Q_EXPORT_PLUGIN2(Cp802Dot1xUi, Cp802Dot1xUi)
-;
--- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/traces/OstTraceDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: TraceHeader ,includes the TraceAPI 
- *   
- *
- */
- 
-/*
- * %version: tr1cfwln#5 %
- */
- 
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/cpwepui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Control Panel plugin for WEP WLAN security mode
-
-# %version: tr1cfwln#16 %
-
-
-TEMPLATE = lib
-TARGET = cpwepui
-
-DEPENDPATH +=
-    
-INCLUDEPATH +=
-    
-CONFIG += \
-    hb \
-    plugin
-    
-LIBS += \ 
-    -lcpframework \
-    -lconnection_settings_shim
-    
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-# Input
-HEADERS += \
-    traces/OstTraceDefinitions.h \
-    inc/wepkeyvalidator.h \
-    inc/cpwepui.h
-    
-SOURCES += \
-    src/wepkeyvalidator.cpp \
-    src/cpwepui.cpp
-    
-symbian: 
-{ 
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002C2FF
-
-    deploy.path = C:
-    qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity
-    qtplugins.sources += qmakepluginstubs/cpwepui.qtplugin
-
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-
-    BLD_INF_RULES.prj_exports += \
-      "rom/cpwepui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwepui.iby)"
-}
-
-symbian:
-{
-    MMP_RULES += "USERINCLUDE traces"
-}
-
-# common translation file for all plugins
-TRANSLATIONS = cpwlansecsettingsplugin.ts
-
-plugin.sources += cpwepui.dll
-plugin.path = /resource/qt/plugins/controlpanel
-DEPLOYMENT += plugin
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/inc/cpwepui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT UI for WEP configuration
- *
- */
-
-/*
- * %version: tr1cfwln#18 %
- */
-
-#ifndef CPWEPUI_H
-#define CPWEPUI_H
-
-// System includes
-#include <cpsettingformitemdata.h>
-#include <QStringList>
-#include <HbMessageBox>
-#include <cpwlansecurityplugininterface.h>
-
-//User Includes
-
-// Forward declarations
-class CmConnectionMethodShim;
-class HbTranslator;
-class WepKeyValidator;
-
-//Constant declarations
-//!Maximum Number of Keys for WEP
-static const int KMaxNumberofKeys =  4;
-
-/*! 
- * Implements WEP plugin for Wlan security control panel  
- */
-
-// Class declaration
-class CpWepUi : public QObject, public CpWlanSecurityPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpWlanSecurityPluginInterface)
-
-public:
-    CpWepUi();
-    ~CpWepUi();
-
-public:
-    // from CpWlanSecurityPluginInterface 
-
-    CMManagerShim::WlanSecMode securityMode() const;
-
-    QString securityModeTextId() const;
-    
-    void setReference(CmConnectionMethodShim *cmCm, uint id);
-    
-    int orderNumber() const;
-    
-    CpSettingFormItemData* uiInstance(CpItemDataHelper &dataHelper);
-    
-    bool validateSettings();
-
-private:
-
-    enum WEPKeyFormat
-        {
-        EFormatHex, EFormatAscii,
-        };
-
-private:
-
-    void loadFieldsFromDataBase();
-
-    void wepKeyTextChanged(int index);
-
-    bool tryUpdate();
-
-    void handleUpdateError();
-
-    void showMessageBox(HbMessageBox::MessageBoxType type,
-            const QString &text);
-
-    void updateWepSettings();
-
-    void commitWEPkeys(int index);
-    
-    void createWEPKeyOneGroup(CpItemDataHelper &dataHelpper);
-    
-    void createWEPKeyTwoGroup(CpItemDataHelper &dataHelpper);
-    
-    void createWEPKeyThreeGroup(CpItemDataHelper &dataHelpper);
-    
-    void createWEPKeyFourGroup(CpItemDataHelper &dataHelpper); 
-    
-    void storeWEPKey(CMManagerShim::ConnectionMethodAttribute enumValue,QString& key);
-    
-    void setKeyFormat(QString& key,int index);
-        
-    CMManagerShim::ConnectionMethodAttribute getWEPKeyEnum(int index);
-    
-    void createWEPKeyGroup(int index);
-    
-    void addConnections(CpItemDataHelper &dataHelpper);
-    
-private slots:
-
-    void wepKeyInUseChanged(int index);
-
-    void wepKeyOneChanged();
-
-    void wepKeyTwoChanged();
-
-    void wepKeyThreeChanged();
-
-    void wepKeyFourChanged();
-    
-    void setEditorPreferences(const QModelIndex &modelIndex);
-
-private:
-
-    Q_DISABLE_COPY(CpWepUi)
-
-    //!WEP security group item
-    CpSettingFormItemData* mUi;
-
-    //! Store strings of WEP keys
-    QStringList mKeyData;
-
-    //! WEP keys item
-    CpSettingFormItemData *mWepKey[KMaxNumberofKeys];
-
-    //! WEP keys text item
-    CpSettingFormItemData *mWepKeyText[KMaxNumberofKeys];
-
-    //!Store the index of the current key in use   
-    int mNewKeySelected;
-   
-    //!Translator for all the localisation Text Id's
-    HbTranslator* mTranslator;
-
-    //!Connection Settings Shim connection method pointer
-    CmConnectionMethodShim *mCmCM;
-
-    //! Connection method Id
-    int mCmId;
-
-    //! Message box for info notes
-    QSharedPointer<HbMessageBox> mMessageBox;
-
-    //! Store Formats of WEP keys
-    WEPKeyFormat mkeyFormat[KMaxNumberofKeys];
-        
-    CpItemDataHelper* mItemDataHelper;
-    
-    
-
-};
-
-/*! @} */
-
-#endif //CPWEPUI_H
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/inc/wepkeyvalidator.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Validation methods for WEP keys
- *
- */
-
-/*
- * %version: tr1cfwln#4 %
- */
-
-#ifndef WEPKEYVALIDATOR_H
-#define WEPKEYVALIDATOR_H
-
-/*!
- * @addtogroup group_wep_key_validator
- * @{
- */
-
-class WepKeyValidator
-{
-public:
-    enum KeyStatus
-    {
-        KeyStatusOk,
-        KeyStatusIllegalCharacters,
-        KeyStatusWepInvalidLength,
-    };
-
-
-    static const int WepHex64BitMaxLength = 10;
-    static const int WepHex128BitMaxLength = 26;
-    static const int WepAscii64BitMaxLength = 5;
-    static const int WepAscii128BitMaxLength = 13;
-    static const int WepKeyEmptyString = 0;
-    
-public:
-    static KeyStatus validateWepKey(const QString &key);
-    static KeyStatus isAscii(const QString &key);
-    static KeyStatus isHex(const QString &key);
-};
-
-/*! @} */
-
-#endif /* WEPKEYVALIDATOR_H */
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/rom/cpwepui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:IBY file for WEP Ui
-*
-*/
-
-/*
- * %version: tr1cfwln#4 %
- */
-
-#ifndef CPWEPUI_IBY
-#define CPWEPUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpwepui.dll  SHARED_LIB_DIR/cpwepui.dll 
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cpwepui.qtplugin   resource/qt/plugins/controlpanel/wlansecurity/cpwepui.qtplugin 
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPWEPUI_IBY
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/src/cpwepui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,724 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT UI for WEP configuration
- *
- */
-
-/*
- * %version: tr1cfwln#24 %
- */
-
-//User Includes
-#include "cpwepui.h"
-#include "wepkeyvalidator.h"
-
-
-// System includes
-#include <QStringList>
-#include <cpitemdatahelper.h>
-#include <cmconnectionmethod_shim.h>
-#include <cmmanagerdefines_shim.h>
-#include <HbLineEdit>
-#include <HbTranslator>
-#include <HbEditorInterface>
-
-//Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwepuiTraces.h"
-#endif
-
-// Constants
-//The order in which WEP only mode appears in the list of available 
-//security mode
-static const int UI_ORDER_WEP = 10;
-
-//! Index of first WEP key
-static const int KFirstKey = 0;
-
-//! Index of second WEP key
-static const int KSecondKey = 1;
-
-//! Index of third WEP key
-static const int KThirdKey = 2;
-
-//! Index of fourth WEP key
-static const int KFourthKey = 3;
-
-//!Maximum allowed length for WEP keys, in hex mode
-static const int KMaxKeyLength  = 26;
-
-
-
-/*!
- \class CpWepUi
- \brief CpWepUi implements the WEP Security Settings Control Panel Plugin
- which will allow viewing/editing of WEP Security Settings.
- */
-//Contructs WEP object
-CpWepUi::CpWepUi() :
-    mUi(NULL),
-    mNewKeySelected(0), 
-    mTranslator(new HbTranslator("cpwlansecsettingsplugin")),
-    mCmCM(NULL), 
-    mCmId(0)    
-{
-    //Initialize array members
-    for(int index=0;index<KMaxNumberofKeys;index++)
-    {
-        mWepKey[index] = NULL;
-        mWepKeyText[index] = NULL;   
-        mkeyFormat[index] = EFormatHex;
-    }
-      
-}
-
-//Deletes all objects WEP owns
-CpWepUi::~CpWepUi()
-{
-    OstTraceFunctionEntry1(CPWEPUI_CPWEPUI_ENTRY,this);
-    //Elements like mUi and components that belong to it
-    //, are taken care by the parent
-    delete mTranslator;
-    OstTraceFunctionExit1(CPWEPUI_CPWEPUI_EXIT,this);
-}
-
-// ======== MEMBER FUNCTIONS ========
-
-
-/*!
- Getter for security mode.
-
- \return Security mode identifier
- */
-CMManagerShim::WlanSecMode CpWepUi::securityMode() const
-{
-    OstTraceFunctionEntry1(CPWEPUI_SECURITYMODE_ENTRY,this);
-    OstTraceFunctionExit1(CPWEPUI_SECURITYMODE_EXIT,this);
-    //return security mode
-    return CMManagerShim::WlanSecModeWep;
-}
-
-/*!
- Getter for localization text identifier for the security mode,
- f.ex. "txt_occ_setlabel_wlan_security_mode_val_wep". This localized
- text will be shown in the UI.
- 
- \return Localization text ID
- */
-QString CpWepUi::securityModeTextId() const
-{
-    OstTraceFunctionEntry1( CPWEPUI_SECURITYMODETEXTID_ENTRY, this );
-    OstTraceFunctionExit1( CPWEPUI_SECURITYMODETEXTID_EXIT, this );
-    return "txt_occ_setlabel_wlan_security_mode_val_wep";
-}
-
-/*! 
- Sets the database reference Iap id.
-
- \param id Database reference
- */
-void CpWepUi::setReference(CmConnectionMethodShim *cmCm, uint id)
-{
-    OstTraceFunctionEntry1(CPWEPUI_SETREFERENCE_ENTRY,this);
-    mCmId = id;
-
-    //mCmCM is not deleted assuming CmManager owns it.
-    mCmCM = cmCm;
-    OstTraceFunctionExit1(CPWEPUI_SETREFERENCE_EXIT,this);
-}
-
-/*!
- Getter for order number. This order number is used by the client of
- this interface to put the security modes in correct order in the list.
-
- \return An order number
- */
-int CpWepUi::orderNumber() const
-{
-    OstTraceFunctionEntry1(CPWEPUI_ORDERNUMBER_ENTRY,this);
-    OstTraceFunctionExit1(CPWEPUI_ORDERNUMBER_EXIT,this);
-    return UI_ORDER_WEP;
-}
-
-/*!
- * Returns the fully constructed Ui Group , for WEP security plugin
- * 
- * \param dataHelper to add Connections
- * 
- * \return The WEP UI
- */
-CpSettingFormItemData* CpWepUi::uiInstance(CpItemDataHelper &dataHelpper)
-{
-    int err;
-    OstTraceFunctionEntry1(CPWEPUI_UIINSTANCE_ENTRY,this);
-
-    //Read values From CommsDatbase
-    QT_TRYCATCH_ERROR(err, loadFieldsFromDataBase());
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR, CPWEPUI_UIINSTANCE, "LoadFromDataBase returned %d", err );
-    }
-    
-    //Store the address of the Data Helper
-    mItemDataHelper = &dataHelpper;
-
-    mUi = new CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId(
-            "txt_occ_subhead_security_settings"));
-
-    CpSettingFormItemData *wepKeyInUse = new CpSettingFormItemData(
-            HbDataFormModelItem::ComboBoxItem, hbTrId(
-                    "txt_occ_setlabel_wep_key_in_use"), mUi);
-    QStringList wepKeys;
-    wepKeys.append(hbTrId("txt_occ_setlabel_wep_key_in_val_1"));
-    wepKeys.append(hbTrId("txt_occ_setlabel_wep_key_in_val_2"));
-    wepKeys.append(hbTrId("txt_occ_setlabel_wep_key_in_val_3"));
-    wepKeys.append(hbTrId("txt_occ_setlabel_wep_key_in_val_4"));
-
-    wepKeyInUse->setContentWidgetData("items", wepKeys);
-    wepKeyInUse->setContentWidgetData("currentIndex", mNewKeySelected);
-    dataHelpper.addConnection(wepKeyInUse, SIGNAL(currentIndexChanged(int)),
-            this, SLOT(wepKeyInUseChanged(int)));
-    mUi->appendChild(wepKeyInUse);
-
-    //Create Ui for all 4 WEP keys
-    createWEPKeyGroup(KFirstKey);
-
-    createWEPKeyGroup(KSecondKey);
-
-    createWEPKeyGroup(KThirdKey);
-
-    createWEPKeyGroup(KFourthKey);
-    
-    //Add Connections(signals)
-    addConnections(dataHelpper);
-
-    OstTraceFunctionExit1(CPWEPUI_UIINSTANCE_EXIT,this);
-    return mUi;
-}
-
-
-/*!
-   Validates current security settings. This function is called whenever
-   user tries to exit from the settings view. If the plugin determines
-   that some settings need editing before considered valid, it shall
-   return false. A dialog will be shown to the user indicating that
-   settings are still incomplete and asking if he/she wishes to exit
-   anyway.
-
-   \return True if security settings for WEP are valid, false if not.
-*/
-bool CpWepUi::validateSettings()
-{
-    bool ret(false);
-    //Check the latest string entered for the WEP key in the text box
-    QVariant keyValue = mWepKeyText[mNewKeySelected]->contentWidgetData("text");
-    QString keyString = keyValue.toString();
-    
-    WepKeyValidator::KeyStatus keystatus = WepKeyValidator::validateWepKey(keyString);
-    
-    //Check if key is  valid and not of zero length 
-    if(keystatus==WepKeyValidator::KeyStatusOk) {
-        ret = true;
-    }
-    return ret;
-}
-
-/*!
- * Create Ui element with text edit for WEP KEYS
- * 
- * \param index of the WEP key
- * */
-void CpWepUi::createWEPKeyGroup(int index)
-    {
-    OstTraceFunctionEntry1(CPWEPUI_CREATEWEPKEYGROUP_ENTRY,this);
-    QString textId;
-    
-    switch(index)
-        {
-        case KFirstKey:
-            textId  = hbTrId("txt_occ_setlabel_wep_key_1");
-            break;
-            
-        case KSecondKey:
-            textId  = hbTrId("txt_occ_setlabel_wep_key_2");
-            break;
-            
-        case KThirdKey:
-            textId  = hbTrId("txt_occ_setlabel_wep_key_3");
-            break;
-            
-        case KFourthKey:
-            textId  = hbTrId("txt_occ_setlabel_wep_key_4");
-            break;
-        }
-        
-    mWepKeyText[index] = new CpSettingFormItemData(
-            HbDataFormModelItem::TextItem,
-            textId, mUi);
-
-    if (mKeyData[index].length() != 0) {
-        mWepKeyText[index]->setContentWidgetData("text",
-                mKeyData[index]);
-    }
-    mWepKeyText[index]->setContentWidgetData("echoMode",HbLineEdit::PasswordEchoOnEdit);
-    mWepKeyText[index]->setContentWidgetData("smileysEnabled", "false");
-
-    
-    mUi->appendChild(mWepKeyText[index]);
-    OstTraceFunctionExit1(CPWEPUI_CREATEWEPKEYGROUP_EXIT,this);
-    }
-
-
-/*!
- * Add signals to all the text Edit of WEP key groups.
- *  
- *  \param dataHelper ; to add Connections
- */
-void CpWepUi::addConnections(CpItemDataHelper &dataHelpper)
-    {
-    OstTraceFunctionEntry1( CPWEPUI_ADDCONNECTIONS_ENTRY, this );
-    
-    dataHelpper.addConnection(mWepKeyText[KFirstKey],
-                SIGNAL( editingFinished ()), this, SLOT(wepKeyOneChanged() ));
-    
-    dataHelpper.addConnection(mWepKeyText[KSecondKey],
-               SIGNAL( editingFinished ()), this, SLOT(wepKeyTwoChanged() ));
-    
-    dataHelpper.addConnection(mWepKeyText[KThirdKey],
-               SIGNAL( editingFinished ()), this, SLOT(wepKeyThreeChanged() ));
-    
-    dataHelpper.addConnection(mWepKeyText[KFourthKey],
-                SIGNAL( editingFinished ()), this, SLOT(wepKeyFourChanged() ));
-    
-    dataHelpper.connectToForm(SIGNAL(itemShown (const QModelIndex &) ), 
-            this, SLOT(setEditorPreferences(const QModelIndex &)));
- 
-    OstTraceFunctionExit1( CPWEPUI_ADDCONNECTIONS_EXIT, this );
-    }
-
-
-/*!
- * Slot to handle , if a different wep key (index) 
- * is made active
- * \param wepKeyInUse index of the chosen wep key
- */
-void CpWepUi::wepKeyInUseChanged(int wepKeyInUse)
-{
-    OstTraceFunctionEntry1(CPWEPUI_WEPKEYINUSECHANGED_ENTRY,this);
-
-    int err;
-    //Update CommsDat
-    QT_TRYCATCH_ERROR(err, mCmCM->setIntAttribute(CMManagerShim::WlanWepKeyIndex, wepKeyInUse));
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR, CPWEPUI_WEPKEYINUSECHANGED, "Error wepKeyInUse returned %d", err );
-    }
-    tryUpdate();
-    
-    //Store the wep key in use
-    mNewKeySelected = wepKeyInUse;
-    OstTraceFunctionExit1(CPWEPUI_WEPKEYINUSECHANGED_EXIT,this);
-}
-
-/*!
- * Slot to handle ,when the  
- *   wep key one string gets changed
- * 
- * 
- */
-void CpWepUi::wepKeyOneChanged()
-{
-    int err;
-    OstTraceFunctionEntry1(CPWEPUI_WEPKEY1STRINGCHANGED_ENTRY,this);
-    QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KFirstKey));
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR,CPWEPUI_WEPKEYONECHANGED, "Error wepKeyOneChanged returned %d", err );
-        }
-    OstTraceFunctionExit1(CPWEPUI_WEPKEY1STRINGCHANGED_EXIT,this);
-}
-
-/*!
- * Slot to handle ,when the  
- *   wep key two string gets changed
- * 
- * 
- */
-void CpWepUi::wepKeyTwoChanged()
-{
-    int err;
-    OstTraceFunctionEntry1(CPWEPUI_WEPKEY2STRINGCHANGED_ENTRY,this);
-    QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KSecondKey));
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR, CPWEPUI_WEPKEYTWOCHANGED, "Error wepKeyTwoChanged returned %d", err );
-    }
-    OstTraceFunctionExit1(CPWEPUI_WEPKEY2STRINGCHANGED_EXIT,this);
-}
-
-/*!
- * Slot to handle ,when the  
- *   wep key three string gets changed
- * 
- * 
- */
-void CpWepUi::wepKeyThreeChanged()
-{
-    int err;
-    OstTraceFunctionEntry1(CPWEPUI_WEPKEY3STRINGCHANGED_ENTRY,this);
-    QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KThirdKey));
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR,CPWEPUI_WEPKEYTHREECHANGED, "Error wepKeyThreeChanged returned %d", err );
-    }
-    OstTraceFunctionExit1(CPWEPUI_WEPKEY3STRINGCHANGED_EXIT,this);
-}
-
-/*!
- * Slot to handle ,when the  
- *   wep key four string gets changed
- * 
- * 
- */
-void CpWepUi::wepKeyFourChanged()
-{
-    int err;
-    OstTraceFunctionEntry1(CPWEPUI_WEPKEY4STRINGCHANGED_ENTRY,this);
-    QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KFourthKey));
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR, CPWEPUI_WEPKEYFOURCHANGED, "Error wepKeyFourChanged returned %d", err );
-    }OstTraceFunctionExit1(CPWEPUI_WEPKEY4STRINGCHANGED_EXIT,this);
-}
-
-/*!
- * Slot to handle change in either of the 4 WEP key strings
- * 
- * \param index of the WEP key that changed
- */
-void CpWepUi::wepKeyTextChanged(int index)
-{
-    OstTraceFunctionEntry1(CPWEPUI_WEPKEYTEXTCHANGED_ENTRY,this);
-
-    QVariant value = mWepKeyText[index]->contentWidgetData("text");
-    QString key = value.toString();
-
-    WepKeyValidator::KeyStatus keystatus = WepKeyValidator::validateWepKey(key);
-
-    // allow storing an empty key to enable clearing WEP keys
-    if (keystatus == WepKeyValidator::KeyStatusOk || key.length() == 0) {
-
-        //If key is valid set the format of the key
-        setKeyFormat(key, index);
-
-        //Get the right field to store
-        CMManagerShim::ConnectionMethodAttribute keyEnum = getWEPKeyEnum(index);
-
-        //Store the WEP key
-        storeWEPKey(keyEnum, key);
-
-        //Update the latest key into array
-        mKeyData[index] = key;
-
-        /*
-         * Commit All 4 WEP keys , anyways
-         */
-        commitWEPkeys(index);
-    }
-    else {
-        OstTrace0( TRACE_ERROR, CPWEPUI_WEPKEYTEXTCHANGED_ERROR, "CpWepUi::wepKeyTextChanged Invalid WEP Key Input" );        
-        showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId(
-                "txt_occ_info_invalid_input"));
-    }
-    OstTraceFunctionExit1(CPWEPUI_WEPKEYTEXTCHANGED_EXIT,this);
-}
-
-/*!
- * Slot that configures the editor settings for all WEP key fields.
- * This slot is invoked whenever a new item(s) are shown in the current view 
- * 
- * \param modelIndex Index of the current item in the  model
- */
-void CpWepUi::setEditorPreferences(const QModelIndex &modelIndex)
-{
-    
-    HbDataFormModelItem *item = mItemDataHelper->modelItemFromModelIndex(modelIndex);
-
-    HbSmileyTheme smiley;
-    /* Configure settings only for text fields*/
-    if(item->type() == HbDataFormModelItem::TextItem) {
-        HbLineEdit *edit = qobject_cast<HbLineEdit*>(mItemDataHelper->widgetFromModelIndex(modelIndex));           
-        HbEditorInterface editInterface(edit);    
-        editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
-        edit->setInputMethodHints(Qt::ImhNoPredictiveText);    
-        edit->setMaxLength(KMaxKeyLength);
-        }
-}
-
-
-/*!
- * Store the WEP key in Comms
- * \enumValue the right field represented by the enum value
- * \key the WEP key String to store
- */
-void CpWepUi::storeWEPKey(CMManagerShim::ConnectionMethodAttribute enumValue,
-        QString& key)
-{
-    mCmCM->setString8Attribute(enumValue, key);
-    tryUpdate();
-}
-
-/*!
- * Set the WEP key format
- * \key string to identify format
- * \index of the WEP key
- */
-void CpWepUi::setKeyFormat(QString& key, int index)
-{
-    if (key.length() == WepKeyValidator::WepHex64BitMaxLength || key.length()
-            == WepKeyValidator::WepHex128BitMaxLength) {
-        mkeyFormat[index] = EFormatHex;
-    }
-
-    else if (key.length() == WepKeyValidator::WepAscii64BitMaxLength
-            || key.length() == WepKeyValidator::WepAscii128BitMaxLength) {
-        mkeyFormat[index] = EFormatAscii;
-    }
-}
-
-/*!Get the right field in DB
- * \index of the WEP key
- */
-CMManagerShim::ConnectionMethodAttribute CpWepUi::getWEPKeyEnum(int index)
-{
-    CMManagerShim::ConnectionMethodAttribute keyenum(
-            CMManagerShim::WlanWepKey1InHex);
-    switch (index)
-        {
-        case KFirstKey:
-            {
-                if (mkeyFormat[index] == EFormatHex) {
-                    keyenum = CMManagerShim::WlanWepKey1InHex;
-                }
-                else {
-                    keyenum = CMManagerShim::WlanWepKey1InAscii;
-                }
-            }
-            break;
-
-        case KSecondKey:
-            {
-                if (mkeyFormat[index] == EFormatHex) {
-                    keyenum = CMManagerShim::WlanWepKey2InHex;
-                }
-                else {
-                    keyenum = CMManagerShim::WlanWepKey2InAscii;
-                }
-            }
-            break;
-
-        case KThirdKey:
-            {
-                if (mkeyFormat[index] == EFormatHex) {
-                    keyenum = CMManagerShim::WlanWepKey3InHex;
-                }
-                else {
-                    keyenum = CMManagerShim::WlanWepKey3InAscii;
-                }
-            }
-            break;
-
-        case KFourthKey:
-            {
-                if (mkeyFormat[index] == EFormatHex) {
-                    keyenum = CMManagerShim::WlanWepKey4InHex;
-                }
-                else {
-                    keyenum = CMManagerShim::WlanWepKey4InAscii;
-                }
-            }
-            break;
-
-        default:
-            break;
-        }
-    return keyenum;
-}
-/*
- * Read all security settings from the Comms 
- */
-void CpWepUi::loadFieldsFromDataBase()
-{
-    OstTraceFunctionEntry1(CPWEPUI_LOADFIELDSFROMDATABASE_ENTRY,this);
-
-    //Wep Key in Use 
-    mNewKeySelected = mCmCM->getIntAttribute(CMManagerShim::WlanWepKeyIndex);
-
-    //All data fetched in Hex Format
-    mKeyData.insert(KFirstKey, mCmCM->getString8Attribute(
-            CMManagerShim::WlanWepKey1InHex));
-
-    mKeyData.insert(KSecondKey,mCmCM->getString8Attribute(
-            CMManagerShim::WlanWepKey2InHex));
-
-    mKeyData.insert(KThirdKey, mCmCM->getString8Attribute(
-            CMManagerShim::WlanWepKey3InHex));
-
-    mKeyData.insert(KFourthKey, mCmCM->getString8Attribute(
-            CMManagerShim::WlanWepKey4InHex));
-
-    /*Set all key formats to Hex by default; because all keys are read in Hex from DB*/
-    for (int count = 0; count < KMaxNumberofKeys; count++)
-        {
-        mkeyFormat[count] = EFormatHex;
-        }
-
-    OstTraceFunctionExit1(CPWEPUI_LOADFIELDSFROMDATABASE_EXIT,this);
-}
-
-/*!
- Tries to update connection method changes to CommsDat.
- Returns "true" if success, "false" if some error happened. 
- */
-bool CpWepUi::tryUpdate()
-{
-    OstTraceFunctionEntry1(CPWEPUI_TRYUPDATE_ENTRY,this);
-
-    bool ret(true);
-    // Try update
-    try {
-        mCmCM->update();
-    }
-    catch (const std::exception&) {
-        // Handle error
-        handleUpdateError();
-        ret = false;
-    }
-
-    OstTraceFunctionExit1(DUP1_CPWEPUI_TRYUPDATE_EXIT,this);
-    return ret;
-}
-
-/*!
- Handles failed CommsDat update.
- */
-void CpWepUi::handleUpdateError()
-{
-    OstTraceFunctionEntry1(CPWEPUI_HANDLEUPDATEERROR_ENTRY,this);
-
-    // Show error note to user
-    showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId(
-            "txt_occ_info_unable_to_save_setting"));
-    // Reload settings from CommsDat and update UI
-    try {
-        mCmCM->refresh();
-    }
-    catch (const std::exception&) {
-        // Ignore error from refresh. Most likely this will not happen, but
-        // if it does, there isn't very much we can do.
-        OstTrace0(
-                TRACE_ERROR,
-                CPWEPPLUGIN_HANDLEUPDATEERROR,
-                "Refresh failed");
-    };
-    updateWepSettings();
-
-    OstTraceFunctionExit1(CPWEPUI_HANDLEUPDATEERROR_EXIT,this);
-}
-
-/*!
- Shows message box with "OK" button using given text.
- */
-void CpWepUi::showMessageBox(HbMessageBox::MessageBoxType type,
-        const QString &text)
-{
-    OstTraceFunctionEntry1(CPWEPUI_SHOWMESSAGEBOX_ENTRY,this);
-
-    // Create a message box
-    mMessageBox = QSharedPointer<HbMessageBox> (new HbMessageBox(type));
-    mMessageBox->setText(text);
-    mMessageBox->open();
-
-    OstTraceFunctionExit1(CPWEPUI_SHOWMESSAGEBOX_EXIT,this);
-}
-
-/*!
- * Reset the Key Items on the Ui, by reading the previously set value from Comms
- */
-void CpWepUi::updateWepSettings()
-    {
-    OstTraceFunctionEntry1(CPWEPUI_UPDATEWEPSETTINGS_ENTRY,this);
-    //Read values from Comms and update the Ui items; 
-    loadFieldsFromDataBase();
-
-    mWepKeyText[KFirstKey]->setContentWidgetData("text", mKeyData[KFirstKey]);
-
-    mWepKeyText[KSecondKey]->setContentWidgetData("text",
-            mKeyData[KSecondKey]);
-
-    mWepKeyText[KThirdKey]->setContentWidgetData("text", mKeyData[KThirdKey]);
-
-    mWepKeyText[KFourthKey]->setContentWidgetData("text",
-            mKeyData[KFourthKey]);
-
-    OstTraceFunctionExit1(CPWEPUI_UPDATEWEPSETTINGS_EXIT,this);
-    }
-
-/*!
- * Commit all WEP keys , except the one which was just set
- * 
- * \param index ; the index of the key that was just set
- */
-void CpWepUi::commitWEPkeys(int index)
-    {
-    OstTraceFunctionEntry1(CPWEPUI_COMMITWEPKEYS_ENTRY,this);
-    //We have all data in Hex, so setting all WEP keys in hex
-
-    if (index != KFirstKey) {
-        //Get the right field to store
-        CMManagerShim::ConnectionMethodAttribute keyEnumOne = getWEPKeyEnum(
-                KFirstKey);
-
-        //Store the WEP key
-        storeWEPKey(keyEnumOne, mKeyData[KFirstKey]);
-    }
-
-    if (index != KSecondKey) {
-        //Get the right field to store
-        CMManagerShim::ConnectionMethodAttribute keyEnumTwo = getWEPKeyEnum(
-                KSecondKey);
-
-        //Store the WEP key
-        storeWEPKey(keyEnumTwo, mKeyData[KSecondKey]);
-    }
-
-    if (index != KThirdKey) {
-        //Get the right field to store
-        CMManagerShim::ConnectionMethodAttribute keyEnumThree =
-                getWEPKeyEnum(KThirdKey);
-
-        //Store the WEP key
-        storeWEPKey(keyEnumThree, mKeyData[KThirdKey]);
-    }
-
-    if (index != KFourthKey) {
-        //Get the right field to store
-        CMManagerShim::ConnectionMethodAttribute keyEnumFour = getWEPKeyEnum(
-                KFourthKey);
-
-        //Store the WEP key
-        storeWEPKey(keyEnumFour, mKeyData[KFourthKey]);
-    }
-
-    OstTraceFunctionExit1(CPWEPUI_COMMITWEPKEYS_EXIT,this);
-}
-
-Q_EXPORT_PLUGIN2(CpWepUi, CpWepUi)
-;
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/src/wepkeyvalidator.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Validation methods for WEP keys
- *
- */
-
-/*
- * %version: tr1cfwln#5 %
- */
-
-#include <QString>
-#include <QDebug>
-#include "wepkeyvalidator.h"
-
-/*!
-    \class WepKeyValidator wepkeyvalidator.cpp
-    \brief Utilities for WEP key validations.
-    
-*/
-/*!
-    \enum WepKeyValidator::KeyStatus
-    This enum defines the validation results.
-
-    \var WepKeyValidator::KeyStatusOk
-    Key is valid.
-    
-    \var WepKeyValidator::KeyStatusIllegalCharacters
-    Key contains illegal characters.
-
-    \var WepKeyValidator::KeyStatusWepInvalidLength
-    WEP key length is not valid. Valid keys are 
-    - hex: 10 or 26 characters
-    - ascii: 5 or 13 characters. See WlanWizardUtils::validateWpaKey().
-*/
-
-
-/*!
- * Process WEP key validation. Following keys are allowed:
- * 
- * HEX: 
- * - 64 bit: allowed key length = 10
- * - 128 bit: allowed key length = 26
- * 
- * ASCII:
- * - 64 bit: allowed key length = 5   
- * - 128 bit: allowed key length = 13
- * 
- * @param key WEP Key to be validated
- * 
- * @return Following values are possible
- * - KeyStatusOk
- * - KeyStatusIllegalCharacters
- * - KeyStatusWepInvalidLength
- */
-WepKeyValidator::KeyStatus WepKeyValidator::validateWepKey(const QString &key)
-{
-    int length = key.length();
-    KeyStatus ret = KeyStatusOk;
-    // HEX
-    if (length == WepHex64BitMaxLength || length == WepHex128BitMaxLength) {
-        ret = isHex(key);
-    }
-    // ASCII
-    else if (length == WepAscii64BitMaxLength || length == WepAscii128BitMaxLength) {
-        ret = isAscii(key);
-    }
-
-    else {
-        ret = KeyStatusWepInvalidLength;
-    }
-
-    return ret;
-}
-
-/*!
- * Process Ascii validation. Allowed characters are from 32 to 126.
- * 
- * @param key to be validated.
- * 
- * @return Following values are possible
- * - KeyStatusOk
- * - KeyStatusIllegalCharacters
- */
-WepKeyValidator::KeyStatus WepKeyValidator::isAscii(const QString &key)
-{
-    QChar ch32(32);
-    QChar ch126(126);
- 
-    const QChar *data = key.data();
-    while (!data->isNull()) {
-        if ((*data) < ch32 || (*data) > ch126) {
-            return KeyStatusIllegalCharacters;
-        }
-        ++data;
-    }
-    return KeyStatusOk;
-}
-
-/*!
- * Process Hex validation. Allowed characters are
- * - from 0 to 9
- * - from a to f
- * - from A to F
- * 
- * @param key to be validated.
- * 
- * @return Following values are possible
- * - KeyStatusOk
- * - KeyStatusIllegalCharacters
- */
-WepKeyValidator::KeyStatus WepKeyValidator::isHex(const QString &key)
-{
-    QChar ch_A(65); // Character: A
-    QChar ch_F(70); // Character: F
-    QChar ch_a(97); // Character: a
-    QChar ch_f(102);// Character: f
-
-   
-    const QChar *data = key.data();
-    while (!data->isNull()) {
-        if (data->isDigit() ||
-            (*data) >= ch_a && (*data) <= ch_f ||
-            (*data) >= ch_A && (*data) <= ch_F) {
-            ++data;
-        }
-        else {
-            return KeyStatusIllegalCharacters;
-        }
-    }
-    return KeyStatusOk;
-}
--- a/securitysettings/cpwlansecurityuiplugins/cpwepui/traces/OstTraceDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: TraceHeader ,includes the TraceAPI 
- *   
- *
- */
- 
-/*
- * %version: tr1cfwln#4 %
- */
- 
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/securitysettings/cpwlansecurityuiplugins/cpwlansecurityuiplugins.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#   Control Panel plugins for WLAN security settings configuration
-
-# %version: tr1cfwln#12 %
-
-
-TEMPLATE = subdirs
-
-SUBDIRS += \
-    cpwepui \
-    cpwpacmnui \
-    cpwpaui \
-    cpwpa2ui \
-    cp802dot1xui
-
-CONFIG += ordered
-
-# export common iby for the translation file
-symbian:
-{
-    BLD_INF_RULES.prj_exports += \
-      "rom/cpwlansecurityuiplugins_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(cpwlansecurityuiplugins_resources.iby)"
-}
\ No newline at end of file
--- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/cpwpa2ui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Control Panel plugin for WPA2 WLAN security mode
-
-# %version: tr1cfwln#16 %
-
-
-TEMPLATE = lib
-TARGET = cpwpa2ui
-
-DEPENDPATH += 
-
-INCLUDEPATH += \
-    ../inc
-    
-CONFIG += \
-    hb \
-    plugin
-    
-LIBS += \ 
-    -lcpframework \    
-    -lcpwpacmnui \
-    -lconnection_settings_shim \
-    -leapqtconfiginterface
-    
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-# Input
-HEADERS += \ 
-    traces/OstTraceDefinitions.h \
-    inc/cpwpa2ui.h
-    
-SOURCES += \
-    src/cpwpa2ui.cpp
-
-symbian: 
-{ 
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002DC73
-
-    deploy.path = C:
-    qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity
-    qtplugins.sources += qmakepluginstubs/cpwpa2ui.qtplugin
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-
-    BLD_INF_RULES.prj_exports += \ 
-      "rom/cpwpa2ui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwpa2ui.iby)"
-}
-
-symbian: 
-{
-    MMP_RULES += "USERINCLUDE traces"
-}
-
-# common translation file for all plugins
-TRANSLATIONS = cpwlansecsettingsplugin.ts
-
-plugin.sources += cpwpa2ui.dll
-plugin.path = /resource/qt/plugins/controlpanel
-
-DEPLOYMENT += plugin 
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/inc/cpwpa2ui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *    Control Panel QT UI for WPA2 only configuration
- *
- */
-
-/*
-* %version: tr1cfwln#15 %
-*/
-
-
-#ifndef CPWPA2UI_H
-#define CPWPA2UI_H
-
-// System includes
-#include <cpsettingformitemdata.h>
-#include <cpwlansecurityplugininterface.h>
-
-// User includes
-
-
-// Forward declarations
-class EapQtConfigInterface;
-class CpWpaCmnUi;
-class CmConnectionMethodShim;
-class HbTranslator;
-
-
-/*!
- * @addtogroup group_wlan_security_ui_plugin_wpa2_only
- * @{
- */
-
-/*! 
- * Implements WPA2 only plugin for Wlan security control panel  
- */
-// Class declaration
-class CpWpa2Ui : public QObject, public CpWlanSecurityPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpWlanSecurityPluginInterface)
-
-public:
-    CpWpa2Ui();
-    ~CpWpa2Ui();
-
-public: // from CpWlanSecurityPluginInterface 
-          
-        CMManagerShim::WlanSecMode securityMode() const;
-        
-        QString securityModeTextId() const;
-       
-       void setReference(CmConnectionMethodShim *cmCm, uint id);
-              
-       int orderNumber() const;
-              
-       CpSettingFormItemData* uiInstance(
-               CpItemDataHelper &dataHelper);
-       
-       bool validateSettings();
-
-private:
-    
-    Q_DISABLE_COPY(CpWpa2Ui)
-        
-    //!WPA security group item
-    CpSettingFormItemData* mUi;  
-    
-    //!Translator for all the localisation Text Id's    
-   	HbTranslator* mTranslator;
-
-    //! Connection Settings Shim connection method pointer    
-    CmConnectionMethodShim *mCmCM;    
-    
-    //! Eap Plugin config interface
-	EapQtConfigInterface *mEapQtConfigInterface;
-	
-	//!WPA ui Implementer Interface
-    QScopedPointer <CpWpaCmnUi> mWpa2Ui;
-
- };
-
-/*! @} */
- 
-#endif
--- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/rom/cpwpa2ui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 	IBY file for WPA2 only control panel plugin
-*
-*/
-
-/*
- * %version: tr1cfwln#3 %
- */
-
-#ifndef CPWPA2UI_IBY
-#define CPWPA2UI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpwpa2ui.dll SHARED_LIB_DIR/cpwpa2ui.dll
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cpwpa2ui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cpwpa2ui.qtplugin
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPWPA2UI_IBY
--- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/src/cpwpa2ui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT UI for WPA2 only configuration
- *
- */
-
-/*
- * %version: tr1cfwln#23 %
- */
-
-// User includes
-#include "cpwpa2ui.h"
-#include "cpwpacmnui.h"
-
-// System includes
-#include <cmmanagerdefines_shim.h>
-#include <cmconnectionmethod_shim.h>
-#include <eapqtconfiginterface.h>
-#include <QStringList>
-#include <HbTranslator>
-
-//Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwpa2uiTraces.h"
-#endif
-
-
-// Constants
-//The order in which WPA2 only mode appears in the list of available 
-//security mode
-const int UI_ORDER_WPA2_ONLY = 30;
-
-/*!
- \class CpWpa2Ui
- \brief CpWpa2Ui implements the  Ui for WPA2 only 
- Security Settings Control Panel Plugin,
- which will allow viewing/editing of WPA2 only Security Settings.
- */
-/*!
- * Constructor
- * 
- */
-CpWpa2Ui::CpWpa2Ui() :
-    mUi(NULL), 
-    mTranslator(new HbTranslator("cpwlansecsettingsplugin")),
-    mCmCM(NULL),
-    mEapQtConfigInterface(NULL),
-    mWpa2Ui(NULL)
-{
-
-}
-
-//Destructor
-CpWpa2Ui::~CpWpa2Ui()
-{
-    OstTraceFunctionEntry1(CPWPA2UI_CPWPA2UI_ENTRY,this);
-    delete mEapQtConfigInterface;
-    delete mTranslator;
-    OstTraceFunctionExit1(CPWPA2UI_CPWPA2UI_EXIT,this);
-}
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- Getter for security mode.
-
- \return Security mode identifier
- */
-CMManagerShim::WlanSecMode CpWpa2Ui::securityMode() const
-{
-    OstTraceFunctionEntry1(CPWPA2UI_SECURITYMODE_ENTRY,this);
-    OstTraceFunctionExit1(CPWPA2UI_SECURITYMODE_EXIT,this);
-    //return security mode
-    return CMManagerShim::WlanSecModeWpa2;
-}
-
-/*!
- Getter for localization text identifier for the security mode,
- f.ex. "txt_occ_setlabel_wlan_security_mode_val_wpa2_only". This localized
- text will be shown in the UI.
- 
- \return Localization text ID
- */
-QString CpWpa2Ui::securityModeTextId() const
-{
-    OstTraceFunctionEntry1(CPWPA2UI_SECURITYMODETEXTID_ENTRY,this);
-    OstTraceFunctionExit1(CPWPA2UI_SECURITYMODETEXTID_EXIT,this);
-    return "txt_occ_setlabel_wlan_security_mode_val_wpa2_only";
-}
-
-/*! 
- Sets the database reference IAP id.
-
- \param id Database reference
- */
-void CpWpa2Ui::setReference(CmConnectionMethodShim *cmCm, uint id)
-{
-    OstTraceFunctionEntry1(CPWPA2UI_SETREFERENCE_ENTRY,this);
-    if (!mEapQtConfigInterface) {
-        mEapQtConfigInterface = new EapQtConfigInterface(
-            EapQtConfigInterface::EapBearerTypeWlan, id);
-    } else {
-        mEapQtConfigInterface->setConfigurationReference(id);     
-    }
-
-    //mCmCM is not deleted assuming mCmManager owns it.
-    mCmCM = cmCm;
-    OstTraceFunctionExit1(CPWPA2UI_SETREFERENCE_EXIT,this);
-}
-
-/*!
- Getter for order number. This order number is used by the client of
- this interface to put the security modes in correct order in the list.
-
- \return An order number
- */
-int CpWpa2Ui::orderNumber() const
-{
-    OstTraceFunctionEntry1(CPWPA2UI_ORDERNUMBER_ENTRY,this);
-    OstTraceFunctionExit1(CPWPA2UI_ORDERNUMBER_EXIT,this);
-    return UI_ORDER_WPA2_ONLY;
-}
-
-/*!
- Creates an UI instance. Caller owns the object.
- 
- \param dataHelper Item data helper
- \return Pointer to an UI object
- */
-CpSettingFormItemData* CpWpa2Ui::uiInstance(CpItemDataHelper &dataHelpper)
-{
-    OstTraceFunctionEntry1(CPWPA2UI_UIINSTANCE_ENTRY,this);
-
-	//reset the Common Ui Ptr
-    mWpa2Ui.reset(new CpWpaCmnUi(CMManagerShim::WlanSecModeWpa2, dataHelpper));
-
-    mUi = mWpa2Ui->createUi(mEapQtConfigInterface, mCmCM);
-    
-    OstTraceFunctionExit1(CPWPA2UI_UIINSTANCE_EXIT,this);
-    return mUi;
-}
-
-/*!
-   Validates current security settings. This function is called whenever
-   user tries to exit from the settings view. If the plugin determines
-   that some settings need editing before considered valid, it shall
-   return false. A dialog will be shown to the user indicating that
-   settings are still incomplete and asking if he/she wishes to exit
-   anyway.
-
-   \return True if security settings for WPA2 only are valid, false if not.
-*/
-bool CpWpa2Ui::validateSettings()
-{
-    return mWpa2Ui->validateSettings();
-}
-
-
-Q_EXPORT_PLUGIN2(CpWpa2Ui, CpWpa2Ui)
-;
--- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/traces/OstTraceDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: TraceHeader, includes the TraceAPI
- *   
- *
- */
- 
-/*
- * %version: tr1cfwln#6 %
- */
- 
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/cpwpacmnui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Common UI implementation for WPA/WPA2, 802.1x and 
-#   WPA2 WLAN security modes
-
-# %version: tr1cfwln#17 %
-
-TEMPLATE = lib
-TARGET = cpwpacmnui
-
-DEFINES += WPAUI_LIBRARY
-DEPENDPATH += 
-
-INCLUDEPATH += \
-    ../inc
-    
-CONFIG += hb
-
-LIBS += \
-    -lcpframework \
-    -leapqtplugininfo \
-    -leapqtconfiginterface \
-    -lconnection_settings_shim
-    
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-# Input
-HEADERS += \
-    traces/OstTraceDefinitions.h \
-    inc/cpwpacmnui_p.h \
-    inc/wpakeyvalidator.h \
-    inc/cpwpacmneapui.h \
-    ../inc/cpwpacmnui_global.h \
-    ../inc/cpwpacmnui.h
-  
-SOURCES += \ 
-    src/cpwpacmnui.cpp \
-    src/cpwpacmnui_p.cpp \
-    src/wpakeyvalidator.cpp \
-    src/cpwpacmneapui.cpp
-
-defFilePath = ..
-
-symbian:
-{ 
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002DC74
-    
-    BLD_INF_RULES.prj_exports += \ 
-      "./rom/cpwpacmnui.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(cpwpacmnui.iby)"
-}
-
-symbian:
-{
-    MMP_RULES += "USERINCLUDE traces"
-}
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmneapui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel WLAN Security EAP Entry item for WPA(2)/802.1x
- *
- */
-
-/*
- * %version: tr1cfwln#8 %
- */
-
-#ifndef CPWPACMNEAPUI_H_
-#define CPWPACMNEAPUI_H_
-
-// System includes
-#include <cpsettingformentryitemdata.h>
-
-// User includes
-
-// Forward declarations
-class CpWpaCmnUiPrivate;
-
-class EapEntryItemData : public CpSettingFormEntryItemData
-{
-public:
-    EapEntryItemData(
-        CpWpaCmnUiPrivate* wpa, 
-        CpItemDataHelper &itemDataHelper,
-        const QString &text = QString());
-
-    virtual ~EapEntryItemData();
-
-    virtual CpBaseSettingView *createSettingView() const;
-
-private:
-    //! Pointer to WPA/WPA2/802.1x UI. 
-    CpWpaCmnUiPrivate* mUi;
-    // Dataitem helpper
-    CpItemDataHelper& itemdatahelper;
-};
-
-#endif /* CPWPACMNEAPUI_H_ */
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmnui_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Private Implementation for Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration
- *
- */
-
-/*
- * %version: tr1cfwln#7 %
- */
-
-#ifndef CPWPACMNUI_P_H_
-#define CPWPACMNUI_P_H_
-
-// System includes
-#include <HbMessageBox>
-#include <cmmanagerdefines_shim.h>
-
-// User includes
-
-// Forward declarations
-class CpItemDataHelper;
-class CpSettingFormItemData;
-class EapQtConfigInterface;
-class CmConnectionMethodShim;
-class EapEntryItemData;
-class CpBaseSettingView;
-class EapQtPluginInfo;
-
-//class declaration
-class CpWpaCmnUiPrivate :public QObject
-    { 
-    Q_OBJECT  
-public:
-
-    CpWpaCmnUiPrivate(CMManagerShim::WlanSecMode securityMode,
-            CpItemDataHelper &dataHelpper);
-    ~CpWpaCmnUiPrivate();
-
-    CpSettingFormItemData* createUi(
-            EapQtConfigInterface *mEapQtConfigInterface,
-            CmConnectionMethodShim *cmCM);
-    
-    CpBaseSettingView *eapUiInstance();
-    
-    bool validateSettings();
-
-private:
-    
-    
-    CpSettingFormItemData* createWpaTypeSelector();
-    CpSettingFormItemData* createPskEditor();
-    CpSettingFormItemData* createEapSelector();
-    EapEntryItemData* createEapEntryItem();
-    CpSettingFormItemData *createUnencryptedBox();
-    void removeObjectFromView(CpSettingFormItemData *&object);
-
-    void loadWPAPskView();
-    void loadWPAEapView();       
-    void loadUi();
-    void loadWPA_WPA2Fields();
-    void load802Dot1xFields(); 
-    void loadEapConfigurations();
-    
-    void readValues();
-        
-    bool tryUpdate();
-    void handleUpdateError();
-    void showMessageBox(
-        HbMessageBox::MessageBoxType type,
-        const QString &text);      
-   
-    void updateWpaType(int pskEnable);
-    void updatePskKey(QString& key);
-    
-    void reset();  
-
-private slots:
-
-    void wpaTypeChanged(int pskEnable);
-    void pskKeyChanged();
-    void eapTypeChanged(int eapPlugin);
-    void unencryptConnStateChanged(int state);
-    
-    static bool pluginLessThan(
-        const EapQtPluginInfo &plugin1,
-        const EapQtPluginInfo &plugin2);
-
-    void setEditorPreferences(const QModelIndex &modelIndex);
-
-private:
-    Q_DISABLE_COPY(CpWpaCmnUiPrivate)
-    
-    //!Data Helper from CpWlan Interface
-    CpItemDataHelper &mDataHelper;
-    
-    //!Parent element encompassing all the Ui Setting Items   
-    CpSettingFormItemData *mCmnUi;
-    
-    //!ui element for Pre-Shared Key
-    CpSettingFormItemData *mPskKeyText;
-    
-    /*!ui element ,holding the list of EAP plugins 
-     * from which the user can choose
-     */
-    CpSettingFormItemData *mEapPlugins;
-    
-    /*!ui element to hold Encrypted Connection flag status, 
-     * for 802.1x mode
-     */
-    CpSettingFormItemData *mUnencryptedConnection;
-    
-    //!Opens a separate View for the EAPmode chosen 
-    CpSettingFormItemData *mWpaEapItem;
-    
-    //!Stores the Pre-Shared key value entered
-    QString mKeyData;
-    
-    //!List hthe EAP plugins
-    QList<EapQtPluginInfo> mPlugins;
-    
-    //!Pointer to API that returns the Ui instance for the EAP plugin 
-    EapEntryItemData *mEapEntry;
-    
-    //!Pointer to EAP interface 
-    EapQtConfigInterface *mEapQtConfigInterface;
-    
-    //!Current mode chosen
-    CMManagerShim::WlanSecMode mSecurityMode;   
-    
-    //! Connection Settings Shim connection method pointer    
-    CmConnectionMethodShim* mConnMethod;
-    
-    //!Flag to indicate if its the EAP/PSK mode
-    bool mEnablePskMode;
-    
-    //!The current EAP method chosen 
-    int mCurrentEapPlugin;
-    
-    //!Flag to indicate if Unecrypted Connection is enabled 
-   	bool mUnencryptState;
-
-    //! Message box for info notes
-    QSharedPointer<HbMessageBox> mMessageBox;
-
-    };
-
-#endif /* CPWPACMNUI_P_H_ */
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/wpakeyvalidator.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Validation methods for WPA/WPA2 & WPA2 only keys
- *
- */
-
-/*
- * %version: tr1cfwln#3 %
- */
-
-#ifndef WPAKEYVALIDATOR_H
-#define WPAKEYVALIDATOR_H
-
-/*!
- * @addtogroup group_wpa_key_validator
- * @{
- */
-
-class WpaKeyValidator
-{
-public:
-    enum KeyStatus
-    {
-        KeyStatusOk,
-        KeyStatusIllegalCharacters,
-        KeyStatusWpaTooShort,
-        KeyStatusWpaTooLong
-    };
-
-    static const int WpaMaxLenght = 64;
-    static const int WpaMinLenght = 8;
-    
-public:
-
-    static KeyStatus validateWpaKey(const QString &key);
-    static KeyStatus isAscii(const QString &key);
-    static KeyStatus isHex(const QString &key);
-};
-
-/*! @} */
-
-#endif /* WPAKEYVALIDATOR_H */
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/rom/cpwpacmnui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 	IBY file for common UI implementation for WPA/WPA2, WPA2 only and 802.1x
-*
-*/
-
-/*
- * %version: tr1cfwln#5 %
- */
-
-#ifndef __CPWPACMNUI_IBY__
-#define __CPWPACMNUI_IBY__
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-//file content
-file=ABI_DIR\BUILD_DIR\cpwpacmnui.dll		SHARED_LIB_DIR\cpwpacmnui.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmneapui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT EAP view for WPA/WPA2/802_Dot_1x/WPA2 only configuration
- *
- */
-
-/*
- * %version: tr1cfwln#10 %
- */
-
-// System includes
-#include <HbDataFormModelItem>
-
-
-// User includes
-#include "cpwpacmneapui.h"
-#include "cpwpacmnui_p.h"
-
-//Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwpacmneapuiTraces.h"
-#endif
-
-/*!
-  \class  
-  Implements the Ui EAP Plugin Loader for WPA/WPA2/802_Dot_1x/WPA2 only Security Modes  
- */
-
-/*!
-   Constructor
-   
-   @param wpa Pointer to UI object
-   @param itemDataHelpper Control Panel Item data helpper object
-   @param text Text for entry button
- */
-EapEntryItemData::EapEntryItemData(
-    CpWpaCmnUiPrivate* wpa,
-    CpItemDataHelper &itemDataHelper, 
-    const QString &text) :
-    CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, 
-        itemDataHelper, text),
-    mUi(wpa),
-    itemdatahelper(itemDataHelper)
-{
-}
-
-/*!
-   Desctructor.
- */
-EapEntryItemData::~EapEntryItemData()
-{
-    OstTraceFunctionEntry1(EAPENTRYITEMDATA_EAPENTRYITEMDATA_ENTRY,this); 
-    OstTraceFunctionExit1(EAPENTRYITEMDATA_EAPENTRYITEMDATA_EXIT,this);
-}
-
-/*!
- Implement CpSettingFormEntryItemData::createSettingView
- */
-CpBaseSettingView* EapEntryItemData::createSettingView() const
-{
-    OstTraceFunctionEntry1(EAPENTRYITEMDATA_CREATESETTING_VIEW_ENTRY,this); 
-    OstTraceFunctionExit1(EAPENTRYITEMDATA_CREATESETTING_VIEW_EXIT,this);
-
-    return mUi->eapUiInstance();
-}
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration
- *
- */
-
-/*
- * %version: tr1cfwln#23 %
- */
-
-// System includes
-#include <QStringList>
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <cpbasesettingview.h>
-#include <cmconnectionmethod_shim.h>
-#include <eapqtplugininfo.h>
-#include <eapqtconfiginterface.h>
-
-// User includes
-#include "cpwpacmnui.h"
-#include "cpwpacmnui_p.h"
-
-// Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwpacmnuiTraces.h"
-#endif
-
-/*!
- \class CpWpaCmnUi
- \brief CpWpaCmnUi implements the common Ui for WPA/WPA2/802.1x/WPA2 only 
- Security Settings Control Panel Plugins,
- which will allow viewing/editing of WPA/WPA2/802.1x/WPA2 Security Settings.
- */
-//Contructs Common Ui (WPA/WPA2/802.1x/WPA2only) object
-CpWpaCmnUi::CpWpaCmnUi(CMManagerShim::WlanSecMode securityMode, CpItemDataHelper &dataHelpper)
-    
-{
-    d_ptr = new CpWpaCmnUiPrivate(securityMode,dataHelpper);
-}
-//Deletes objects owned by Common Ui
-CpWpaCmnUi::~CpWpaCmnUi()
-{
-    //delete all dynamically allocated objects
-    OstTraceFunctionEntry1(CPWPACMNUI_CPWPACMNUI_ENTRY,this);
-
-    delete d_ptr;
-    
-   OstTraceFunctionExit1(CPWPACMNUI_CPWPACMNUI_EXIT,this);
-}
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Creates the Ui instance based on the security mode;WPAWPA2/802.1x/WPA2 only 
- * Owns the Ui instance
- * 
- * \param eapQtConfigInterface to list all eap plugins
- * \param mCmCM Connection MethoD Qt interface
- * 
- * \return Ui instance for the security mode set
- */
-
-CpSettingFormItemData* CpWpaCmnUi::createUi(
-        EapQtConfigInterface *eapQtConfigInterface,
-        CmConnectionMethodShim *cmCM)
-{
-    OstTraceFunctionEntry1(CPWPACMNUI_CREATEUI_ENTRY,this);
-    OstTraceFunctionExit1(CPWPACMNUI_CREATEUI_EXIT,this);    
-    return d_ptr->createUi(eapQtConfigInterface,cmCM);
-}
-
-
-/*!
-   Validates current security settings. This function is called whenever
-   user tries to exit from the settings view. If the plugin determines
-   that some settings need editing before considered valid, it shall
-   return false. A dialog will be shown to the user indicating that
-   settings are still incomplete and asking if he/she wishes to exit
-   anyway.
-
-   \return True if security settings are valid, false if not.
-*/
-bool CpWpaCmnUi::validateSettings()
-    {
-    return d_ptr->validateSettings();
-    }
-
-
-
-
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,759 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Private Implementation for Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration
- *
- */
-
-/*
- * %version: tr1cfwln#13 %
- */
- 
-// User Includes
-#include "cpwpacmnui_p.h"
-#include "wpakeyvalidator.h"
-#include "cpwpacmneapui.h"
-
-// System Includes
-#include <QStringList>
-#include <cpsettingformitemdata.h>
-#include <cpitemdatahelper.h>
-#include <cmconnectionmethod_shim.h>
-#include <eapqtplugininfo.h>
-#include <eapqtpluginhandle.h>
-#include <eapqtconfiginterface.h>
-#include <HbLineEdit>
-#include <HbEditorInterface>
-
-// Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwpacmnui_pTraces.h"
-#endif
-
-
-/*!
- \class CpWpaCmnUiPrivate
- \brief CpWpaCmnUiPrivate is a private class implementation the common Ui for WPA/WPA2/802.1x/WPA2 only 
- Security Settings Control Panel Plugins,
- which will allow viewing/editing of WPA/WPA2/802.1x/WPA2 Security Settings.
- */
-/*!
- * Constructor Common Ui (WPA/WPA2/802.1x/WPA2only) object
- * 
- * \param securityMode chosen by user , for which Ui is constructed and returned
- * \param dataHelpper Control Panel Item data helpper object
- * \param commonUi Pointer To public class for CpWpaCmnUiPrivate
- */
-CpWpaCmnUiPrivate::CpWpaCmnUiPrivate(CMManagerShim::WlanSecMode securityMode,
-        CpItemDataHelper &dataHelpper) :
-    mDataHelper(dataHelpper), 
-    mCmnUi(NULL), 
-    mPskKeyText(NULL), 
-    mEapPlugins(NULL), 
-    mUnencryptedConnection(NULL),
-    mWpaEapItem(NULL),
-    mEapEntry(NULL),
-    mEapQtConfigInterface(NULL),  
-    mSecurityMode(securityMode),
-    mConnMethod(NULL),
-    mEnablePskMode(true),
-    mCurrentEapPlugin(0), 
-    mUnencryptState(false)
-{
-    Q_ASSERT(
-            mSecurityMode == CMManagerShim::WlanSecModeWpa ||
-            mSecurityMode == CMManagerShim::WlanSecModeWpa2 ||
-            mSecurityMode == CMManagerShim::WlanSecMode802_1x);
-    OstTrace1( TRACE_FLOW, DUP1_CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE, "CpWpaCmnUiPrivate::CpWpaCmnUiPrivate;mSecurityMode=%u", mSecurityMode );
-    
-}
-
-/*!
- * Destructor - Deletes objects owned by Common Ui
- */
-CpWpaCmnUiPrivate::~CpWpaCmnUiPrivate()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE_ENTRY, this );
-    //delete all dynamically allocated objects
-
-    mCmnUi = NULL;
-    mConnMethod = NULL;
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE_EXIT, this );
-}
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Creates the Ui instance based on the security mode;WPAWPA2/802.1x/WPA2 only 
- * Owns the Ui instance
- * 
- * \param eapQtConfigInterface to list all eap plugins
- * \param mCmCM Connection MethoD Qt interface
- * 
- * \return Ui instance for the security mode set
- */
-
-CpSettingFormItemData* CpWpaCmnUiPrivate::createUi(
-        EapQtConfigInterface *eapQtConfigInterface,
-        CmConnectionMethodShim *cmCM)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEUI_ENTRY, this );
-
-    // NOT OWNED
-    mConnMethod = cmCM;
-    mEapQtConfigInterface = eapQtConfigInterface;
-    mPlugins.append(mEapQtConfigInterface->supportedOuterTypes());
-    qSort(mPlugins.begin(), mPlugins.end(), CpWpaCmnUiPrivate::pluginLessThan);
-
-    mCmnUi = new CpSettingFormItemData(HbDataFormModelItem::GroupItem,
-            hbTrId("txt_occ_subhead_security_settings"));
-
-    //LoadUi based on the security mode
-    loadUi();
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEUI_EXIT, this );
-    return mCmnUi;
-}
-
-/*! 
- Load the CpSettingFormItemData components,for the
- EAP  mode
- */
-CpBaseSettingView* CpWpaCmnUiPrivate::eapUiInstance()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_EAPUIINSTANCE_ENTRY, this );
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_EAPUIINSTANCE_EXIT, this );
-    return mEapQtConfigInterface->uiInstance(EapQtPluginHandle::PluginUndefined,
-            mPlugins.at(mCurrentEapPlugin).pluginHandle());
-}
-
-
-
-/*!
- * Creates Combo box for PSK and EAP mode selection.
- * 
- * @return CompoBox object.
- */
-CpSettingFormItemData* CpWpaCmnUiPrivate::createWpaTypeSelector()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEWPATYPESELECTOR_ENTRY, this );
-
-    // In case of the object exists just update the data
-    if (!mWpaEapItem) {
-        mWpaEapItem = new CpSettingFormItemData(
-                HbDataFormModelItem::ComboBoxItem, hbTrId(
-                        "txt_occ_setlabel_wpawpa2"), mCmnUi);
-
-        QStringList wpatype;
-        wpatype.append(hbTrId("txt_occ_setlabel_wpawpa2_val_eap"));
-        wpatype.append(hbTrId("txt_occ_setlabel_wpawpa2_val_preshared_key"));
-
-        mWpaEapItem->setContentWidgetData("items", wpatype);
-
-        mDataHelper.addConnection(mWpaEapItem,
-                SIGNAL(currentIndexChanged(int)), this,
-                SLOT(wpaTypeChanged(int)));
-
-        mCmnUi->appendChild(mWpaEapItem);
-    }
-
-    mWpaEapItem->setContentWidgetData("currentIndex", mEnablePskMode ? 1 : 0);
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEWPATYPESELECTOR_EXIT, this );
-    return mWpaEapItem;
-}
-
-/*!
- * Creates LineEditor for WPA-PSK
- * 
- * @return LineEdit object.
- */
-CpSettingFormItemData* CpWpaCmnUiPrivate::createPskEditor()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEPSKEDITOR_ENTRY, this );
-
-    if (!mPskKeyText) {
-        mPskKeyText = new CpSettingFormItemData(
-                HbDataFormModelItem::TextItem, hbTrId(
-                        "txt_occ_setlabel_preshared_key"), mCmnUi);
-
-        mPskKeyText->setContentWidgetData("echoMode", HbLineEdit::PasswordEchoOnEdit);
-        mPskKeyText->setContentWidgetData("smileysEnabled", "false");
-        mDataHelper.addConnection(mPskKeyText, SIGNAL( editingFinished ()),
-                this, SLOT(pskKeyChanged() ));
-        
-        mDataHelper.connectToForm(SIGNAL(itemShown (const QModelIndex &) ), 
-                   this, SLOT(setEditorPreferences(const QModelIndex &)));
-
-        mCmnUi->appendChild(mPskKeyText);
-    }
-
-    mPskKeyText->setContentWidgetData("text", mKeyData);
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEPSKEDITOR_EXIT, this );
-    return mPskKeyText;
-}
-
-/*!
- * Creates Combo box for EAP outer type selection
- * 
- * @return CompoBox object.
- */
-CpSettingFormItemData* CpWpaCmnUiPrivate::createEapSelector()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEEAPSELECTOR_ENTRY, this );
-
-    if (!mEapPlugins) {
-        mEapPlugins = new CpSettingFormItemData(
-            HbDataFormModelItem::ComboBoxItem, 
-            hbTrId("txt_occ_setlabel_eap_type"));
-
-        QStringList list;
-        QList<EapQtPluginInfo>::iterator i;
-        for (i = mPlugins.begin() ; i != mPlugins.end() ; ++i){
-            list << i->localizationId();
-        }
-        
-        mEapPlugins->setContentWidgetData("items", list);
-
-        mDataHelper.addConnection(mEapPlugins,
-            SIGNAL(currentIndexChanged(int)), this,
-            SLOT(eapTypeChanged(int)));
-
-        mCmnUi->appendChild(mEapPlugins);
-    }
-
-    mEapPlugins->setContentWidgetData("currentIndex", mCurrentEapPlugin);
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEEAPSELECTOR_EXIT, this );
-    return mEapPlugins;
-}
-
-/*!
- * Creates a button for EAP configurations
- * 
- * @return EntryItem for EAP
- */
-EapEntryItemData* CpWpaCmnUiPrivate::createEapEntryItem()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEEAPENTRYITEM_ENTRY, this );
-
-    if (!mEapEntry) {
-        mEapEntry = new EapEntryItemData(this, mDataHelper, hbTrId(
-                "txt_occ_button_eap_type_settings"));
-
-        mCmnUi->appendChild(mEapEntry);
-    }
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEEAPENTRYITEM_EXIT, this );
-    return mEapEntry;
-}
-
-/*!
- * Creates Combo box for Unencrypted selection
- * 
- * @return CompoBox object.
- */
-CpSettingFormItemData* CpWpaCmnUiPrivate::createUnencryptedBox()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEUNENCRYPTEDBOX_ENTRY, this );
-
-    if (!mUnencryptedConnection) {
-        mUnencryptedConnection = new CpSettingFormItemData(
-                HbDataFormModelItem::CheckBoxItem, hbTrId(
-                        "txt_occ_setlabel_unencrypted_connection"), mCmnUi);
-
-        mUnencryptedConnection->setContentWidgetData("text", hbTrId(
-                "txt_occ_setlabel_unencrypted_connection_val_allowe"));
-
-        mDataHelper.addConnection(mUnencryptedConnection,
-                SIGNAL( stateChanged(int)), this,
-                SLOT(unencryptConnStateChanged(int)));
-
-        mCmnUi->appendChild(mUnencryptedConnection);
-   }
-
-    mUnencryptedConnection->setContentWidgetData("checkState",
-            mUnencryptState ? Qt::Checked : Qt::Unchecked);
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEUNENCRYPTEDBOX_EXIT, this );
-    return mUnencryptedConnection;
-}
-
-/*!
- Removes provided object from the UI if it exists there and sets the pointer
- to NULL.
- 
- @param object object to be removed and nulled.
- */
-void CpWpaCmnUiPrivate::removeObjectFromView(CpSettingFormItemData *&object)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_REMOVEOBJECTFROMVIEW_ENTRY, this );
-
-    if (object) {
-        mCmnUi->removeChild(mCmnUi->indexOf(object));
-        object = NULL;
-    }
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_REMOVEOBJECTFROMVIEW_EXIT, this );
-}
-
-
-/*! 
- Load the CpSettingFormItemData components, based on the security 
- mode chosen. Only those components that are required by that security
- mode are loaded
- */
-void CpWpaCmnUiPrivate::loadUi()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADUI_ENTRY, this );
-
-    //Read values From CommsDatbase
-    int err;
-    QT_TRYCATCH_ERROR(err, ( readValues()));
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_CREATEUI, "CPWPACMNUI ReadValues returned %d", err );
-    }
-
-    switch (mSecurityMode)
-        {
-        case CMManagerShim::WlanSecModeWpa:
-        case CMManagerShim::WlanSecModeWpa2:
-            createWpaTypeSelector();
-            if (mEnablePskMode) {
-                loadWPAPskView();
-            }
-            else {
-                loadWPAEapView();
-            }
-            break;
-
-        case CMManagerShim::WlanSecMode802_1x:
-        default:
-            Q_ASSERT(mSecurityMode == CMManagerShim::WlanSecMode802_1x);
-            createEapSelector();
-            createEapEntryItem();
-#if 0  /* not supported for now */
-            createUnencryptedBox();
-#endif /* #if 0 */
-            break;
-        }
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADUI_EXIT, this );
-}
-
-/*! 
- Load the CpSettingFormItemData components,for the
- Pre-Shared key mode
- */
-void CpWpaCmnUiPrivate::loadWPAPskView()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPAPSKVIEW_ENTRY, this );
-
-    removeObjectFromView(mEapPlugins);
-
-    if (mEapEntry) {
-        mCmnUi->removeChild(mCmnUi->indexOf(mEapEntry));
-        mEapEntry = NULL;
-        }
-    createPskEditor();
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPAPSKVIEW_EXIT, this );
-}
-
-/*! 
- Load the CpSettingFormItemData components,for the
- EAP  mode
- */
-void CpWpaCmnUiPrivate::loadWPAEapView()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPAEAPVIEW_ENTRY, this );
-
-    removeObjectFromView(mPskKeyText);
-    createEapSelector();
-    createEapEntryItem();
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPAEAPVIEW_EXIT, this );
-}
-
-/*!
- * Reads the wlan security wpa/wpa2 related fields from CommsDb 
- */
-void CpWpaCmnUiPrivate::loadWPA_WPA2Fields()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPA_WPA2FIELDS_ENTRY, this );
-    
-    mEnablePskMode = mConnMethod->getBoolAttribute(
-            CMManagerShim::WlanEnableWpaPsk);
-    
-    mKeyData = mConnMethod->getString8Attribute(
-            CMManagerShim::WlanWpaPreSharedKey);
-    
-    loadEapConfigurations();
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPA_WPA2FIELDS_EXIT, this );
-}
-
-/*!
- Reads the WLAN security eap related fields from CommsDb and from EAP Qt 
- Configuration Interface 
- */
-void CpWpaCmnUiPrivate::load802Dot1xFields()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOAD802DOT1XFIELDS_ENTRY, this );
-    
-    loadEapConfigurations();
-    
-    mUnencryptState
-            = mConnMethod->getBoolAttribute(CMManagerShim::Wlan802_1xAllowUnencrypted);
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOAD802DOT1XFIELDS_EXIT, this );
-    }
-
-/*!
- Loads selected EAP method.
- */
-void CpWpaCmnUiPrivate::loadEapConfigurations()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADEAPCONFIGURATIONS_ENTRY, this );
-    
-    QList<EapQtPluginHandle> types = mEapQtConfigInterface->selectedOuterTypes();
-    mCurrentEapPlugin = 0;
-    if (types.length() > 0) {
-        for (int i = 0; i < mPlugins.length(); ++i)
-            {
-            if (mPlugins.at(i).pluginHandle() == types.at(0)) {
-                mCurrentEapPlugin = i;
-                break;
-            }
-        }
-   }
- 
-    else {
-        types.append(mPlugins.at(0).pluginHandle());
-        mEapQtConfigInterface->setSelectedOuterTypes(types);
-    }
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADEAPCONFIGURATIONS_EXIT, this );
-}
-
-
-/*!
- * Reads the wlan security fields from CommsDb 
- */
-void CpWpaCmnUiPrivate::readValues()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_READVALUES_ENTRY, this );
-    
-    switch (mSecurityMode)
-        {
-        case CMManagerShim::WlanSecModeWpa:
-        case CMManagerShim::WlanSecModeWpa2:
-            loadWPA_WPA2Fields();
-            break;
-    
-        case CMManagerShim::WlanSecMode802_1x:
-        default:
-            Q_ASSERT(mSecurityMode == CMManagerShim::WlanSecMode802_1x);
-            load802Dot1xFields();
-            break;
-        }
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_READVALUES_EXIT, this );
-}
-
-
-
-/*!
- * Tries an Update on Comms Db for the latest settings. 
- * Catches and handles any exception while updating.
- */
-bool CpWpaCmnUiPrivate::tryUpdate()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_TRYUPDATE_ENTRY, this );
-    int ret(true);
-    // Try update
-    try {
-        mConnMethod->update();
-    }
-    catch (const std::exception&) {
-        // Handle error
-        handleUpdateError();
-        OstTraceFunctionExit1( CPWPACMNUIPRIVATE_TRYUPDATE_EXIT, this );
-        ret = false;
-    }
-    OstTraceFunctionExit1( DUP1_CPWPACMNUIPRIVATE_TRYUPDATE_EXIT, this );
-    return ret;
-}
-
-/*!
- Handles failed CommsDat update.
- */
-void CpWpaCmnUiPrivate::handleUpdateError()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_HANDLEUPDATEERROR_ENTRY, this );
-    // Show error note to user
-    showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId(
-            "txt_occ_info_unable_to_save_setting"));
-    // Reload settings from CommsDat and update UI
-    try {
-        mConnMethod->refresh();
-    }
-    catch (const std::exception&) {
-        // Ignore error from refresh. Most likely this will not happen, but
-        // if it does, there isn't very much we can do.
-        OstTrace0( TRACE_ERROR, CPWPACMNUIPRIVATE_HANDLEUPDATEERROR, "CpWpaCmnUiPrivate::handleUpdateError" );
-
-    };
-
-    //Call reset on Ui elements
-    reset();
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_HANDLEUPDATEERROR_EXIT, this );
-}
-
-/*!
- Shows message box with "OK" button using given text.
- */
-void CpWpaCmnUiPrivate::showMessageBox(HbMessageBox::MessageBoxType type,
-    const QString &text)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_SHOWMESSAGEBOX_ENTRY, this );
-    // Create a message box
-    mMessageBox = QSharedPointer<HbMessageBox> (new HbMessageBox(type));
-    mMessageBox->setText(text);
-    mMessageBox->open();
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_SHOWMESSAGEBOX_EXIT, this );
-}
-
-/*!
- * Resets all the Ui elements to their previous values,
- * by reading values from DB 
- */
-void CpWpaCmnUiPrivate::reset()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_RESET_ENTRY, this );
-    
-    //Reload Ui with the previous settings (read from Comms )
-    loadUi();
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_RESET_EXIT, this );
-}
-
-/*!
- Method to handle change in wpa mode :- PSK /EAP, 
- Update Key in Comms
-
- \param pskEnable the current mode chosen
- */
-void CpWpaCmnUiPrivate::updateWpaType(int pskEnable)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UPDATEWPATYPE_ENTRY, this );
-    int err;
-    bool PskEnable = pskEnable ? true : false;
-    
-    QT_TRYCATCH_ERROR(err,mConnMethod->setBoolAttribute(CMManagerShim::WlanEnableWpaPsk, PskEnable));
-    
-    if (err != KErrNone) {
-        OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_UPDATEWPATYPE, "CpWpaCmnUiPrivate::updateWpaType;err=%d", err );
-    }
-    tryUpdate();
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UPDATEWPATYPE_EXIT, this );
-}
-
-/*!
- Slot to handle change in pre-shared key string
-
- \param key changed string for PSK
- */
-void CpWpaCmnUiPrivate::updatePskKey(QString &key)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UPDATEPSKKEY_ENTRY, this );
-    int err;
-    //Check for Validity of Pre-shared Key
-    WpaKeyValidator::KeyStatus keystatus = WpaKeyValidator::validateWpaKey(key);
-    
-    if (keystatus == WpaKeyValidator::KeyStatusOk) {
-        QT_TRYCATCH_ERROR(err, mConnMethod->setString8Attribute(CMManagerShim::WlanWpaPreSharedKey, key));
-        if (err != KErrNone) {
-            OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_UPDATEPSKKEY, "CpWpaCmnUiPrivate::updatePskKey;err=%d", err );
-        }
-        tryUpdate();
-        
-        //Store the String that was just set
-        mKeyData = key;
-    }
-    else {
-        showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId(
-                "txt_occ_info_invalid_input"));
-    }
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UPDATEPSKKEY_EXIT, this );
-}
-
-
-
-//====================== PRIVATE SLOTS===================================
-
-
-/*!
- Slot to handle change in wpa mode :- PSK /EAP
- Emits a mode change signal to the  security plugin 
- to indicate the change
-
- \param pskEnable the current mode chosen
- */
-void CpWpaCmnUiPrivate::wpaTypeChanged(int pskEnable)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_WPATYPECHANGED_ENTRY, this );
-    
-    mEnablePskMode = pskEnable == 0 ? false : true;
-    
-    if (mEnablePskMode) {
-        loadWPAPskView();
-    }
-    else {
-        loadWPAEapView();
-    }
-    
-    //Update pskEnable flag in DB
-    updateWpaType(pskEnable);
-
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_WPATYPECHANGED_EXIT, this );
-}
-
-/*!
- Slot to handle change in eap method in use.
- Emits signal back to the security plugin to indicate 
- the change
- \param currentplugin plugin number to indicate the
- eap method in use
- */
-void CpWpaCmnUiPrivate::eapTypeChanged(int eapPlugin)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_EAPTYPECHANGED_ENTRY, this );
-    
-    mCurrentEapPlugin = eapPlugin;
-    QList<EapQtPluginHandle> outerHandles;
-    outerHandles.append(mPlugins.at(mCurrentEapPlugin).pluginHandle());
-    mEapQtConfigInterface->setSelectedOuterTypes(outerHandles);
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_EAPTYPECHANGED_EXIT, this );
-}
-
-/*!
- Slot to handle change in pre-shared key string
- Emits signal back to the security plugin to indicate 
- the change
-
- */
-void CpWpaCmnUiPrivate::pskKeyChanged()
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_PSKKEYCHANGED_ENTRY, this );
-    
-    QVariant keyValue = mPskKeyText->contentWidgetData("text");
-    QString keyString = keyValue.toString();
-    
-    //Update Pre Shared key in DB
-    updatePskKey(keyString);
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_PSKKEYCHANGED_EXIT, this );
-}
-
-/*!
- Slot to handle change in the state of unencrypted connection;
- to indicate if such a connection is allowed.
- Emits signal back to the security plugin to indicate 
- the change
- \param state checked-Allowed / Unchecked-Not allowed 
- */
-void CpWpaCmnUiPrivate::unencryptConnStateChanged(int state)
-{
-    OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UNENCRYPTCONNSTATECHANGED_ENTRY, this );
-    
-    bool checked  = (state == Qt::Checked) ? true : false;
-    mConnMethod->setBoolAttribute(
-            CMManagerShim::Wlan802_1xAllowUnencrypted,checked);
-    
-    tryUpdate();
-    
-    //store the Unencrypted Connection State
-    mUnencryptState  = checked;
-    
-    OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UNENCRYPTCONNSTATECHANGED_EXIT, this );
-}
-
-/*!
- * Slot that configures the editor settings for Pre-Shared Key Field.
- * This slot is invoked whenever a new item(s) are shown in the current view 
- * 
- * \param modelIndex Index of the current item in the  model
- */
-void CpWpaCmnUiPrivate::setEditorPreferences(const QModelIndex &modelIndex)
-{
-    
-    HbDataFormModelItem *item = mDataHelper.modelItemFromModelIndex(modelIndex);
-
-    /* Configure settings only for text fields*/
-    if(item->type() == HbDataFormModelItem::TextItem) {
-        HbLineEdit *edit = qobject_cast<HbLineEdit*>(mDataHelper.widgetFromModelIndex(modelIndex));           
-        HbEditorInterface editInterface(edit);    
-        editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
-        edit->setInputMethodHints(Qt::ImhNoPredictiveText);    
-        }
-}
-
-/*!
-   Validates current security settings. This function is called whenever
-   user tries to exit from the settings view. If the plugin determines
-   that some settings need editing before considered valid, it shall
-   return false. A dialog will be shown to the user indicating that
-   settings are still incomplete and asking if he/she wishes to exit
-   anyway.
-
-   \return True if security settings fpr WPA/WPA2 , WPA2 only are valid,
-    false if not.
-*/
-bool CpWpaCmnUiPrivate::validateSettings()
-{
-    bool ret(false);
-    if(mEnablePskMode) {
-        //Check the latest string entered for the Pre-Shared key in the text box
-        QVariant keyValue = mPskKeyText->contentWidgetData("text");
-        QString keyString = keyValue.toString();
-        WpaKeyValidator::KeyStatus keystatus = WpaKeyValidator::validateWpaKey(keyString);
-            
-            if (keystatus == WpaKeyValidator::KeyStatusOk && (!keyString.isEmpty())) {
-            ret= true;
-            }
-    }
-    else{
-    //return true if EAP mode
-    ret = true;
-    }
-    return ret;
-}
-
-/*!
-   comparator for qSort() method to sort Eap plugins based on ordernumber.
-   
-   @param plugin1 Plugin1
-   @param plugin2 Plugin2  
- */
-bool CpWpaCmnUiPrivate::pluginLessThan(
-    const EapQtPluginInfo &plugin1,
-    const EapQtPluginInfo &plugin2)
-{
-    return plugin1.orderNumber() < plugin2.orderNumber(); 
-}
-
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/wpakeyvalidator.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Validation methods for WPA/WPA2 & WPA2 only keys
- *
- */
-
-/*
- * %version: tr1cfwln#3 %
- */
-
-//System Includes
-#include <QString>
-
-//User Includes
-#include "wpakeyvalidator.h"
-#include "OstTraceDefinitions.h"
-
-//Trace Definition
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "wpakeyvalidatorTraces.h"
-#endif
-
-/*!
- \class WpaKeyValidator wpakeyvalidator.cpp
- \brief Utilities for WPA/WPA2 key validations.
- 
- */
-/*!
- \enum WpaKeyValidator::KeyStatus
- This enum defines the validation results.
-
- \var WpaKeyValidator::KeyStatusOk
- Key is valid.
- 
- \var WpaKeyValidator::KeyStatusIllegalCharacters
- Key contains illegal characters.
- 
- \var WpaKeyValidator::KeyStatusWpaTooShort
- WPA key is too short. Minimum allowed length is 8. See 
- WlanWizardUtils::validateWpaKey().
- 
- \var WpaKeyValidator::KeyStatusWpaTooLong
- WPA key is too long. Minimum allowed length is 64 for hex key and 63 for 
- ascii key. See WlanWizardUtils::validateWpaKey().
- 
- */
-
-/*! 
- * Process WPA key validation. A passphrase can contain from 8 to 63 ASCII
- * characters where each character MUST have a decimal encoding in the range of
- * 32 to 126, inclusive.
- *
- * A preshared key is stored as 64 character hex string.
- * 
- * @param key PSK to be validated
- * 
- * @return Following values are possible
- * - KeyStatusOk
- * - KeyStatusIllegalCharacters
- * - KeyStatusWpaTooShort
- * - KeyStatusWpaTooLong
- */
-WpaKeyValidator::KeyStatus WpaKeyValidator::validateWpaKey(const QString &key)
-{
-    OstTraceFunctionEntry0( WPAKEYVALIDATOR_VALIDATEWPAKEY_ENTRY );
-
-    int length = key.length();
-    KeyStatus ret = KeyStatusOk;
-
-    if (length < WpaMinLenght) {
-        ret = KeyStatusWpaTooShort;
-    }
-    else if (length > WpaMaxLenght) {
-        ret = KeyStatusWpaTooLong;
-    }
-    // hex string
-    else if (length == WpaMaxLenght) {
-        ret = isHex(key);
-    }
-    else {
-        ret = isAscii(key);
-    }
-
-    OstTraceFunctionExit0( WPAKEYVALIDATOR_VALIDATEWPAKEY_EXIT );
-    return ret;
-}
-
-/*!
- * Process Ascii validation. Allowed characters are from 32 to 126.
- * 
- * @param key to be validated.
- * 
- * @return Following values are possible
- * - KeyStatusOk
- * - KeyStatusIllegalCharacters
- */
-WpaKeyValidator::KeyStatus WpaKeyValidator::isAscii(const QString &key)
-{
-    OstTraceFunctionEntry0( WPAKEYVALIDATOR_ISASCII_ENTRY );
-
-    QChar ch32(32);
-    QChar ch126(126);
-
-    const QChar *data = key.data();
-    while (!data->isNull()) {
-        if ((*data) < ch32 || (*data) > ch126) {
-
-            OstTraceFunctionExit0( WPAKEYVALIDATOR_ISASCII_EXIT );
-            return KeyStatusIllegalCharacters;
-        }
-        ++data;
-    }
-
-    OstTraceFunctionExit0( DUP1_WPAKEYVALIDATOR_ISASCII_EXIT );
-    return KeyStatusOk;
-}
-
-/*!
- * Process Hex validation. Allowed characters are
- * - from 0 to 9
- * - from a to f
- * - from A to F
- * 
- * @param key to be validated.
- * 
- * @return Following values are possible
- * - KeyStatusOk
- * - KeyStatusIllegalCharacters
- */
-WpaKeyValidator::KeyStatus WpaKeyValidator::isHex(const QString &key)
-{
-    OstTraceFunctionEntry0( WPAKEYVALIDATOR_ISHEX_ENTRY );
-
-    QChar ch_A(65); // Character: A
-    QChar ch_F(70); // Character: F
-    QChar ch_a(97); // Character: a
-    QChar ch_f(102);// Character: f
-
-    const QChar *data = key.data();
-    while (!data->isNull()) {
-        if (data->isDigit() || (*data) >= ch_a && (*data) <= ch_f || (*data)
-                >= ch_A && (*data) <= ch_F) {
-            ++data;
-        }
-        else {
-
-            OstTraceFunctionExit0( WPAKEYVALIDATOR_ISHEX_EXIT );
-            return KeyStatusIllegalCharacters;
-        }
-    }
-
-    OstTraceFunctionExit0( DUP1_WPAKEYVALIDATOR_ISHEX_EXIT );
-    return KeyStatusOk;
-}
--- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/traces/OstTraceDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: TraceHeader, includes the TraceAPI
- *   
- *
- */
- 
-/*
- * %version: tr1cfwln#5 %
- */
- 
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/cpwpaui.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Control Panel plugin for WPA/WPA2 WLAN security mode
-
-# %version: tr1cfwln#17 %
-
-
-TEMPLATE = lib
-TARGET = cpwpaui
-
-DEPENDPATH += 
-
-INCLUDEPATH += \ 
-    ../inc
-    
-CONFIG += \
-    hb \
-    plugin
-    
-LIBS += \
-    -lcpframework \
-    -lcpwpacmnui \
-    -lconnection_settings_shim \
-    -leapqtconfiginterface
-    
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-# Input
-HEADERS += \
-    traces/OstTraceDefinitions.h \
-    inc/cpwpaui.h
-    
-SOURCES += \
-    src/cpwpaui.cpp
-
-symbian: 
-{ 
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.UID3 = 0x2002C301
-
-    deploy.path = C:
-    qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity
-    qtplugins.sources += qmakepluginstubs/cpwpaui.qtplugin
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
-    
-    BLD_INF_RULES.prj_exports += \
-      "rom/cpwpaui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwpaui.iby)"
-}
-
-symbian:
-{
-    MMP_RULES += "USERINCLUDE traces"
-}
-
-# common translation file for all plugins
-TRANSLATIONS = cpwlansecsettingsplugin.ts
-
-plugin.sources += cpwpaui.dll
-plugin.path = /resource/qt/plugins/controlpanel
-
-DEPLOYMENT += plugin
-
--- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/inc/cpwpaui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *    Control Panel QT UI for WPA/WPA2 configuration
- *
- */
-
-/*
-* %version: tr1cfwln#17 %
-*/
-
-
-#ifndef CPWPAUI_H
-#define CPWPAUI_H
-
-// System includes
-#include <cpsettingformitemdata.h>
-#include <cpwlansecurityplugininterface.h>
-
-// User includes
-
-
-// Forward declarations
-class EapQtConfigInterface;
-class CpWpaCmnUi;
-class CmConnectionMethodShim;
-class HbTranslator;
-
-
-/*!
- * @addtogroup group_wlan_security_ui_plugin_wpa/wpa2
- * @{
- */
-
-/*! 
- * Implements WPA/WPA2 plugin for Wlan security control panel  
- */
-class CpWpaUi : public QObject, public CpWlanSecurityPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(CpWlanSecurityPluginInterface)
-
-public:
-    CpWpaUi();
-    ~CpWpaUi();
-
-public: // from CpWlanSecurityPluginInterface 
-       
-    CMManagerShim::WlanSecMode securityMode() const;
-    
-    QString securityModeTextId() const;
-        
-    void setReference(CmConnectionMethodShim *cmCm, uint id);
-        
-    int orderNumber() const;
-       
-    CpSettingFormItemData* uiInstance(
-            CpItemDataHelper &dataHelper);
-    
-    bool validateSettings();
-    
-
-private:
-    
-    Q_DISABLE_COPY(CpWpaUi)
-        
-    //!WPA security group item
-    CpSettingFormItemData* mUi;   
-
-    //!Translator for all the localisation Text Id's
-    HbTranslator *mTranslator;
-    
-    //! Connection Settings Shim connection method pointer    
-    CmConnectionMethodShim *mCmCM;    
-    
-    //! Eap Plugin config interface
-    EapQtConfigInterface *mEapQtConfigInterface;
-    
-    //!WPA ui Implementer Interface
-    QScopedPointer <CpWpaCmnUi> mWpaUi;
-    
- };
-
-/*! @} */
- 
-#endif //CPWPAUI_H
--- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/rom/cpwpaui.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*	IBY file for WPA/WPA2 only Ui
-*
-*/
-
-/*
- * %version: tr1cfwln#3 %
- */
-
-#ifndef CPWPAUI_IBY
-#define CPWPAUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/cpwpaui.dll SHARED_LIB_DIR/cpwpaui.dll
-data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cpwpaui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cpwpaui.qtplugin
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPWPAUI_IBY
--- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/src/cpwpaui.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT UI for WPA/WPA2 configuration
- *
- */
-
-/*
- * %version: tr1cfwln#28 %
- */
-//User Includes
-#include "cpwpaui.h"
-#include "cpwpacmnui.h"
-
-// System includes
-#include <QStringList>
-#include <cmconnectionmethod_shim.h>
-#include <cmmanagerdefines_shim.h>
-#include <eapqtconfiginterface.h>
-#include <HbTranslator>
-
-//Trace Definition
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "cpwpauiTraces.h"
-#endif
-
-//Constants
-//The order in which WPA/WPA2 only mode appears in the list of available 
-//security modes
-const int UI_ORDER_WPA_WPA2 = 20;
-/*!
- \class CpWpaUi
- \brief CpWpaUi implements the common Ui for WPA/WPA2 
- Security Settings Control Panel Plugins,
- which will allow viewing/editing of WPA/WPA2 Security Settings.
- */
-/*!
- * Constructor
- */
-CpWpaUi::CpWpaUi() :
-   mUi(NULL), 
-   mTranslator(new HbTranslator("cpwlansecsettingsplugin")),
-   mCmCM(NULL),
-   mEapQtConfigInterface(NULL),
-   mWpaUi(NULL)
-{
-    
-
-}
-
-//Destructor
-CpWpaUi::~CpWpaUi()
-{
-    OstTraceFunctionEntry1(CPWPAUI_CPWPAUI_ENTRY,this);
-    delete mEapQtConfigInterface;
-    delete mTranslator;
-    OstTraceFunctionExit1(CPWPAUI_CPWPAUI_EXIT,this);
-}
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- Getter for security mode.
-
- \return Security mode identifier
- */
-CMManagerShim::WlanSecMode CpWpaUi::securityMode() const
-{
-    OstTraceFunctionEntry1(CPWPAUI_SECURITYMODE_ENTRY,this);
-    OstTraceFunctionExit1(CPWPAUI_SECURITYMODE_EXIT,this);
-    //return security mode
-    return CMManagerShim::WlanSecModeWpa;
-}
-
-/*!
- Getter for localization text identifier for the security mode,
- f.ex. "txt_occ_setlabel_wlan_security_mode_val_wpawpa2". This localized
- text will be shown in the UI.
- 
- \return Localization text ID
- */
-QString CpWpaUi::securityModeTextId() const
-{
-    OstTraceFunctionEntry1( CPWPAUI_SECURITYMODETEXTID_ENTRY, this );
-    OstTraceFunctionExit1( CPWPAUI_SECURITYMODETEXTID_EXIT, this );
-    return "txt_occ_setlabel_wlan_security_mode_val_wpawpa2";
-}
-
-/*! 
- Sets the database reference IAP id.
-
- \param id Database reference
- */
-void CpWpaUi::setReference(CmConnectionMethodShim *cmCm, uint id)
-{
-    OstTraceFunctionEntry1(CPWPAUI_SETREFERENCE_ENTRY,this);
-    if (!mEapQtConfigInterface) {
-       mEapQtConfigInterface = new EapQtConfigInterface(
-               EapQtConfigInterface::EapBearerTypeWlan, id);
-    } 
-    else {
-       mEapQtConfigInterface->setConfigurationReference(id);     
-    }
-
-    //mCmCM is not deleted assuming mCmManager owns it.
-    mCmCM = cmCm;
-    OstTraceFunctionExit1(CPWPAUI_SETREFERENCE_EXIT,this);
-}
-
-/*!
- Getter for order number. This order number is used by the client of
- this interface to put the security modes in correct order in the list.
-
- \return An order number
- */
-int CpWpaUi::orderNumber() const
-{
-    OstTraceFunctionEntry1(CPWPAUI_ORDERNUMBER_ENTRY,this); 
-    OstTraceFunctionExit1(CPWPAUI_ORDERNUMBER_EXIT,this);
-    return UI_ORDER_WPA_WPA2;
-}
-
-/*!
- Creates an UI instance. Caller owns the object.
- 
- \param dataHelper Item data helper
- \return Pointer to an UI object
- */
-CpSettingFormItemData* CpWpaUi::uiInstance(CpItemDataHelper &dataHelper)
-{
-    OstTraceFunctionEntry1(CPWPAUI_UIINSTANCE_ENTRY,this);
-
-		//reset the Common Ui Ptr
-    mWpaUi.reset(new CpWpaCmnUi(CMManagerShim::WlanSecModeWpa, dataHelper));
-
-    mUi = mWpaUi->createUi(mEapQtConfigInterface, mCmCM);
-    
-    OstTraceFunctionExit1(CPWPAUI_UIINSTANCE_EXIT,this);
-    return mUi;
-}
-
-/*!
-   Validates current security settings. This function is called whenever
-   user tries to exit from the settings view. If the plugin determines
-   that some settings need editing before considered valid, it shall
-   return false. A dialog will be shown to the user indicating that
-   settings are still incomplete and asking if he/she wishes to exit
-   anyway.
-
-   \return True if security settings for WPA/WPA2 are valid, false if not.
-*/
-bool CpWpaUi::validateSettings()
-{
-    return mWpaUi->validateSettings();
-}
-
-Q_EXPORT_PLUGIN2(CpWpaUi, CpWpaUi)
-;
--- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/traces/OstTraceDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: TraceHeader, includes the TraceAPI
- *   
- *
- */
- 
-/*
- * %version: tr1cfwln#5 %
- */
- 
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/securitysettings/cpwlansecurityuiplugins/eabi/cpwpacmnuiu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN10CpWpaCmnUi16validateSettingsEv @ 1 NONAME
-	_ZN10CpWpaCmnUi8createUiEP20EapQtConfigInterfaceP22CmConnectionMethodShim @ 2 NONAME
-	_ZN10CpWpaCmnUiC1EN13CMManagerShim11WlanSecModeER16CpItemDataHelper @ 3 NONAME
-	_ZN10CpWpaCmnUiC2EN13CMManagerShim11WlanSecModeER16CpItemDataHelper @ 4 NONAME
-	_ZN10CpWpaCmnUiD1Ev @ 5 NONAME
-	_ZN10CpWpaCmnUiD2Ev @ 6 NONAME
-
--- a/securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *    Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration
- *
- */
-
-/*
- * %version: tr1cfwln#15 %
- */
-
-#ifndef CPWPACMNUI_H
-#define CPWPACMNUI_H
-
-// System includes
-#include <cmmanagerdefines_shim.h>
-
-// User includes
-#include "cpwpacmnui_global.h"
-
-// Forward Declarations
-class CpItemDataHelper;
-class CpSettingFormItemData;
-class EapQtConfigInterface;
-class CpWpaCmnUiPrivate;
-
-/*! 
- * Implements the Ui for WPA/WPA2/802.1x Security Mode  
- */
-
-// Class declaration
-class WPAUI_EXPORT CpWpaCmnUi
-{
-    public:
-    
-        CpWpaCmnUi(CMManagerShim::WlanSecMode securityMode, CpItemDataHelper &dataHelpper);
-        ~CpWpaCmnUi();
-
-        CpSettingFormItemData* createUi(
-                EapQtConfigInterface *mEapQtConfigInterface,
-                CmConnectionMethodShim *cmCM);
-
-        bool validateSettings();
-    
-    private:
-        
-        Q_DISABLE_COPY(CpWpaCmnUi)
-        
-        // Pointer to Private Implementation
-        CpWpaCmnUiPrivate* d_ptr;
- 
-};
-
-
-
-#endif//CPWPACMNUI_H
--- a/securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui_global.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *  Export Declaration for CpWpaCmnUi DLL - common Ui
- *  for WPA/WPA2, WPA2 only and 802.1x  Security modes
- *    
- */
-
-/*
- * %version: tr1cfwln#7 %
- */
-
-#ifndef CPWPACMNUI_GLOBAL_H_
-#define CPWPACMNUI_GLOBAL_H_
-
-
-#include <QtCore/QtGlobal>
- 
- //If WPAUI_LIBRARY macro is defined in the project file,
- //The dll is exported, 
- //otherwise, 
- //the dll will be imported(used)
- #if defined(WPAUI_LIBRARY)
- #define WPAUI_EXPORT Q_DECL_EXPORT
- #else
- #if defined(WPAUI_NO_LIBRARY)
- #define WPAUI_EXPORT
- #else
- #define WPAUI_EXPORT Q_DECL_IMPORT
- #endif
- #endif
-
-
-#endif //CPWPACMNUI_GLOBAL_H_
--- a/securitysettings/cpwlansecurityuiplugins/rom/cpwlansecurityuiplugins_resources.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-* 	Common IBY file for WLAN security UI plugin resources
-*
-*/
-
-/*
- * %version: 1 %
- */
-
-#ifndef CPWLANSECPLUGINS_RES_IBY
-#define CPWLANSECPLUGINS_RES_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_/QT_TRANSLATIONS_DIR/cpwlansecsettingsplugin.qm QT_TRANSLATIONS_DIR/cpwlansecsettingsplugin.qm
-
-#endif // __PROTOCOL_WLAN
-
-#endif // CPWLANSECPLUGINS_RES_IBY
--- a/securitysettings/eapqtdialogs/eapqtdialogs.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: EAP Dialog build file
-#
-#
-# %version: 13 %
-#
-
-TEMPLATE = lib
-TARGET = eapdialogplugin
-CONFIG += hb plugin
-
-# directories
-INCLUDEPATH += .
-DEPENDPATH += .
-DESTDIR = $${HB_BUILD_DIR}/plugins/devicedialogs
-
-# Temporary solution to fix tracecompiler
-# When tracecompiler is fixed, this can be removed
-symbian: {
-    MMP_RULES += "USERINCLUDE traces"
-}
-
-# directories for generated files
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-HEADERS += inc/eapdialogplugin.h \
-           inc/eapquerydialog.h \
-           inc/eappasswordquerydialog.h \
-           inc/eapusernamepwddialog.h  \
-           inc/eapfastprovwaitnotedialog.h \
-           inc/eapmschapv2pwdexpirednotedialog.h \
-           inc/eapmschapv2oldpwddialog.h \
-           inc/eapmschapv2newpwddialog.h \
-           inc/eapfastprovnotsuccessnotedialog.h \
-           inc/eapfastinstallpacquerydialog.h \
-           inc/eapfastpacstorepwquerydialog.h \
-           inc/eapfastpacfilepwquerydialog.h \
-           inc/eapfastcreatemasterkeyquerydialog.h \
-           traces/OstTraceDefinitions.h
-
-SOURCES += src/eapdialogplugin.cpp \
-           src/eapquerydialog.cpp \
-           src/eappasswordquerydialog.cpp \
-           src/eapusernamepwddialog.cpp \
-           src/eapfastprovwaitnotedialog.cpp \
-           src/eapmschapv2oldpwddialog.cpp \
-           src/eapmschapv2newpwddialog.cpp \
-           src/eapmschapv2pwdexpirednotedialog.cpp \
-           src/eapfastprovnotsuccessnotedialog.cpp \
-           src/eapfastinstallpacquerydialog.cpp \
-           src/eapfastpacstorepwquerydialog.cpp \
-           src/eapfastpacfilepwquerydialog.cpp \
-           src/eapfastcreatemasterkeyquerydialog.cpp
-
-symbian: {
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    TARGET.UID3 = 0x2002E6F2
-    BLD_INF_RULES.prj_exports += "rom/eapdialogplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(eapdialogplugin.iby)"
-    BLD_INF_RULES.prj_exports += "rom/eapdialogplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(eapdialogplugin_resources.iby)"
-
-    pluginstub.sources = eapdialogplugin.dll
-    pluginstub.path = /resource/plugins/devicedialogs
-    DEPLOYMENT += pluginstub
-}
-
-TRANSLATIONS = eapprompts.ts
-
-LIBS  += -leapqtconfiginterface -leapqtplugininfo
--- a/securitysettings/eapqtdialogs/inc/eapdialogplugin.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Eap Dialog Plugin
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef ____EAPDIALOG_H__PLUGIN_H__
-#define ____EAPDIALOG_H__PLUGIN_H__
-
-// System includes
-#include <QObject>
-#include <hbdevicedialogplugin.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_dialog_plugin
-   @{
- */
-
-// Class declaration
-
-class EapDialogPlugin : public HbDeviceDialogPlugin
-{
-    Q_OBJECT
-
-public:
-    
-    /* Constructor */
-    EapDialogPlugin();
-    /* Destructor */
-    ~EapDialogPlugin();
-    
-    /* Check whether access is allowed, true is always returned. 
-       (from HbDeviceDialogPlugin) */
-    bool accessAllowed(const QString &deviceDialogType,
-        const QVariantMap &parameters, const QVariantMap &securityInfo) const;
-    
-    /* Creates the dialog widget. (from HbDeviceDialogPluginInterface) */
-    HbDeviceDialogInterface *createDeviceDialog(const QString &deviceDialogType,
-        const QVariantMap &parameters);
-    
-    /* Returns the device dialog type. (from HbDeviceDialogPlugin)*/
-    bool deviceDialogInfo(const QString &deviceDialogType,
-        const QVariantMap &parameters, DeviceDialogInfo *info) const;
-    
-    /* Returns a list of dialog types that this plugin implements.
-     * Only one dialog type is supported. (from HbDeviceDialogPlugin)
-     */
-    QStringList deviceDialogTypes() const;
-    
-    /* Returns the possible plugin flags, there are none. 
-       (from HbDeviceDialogPlugin) */
-    PluginFlags pluginFlags() const;
-    
-    /* Not supported. (from HbDeviceDialogPlugin)*/
-    int error() const;
-
-private:
-    Q_DISABLE_COPY(EapDialogPlugin)
-
-};
-
-/*! @} */
-
-#endif // ___EAPDIALOG_H__
--- a/securitysettings/eapqtdialogs/inc/eapfastcreatemasterkeyquerydialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST Create Master Key Query Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPFASTCREATEMASTERKEYQUERYDIALOG_H__
-#define __EAPFASTCREATEMASTERKEYQUERYDIALOG_H__
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbLineEdit;
-class HbTranslator;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_fast_create_master_key_query_dialog
-   @{
- */
-
-// Class declaration
-
-class EapFastCreateMasterKeyQueryDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapFastCreateMasterKeyQueryDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapFastCreateMasterKeyQueryDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog( const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-        
-        bool validate() const;
-        
-        Q_DISABLE_COPY(EapFastCreateMasterKeyQueryDialog)
-   
-    private: // data
-        // NOT OWNED
-        //! Pointer to the line edit 1 object 
-        HbLineEdit *mEdit1;
-        
-        //! Pointer to the line edit 2 object
-        HbLineEdit *mEdit2;
-        
-        // OWNED                
-        //! Pointer to the password validator object
-        QScopedPointer<EapQtValidator> mPwdValidator;
-                
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Pointer to the error message HbTranslator
-        QScopedPointer<HbTranslator> mErrMsgTranslator;
-        
-        //! Tells whether close has already been called for the dialog
-        bool mClose;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-
-/*! @} */
-
-#endif // __EAPFASTCREATEMASTERKEYQUERYDIALOG_H__
-
--- a/securitysettings/eapqtdialogs/inc/eapfastinstallpacquerydialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Fast Install Pac Query Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPFASTINSTALLQUERYDIALOG_H__
-#define __EAPFASTINSTALLQUERYDIALOG_H__
-
-// System includes
-#include <HbMessageBox>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_fast_install_pac_query_dialog
-   @{
- */
-
-// Class declaration
-
-class EapFastInstallPacQueryDialog: public HbMessageBox, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapFastInstallPacQueryDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapFastInstallPacQueryDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog(const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-        
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-            
-    private slots:
-        /* Slot that is mapped to the Yes Action button's triggered signal */
-        void yesPressed();
-        
-        /* Slot that is mapped to the No Action button's triggered signal */
-        void noPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-                
-        Q_DISABLE_COPY(EapFastInstallPacQueryDialog)
-   
-    private: // data
-        // NOT OWNED
-        
-        // OWNED        
-        //! Pointer to the password validator object
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Tells whether close has already been called for the dialog
-        bool mClose;
-        
-        //! Tells whether Yes Action has already been pressed
-        bool mYesActionPressed;
-    };
-
-/*! @} */
-
-#endif // __EAPFASTINSTALLQUERYDIALOG_H__
--- a/securitysettings/eapqtdialogs/inc/eapfastpacfilepwquerydialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST PAC File Password Query Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPFASTPACFILEPWQUERYDIALOG_H__
-#define __EAPFASTPACFILEPWQUERYDIALOG_H__
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_fast_pac_file_pwd_query_dialog
-   @{
- */
-
-// Class declaration
-
-class EapFastPacFilePwQueryDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapFastPacFilePwQueryDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapFastPacFilePwQueryDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog( const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-                
-        Q_DISABLE_COPY(EapFastPacFilePwQueryDialog)
-   
-    private: // data
-        // NOT OWNED
-        //! Pointer to the line edit object
-        HbLineEdit *mEdit;
-                                
-        // OWNED        
-        //! Pointer to the password validator object
-        QScopedPointer<HbTranslator> mTranslator;
-                
-        //! Tells whether close has already been called for the dialog
-        bool mClose;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-
-/*! @} */
-
-#endif // __EAPFASTPACFILEPWQUERYDIALOG_H__
-
-
--- a/securitysettings/eapqtdialogs/inc/eapfastpacstorepwquerydialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST PAC Store Password Query Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPFASTPACSTOREPWQUERYDIALOG_H__
-#define __EAPFASTPACSTOREPWQUERYDIALOG_H__
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_fast_pac_store_pwd_query_dialog
-   @{
- */
-
-// Class declaration
-
-class EapFastPacStorePwQueryDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapFastPacStorePwQueryDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapFastPacStorePwQueryDialog();
-        
-        /* Function creates the actual dialog widget. */
-        void createDialog();
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface)*/
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-        
-        bool validate() const;
-        
-        Q_DISABLE_COPY(EapFastPacStorePwQueryDialog)
-   
-    private: // data
-        // NOT OWNED
-        //! Pointer to the line edit object
-        HbLineEdit *mEdit;
-                
-        // OWNED        
-        //! Pointer to the password validator object
-        QScopedPointer<EapQtValidator> mPwdValidator;
-                
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Pointer to the error message HbTranslator
-        QScopedPointer<HbTranslator> mErrMsgTranslator;
-        
-        //! Tells whether close has already been called for the dialog
-        bool mClose;
-        
-    };
-
-/*! @} */
-
-#endif // __EAPFASTPACSTOREPWQUERYDIALOG_H__
-
--- a/securitysettings/eapqtdialogs/inc/eapfastprovnotsuccessnotedialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   EAP-FAST Provisioning not successfull note Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPFASTPROVNOTSUCCESSNOTEDIALOG_H__
-#define __EAPFASTPROVNOTSUCCESSNOTEDIALOG_H__
-
-// System includes
-#include <HbMessageBox>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbAction;
-class HbTranslator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_fast_prov_not_success_note_dialog
-   @{
- */
-
-// Class declaration
-
-class EapFastProvNotSuccessNoteDialog: public HbMessageBox, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapFastProvNotSuccessNoteDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapFastProvNotSuccessNoteDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog();
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-        
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-            
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-                
-        Q_DISABLE_COPY(EapFastProvNotSuccessNoteDialog)
-   
-    private: // data
-        // NOT OWNED
-        
-        // OWNED   
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-                
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-
-/*! @} */
-
-#endif // __EAPFASTPROVNOTSUCCESSNOTEDIALOG_H__
--- a/securitysettings/eapqtdialogs/inc/eapfastprovwaitnotedialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Fast Provisioning Wait Notification Dialog
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#ifndef __EAPFASTPROVWAITNOTEDIALOG_H__
-#define __EAPFASTPROVWAITNOTEDIALOG_H__
-
-// System includes
-#include <HbNotificationDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_fast_prov_wait_note_dialog
-   @{
- */
-
-// Class declaration
-
-class EapFastProvWaitNoteDialog: public HbNotificationDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapFastProvWaitNoteDialog(const QVariantMap &parameters);
-        
-        /* Destructor */
-        ~EapFastProvWaitNoteDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog(const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-        
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-            
-    private slots:
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-                
-        Q_DISABLE_COPY(EapFastProvWaitNoteDialog)
-        
-    private:// data
-        // NOT OWNED
-        
-        // OWNED        
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-   
-    };
-    
-/*! @} */
-
-#endif // __EAPFASTPROVWAITNOTEDIALOG_H__
--- a/securitysettings/eapqtdialogs/inc/eapmschapv2newpwddialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-MSCHAPv2 New Password Input Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPMSCHAPV2NEWPWDDIALOG_H__
-#define __EAPMSCHAPV2NEWPWDDIALOG_H__
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class EapQtValidator;
-class HbTranslator;
-class HbLineEdit;
-class HbAction;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_mschapv2_new_pwd_dialog
-   @{
- */
-
-// Class declaration
-
-class EapMschapv2NewPwdDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapMschapv2NewPwdDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapMschapv2NewPwdDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog( const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. 
-         * (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface)*/
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface)*/
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget. (from HbDeviceDialogInterface)*/
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-        
-        bool validate() const;
-        
-        Q_DISABLE_COPY(EapMschapv2NewPwdDialog)
-   
-    private: // data
-        // NOT OWNED
-        //! Pointer to the line edit 1 object 
-        HbLineEdit *mEdit1;
-        
-        //! Pointer to the line edit 2 object
-        HbLineEdit *mEdit2;
-        
-        // OWNED        
-        //! Pointer to the password validator object
-        QScopedPointer<EapQtValidator> mPwdValidator;
-                
-        //! Pointer to the main HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Pointer to the error message HbTranslator
-        QScopedPointer<HbTranslator> mErrMsgTranslator;
-        
-        //! Tells whether close has already been called for the dialog
-        bool mClose;   
-        
-    };
-
-/*! @} */
-
-#endif // __EAPMSCHAPV2NEWPWDDIALOG_H__
-
--- a/securitysettings/eapqtdialogs/inc/eapmschapv2oldpwddialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-MSCHAPv2 Old Password Input Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPMSCHAPV2OLDPWDDIALOG_H__
-#define __EAPMSCHAPV2OLDPWDDIALOG_H__
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_mschapv2_old_pwd_dialog
-   @{
- */
-
-// Class declaration
-
-class EapMschapv2OldPwdDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapMschapv2OldPwdDialog(const QVariantMap &parameters);
-        
-        /* Destructor */
-        ~EapMschapv2OldPwdDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog( const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported.
-         * (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget. 
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-                       
-    private:
-         
-        bool validate() const;
-        
-        Q_DISABLE_COPY(EapMschapv2OldPwdDialog)
-    
-    private: // data
-        // NOT OWNED
-        //! Pointer to the line edit object
-        HbLineEdit *mEdit;
-        
-        // OWNED             
-        //! Pointer to the password validator object
-        QScopedPointer<EapQtValidator> mPwdValidator;
-                
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-        
-        //! Tells whether close has already been called for the dialog
-        bool mClose;
-    };
-
-/*! @} */
-
-#endif // __EAPMSCHAPV2OLDPWDDIALOG_H__
-
--- a/securitysettings/eapqtdialogs/inc/eapmschapv2pwdexpirednotedialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-MSCHAPv2 password expired note Dialog
-*
-*/
-
-/*
-* %version: 3 %
-*/
-
-#ifndef __EAPMSCHAPV2PWDEXPNOTEDIALOG_H__
-#define __EAPMSCHAPV2PWDEXPNOTEDIALOG_H__
-
-// System includes
-#include <HbMessageBox>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-
-class HbTranslator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_mschapv2_pwd_exp_note_dialog
-   @{
- */
-
-// Class declaration
-
-class EapMschapv2PwdExpNoteDialog: public HbMessageBox, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapMschapv2PwdExpNoteDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapMschapv2PwdExpNoteDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog();
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-        
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-            
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-                
-        Q_DISABLE_COPY(EapMschapv2PwdExpNoteDialog)
-   
-    private: // data
-        // NOT OWNED
-        
-        // OWNED        
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-    
-/*! @} */
-
-#endif // __EAPMSCHAPV2PWDEXPNOTEDIALOG_H__
--- a/securitysettings/eapqtdialogs/inc/eappasswordquerydialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP Password Query Dialog
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef __EAPPASSWORDQUERYDIALOG_H__
-#define __EAPPASSWORDQUERYDIALOG_H__
-
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-class HbLineEdit;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_password_query_dialog
-   @{
- */
-
-// Class declaration
-
-class EapPasswordQueryDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapPasswordQueryDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapPasswordQueryDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog( const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface)*/
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface)*/
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-                
-    private:
-        
-        bool validate() const;
-        
-        Q_DISABLE_COPY(EapPasswordQueryDialog)
-   
-    private: //data
-        // NOT OWNED
-        //! Pointer to the line edit 1 object
-        HbLineEdit *mEdit;
-        
-        // OWNED           
-        //! Pointer to the password validator object
-        QScopedPointer<EapQtValidator> mPwdValidator;
-        
-        //! Pointer to the main HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-                
-        //! Tells whether close has already been called for the dialog */
-        bool mClose;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-
-/*! @} */
-
-#endif // __EAPPASSWORDQUERYDIALOG_H__
-
--- a/securitysettings/eapqtdialogs/inc/eapquerydialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP Challenge query Dialog
-*
-*/
-
-/*
- * %version: 3 %
- */
- 
-#ifndef __EAPQUERYDIALOG_H__
-#define __EAPQUERYDIALOG_H__
-
-// System includes
-#include <HbMessageBox>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-class EapQtValidator;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_query_dialog
-   @{
- */
-
-// Class declaration
-
-class EapQueryDialog: public HbMessageBox, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapQueryDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapQueryDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog(const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-                
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-        
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-            
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-                
-        Q_DISABLE_COPY(EapQueryDialog)
-   
-    private: // data
-        // NOT OWNED
-        
-        // OWNED      
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-    
-/*! @} */
-
-#endif // __EAPQUERYDIALOG_H__
--- a/securitysettings/eapqtdialogs/inc/eapusernamepwddialog.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: User authentication Dialog
-*/
-
-/*
- * %version: 4 %
- */
-
-#ifndef __EAPUSERNAMEPWDDIALOG_H__
-#define __EAPUSERNAMEPWDDIALOG_H__
-
-// System includes
-#include <HbInputDialog>
-#include <hbdevicedialoginterface.h>
-
-// User includes
-
-// Forward declarations
-class EapQtValidator;
-class HbTranslator;
-class HbLineEdit;
-class HbAction;
-
-// External data types
-
-// Constants
-
-/*!
-   @addtogroup group_eap_username_pwd_dialog
-   @{
- */
-
-// Class declaration
-
-class EapUsernamePwdDialog: public HbInputDialog, public HbDeviceDialogInterface
-    {
-    Q_OBJECT
-
-    public:
-        /* Constructor */
-        EapUsernamePwdDialog(const QVariantMap &parameters);
-        /* Destructor */
-        ~EapUsernamePwdDialog();
-        
-        /* Function creates the actual dialog widget */
-        void createDialog( const QVariantMap &parameters );
-        
-        /* Device dialog parameters to be set while dialog is displayed.
-         * Not supported. (from HbDeviceDialogInterface)
-         */
-        bool setDeviceDialogParameters(const QVariantMap &parameters);
-        
-        /* Not supported. (from HbDeviceDialogInterface) */
-        int deviceDialogError() const;
-        
-        /* Closes the device dialog. (from HbDeviceDialogInterface) */
-        void closeDeviceDialog(bool byClient);
-        
-        /* Returns a pointer to this dialog widget.
-           (from HbDeviceDialogInterface) */
-        HbPopup *deviceDialogWidget() const;
-        
-    signals:
-        /* Signal is emitted when the dialog is closed */
-        void deviceDialogClosed();
-    
-        /* Data is emitted in QVariantMap when Ok Action button is selected */
-        void deviceDialogData(QVariantMap data);
-        
-    private slots:
-        /* Slot that is mapped to the Ok Action button's triggered signal */
-        void okPressed();
-                
-        /* Slot that is mapped to the Cancel Action button's triggered signal */
-        void cancelPressed();
-        
-        /* Slot that is mapped to the signal that indicates to closing of the dialog */
-        void closingDialog();
-               
-    private:
-        
-        bool validate() const;
-        
-        Q_DISABLE_COPY(EapUsernamePwdDialog)
-   
-    private: // data
-        // NOT OWNED
-        //! Pointer to the line edit 1 object 
-        HbLineEdit *mEdit1;
-        
-        //! Pointer to the line edit 2 object
-        HbLineEdit *mEdit2;
-        
-        // OWNED        
-        //! Pointer to the user name validator object
-        QScopedPointer<EapQtValidator> mUnameValidator;
-                
-        //! Pointer to the password validator object
-        QScopedPointer<EapQtValidator> mPwdValidator;
-                
-        //! Pointer to the HbTranslator
-        QScopedPointer<HbTranslator> mTranslator;
-        
-        //! Tells whether close has already been called for the dialog
-        bool mClose;
-        
-        //! Tells whether Ok Action has already been pressed
-        bool mOkActionPressed;
-    };
-
-/*! @} */
-
-#endif // __EAPUSERNAMEPWDDIALOG_H__
-
--- a/securitysettings/eapqtdialogs/rom/eapdialogplugin.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: Image description file for the EAP Dialogs
- * 
- */
- 
- /*
-  * %version: 3 %
-  */
- 
-#ifndef __EAPDIALOGPLUGIN_IBY__
-#define __EAPDIALOGPLUGIN_IBY__
-
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-#define HB_PLUGIN_STUB(NAME, SUBDIR) data=\epoc32\data\z\resource\plugins\##SUBDIR##\##NAME##.qtplugin RESOURCE_FILES_DIR\plugins\##SUBDIR##\##NAME##.qtplugin
-
-file=ABI_DIR\BUILD_DIR\EapDialogPlugin.dll                  SHARED_LIB_DIR\eapdialogplugin.dll
-HB_PLUGIN_STUB(eapdialogplugin, devicedialogs)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __EAPDIALOGPLUGIN_IBY__
\ No newline at end of file
--- a/securitysettings/eapqtdialogs/rom/eapdialogplugin_resources.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: Resource description file for the EAP Dialogs
- * 
- */
- 
- /*
-  * %version: 5 %
-  */
-
-#ifndef EAPDIALOGPLUGIN_RESOURCES_IBY
-#define EAPDIALOGPLUGIN_RESOURCES_IBY
-
-#include <bldvariant.hrh>
-#include <data_caging_paths_for_iby.hrh> 
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_/QT_TRANSLATIONS_DIR/eapprompts.qm QT_TRANSLATIONS_DIR/eapprompts.qm 
-
-#endif // __PROTOCOL_WLAN
-
-#endif // EAPDIALOGPLUGIN_RESOURCES_IBY
--- a/securitysettings/eapqtdialogs/src/eapdialogplugin.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Eap Dialog Plugin implementation
-*
-*/
-
-/*
-* %version: 10 %
-*/
-
-// System includes
-#include <hbdevicedialoginterface.h>
-#include <QVariantMap>
-
-// User includes
-#include "eapdialogplugin.h"
-#include "eapusernamepwddialog.h"
-#include "eapquerydialog.h"
-#include "eappasswordquerydialog.h"
-#include "eapfastinstallpacquerydialog.h"
-#include "eapfastpacstorepwquerydialog.h"
-#include "eapfastpacfilepwquerydialog.h"
-#include "eapfastcreatemasterkeyquerydialog.h"
-#include "eapfastprovwaitnotedialog.h"
-#include "eapmschapv2pwdexpirednotedialog.h"
-#include "eapmschapv2oldpwddialog.h"
-#include "eapmschapv2newpwddialog.h"
-#include "eapfastprovnotsuccessnotedialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapdialogpluginTraces.h"
-#endif
-
-/*!
- * \class EapDialogPlugin
- * \brief Implements Eap Dialog Plugin. 
- */
-
-// External function prototypes
-
-Q_EXPORT_PLUGIN2(eapdialogplugin, EapDialogPlugin)
-
-// Local constants
-
-//! This plugin implements several device dialog types
-static const struct {
-    const char *mTypeString;
-} dialogInfos[] = {
-    {"com.nokia.eap.usernamepassworddialog/1.0"},
-    {"com.nokia.eap.querydialog/1.0"},
-    {"com.nokia.eap.passwordquerydialog/1.0"},
-    {"com.nokia.eap.fastinstallpacquerydialog/1.0"},
-    {"com.nokia.eap.fastpacstorepwquerydialog/1.0"},
-    {"com.nokia.eap.fastcreatemasterkeyquerydialog/1.0"},
-    {"com.nokia.eap.fastpacfilepwquerydialog/1.0"},
-    {"com.nokia.eap.fastprovwaitnotedialog/1.0"},
-    {"com.nokia.eap.mschapv2passwordexpirednotedialog/1.0"},
-    {"com.nokia.eap.mschapv2oldpassworddialog/1.0"},
-    {"com.nokia.eap.mschapv2newpassworddialog/1.0"},
-    {"com.nokia.eap.fastshowprovnotsuccessnotedialog/1.0"}
-};
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- */
-EapDialogPlugin::EapDialogPlugin()
-{
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_EAPDIALOGPLUGIN_ENTRY );
-    qDebug("EapDialogPlugin::EapDialogPlugin");
-        
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_EAPDIALOGPLUGIN_EXIT );
-}
-
-/*!
- * Destructor
- */ 
-EapDialogPlugin::~EapDialogPlugin()
-{
-    OstTraceFunctionEntry0( DUP1_EAPDIALOGPLUGIN_DEAPDIALOGPLUGIN_ENTRY );
-      
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_DEAPDIALOGPLUGIN_EXIT );
-}
-
-/*!
- * Create device dialog widget
- *
- * @param [in]  deviceDialogType Tells which Dialog to create
- * @param [in]  parameters Parameters for the Construction of the dialog.
- * @return  created dialog widget
- */ 
-HbDeviceDialogInterface *EapDialogPlugin::createDeviceDialog(
-    const QString &deviceDialogType,
-    const QVariantMap &parameters)
-{  
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_CREATEDEVICEDIALOG_ENTRY );
-    qDebug("EapDialogPlugin::createDeviceDialog ENTER");
-    
-    HbDeviceDialogInterface* dialog = NULL; 
-        
-    if ( deviceDialogType.compare(dialogInfos[0].mTypeString) == 0 ) 
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapUsernamePwdDialog");
-        dialog = new EapUsernamePwdDialog(parameters);
-        }
-    else if ( deviceDialogType.compare(dialogInfos[1].mTypeString) == 0 ) 
-        { 
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapQueryDialog");
-        dialog = new EapQueryDialog(parameters);   
-        }
-    else if ( deviceDialogType.compare(dialogInfos[2].mTypeString) == 0 ) 
-        { 
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapPasswordQueryDialog");
-        dialog = new EapPasswordQueryDialog(parameters);
-        }
-    else if ( deviceDialogType.compare(dialogInfos[3].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapFastInstallPacQueryDialog");
-        dialog = new EapFastInstallPacQueryDialog(parameters);
-        }
-    else if ( deviceDialogType.compare(dialogInfos[4].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapFastPacStorePwQueryDialog");
-        dialog = new EapFastPacStorePwQueryDialog(parameters);
-        }   
-    else if ( deviceDialogType.compare(dialogInfos[5].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapFastCreateMasterKeyQueryDialog");
-        dialog = new EapFastCreateMasterKeyQueryDialog(parameters);
-        }  
-    else if ( deviceDialogType.compare(dialogInfos[6].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapFastPacFilePwQueryDialog");
-        dialog = new EapFastPacFilePwQueryDialog(parameters);
-        }
-    else if ( deviceDialogType.compare(dialogInfos[7].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapFastProvWaitNoteDialog");
-        dialog = new EapFastProvWaitNoteDialog(parameters);
-        }  
-    else if ( deviceDialogType.compare(dialogInfos[8].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapMschapv2PwdExpNoteDialog");
-        dialog = new EapMschapv2PwdExpNoteDialog(parameters);
-        }  
-    else if ( deviceDialogType.compare(dialogInfos[9].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapMschapv2OldPwdDialog");
-        dialog = new EapMschapv2OldPwdDialog(parameters);
-        }  
-    else if ( deviceDialogType.compare(dialogInfos[10].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapMschapv2NewPwdDialog");
-        dialog = new EapMschapv2NewPwdDialog(parameters);
-        }  
-    else if ( deviceDialogType.compare(dialogInfos[11].mTypeString) == 0 )
-        {
-        qDebug("EapDialogPlugin::createDeviceDialog: new EapFastProvNotSuccessNoteDialog");
-        dialog = new EapFastProvNotSuccessNoteDialog(parameters);
-        }   
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_CREATEDEVICEDIALOG_EXIT );
-    qDebug("EapDialogPlugin::createDeviceDialog EXIT");
-    
-    return dialog;
-}
-
-/*!
- * Check if client is allowed to use device dialog widget. For the meantime
- * this plugin doesn't perform operations that may compromise security.
- * All clients are allowed to use.
- *
- * @param [in]  deviceDialogType Tells which Dialog type
- * @param [in]  parameters Device dialog parameters
- * @param [in]  securityInfo Information for Security check
- * @return  returns always true
- */ 
-bool EapDialogPlugin::accessAllowed(const QString &deviceDialogType,
-    const QVariantMap &parameters, const QVariantMap &securityInfo) const
-{
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_ACCESSALLOWED_ENTRY );
-    
-    Q_UNUSED(deviceDialogType)
-    Q_UNUSED(parameters)
-    Q_UNUSED(securityInfo)
-
-    return true;
-}
-
-/*!
- * Return information of device dialog the plugin creates
- *
- * @param [in]  deviceDialogType Tells which Dialog type
- * @param [in]  parameters Device dialog parameters
- * @param [in,out]  info Structure the plugin fills with an information 
- * @return  returns always true
- */ 
-bool EapDialogPlugin::deviceDialogInfo(const QString &deviceDialogType,
-    const QVariantMap &parameters, DeviceDialogInfo *info) const
-{
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_DEVICEDIALOGINFO_ENTRY );
-    qDebug("EapDialogPlugin::deviceDialogInfo");
-    
-    Q_UNUSED(parameters)
-    Q_UNUSED(deviceDialogType)
-    
-    info->group = GenericDeviceDialogGroup;
-    info->flags = NoDeviceDialogFlags;
-    info->priority = DefaultPriority;
-    
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_DEVICEDIALOGINFO_EXIT );
-    qDebug("EapDialogPlugin::deviceDialogInfo EXIT");
-    return true;
-}
-
-/*!
- * Returns a list of device dialog types the plugin implements. 
- *
- * @return returns device dialog types this plugin implements
- */ 
-QStringList EapDialogPlugin::deviceDialogTypes() const
-{
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_DEVICEDIALOGTYPES_ENTRY );
-    qDebug("EapDialogPlugin::deviceDialogTypes");
-    
-    QStringList types;
-    const int numTypes = sizeof(dialogInfos) / sizeof(dialogInfos[0]);
-    for(int i = 0; i < numTypes; i++) {
-        types.append(dialogInfos[i].mTypeString);
-    }
-    
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_DEVICEDIALOGTYPES_EXIT );
-    return types;
-}
-
-/*!
- * Return plugin flags
- *
- * @return returns plugin flags
- */ 
-EapDialogPlugin::PluginFlags EapDialogPlugin::pluginFlags() const
-{
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_PLUGINFLAGS_ENTRY );   
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_PLUGINFLAGS_EXIT );
-    return NoPluginFlags;
-}
-
-/*!
- * The last error is not stored, not supported
- *
- * @return returns always 0
- */ 
-int EapDialogPlugin::error() const
-{
-    OstTraceFunctionEntry0( EAPDIALOGPLUGIN_ERROR_ENTRY );
-    OstTraceFunctionExit0( EAPDIALOGPLUGIN_ERROR_EXIT );
-    return 0;
-}
-
--- a/securitysettings/eapqtdialogs/src/eapfastcreatemasterkeyquerydialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,306 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST Create Master Key Query Dialog implementation
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-// System includes
-#include <HbLineEdit>
-#include <HbAction>
-#include <HbMessageBox>
-#include <HbTranslator>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "eapfastcreatemasterkeyquerydialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapfastcreatemasterkeyquerydialogTraces.h"
-#endif
-
-/*!
- * \class EapFastCreateMasterKeyQueryDialog
- * \brief Implements EAP-FAST Create Master Key Query Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapFastCreateMasterKeyQueryDialog::EapFastCreateMasterKeyQueryDialog(const QVariantMap &parameters) 
- :mEdit1(NULL), 
-  mEdit2(NULL), 
-  mPwdValidator(NULL),
-  mTranslator(new HbTranslator("eapprompts")),
-  mErrMsgTranslator(new HbTranslator("cpdestinationplugin")),
-  mClose(false),
-  mOkActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_EAPFASTCREATEMASTERKEYQUERYDIALOG_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::EapFastCreateMasterKeyQueryDialog ENTER");
-       
-    createDialog(parameters);
-        
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_EAPFASTCREATEMASTERKEYQUERYDIALOG_EXIT );
-    qDebug("EapFastCreateMasterKeyQueryDialog::EapFastCreateMasterKeyQueryDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapFastCreateMasterKeyQueryDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::createDialog ENTER");
-    
-    Q_UNUSED(parameters)
-    
-    QString labelText1(hbTrId("txt_occ_dialog_create_password_for_encrypted_pac_s"));
-    QString labelText2(hbTrId("txt_occ_dialog_verify_password"));
-        
-    //Set the dialog to be on the screen until user reacts
-    //by pressing any of the Action buttons
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);    
-    this->setAdditionalRowVisible(true);
-    
-    this->setPromptText(labelText1, 0);   
-    mEdit1 = this->lineEdit(0);
-    mEdit1->setEchoMode(HbLineEdit::Password);
-    
-    this->setPromptText(labelText2, 1);   
-    mEdit2 = this->lineEdit(1);        
-    mEdit2->setEchoMode(HbLineEdit::Password);
-    
-    EapQtConfigInterface eap_config_if;
-    
-    mPwdValidator.reset( eap_config_if.validatorPacStore(
-                EapQtPacStoreConfig::PacStorePassword) ); 
-    Q_ASSERT( mPwdValidator.isNull() == false );                
-                     
-    mPwdValidator->updateEditor(mEdit1);
-    
-   
-    //Remove all default actions from the dialog  
-    QList<QAction*> action_list = this->actions();        
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Add a new Cancel button action 
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction(actionCancel);    
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class    
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPFASTCREATEMASTERKEYQUERYDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapFastCreateMasterKeyQueryDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapFastCreateMasterKeyQueryDialog::~EapFastCreateMasterKeyQueryDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEAPFASTCREATEMASTERKEYQUERYDIALOG_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::~EapFastCreateMasterKeyQueryDialog");
-    
-    //The dialog widgets are deleted as the dialog is deleted
-    // mPwdValidator:   scoped pointer deleted automatically
-    
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEAPFASTCREATEMASTERKEYQUERYDIALOG_EXIT );
-}
-
-/*!
- * Line edit validator
- *
- * @return true if content is valid.
- */
-bool EapFastCreateMasterKeyQueryDialog::validate() const
-{
-    qDebug("EapFastCreateMasterKeyQueryDialog::validate");
-    
-    bool valid = false;
-    
-    if ( mPwdValidator->validate(mEdit1->text())== EapQtValidator::StatusOk &&
-        mEdit1->text() == mEdit2->text()) {
-        qDebug("EapFastCreateMasterKeyQueryDialog::validate: ret val: TRUE");
-        valid = true;
-    }
-    return valid;
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapFastCreateMasterKeyQueryDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_FIRSTBUTTONPRESSED_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::okPressed ENTER");
-    
-    if ( validate() == true ) {
-         
-            QVariantMap data;
-       
-            data["password"] = mEdit1->text();
-      
-            qDebug("EapFastCreateMasterKeyQueryDialog::okPressed: emit deviceDialogData");
-    
-            emit deviceDialogData(data); 
-            closeDeviceDialog(true);
-        }
-    else {
-        HbMessageBox *box = 
-            new HbMessageBox(hbTrId("txt_occ_info_passwords_do_not_match_try_again"),
-            HbMessageBox::MessageTypeInformation);
-        box->setAttribute(Qt::WA_DeleteOnClose);
-        box->open();       
-        }
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_FIRSTBUTTONPRESSED_EXIT );
-    qDebug("EapFastCreateMasterKeyQueryDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapFastCreateMasterKeyQueryDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapFastCreateMasterKeyQueryDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapFastCreateMasterKeyQueryDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::closingDialog ENTER");
- 
-    qDebug("EapFastCreateMasterKeyQueryDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapFastCreateMasterKeyQueryDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapFastCreateMasterKeyQueryDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapFastCreateMasterKeyQueryDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapFastCreateMasterKeyQueryDialog::closeDeviceDialog ENTER");
-        
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true )
-        {
-        qDebug("EapFastCreateMasterKeyQueryDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapFastCreateMasterKeyQueryDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapFastCreateMasterKeyQueryDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapFastCreateMasterKeyQueryDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapfastinstallpacquerydialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST Install PAC Query Dialog implementation
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-// System includes
-#include <HbTranslator>
-#include <HbAction>
-#include <HbParameterLengthLimiter>
-
-// User includes
-#include "eapfastinstallpacquerydialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapfastinstallpacquerydialogTraces.h"
-#endif
-
-/*!
- * \class EapFastInstallPacQueryDialog
- * \brief Implements EAP-FAST Install PAC Query Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
-
-//! The index numbers of the button of the dialog
-static const int yesButtonIndex = 1;
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapFastInstallPacQueryDialog::EapFastInstallPacQueryDialog(const QVariantMap &parameters)
-:HbMessageBox(HbMessageBox::MessageTypeQuestion),
-mTranslator(new HbTranslator("eapprompts")),
-mClose(false),
-mYesActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPGTCQUERYDIALOG_EAPGTCQUERYDIALOG_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::EapFastInstallPacQueryDialog ENTER");
-        
-    createDialog( parameters );
-        
-    OstTraceFunctionExit0( EAPGTCQUERYDIALOG_EAPGTCQUERYDIALOG_EXIT );
-    qDebug("EapFastInstallPacQueryDialog::EapFastInstallPacQueryDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapFastInstallPacQueryDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPGTCQUERYDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::createDialog ENTER");
-         
-    QString servername;
-    QString key("pacservername");
-    
-    //Get the server name from parameters   
-    if ( parameters.empty() == false ) {
-        if ( parameters.contains(key) ) {
-            QVariant variant = parameters.value(key);
-            servername = variant.toString();
-            }
-        }  
-    
-    QString mainText(HbParameterLengthLimiter(
-        hbTrId("txt_occ_info_install_pac_from_server_1").arg(servername)));
-    
-    //Set the dialog to be on the screen until user reacts
-    //by pressing any of the Action buttons
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);
-               
-    this->setText(mainText);    
-    this->setIconVisible(true);
-    
-    //Remove all default actions from the dialog          
-    QList<QAction*> action_list = this->actions();       
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        }
-    
-    //Add a new Yes button action 
-    HbAction* actionYes = new HbAction(hbTrId("txt_common_button_yes"),this); 
-    this->addAction(actionYes);
-    
-    //Add a new No button action 
-    HbAction* actionNo = new HbAction(hbTrId("txt_common_button_no"),this);
-    this->addAction(actionNo);    
-    
-    //Disconnect action Yes from the default SLOT and connect to 
-    //a SLOT owned by this class    
-    disconnect(actionYes, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionYes, SIGNAL(triggered()), this, SLOT(yesPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action No from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionNo, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionNo, SIGNAL(triggered()), this, SLOT(noPressed()));
-    Q_ASSERT(connected == true);
-        
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed    
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPGTCQUERYDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapFastInstallPacQueryDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapFastInstallPacQueryDialog::~EapFastInstallPacQueryDialog()
-{
-    OstTraceFunctionEntry0( EAPGTCQUERYDIALOG_DEAPGTCQUERYDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted
-    
-    OstTraceFunctionExit0( EAPGTCQUERYDIALOG_DEAPGTCQUERYDIALOG_EXIT );
-}
-
-/*!
- * Function is called when the Yes Action button is pressed
- */
-void EapFastInstallPacQueryDialog::yesPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_YESBUTTONPRESSED_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::yesPressed ENTER");
-    
-    if ( mYesActionPressed == false ) {
-        
-         mYesActionPressed = true;
-            
-         QVariantMap data;
-         data["yesbutton"] = yesButtonIndex;
-         
-         // emit the data of the selected button and close the dialog
-         qDebug("EapFastInstallPacQueryDialog::yesPressed: emit deviceDialogData");
-         emit deviceDialogData(data);   
-         closeDeviceDialog(true);
-    }
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_YESBUTTONPRESSED_EXIT );
-    qDebug("EapFastInstallPacQueryDialog::yesPressed EXIT");
-}
-
-/*!
- * Function is called when the No Action button is pressed
- */
-void EapFastInstallPacQueryDialog::noPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_NOPRESSED_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::noPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapFastInstallPacQueryDialog::noPressed EXIT");
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_NOPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapFastInstallPacQueryDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::closingDialog ENTER");
-  
-    qDebug("EapFastInstallPacQueryDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapFastInstallPacQueryDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapFastInstallPacQueryDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapFastInstallPacQueryDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::closeDeviceDialog ENTER");
-            
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true )
-        {
-        qDebug("EapFastInstallPacQueryDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapFastInstallPacQueryDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapFastInstallPacQueryDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    qDebug("EapFastInstallPacQueryDialog::deviceDialogWidget ENTER");
-    
-    qDebug("EapFastInstallPacQueryDialog::deviceDialogWidget EXIT");
-    OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapFastInstallPacQueryDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapfastpacfilepwquerydialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST PAC File Password Query Dialog implementation
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-// System includes
-#include <HbTranslator>
-#include <HbAction>
-#include <HbParameterLengthLimiter>
-
-// User includes
-#include "eapfastpacfilepwquerydialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapfastpacfilepwquerydialogTraces.h"
-#endif
-
-
-/*!
- * \class EapFastPacFilePwQueryDialog
- * \brief Implements EAP-FAST PAC File Password Query Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
-static const uint PacFilePwQueryTimeout = 60000;
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapFastPacFilePwQueryDialog::EapFastPacFilePwQueryDialog(const QVariantMap &parameters) 
- :mEdit(NULL), 
- mTranslator(new HbTranslator("eapprompts")),
- mClose(false),
- mOkActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_EAPFASTPACFILEQUERYDIALOG_ENTRY );
-    qDebug("EapFastPacFilePwQueryDialog::EapFastPacFilePwQueryDialog ENTER");
-        
-    createDialog(parameters);
-    
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_EAPFASTPACFILEQUERYDIALOG_EXIT );
-    qDebug("EapFastPacFilePwQueryDialog::EapFastPacFilePwQueryDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapFastPacFilePwQueryDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapFastPacFilePwQueryDialog::createDialog ENTER");
-    
-    QString filename;      
-    QString key("pacfilename");
-    
-    //Get the filename from parameters   
-    if ( parameters.empty() == false ) {
-        if ( parameters.contains(key) ) {
-            QVariant variant = parameters.value(key);
-            filename = variant.toString();
-            }
-        }  
-
-    QString mainText(HbParameterLengthLimiter(
-        hbTrId("txt_occ_dialog_pac_file_password_for_1").arg(filename)));
-    
-    //Set the dialog to be on the screen for 60 seconds, unless
-    //the user reacts earlier
-    this->setModal(true);
-    this->setTimeout(PacFilePwQueryTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);
-    this->setPromptText(mainText, 0);   
-    mEdit = this->lineEdit(0);
-    mEdit->setEchoMode(HbLineEdit::Password);
-              
-    //Remove all default actions from the dialog           
-    QList<QAction*> action_list = this->actions();     
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Add a new Cancel button action 
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction(actionCancel);    
-     
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class    
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPFASTPACFILEQUERYDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapFastPacFilePwQueryDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapFastPacFilePwQueryDialog::~EapFastPacFilePwQueryDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_DEAPFASTPACFILEQUERYDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted        
-    
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_DEAPFASTPACFILEQUERYDIALOG_EXIT );
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapFastPacFilePwQueryDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_FIRSTBUTTONPRESSED_ENTRY );
-    qDebug("EapFastPacFilePwQueryDialog::okPressed ENTER");
-    
-    if ( mOkActionPressed == false ) {
-        
-        mOkActionPressed = true;
-            
-        QVariantMap data;
-            
-        data["password"] = mEdit->text();
-      
-        qDebug("EapFastPacFilePwQueryDialog::okPressed: emit deviceDialogData");
-    
-        emit deviceDialogData(data); 
-        closeDeviceDialog(true);
-        }
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_FIRSTBUTTONPRESSED_EXIT );
-    qDebug("EapFastPacFilePwQueryDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapFastPacFilePwQueryDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapFastPacFilePwQueryDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapFastPacFilePwQueryDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapFastPacFilePwQueryDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapFastPacFilePwQueryDialog::closingDialog ENTER");
-     
-    qDebug("EapFastPacFilePwQueryDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */
-bool EapFastPacFilePwQueryDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapFastPacFilePwQueryDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapFastPacFilePwQueryDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog ENTER");
-        
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true )
-        {
-        qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapFastPacFilePwQueryDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapFastPacFilePwQueryDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapfastpacstorepwquerydialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST PAC Store Password Query Dialog implementation
-*
-*/
-
-/*
-* %version: 7 %
-*/
-
-// System includes
-#include <HbTranslator>
-#include <HbAction>
-#include <HbTranslator>
-#include <HbMessageBox>
-#include <HbParameterLengthLimiter>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "eapfastpacstorepwquerydialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapfastpacstorepwquerydialogTraces.h"
-#endif
-
-
-/*!
- * \class EapFastPacStorePwQueryDialog
- * \brief Implements EAP-FAST PAC Store Password Query Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
-static const uint PacStorePwQueryTimeout = 60000;
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapFastPacStorePwQueryDialog::EapFastPacStorePwQueryDialog(const QVariantMap &parameters) 
- :mEdit(NULL), 
- mPwdValidator(NULL),
- mTranslator(new HbTranslator("eapprompts")),
- mErrMsgTranslator(new HbTranslator("cpdestinationplugin")),
- mClose(false)
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_EAPFASTPACSTOREPWQUERYDIALOG_ENTRY );
-    qDebug("EapFastPacStorePwQueryDialog::EapFastPacStorePwQueryDialog ENTER");
-    
-    Q_UNUSED(parameters)
-          
-    createDialog();
-     
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_EAPFASTPACSTOREPWQUERYDIALOG_EXIT );
-    qDebug("EapFastPacStorePwQueryDialog::EapFastPacStorePwQueryDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- */ 
-void EapFastPacStorePwQueryDialog::createDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapFastPacStorePwQueryDialog::createDialog ENTER");
-
-    QString labelText(hbTrId("txt_occ_dialog_pac_store_password"));
-    
-    // Set the dialog to be on the screen for 60 seconds, unless
-    // the user reacts earlier
-    this->setModal(true);
-    this->setTimeout(PacStorePwQueryTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);
-    this->setPromptText(labelText, 0);  
-    
-    mEdit = this->lineEdit(0);
-    mEdit->setEchoMode(HbLineEdit::Password);
-      
-    EapQtConfigInterface eap_config_if;
-        
-    mPwdValidator.reset( eap_config_if.validatorPacStore(
-                EapQtPacStoreConfig::PacStorePasswordConfirmation) );    
-    Q_ASSERT( mPwdValidator.isNull() == false );
-    
-    mPwdValidator->updateEditor(mEdit);
-    
-    
-    //Remove all default actions from the dialog                   
-    QList<QAction*> action_list = this->actions();        
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Add a new Cancel button action 
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction(actionCancel);    
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class   
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPFASTPACSTOREPWQUERYDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapFastPacStorePwQueryDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapFastPacStorePwQueryDialog::~EapFastPacStorePwQueryDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_DEAPFASTPACSTOREPWQUERYDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted        
-    // mPwdValidator:   scoped pointer deleted automatically
-    
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_DEAPFASTPACSTOREPWQUERYDIALOG_EXIT );
-}
-
-/*!
- * Line edit validator
- *
- * @return true if content is valid.
- */
-bool EapFastPacStorePwQueryDialog::validate() const
-{
-    qDebug("EapFastPacStorePwQueryDialog::validate ENTER");
-    
-    bool valid = false;
-
-    if ( mPwdValidator->validate(mEdit->text())== EapQtValidator::StatusOk ) {
-        qDebug("EapFastPacStorePwQueryDialog::validate: returns TRUE");
-        valid = true;
-    }
-    
-    qDebug("EapFastPacStorePwQueryDialog::validate EXIT");
-    return valid;
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapFastPacStorePwQueryDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_OKPRESSED_ENTRY );
-    qDebug("EapFastPacStorePwQueryDialog::okPressed ENTER");
-    
-    if ( validate() == true ) {
-            
-        QVariantMap data;
-        
-        data["password"] = mEdit->text();
-      
-        qDebug("EapFastPacStorePwQueryDialog::okPressed: emit deviceDialogData");
-    
-        emit deviceDialogData(data); 
-        closeDeviceDialog(true);
-        }
-    else {
-        HbMessageBox *box = 
-            new HbMessageBox(hbTrId("txt_occ_info_incorrect_password_msg_box"),
-            HbMessageBox::MessageTypeInformation);
-        
-        box->setAttribute(Qt::WA_DeleteOnClose);
-        box->open();       
-        }
-        
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_OKPRESSED_EXIT );
-    qDebug("EapFastPacStorePwQueryDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapFastPacStorePwQueryDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapFastPacStorePwQueryDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapFastPacStorePwQueryDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapFastPacStorePwQueryDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapFastPacStorePwQueryDialog::closingDialog ENTER");
-     
-    qDebug("EapFastPacStorePwQueryDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapFastPacStorePwQueryDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapFastPacStorePwQueryDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapFastPacStorePwQueryDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapFastPacStorePwQueryDialog::closeDeviceDialog ENTER");
-        
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true )
-        {
-        qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapFastPacStorePwQueryDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapFastPacStorePwQueryDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapFastPacStorePwQueryDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapfastprovnotsuccessnotedialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-FAST Provisioning not successfull note Dialog implementation
-*
-*/
-
-/*
-* %version: 5 %
-*/
-
-// System includes
-#include <HbAction>
-#include <HbTranslator>
-
-// User includes
-#include "eapfastprovnotsuccessnotedialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapfastprovnotsuccessnotedialogTraces.h"
-#endif
-
-/*!
- * \class EapFastProvNotSuccessNoteDialog
- * \brief Implements EAP-MSCHAPv2 New Password Input Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
-
-//! The index numbers of the button of the dialog
-static const int okButtonIndex = 1;
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapFastProvNotSuccessNoteDialog::EapFastProvNotSuccessNoteDialog(const QVariantMap &parameters)
-:HbMessageBox(HbMessageBox::MessageTypeWarning),    
-mTranslator(new HbTranslator("eapprompts")),
-mOkActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_EAPFASTPROVNOTSUCCESSNOTEDIALOG_ENTRY );
-    qDebug("EapFastProvNotSuccessNoteDialog::EapFastProvNotSuccessNoteDialog ENTER");
-    
-    Q_UNUSED(parameters)
-
-    createDialog();
-    
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_EAPFASTPROVNOTSUCCESSNOTEDIALOG_EXIT );
-    qDebug("EapFastProvNotSuccessNoteDialog::EapFastProvNotSuccessNoteDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- */ 
-void EapFastProvNotSuccessNoteDialog::createDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapFastProvNotSuccessNoteDialog::createDialog ENTER");
-     
-    QString text(hbTrId("txt_occ_info_provisioning_not_successful_reactiv"));
-         
-    //Set the dialog to be on the screen until user reacts
-    //by pressing the Action button
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);               
-    this->setText(text);    
-    this->setIconVisible(true);
-    
-    //Remove all default actions from the dialog              
-    QList<QAction*> action_list = this->actions();        
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        }
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok_single_dialog"),this); 
-    this->addAction(actionOk);
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-        
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed    
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPFASTPROVNOTSUCCESSNOTEDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapFastProvNotSuccessNoteDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapFastProvNotSuccessNoteDialog::~EapFastProvNotSuccessNoteDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEAPFASTPROVNOTSUCCESSNOTEDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted
-    
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEAPFASTPROVNOTSUCCESSNOTEDIALOG_EXIT );
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapFastProvNotSuccessNoteDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_OKBUTTONPRESSED_ENTRY );
-    qDebug("EapFastProvNotSuccessNoteDialog::okPressed ENTER");
-    
-    if ( mOkActionPressed == false ) {
-        
-            mOkActionPressed = true;
-            
-            QVariantMap data;
-            data["okbutton"] = okButtonIndex;
-            
-            // emit the data of the selected button and close the dialog
-            qDebug("EapFastProvNotSuccessNoteDialog::okPressed: emit deviceDialogData");
-            emit deviceDialogData(data);
-    
-            closeDeviceDialog(true);
-    }
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_OKBUTTONPRESSED_EXIT );
-    qDebug("EapFastProvNotSuccessNoteDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the dialog is about to close
- * 
- */
-void EapFastProvNotSuccessNoteDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapFastProvNotSuccessNoteDialog::closingDialog ENTER");
-     
-    qDebug("EapFastProvNotSuccessNoteDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapFastProvNotSuccessNoteDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapFastProvNotSuccessNoteDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapFastProvNotSuccessNoteDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapFastProvNotSuccessNoteDialog::closeDeviceDialog ENTER");
-            
-    if ( byClient == true ) {
-        emit deviceDialogClosed(); 
-        }
-    
-    qDebug("EapFastProvNotSuccessNoteDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapFastProvNotSuccessNoteDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    qDebug("EapFastProvNotSuccessNoteDialog::deviceDialogWidget ENTER");
-    
-    qDebug("EapFastProvNotSuccessNoteDialog::deviceDialogWidget EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapFastProvNotSuccessNoteDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapfastprovwaitnotedialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Fast Provisioning Wait Notification Dialog implementation
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-// System includes
-#include <HbTranslator>
-
-// User includes
-#include "eapfastprovwaitnotedialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapfastprovwaitnotedialogTraces.h"
-#endif
-
-/*!
- * \class EapFastProvWaitNoteDialog
- * \brief Implements Fast Provisioning Wait Notification Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapFastProvWaitNoteDialog::EapFastProvWaitNoteDialog(const QVariantMap &parameters)
-:mTranslator(new HbTranslator("eapprompts"))
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_EAPFASTPROVWAITNOTEDIALOG_ENTRY );
-    qDebug("EapFastProvWaitNoteDialog::EapFastProvWaitNoteDialog ENTER");
-
-    createDialog( parameters );
-        
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_EAPFASTPROVWAITNOTEDIALOG_EXIT );
-    qDebug("EapFastProvWaitNoteDialog::EapFastProvWaitNoteDialog EXIT");
-}
-   
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapFastProvWaitNoteDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapFastProvWaitNoteDialog::createDialog ENTER");
-    
-    QString mainText;    
-    QString key("notificationtxt");
-    
-    bool authProvWaitNote = false;
-    
-    //Get the needed information from parameters that indicates to type of the dialog
-    //which is either a authenticated or a unauthenticated 
-    if ( parameters.empty() == false ) {
-        if ( parameters.contains(key) ) {
-            QVariant variant = parameters.value(key);
-            authProvWaitNote = variant.toBool();
-            }
-        }      
-    
-    if ( authProvWaitNote ) {
-        mainText = QString(hbTrId("txt_occ_dpopinfo_authenticated_provisioning_in_pro"));       
-    } else {
-        mainText = QString(hbTrId("txt_occ_dpopinfo_unauthenticated_provisioning_in_p"));
-    }
-       
-    // Set the dialog to be on the screen for 4 seconds.
-    this->setTimeout(4000);
-    this->setTitle(mainText);  
-   
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed        
-    bool connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPFASTPROVWAITNOTEDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapFastProvWaitNoteDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapFastProvWaitNoteDialog::~EapFastProvWaitNoteDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_DEAPFASTPROVWAITNOTEDIALOG_ENTRY );
-    qDebug("EapFastProvWaitNoteDialog::~EapFastProvWaitNoteDialog ENTER");
-    
-    // The dialog widgets are deleted as the dialog is deleted
-
-    qDebug("EapFastProvWaitNoteDialog::~EapFastProvWaitNoteDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_DEAPFASTPROVWAITNOTEDIALOG_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapFastProvWaitNoteDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapFastProvWaitNoteDialog::closingDialog ENTER");
- 
-    closeDeviceDialog(false);
-    
-    qDebug("EapFastProvWaitNoteDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapFastProvWaitNoteDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapFastProvWaitNoteDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapFastProvWaitNoteDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapFastProvWaitNoteDialog::closeDeviceDialog ENTER");
-        
-    Q_UNUSED(byClient)
-    
-    emit deviceDialogClosed();
-    
-    qDebug("EapFastProvWaitNoteDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapFastProvWaitNoteDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    qDebug("EapFastProvWaitNoteDialog::deviceDialogWidget ENTER");
-    
-    qDebug("EapFastProvWaitNoteDialog::deviceDialogWidget EXIT");
-    OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapFastProvWaitNoteDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapmschapv2newpwddialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   EAP-MSCHAPv2 New Password Input Dialog implementation
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-// System includes
-#include <HbAction>
-#include <HbLineEdit>
-#include <HbTranslator>
-#include <HbMessageBox>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "eapmschapv2newpwddialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapmschapv2newpwddialogTraces.h"
-#endif
-
-/*!
- * \class EapMschapv2NewPwdDialog
- * \brief Implements EAP-MSCHAPv2 New Password Input Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapMschapv2NewPwdDialog::EapMschapv2NewPwdDialog(const QVariantMap &parameters) 
- :mEdit1(NULL), 
- mEdit2(NULL), 
- mPwdValidator(NULL),
- mTranslator(new HbTranslator("eapprompts")),
- mErrMsgTranslator(new HbTranslator("cpdestinationplugin")),
- mClose(false) 
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_EAPMSCHAPV2NEWPWDDIALOG_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::EapMschapv2NewPwdDialog ENTER");
-
-    createDialog(parameters);
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_EAPMSCHAPV2NEWPWDDIALOG_EXIT );
-    qDebug("EapMschapv2NewPwdDialog::EapMschapv2NewPwdDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapMschapv2NewPwdDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::createDialog ENTER");
-    
-    Q_UNUSED(parameters)
-    
-    QString labelText1(hbTrId("txt_occ_dialog_new_eapmschapv2_password"));
-    QString labelText2(hbTrId("txt_occ_dialog_verify_password"));
-        
-    //Set the dialog to be on the screen until user reacts
-    //by pressing any of the Action buttons
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);    
-    this->setAdditionalRowVisible(true);
-    
-    //Set the first Line Edit to be on the screen
-    this->setPromptText(labelText1, 0);   
-    mEdit1 = this->lineEdit(0);
-    mEdit1->setEchoMode(HbLineEdit::Password);
-    
-    //Set the second Line Edit to be on the screen also
-    this->setPromptText(labelText2, 1);   
-    mEdit2 = this->lineEdit(1);        
-    mEdit2->setEchoMode(HbLineEdit::Password);
-    
-    EapQtConfigInterface eapConfigIf;
-    
-    mPwdValidator.reset( eapConfigIf.validatorEap(EapQtExpandedEapType::TypeEapMschapv2,
-                EapQtConfig::Password ) );  
-    Q_ASSERT( mPwdValidator.isNull() == false );                
-                   
-    mPwdValidator->updateEditor(mEdit1);
-    
-    //Remove all default actions from the dialog     
-    QList<QAction*> action_list = this->actions();        
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Add a new Cancel button action 
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction(actionCancel);    
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class   
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Connect the about to close and hide signals, so that we are able to inform 
-    //the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPMSCHAPV2NEWPWDDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapMschapv2NewPwdDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapMschapv2NewPwdDialog::~EapMschapv2NewPwdDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_DEAPMSCHAPV2NEWPWDDIALOG_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::~EapMschapv2NewPwdDialog");
-    
-    //The dialog widgets are deleted as the dialog is deleted
-    //mPwdValidator:   scoped pointer deleted automatically
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_DEAPMSCHAPV2NEWPWDDIALOG_EXIT );
-}
-
-/*!
- * Line edit validator
- *
- * @return true if content is valid.
- */
-bool EapMschapv2NewPwdDialog::validate() const
-{
-    qDebug("EapMschapv2NewPwdDialog::validate ENTER");
-    
-    bool valid = false;
-     
-    if ( mPwdValidator->validate(mEdit1->text())== EapQtValidator::StatusOk &&
-        mEdit1->text() == mEdit2->text()) {
-        qDebug("EapMschapv2NewPwdDialog::validate: ret val: TRUE");
-        valid = true;
-    }
-    qDebug("EapPasswordQueryDialog::validate EXIT");
-    return valid;
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapMschapv2NewPwdDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_OKPRESSED_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::okPressed ENTER");
-    
-    if ( validate() == true ) {
-         
-        QVariantMap data;
-    
-        data["password"] = mEdit1->text();
-      
-        qDebug("EapMschapv2NewPwdDialog::okPressed: emit deviceDialogData");
-    
-        emit deviceDialogData(data); 
-        closeDeviceDialog(true);
-        }
-    else {    
-        HbMessageBox* box = new HbMessageBox(hbTrId("txt_occ_info_passwords_do_not_match_try_again"),
-            HbMessageBox::MessageTypeInformation);
-        
-        box->setAttribute(Qt::WA_DeleteOnClose);
-        box->open();       
-        }
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_OKPRESSED_EXIT );
-    qDebug("EapMschapv2NewPwdDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapMschapv2NewPwdDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapMschapv2NewPwdDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapMschapv2NewPwdDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::closingDialog ENTER");
- 
-    qDebug("EapMschapv2NewPwdDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapMschapv2NewPwdDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapMschapv2NewPwdDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapMschapv2NewPwdDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapMschapv2NewPwdDialog::closeDeviceDialog ENTER");
-            
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if( byClient == true ) {
-        qDebug("EapMschapv2NewPwdDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapMschapv2NewPwdDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapMschapv2NewPwdDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapMschapv2NewPwdDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapmschapv2oldpwddialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*   EAP-MSCHAPv2 Old Password Input Dialog implementation
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-// System includes
-#include <HbAction>
-#include <HbTranslator>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "eapmschapv2oldpwddialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapmschapv2oldpwddialogTraces.h"
-#endif
-
-/*!
- * \class EapMschapv2OldPwdDialog
- * \brief Implements EAP-MSCHAPv2 Old Password Input Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapMschapv2OldPwdDialog::EapMschapv2OldPwdDialog(const QVariantMap &parameters) 
- :mEdit(NULL), 
- mPwdValidator(NULL),
- mTranslator(new HbTranslator("eapprompts")),
- mOkActionPressed(false),
- mClose(false)
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_EAPMSCHAPV2OLDPWDDIALOG_ENTRY );
-    qDebug("EapMschapv2OldPwdDialog::EapMschapv2OldPwdDialog ENTER");
-        
-    createDialog(parameters);
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_EAPMSCHAPV2OLDPWDDIALOG_EXIT );
-    qDebug("EapMschapv2OldPwdDialog::EapMschapv2OldPwdDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapMschapv2OldPwdDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapMschapv2OldPwdDialog::createDialog ENTER");
-
-    QString labelText1(hbTrId("txt_occ_dialog_old_eapmschapv2_password"));
-    
-    Q_UNUSED(parameters)
-    
-    //Set the dialog to be on the screen until user reacts
-    //by pressing any of the Action buttons
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);    
-    this->setPromptText(labelText1, 0);      
-    mEdit = this->lineEdit(0);
-    mEdit->setEchoMode(HbLineEdit::Password);
-      
-    EapQtConfigInterface eap_config_if;
-    
-    mPwdValidator.reset(eap_config_if.validatorEap(EapQtExpandedEapType::TypeEapMschapv2, 
-               EapQtConfig::Password )); 
-    Q_ASSERT( mPwdValidator.isNull() == false );
-         
-    mPwdValidator->updateEditor(mEdit);
-    
-    //Remove all default actions from the dialog                 
-    QList<QAction*> action_list = this->actions();
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Add a new Cancel button action 
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction(actionCancel);    
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class   
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPMSCHAPV2OLDPWDDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapMschapv2OldPwdDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor
- */
-EapMschapv2OldPwdDialog::~EapMschapv2OldPwdDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_DEAPMSCHAPV2OLDPWDDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted
-    // mPwdValidator:   scoped pointer deleted automatically
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_DEAPMSCHAPV2OLDPWDDIALOG_EXIT );
-}
-
-/*!
- * Line edit validator
- *
- * @return true if content is valid.
- */
-bool EapMschapv2OldPwdDialog::validate() const
-{
-    qDebug("EapMschapv2OldPwdDialog::validate ENTER");
-    
-    bool valid = false;
-
-    if ( mPwdValidator->validate(mEdit->text())== EapQtValidator::StatusOk ) {
-        qDebug("EapMschapv2OldPwdDialog::validate: returns TRUE");
-        valid = true;
-    }
-    
-    qDebug("EapMschapv2OldPwdDialog::validate EXIT");
-    return valid;
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapMschapv2OldPwdDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_OKPRESSED_ENTRY );
-    qDebug("EapMschapv2OldPwdDialog::okPressed ENTER");
-    
-    if ( validate() == true  && mOkActionPressed == false ) {
-        
-        mOkActionPressed = true;
-            
-        QVariantMap data;
-    
-        data["password"] = mEdit->text();
-      
-        qDebug("EapMschapv2OldPwdDialog::okPressed: emit deviceDialogData");
-    
-        emit deviceDialogData(data); 
-        closeDeviceDialog(true);
-        }
-
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_OKPRESSED_EXIT );
-    qDebug("EapMschapv2OldPwdDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapMschapv2OldPwdDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapMschapv2OldPwdDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapMschapv2OldPwdDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapMschapv2OldPwdDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapMschapv2OldPwdDialog::closingDialog ENTER");
- 
-    
-    qDebug("EapMschapv2OldPwdDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */ 
-bool EapMschapv2OldPwdDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapMschapv2OldPwdDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapMschapv2OldPwdDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapMschapv2OldPwdDialog::closeDeviceDialog ENTER");
-            
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true ) {  
-        qDebug("EapMschapv2OldPwdDialog::closeDeviceDialog: emit deviceDialogClosed");  
-        emit deviceDialogClosed(); 
-        }
-    
-    qDebug("EapMschapv2OldPwdDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapMschapv2OldPwdDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapMschapv2OldPwdDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapmschapv2pwdexpirednotedialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP-MSCHAPv2 password expired note Dialog implementation
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-// System includes
-#include <HbAction>
-#include <HbTranslator>
-
-// User includes
-#include "eapmschapv2pwdexpirednotedialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapmschapv2pwdexpirednotedialogTraces.h"
-#endif
-
-/*!
- * \class EapMschapv2NewPwdDialog
- * \brief Implements EAP-MSCHAPv2 New Password Input Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
-
-//! The index numbers of the button of the dialog
-static const int okButtonIndex = 1;
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapMschapv2PwdExpNoteDialog::EapMschapv2PwdExpNoteDialog(const QVariantMap &parameters)
-:HbMessageBox("default text...",HbMessageBox::MessageTypeInformation),    
-mTranslator(new HbTranslator("eapprompts")),
-mOkActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_EAPMSCHAPV2PWDEXPNOTEDIALOG_ENTRY );
-    qDebug("EapMschapv2PwdExpNoteDialog::EapMschapv2PwdExpNoteDialog ENTER");
-    
-    Q_UNUSED(parameters)
-
-    createDialog();
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_EAPMSCHAPV2PWDEXPNOTEDIALOG_EXIT );
-    qDebug("EapMschapv2PwdExpNoteDialog::EapMschapv2PwdExpNoteDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- */ 
-void EapMschapv2PwdExpNoteDialog::createDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapMschapv2PwdExpNoteDialog::createDialog ENTER");
-     
-    QString text(hbTrId("txt_occ_info_eapmschapv2_password_has_expired_yo"));
-        
-    //Set the dialog to be on the screen until user reacts
-    //by pressing the Action button
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);
-                   
-    this->setText(text);    
-    this->setIconVisible(true);
-    
-    //Remove all default actions from the dialog          
-    QList<QAction*> action_list = this->actions();
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        }
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok_single_dialog"),this); 
-    this->addAction(actionOk);
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-        
-    //Connect the about to close and hide signals, so that we are able to inform 
-    //the caller that the dialog was closed    
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPMSCHAPV2PWDEXPNOTEDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapMschapv2PwdExpNoteDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor
- */
-EapMschapv2PwdExpNoteDialog::~EapMschapv2PwdExpNoteDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEAPMSCHAPV2PWDEXPNOTEDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEAPMSCHAPV2PWDEXPNOTEDIALOG_EXIT );
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapMschapv2PwdExpNoteDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_OKBUTTONPRESSED_ENTRY );
-    qDebug("EapMschapv2PwdExpNoteDialog::okPressed ENTER");
-    
-    if ( mOkActionPressed == false ) {
-        
-            mOkActionPressed = true;
-            
-            QVariantMap data;
-            data["okbutton"] = okButtonIndex;    
-            
-            // emit the data of the selected button and close the dialog
-            qDebug("EapMschapv2PwdExpNoteDialog::okPressed: emit deviceDialogData");
-            emit deviceDialogData(data);
-    
-            closeDeviceDialog(true);
-    }
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_OKBUTTONPRESSED_EXIT );
-    qDebug("EapMschapv2PwdExpNoteDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the dialog is about to close
- * 
- */
-void EapMschapv2PwdExpNoteDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapMschapv2PwdExpNoteDialog::closingDialog ENTER");
-     
-    qDebug("EapMschapv2PwdExpNoteDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapMschapv2PwdExpNoteDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapMschapv2PwdExpNoteDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapMschapv2PwdExpNoteDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapMschapv2PwdExpNoteDialog::closeDeviceDialog ENTER");
-        
-    if ( byClient == true ) {
-        qDebug("EapMschapv2PwdExpNoteDialog::closeDeviceDialog: emit deviceDialogClosed");  
-        emit deviceDialogClosed(); 
-        }
-    
-    qDebug("EapMschapv2PwdExpNoteDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapMschapv2PwdExpNoteDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    qDebug("EapMschapv2PwdExpNoteDialog::deviceDialogWidget ENTER");
-    
-    qDebug("EapMschapv2PwdExpNoteDialog::deviceDialogWidget EXIT");
-    OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapMschapv2PwdExpNoteDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eappasswordquerydialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP Password Query Dialog implementation
-*
-*/
-
-/*
-* %version: 6 %
-*/
-
-// System includes
-#include <HbTranslator>
-#include <HbLineEdit>
-#include <HbAction>
-#include <HbTranslator>
-#include <HbParameterLengthLimiter>
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtconfig.h>
-
-// User includes
-#include "eappasswordquerydialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eappasswordquerydialogTraces.h"
-#endif
-
-/*!
- * \class EapPasswordQueryDialog
- * \brief Implements Password Query Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapPasswordQueryDialog::EapPasswordQueryDialog(const QVariantMap &parameters) 
- :mEdit(NULL), 
- mPwdValidator(NULL),
- mTranslator(new HbTranslator("eapprompts")),
- mClose(false),
- mOkActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_EAPPASSWORDQUERYDIALOG_ENTRY );
-    qDebug("EapPasswordQueryDialog::EapPasswordQueryDialog ENTER");
-
-    createDialog(parameters);
-        
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_EAPPASSWORDQUERYDIALOG_EXIT );
-    qDebug("EapPasswordQueryDialog::EapPasswordQueryDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapPasswordQueryDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapPasswordQueryDialog::createDialog ENTER");
-          
-    QString keyeaptype("eaptype"); 
-    QString keyauthmethod("authmethod");    
-    QString authMethodstr;
-    
-    //Get auth method string from parameters   
-    if ( parameters.empty() == false ) {
-        if ( parameters.contains(keyauthmethod) ) {
-            QVariant variant = parameters.value(keyauthmethod);
-            authMethodstr = variant.toString();
-            }    
-        } 
-    QString labelText(HbParameterLengthLimiter(
-        hbTrId("txt_occ_dialog_1_password").arg(authMethodstr)));
-    
-    //Set the dialog to be on the screen until user reacts
-    //by pressing any of the Action buttons
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);
-    this->setPromptText(labelText, 0);   
-    mEdit = this->lineEdit(0);
-    mEdit->setEchoMode(HbLineEdit::Password);
-    
-    //Get the EAP type from parameters (for the Validator)
-    QByteArray ba;    
-    if ( parameters.contains(keyeaptype) ) {
-        QVariant variant3 = parameters.value(keyeaptype);
-        ba = variant3.toByteArray();
-        } 
-    Q_ASSERT( ba.isEmpty() == false );
-    
-    EapQtExpandedEapType e_type(ba);
-    EapQtConfigInterface eap_config_if;
-         
-    mPwdValidator.reset(eap_config_if.validatorEap(e_type,
-                EapQtConfig::Password)); 
-    Q_ASSERT( mPwdValidator.isNull() == false );
-    
-    mPwdValidator->updateEditor(mEdit);
-    
-    //Remove all default actions from the dialog                 
-    QList<QAction*> action_list = this->actions();
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Add a new Cancel button action 
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction(actionCancel);    
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class  
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPPASSWORDQUERYDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapPasswordQueryDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor
- */
-EapPasswordQueryDialog::~EapPasswordQueryDialog()
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_DEAPPASSWORDQUERYDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted        
-    // mPwdValidator:   scoped pointer deleted automatically
-    
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_DEAPPASSWORDQUERYDIALOG_EXIT );
-}
-
-/*!
- * Line edit validator
- *
- * @return true if content is valid.
- */
-bool EapPasswordQueryDialog::validate() const
-{
-    qDebug("EapPasswordQueryDialog::validate ENTER");
-    
-    bool valid = false;
-
-    if ( mPwdValidator->validate(mEdit->text())== EapQtValidator::StatusOk ) {
-        
-        qDebug("EapPasswordQueryDialog::validate(): returns TRUE");
-        valid = true;
-    }
-    
-    qDebug("EapPasswordQueryDialog::validate EXIT");
-    return valid;
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapPasswordQueryDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_OKPRESSED_ENTRY );
-    qDebug("EapPasswordQueryDialog::okPressed ENTER");
-    
-    if ( validate() == true && mOkActionPressed == false ) {
-        
-            mOkActionPressed = true;
-            
-            QVariantMap data;
-        
-            data["password"] = mEdit->text();
-      
-            qDebug("EapPasswordQueryDialog::okPressed: emit deviceDialogData");
-    
-            emit deviceDialogData(data); 
-            closeDeviceDialog(true);
-    }
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_OKPRESSED_EXIT );
-    qDebug("EapPasswordQueryDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapPasswordQueryDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapPasswordQueryDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapPasswordQueryDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapPasswordQueryDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapPasswordQueryDialog::closingDialog ENTER");
- 
-    
-    qDebug("EapPasswordQueryDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapPasswordQueryDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapPasswordQueryDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapPasswordQueryDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapPasswordQueryDialog::closeDeviceDialog ENTER");
-        
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true )
-        {
-        qDebug("EapUsernamePwdDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapPasswordQueryDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapPasswordQueryDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapPasswordQueryDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapquerydialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: EAP Challenge query Dialog implementation
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-// System includes
-#include <HbLabel>
-#include <HbAction>
-#include <HbTranslator>
-#include <HbParameterLengthLimiter>
-
-// User includes
-#include "eapquerydialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapquerydialogTraces.h"
-#endif
-
-/*!
- * \class EapQueryDialog
- * \brief Implements EAP Challenge query Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
-
-//! The index numbers of the button of the dialog
-static const int okButtonIndex = 1;
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapQueryDialog::EapQueryDialog(const QVariantMap &parameters)
-:mTranslator(new HbTranslator("eapprompts")),
-mOkActionPressed(false)    
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_EAPQUERYDIALOG_ENTRY );
-    qDebug("EapQueryDialog::EapQueryDialog ENTER");
-        
-    createDialog( parameters );
-    
-    OstTraceFunctionExit0( EAPQUERYDIALOG_EAPQUERYDIALOG_EXIT );
-    qDebug("EapQueryDialog::EapQueryDialog EXIT");
-}
-
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapQueryDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapQueryDialog::createDialog ENTER");
-     
-    QString message;   
-    QString authMethodstr; 
-    QString keyauthmethod("authmethod");  
-    QString keymessage("messagetxt");    
-    QVariant tmpVariant;  
-    
-    //Get auth method and message string from parameters          
-    if ( parameters.empty() == false ) {
-      
-        if ( parameters.contains(keyauthmethod) ) {
-            tmpVariant = parameters.value(keyauthmethod);
-            authMethodstr = tmpVariant.toString();
-            }  
-        if ( parameters.contains(keymessage) ) {
-            tmpVariant = parameters.value(keymessage);
-            message = tmpVariant.toString();
-            }
-        }    
-    
-    QString labelText1(HbParameterLengthLimiter(
-        hbTrId("txt_occ_title_1_message").arg(authMethodstr)));
-    QString labelText2 = message; 
-    
-    //Set the dialog to be on the screen until user reacts
-    //by pressing the Action button
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);
-               
-    HbLabel* label1 = new HbLabel;
-    Q_ASSERT(label1 != NULL);
-    label1->setPlainText(labelText1);
-    label1->setFontSpec(HbFontSpec(HbFontSpec::Primary));
-    label1->setTextWrapping(Hb::TextWrapAnywhere);
-    
-    this->setHeadingWidget(label1);       
-    this->setText(labelText2);    
-    this->setIconVisible(false);
-    
-    //Remove all default actions from the dialog     
-    QList<QAction*> action_list = this->actions();
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        }
-        
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class 
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-        
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed    
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPQUERYDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapQueryDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor.
- */
-EapQueryDialog::~EapQueryDialog()
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_DEAPQUERYDIALOG_ENTRY );
-    
-    // The dialog widgets are deleted as the dialog is deleted
-    
-    OstTraceFunctionExit0( EAPQUERYDIALOG_DEAPQUERYDIALOG_EXIT );
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapQueryDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_OKPRESSED_ENTRY );
-    qDebug("EapQueryDialog::okPressed ENTER");
-    
-    if ( mOkActionPressed == false ) {
-        
-            mOkActionPressed = true;
-            
-            QVariantMap data;
-            data["okbutton"] = okButtonIndex;
-            
-            // emit the data of the selected button and close the dialog
-            qDebug("EapQueryDialog::okPressed: emit deviceDialogData");
-            emit deviceDialogData(data);
-    
-            closeDeviceDialog(true);
-    }
-    OstTraceFunctionExit0( EAPQUERYDIALOG_OKPRESSED_EXIT );
-    qDebug("EapQueryDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapQueryDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapQueryDialog::closingDialog ENTER");
- 
-    qDebug("EapQueryDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPQUERYDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapQueryDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapQueryDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPQUERYDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapQueryDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapQueryDialog::closeDeviceDialog ENTER");
-        
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true ) {
-        emit deviceDialogClosed();
-    }
-    
-    qDebug("EapQueryDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapQueryDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    qDebug("EapQueryDialog::deviceDialogWidget ENTER");
-    
-    qDebug("EapQueryDialog::deviceDialogWidget EXIT");
-    OstTraceFunctionExit0( EAPQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapQueryDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/src/eapusernamepwddialog.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   
-*   User authentication Dialog implementation
-*
-*/
-
-/*
- * %version: 6 %
- */
-
-// System includes
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtconfig.h>
-#include <HbParameterLengthLimiter>
-#include <HbTranslator>
-#include <HbLineEdit>
-#include <HbAction>
-
-// User includes
-#include "eapusernamepwddialog.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "eapusernamepwddialogTraces.h"
-#endif
-
-/*!
- * \class EapUsernamePwdDialog
- * \brief Implements Username Password Input Dialog. 
- */
-
-// External function prototypes
-
-// Local constants
- 
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- * Constructor.
- * 
- * @param [in]  parameters Parameters for the Constructor.
- */
-EapUsernamePwdDialog::EapUsernamePwdDialog(const QVariantMap &parameters) 
- :mEdit1(NULL), 
- mEdit2(NULL), 
- mUnameValidator(NULL),
- mPwdValidator(NULL),
- mTranslator(new HbTranslator("eapprompts")),
- mClose(false),
- mOkActionPressed(false)
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_EAPUSERNAMEPWDDIALOG_ENTRY );
-    qDebug("EapUsernamePwdDialog::EapUsernamePwdDialog ENTER");
-        
-    createDialog(parameters);
-        
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_EAPUSERNAMEPWDDIALOG_EXIT );
-    qDebug("EapUsernamePwdDialog::EapUsernamePwdDialog EXIT");
-}
-    
-/*!
- * The construction of the dialog
- *
- * @param [in] parameters Parameters for the Construction of the dialog.
- */ 
-void EapUsernamePwdDialog::createDialog(const QVariantMap &parameters )
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CREATEDIALOG_ENTRY );
-    qDebug("EapUsernamePwdDialog::createDialog ENTER");
-     
-    QString keyauthmethod("authmethod");    
-    QString keyuname("username");
-    QString keyeaptype("eaptype");
-        
-    QString unamestr;
-    QString authMethodstr;
-    
-    //Get default username (if exists) and 
-    //auth method strings from parameters   
-    if ( parameters.empty() == false ) {
-        if ( parameters.contains(keyuname) ) {
-            QVariant variant = parameters.value(keyuname);
-            unamestr = variant.toString();
-            }
-        if ( parameters.contains(keyauthmethod) ) {
-            QVariant variant = parameters.value(keyauthmethod);
-            authMethodstr = variant.toString();
-            }    
-        } 
-    
-    QString labelText1(HbParameterLengthLimiter(hbTrId("txt_occ_dialog_1_user_name")).arg(authMethodstr));
-    QString labelText2(HbParameterLengthLimiter(hbTrId("txt_occ_dialog_password")));
-    
-    //Set the dialog to be on the screen until user reacts
-    //by pressing any of the Action buttons
-    this->setModal(true);
-    this->setTimeout(HbPopup::NoTimeout);
-    this->setDismissPolicy(HbPopup::NoDismiss);    
-    this->setAdditionalRowVisible(true);
-    
-    //Set the first Line Edit (user name) to be on the screen
-    this->setPromptText(labelText1, 0);   
-    mEdit1 = this->lineEdit(0);
-    //Set default user name string
-    mEdit1->setText(unamestr);
-    
-    //Set the second Line Edit (password) to be on the screen also
-    this->setPromptText(labelText2, 1);   
-    mEdit2 = this->lineEdit(1);        
-    
-    //Get the EAP type for the Line Edits (Validator)
-    QByteArray ba;
-    if ( parameters.contains(keyeaptype) ) {
-        QVariant variant = parameters.value(keyeaptype);
-        ba = variant.toByteArray();
-        } 
-    Q_ASSERT( ba.isEmpty() == false );    
-    EapQtExpandedEapType e_type(ba);
-    EapQtConfigInterface eap_config_if;
-    
-    mUnameValidator.reset(eap_config_if.validatorEap(e_type,
-                EapQtConfig::Username));
-    Q_ASSERT( mUnameValidator.isNull() == false );
-   
-    mUnameValidator->updateEditor(mEdit1);
-        
-    mPwdValidator.reset(eap_config_if.validatorEap(e_type,
-                EapQtConfig::Password));
-    Q_ASSERT( mPwdValidator.isNull() == false );
-        
-    mPwdValidator->updateEditor(mEdit2);
-    
-    //Remove all default actions from the dialog 
-    QList<QAction*> action_list = this->actions();    
-    for ( int i = 0; i < action_list.count(); i++ ) {
-        this->removeAction(action_list.at(i));
-        } 
-    
-    //Add a new Ok button action 
-    HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); 
-    this->addAction(actionOk);
-    //Add a new Cancel button action
-    HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this);
-    this->addAction( actionCancel );    
-    
-    //Disconnect action Ok from the default SLOT and connect to 
-    //a SLOT owned by this class 
-    disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close()));
-    bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed()));
-    Q_ASSERT(connected == true);
-    
-    //Disconnect action Cancel from the default SLOT and connect to 
-    //a SLOT owned by this class 
-    disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close()));
-    connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
-    Q_ASSERT(connected == true);
-    
-    // Connect the about to close and hide signals, so that we are able to inform 
-    // the caller that the dialog was closed   
-    connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-    connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog()));
-    Q_ASSERT(connected == true);
-   
-    OstTraceFunctionExit0( DUP1_EAPUSERNAMEPWDDIALOG_CREATEDIALOG_EXIT );
-    qDebug("EapUsernamePwdDialog::createDialog EXIT");
-}
-
-/*!
- * Destructor
- */
-EapUsernamePwdDialog::~EapUsernamePwdDialog()
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_DEAPUSERNAMEPWDDIALOG_ENTRY );
-    qDebug("EapUsernamePwdDialog::~EapUsernamePwdDialog");
-    
-    //The dialog widgets are deleted as the dialog is deleted
-    // mPwdValidator:   scoped pointer deleted automatically
-    // mUnameValidator: scoped pointer deleted automatically
-    
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_DEAPUSERNAMEPWDDIALOG_EXIT );
-}
-
-/*!
- * Line edit validator
- *
- * @return true if content is valid.
- */
-bool EapUsernamePwdDialog::validate() const
-{
-    qDebug("EapUsernamePwdDialog::validate ENTER");
-    
-    bool valid = false;
-
-    if ( mUnameValidator->validate(mEdit1->text())== EapQtValidator::StatusOk   && 
-         mPwdValidator->validate(mEdit2->text()) == EapQtValidator::StatusOk ) {
-    
-        qDebug("EapUsernamePwdDialog::validate(): returns TRUE");
-        valid = true;
-    }
-
-    qDebug("EapUsernamePwdDialog::validate EXIT");
-    return valid;
-}
-
-/*!
- * Function is called when the Ok Action button is pressed
- */
-void EapUsernamePwdDialog::okPressed()
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_OKPRESSED_ENTRY );
-    qDebug("EapUsernamePwdDialog::okPressed ENTER");
-    
-    if ( validate() == true && mOkActionPressed == false ) {
-        
-            mOkActionPressed = true;
-            
-            QVariantMap data;
-     
-            data["username"] = mEdit1->text();
-            data["password"] = mEdit2->text();
-      
-            qDebug("EapUsernamePwdDialog::okPressed: emit deviceDialogData");
-    
-            emit deviceDialogData(data); 
-            closeDeviceDialog(true);
-    }
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_OKPRESSED_EXIT );
-    qDebug("EapUsernamePwdDialog::okPressed EXIT");
-}
-
-/*!
- * Function is called when the Cancel Action button is pressed
- */
-void EapUsernamePwdDialog::cancelPressed()
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CANCELPRESSED_ENTRY );
-    qDebug("EapUsernamePwdDialog::cancelPressed ENTER");
-    
-    if (!mClose) {
-        mClose = true;
-        closeDeviceDialog(true);
-    }   
-    qDebug("EapUsernamePwdDialog::cancelPressed EXIT");
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_CANCELPRESSED_EXIT );
-}
-
-/*!
- * Function is called when the dialog is about to close
- */
-void EapUsernamePwdDialog::closingDialog()
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CLOSINGDIALOG_ENTRY );
-    qDebug("EapUsernamePwdDialog::closingDialog ENTER");
-     
-    qDebug("EapUsernamePwdDialog::closingDialog EXIT");
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_CLOSINGDIALOG_EXIT );
-}
-
-/*!
- * Device dialog parameters to be set while dialog is displayed.
- * Not supported. 
- *
- * @param [in] parameters NOT USED
- * @return true always.
- */  
-bool EapUsernamePwdDialog::setDeviceDialogParameters
-                (const QVariantMap &parameters)
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY );
-    
-    Q_UNUSED(parameters)
-    // changing the dialog after presenting it is not supported.
-    
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT );
-    return true;
-}
-
-/*!
- * Not supported
- *
- * @return 0 always returned.
- */
-int EapUsernamePwdDialog::deviceDialogError() const
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGERROR_ENTRY );
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGERROR_EXIT);
-    return 0;
-}
-
-/*!
- * Dialog is closed and the signal about closing is emitted
- *
- * @param [in] byClient indicates when the user closes the dialog
- */
-void EapUsernamePwdDialog::closeDeviceDialog(bool byClient)
-{   
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CLOSEDEVICEDIALOG_ENTRY );
-    qDebug("EapUsernamePwdDialog::closeDeviceDialog ENTER");
-        
-    //If the user closes the dialog, then the deviceDialogClosed is emitted
-    if ( byClient == true )
-        {
-        qDebug("EapUsernamePwdDialog::closeDeviceDialog: emit deviceDialogClosed");
-        emit deviceDialogClosed();
-        }
-    
-    qDebug("EapUsernamePwdDialog::closeDeviceDialog EXIT");
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_CLOSEDEVICEDIALOG_EXIT );
-}
-
-/*!
- * This dialog widget is returned to the caller
- *
- * @return this dialog widget
- */
-HbPopup *EapUsernamePwdDialog::deviceDialogWidget() const
-{
-    OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGWIDGET_ENTRY );
-    OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGWIDGET_EXIT );
-    
-    return const_cast<EapUsernamePwdDialog*>(this);
-}
-
--- a/securitysettings/eapqtdialogs/traces/OstTraceDefinitions.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*
-*/
-
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/securitysettings/inc/cpeapplugininterface.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   Control Panel plugin interface for EAP
- *   method configuration QT UIs
- *
- */
-
-/*
- * %version: 4 %
- */
-
-#ifndef CPEAPPLUGININTERFACE_H
-#define CPEAPPLUGININTERFACE_H
-
-// System includes
-#include <QtPlugin>
-#include <QString>
-#include <eapqtconfiginterface.h>
-
-// User includes
-
-// Forward declarations
-class CpBaseSettingView;
-class EapQtPluginInfo;
-class EapQtPluginHandle;
-
-// External data types
-
-// Constants
-
-// All plugin stubs MUST be located in /resource/qt/plugins/controlpanel/eapsecurity
-static const QString CpEapPluginInterfacePluginDirectory(
-    "\\resource\\qt\\plugins\\controlpanel\\eapsecurity");
-
-// Class declaration
-class CpEapPluginInterface
-{
-
-public:
-
-    // Data types
-
-    virtual ~CpEapPluginInterface() {};
-
-    virtual void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer,
-        const int iapId) = 0;
-
-    virtual QList<EapQtPluginInfo> pluginInfo() = 0;
-
-    virtual CpBaseSettingView* uiInstance(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginInfo &plugin) = 0;
-
-};
-
-Q_DECLARE_INTERFACE(CpEapPluginInterface,
-    "com.nokia.plugin.controlpanel.eap.platform.interface/1.0");
-
-#endif // CPEAPPLUGININTERFACE_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/bwins/eapqtconfiginterfaceu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	??0EapQtConfigInterface@@QAE@W4EapBearerType@0@H@Z @ 1 NONAME ; EapQtConfigInterface::EapQtConfigInterface(enum EapQtConfigInterface::EapBearerType, int)
-	?userCertificates@EapQtConfigInterface@@QBE?AV?$QList@VEapQtCertificateInfo@@@@XZ @ 2 NONAME ; class QList<class EapQtCertificateInfo> EapQtConfigInterface::userCertificates(void) const
-	?isSupportedOuterType@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@@Z @ 3 NONAME ; bool EapQtConfigInterface::isSupportedOuterType(class EapQtPluginHandle const &) const
-	?value@EapQtConfig@@QBE?AVQVariant@@W4SettingsId@1@@Z @ 4 NONAME ; class QVariant EapQtConfig::value(enum EapQtConfig::SettingsId) const
-	?readConfiguration@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@0AAVEapQtConfig@@@Z @ 5 NONAME ; bool EapQtConfigInterface::readConfiguration(class EapQtPluginHandle const &, class EapQtPluginHandle const &, class EapQtConfig &) const
-	??1EapQtConfigInterface@@QAE@XZ @ 6 NONAME ; EapQtConfigInterface::~EapQtConfigInterface(void)
-	?setValue@EapQtConfig@@QBEXW4SettingsId@1@ABVQVariant@@@Z @ 7 NONAME ; void EapQtConfig::setValue(enum EapQtConfig::SettingsId, class QVariant const &) const
-	?setValue@EapQtPacStoreConfig@@QBEXW4PacStoreSettings@1@ABVQVariant@@@Z @ 8 NONAME ; void EapQtPacStoreConfig::setValue(enum EapQtPacStoreConfig::PacStoreSettings, class QVariant const &) const
-	?clear@EapQtPacStoreConfig@@QBEXXZ @ 9 NONAME ; void EapQtPacStoreConfig::clear(void) const
-	??1EapQtCertificateInfo@@QAE@XZ @ 10 NONAME ; EapQtCertificateInfo::~EapQtCertificateInfo(void)
-	?value@EapQtPacStoreConfig@@QBE?AVQVariant@@W4PacStoreSettings@1@@Z @ 11 NONAME ; class QVariant EapQtPacStoreConfig::value(enum EapQtPacStoreConfig::PacStoreSettings) const
-	??0EapQtPacStoreConfig@@QAE@XZ @ 12 NONAME ; EapQtPacStoreConfig::EapQtPacStoreConfig(void)
-	?isSupportedInnerType@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@0@Z @ 13 NONAME ; bool EapQtConfigInterface::isSupportedInnerType(class EapQtPluginHandle const &, class EapQtPluginHandle const &) const
-	?value@EapQtCertificateInfo@@QBE?AVQVariant@@W4ItemId@1@@Z @ 14 NONAME ; class QVariant EapQtCertificateInfo::value(enum EapQtCertificateInfo::ItemId) const
-	??4EapQtCertificateInfo@@QAEAAV0@ABV0@@Z @ 15 NONAME ; class EapQtCertificateInfo & EapQtCertificateInfo::operator=(class EapQtCertificateInfo const &)
-	?uiInstance@EapQtConfigInterface@@QBEPAVCpBaseSettingView@@ABVEapQtPluginHandle@@0@Z @ 16 NONAME ; class CpBaseSettingView * EapQtConfigInterface::uiInstance(class EapQtPluginHandle const &, class EapQtPluginHandle const &) const
-	?clear@EapQtConfig@@QBEXXZ @ 17 NONAME ; void EapQtConfig::clear(void) const
-	?setSelectedOuterTypes@EapQtConfigInterface@@QBE_NABV?$QList@VEapQtPluginHandle@@@@@Z @ 18 NONAME ; bool EapQtConfigInterface::setSelectedOuterTypes(class QList<class EapQtPluginHandle> const &) const
-	?setValue@EapQtCertificateInfo@@QBEXW4ItemId@1@ABVQVariant@@@Z @ 19 NONAME ; void EapQtCertificateInfo::setValue(enum EapQtCertificateInfo::ItemId, class QVariant const &) const
-	?clear@EapQtCertificateInfo@@QBEXXZ @ 20 NONAME ; void EapQtCertificateInfo::clear(void) const
-	??0EapQtConfig@@QAE@XZ @ 21 NONAME ; EapQtConfig::EapQtConfig(void)
-	?saveConfiguration@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@ABVEapQtConfig@@@Z @ 22 NONAME ; bool EapQtConfigInterface::saveConfiguration(class EapQtPluginHandle const &, class EapQtConfig const &) const
-	??0EapQtConfigInterface@@QAE@XZ @ 23 NONAME ; EapQtConfigInterface::EapQtConfigInterface(void)
-	?savePacStoreConfiguration@EapQtConfigInterface@@QBE_NABVEapQtPacStoreConfig@@@Z @ 24 NONAME ; bool EapQtConfigInterface::savePacStoreConfiguration(class EapQtPacStoreConfig const &) const
-	??1EapQtPacStoreConfig@@QAE@XZ @ 25 NONAME ; EapQtPacStoreConfig::~EapQtPacStoreConfig(void)
-	?validatorEap@EapQtConfigInterface@@QBEPAVEapQtValidator@@ABVEapQtExpandedEapType@@W4SettingsId@EapQtConfig@@@Z @ 26 NONAME ; class EapQtValidator * EapQtConfigInterface::validatorEap(class EapQtExpandedEapType const &, enum EapQtConfig::SettingsId) const
-	?validatorPacStore@EapQtConfigInterface@@QBEPAVEapQtValidator@@W4PacStoreSettings@EapQtPacStoreConfig@@@Z @ 27 NONAME ; class EapQtValidator * EapQtConfigInterface::validatorPacStore(enum EapQtPacStoreConfig::PacStoreSettings) const
-	?certificateAuthorityCertificates@EapQtConfigInterface@@QBE?AV?$QList@VEapQtCertificateInfo@@@@XZ @ 28 NONAME ; class QList<class EapQtCertificateInfo> EapQtConfigInterface::certificateAuthorityCertificates(void) const
-	??0EapQtCertificateInfo@@QAE@XZ @ 29 NONAME ; EapQtCertificateInfo::EapQtCertificateInfo(void)
-	?supportedOuterTypes@EapQtConfigInterface@@QBE?AV?$QList@VEapQtPluginInfo@@@@XZ @ 30 NONAME ; class QList<class EapQtPluginInfo> EapQtConfigInterface::supportedOuterTypes(void) const
-	??0EapQtCertificateInfo@@QAE@ABV0@@Z @ 31 NONAME ; EapQtCertificateInfo::EapQtCertificateInfo(class EapQtCertificateInfo const &)
-	?setConfigurationReference@EapQtConfigInterface@@QBE_NH@Z @ 32 NONAME ; bool EapQtConfigInterface::setConfigurationReference(int) const
-	??1EapQtConfig@@QAE@XZ @ 33 NONAME ; EapQtConfig::~EapQtConfig(void)
-	?selectedOuterTypes@EapQtConfigInterface@@QBE?AV?$QList@VEapQtPluginHandle@@@@XZ @ 34 NONAME ; class QList<class EapQtPluginHandle> EapQtConfigInterface::selectedOuterTypes(void) const
-	?deleteConfiguration@EapQtConfigInterface@@QBE_NXZ @ 35 NONAME ; bool EapQtConfigInterface::deleteConfiguration(void) const
-	?readPacStoreConfiguration@EapQtConfigInterface@@QBE_NAAVEapQtPacStoreConfig@@@Z @ 36 NONAME ; bool EapQtConfigInterface::readPacStoreConfiguration(class EapQtPacStoreConfig &) const
-	?supportedInnerTypes@EapQtConfigInterface@@QBE?AV?$QList@VEapQtPluginInfo@@@@ABVEapQtPluginHandle@@@Z @ 37 NONAME ; class QList<class EapQtPluginInfo> EapQtConfigInterface::supportedInnerTypes(class EapQtPluginHandle const &) const
-	?updateCertificates@EapQtConfigInterface@@QBE_NXZ @ 38 NONAME ; bool EapQtConfigInterface::updateCertificates(void) const
-
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/eabi/eapqtconfiginterfaceu.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-EXPORTS
-	_ZN11EapQtConfigC1Ev @ 1 NONAME
-	_ZN11EapQtConfigC2Ev @ 2 NONAME
-	_ZN11EapQtConfigD1Ev @ 3 NONAME
-	_ZN11EapQtConfigD2Ev @ 4 NONAME
-	_ZN19EapQtPacStoreConfigC1Ev @ 5 NONAME
-	_ZN19EapQtPacStoreConfigC2Ev @ 6 NONAME
-	_ZN19EapQtPacStoreConfigD1Ev @ 7 NONAME
-	_ZN19EapQtPacStoreConfigD2Ev @ 8 NONAME
-	_ZN20EapQtCertificateInfoC1ERKS_ @ 9 NONAME
-	_ZN20EapQtCertificateInfoC1Ev @ 10 NONAME
-	_ZN20EapQtCertificateInfoC2ERKS_ @ 11 NONAME
-	_ZN20EapQtCertificateInfoC2Ev @ 12 NONAME
-	_ZN20EapQtCertificateInfoD1Ev @ 13 NONAME
-	_ZN20EapQtCertificateInfoD2Ev @ 14 NONAME
-	_ZN20EapQtCertificateInfoaSERKS_ @ 15 NONAME
-	_ZN20EapQtConfigInterfaceC1ENS_13EapBearerTypeEi @ 16 NONAME
-	_ZN20EapQtConfigInterfaceC1Ev @ 17 NONAME
-	_ZN20EapQtConfigInterfaceC2ENS_13EapBearerTypeEi @ 18 NONAME
-	_ZN20EapQtConfigInterfaceC2Ev @ 19 NONAME
-	_ZN20EapQtConfigInterfaceD1Ev @ 20 NONAME
-	_ZN20EapQtConfigInterfaceD2Ev @ 21 NONAME
-	_ZNK11EapQtConfig5clearEv @ 22 NONAME
-	_ZNK11EapQtConfig5valueENS_10SettingsIdE @ 23 NONAME
-	_ZNK11EapQtConfig8setValueENS_10SettingsIdERK8QVariant @ 24 NONAME
-	_ZNK19EapQtPacStoreConfig5clearEv @ 25 NONAME
-	_ZNK19EapQtPacStoreConfig5valueENS_16PacStoreSettingsE @ 26 NONAME
-	_ZNK19EapQtPacStoreConfig8setValueENS_16PacStoreSettingsERK8QVariant @ 27 NONAME
-	_ZNK20EapQtCertificateInfo5clearEv @ 28 NONAME
-	_ZNK20EapQtCertificateInfo5valueENS_6ItemIdE @ 29 NONAME
-	_ZNK20EapQtCertificateInfo8setValueENS_6ItemIdERK8QVariant @ 30 NONAME
-	_ZNK20EapQtConfigInterface10uiInstanceERK17EapQtPluginHandleS2_ @ 31 NONAME
-	_ZNK20EapQtConfigInterface12validatorEapERK20EapQtExpandedEapTypeN11EapQtConfig10SettingsIdE @ 32 NONAME
-	_ZNK20EapQtConfigInterface16userCertificatesEv @ 33 NONAME
-	_ZNK20EapQtConfigInterface17readConfigurationERK17EapQtPluginHandleS2_R11EapQtConfig @ 34 NONAME
-	_ZNK20EapQtConfigInterface17saveConfigurationERK17EapQtPluginHandleRK11EapQtConfig @ 35 NONAME
-	_ZNK20EapQtConfigInterface17validatorPacStoreEN19EapQtPacStoreConfig16PacStoreSettingsE @ 36 NONAME
-	_ZNK20EapQtConfigInterface18selectedOuterTypesEv @ 37 NONAME
-	_ZNK20EapQtConfigInterface18updateCertificatesEv @ 38 NONAME
-	_ZNK20EapQtConfigInterface19deleteConfigurationEv @ 39 NONAME
-	_ZNK20EapQtConfigInterface19supportedInnerTypesERK17EapQtPluginHandle @ 40 NONAME
-	_ZNK20EapQtConfigInterface19supportedOuterTypesEv @ 41 NONAME
-	_ZNK20EapQtConfigInterface20isSupportedInnerTypeERK17EapQtPluginHandleS2_ @ 42 NONAME
-	_ZNK20EapQtConfigInterface20isSupportedOuterTypeERK17EapQtPluginHandle @ 43 NONAME
-	_ZNK20EapQtConfigInterface21setSelectedOuterTypesERK5QListI17EapQtPluginHandleE @ 44 NONAME
-	_ZNK20EapQtConfigInterface25readPacStoreConfigurationER19EapQtPacStoreConfig @ 45 NONAME
-	_ZNK20EapQtConfigInterface25savePacStoreConfigurationERK19EapQtPacStoreConfig @ 46 NONAME
-	_ZNK20EapQtConfigInterface25setConfigurationReferenceEi @ 47 NONAME
-	_ZNK20EapQtConfigInterface32certificateAuthorityCertificatesEv @ 48 NONAME
-
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/eapqtconfiginterface.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#	EAP method configuration QT interface
-#
-
-# %version: 25 %
-
-
-TEMPLATE            = lib
-TARGET              = eapqtconfiginterface
-
-# to export the public class
-DEFINES             += BUILD_EAP_QT_CONFIG_INTERFACE_DLL
-DEPENDPATH          += . 
-
-# for using hb classes
-CONFIG += hb
-
-# translations
-TRANSLATIONS = cpeapuiplugins.ts
-
-# Storage for generated files
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-INCLUDEPATH += \
-    ../../inc
-   
-HEADERS += \
-    inc/eapqtcertificateinfo_p.h \
-    inc/eapqtconfig_p.h \
-    inc/eapqtconfiginterface_p.h \
-    inc/eapqtpacstoreconfig_p.h \
-    inc/eapqtvalidatorpacstorepassword.h \
-    inc/eapqtvalidatorpacstorepasswordconfirm.h \
-    inc/eapqtvalidatorpassword.h \
-    inc/eapqtvalidatorrealm.h \
-    inc/eapqtvalidatorusername.h
-    
-SOURCES += \
-    src/eapqtconfiginterface.cpp \
-    src/eapqtconfiginterface_p.cpp \
-    src/eapqtcertificateinfo.cpp \
-    src/eapqtcertificateinfo_p.cpp \
-    src/eapqtconfig.cpp \
-    src/eapqtconfig_p.cpp \
-    src/eapqtvalidatorpassword.cpp \
-    src/eapqtvalidatorrealm.cpp \
-    src/eapqtvalidatorusername.cpp \
-    src/eapqtpacstoreconfig.cpp \
-    src/eapqtpacstoreconfig_p.cpp \
-    src/eapqtvalidatorpacstorepassword.cpp \
-    src/eapqtvalidatorpacstorepasswordconfirm.cpp
-    
-# qt libs
-LIBS += \
-    -leapqtplugininfo
-    
-symbian { 
-    # path to def files
-    defFilePath = .
-    
-    # symbian libs
-    LIBS += \
-        -leapsymbiantools \
-        -leaptools \
-        -lecom \
-        -lcmmanager
-    
-    TARGET.UID3 = 0x2002C2FC
-    TARGET.EPOCALLOWDLLDATA = 1
-    
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-                    
-    BLD_INF_RULES.prj_exports += \ 
-  		"rom/eapqtconfiginterface.iby CORE_MW_LAYER_IBY_EXPORT_PATH(eapqtconfiginterface.iby)"
-
-    BLD_INF_RULES.prj_exports += \ 
-  		"rom/eapqtconfiginterface_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(eapqtconfiginterface_resources.iby)"
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtcertificateinfo_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Certificate information data structure for EAP QT configuration interface
- *
- */
-
-/*
- * %version: 4 %
- */
-
-#ifndef EAPQTCERTIFICATEINFO_P_H
-#define EAPQTCERTIFICATEINFO_P_H
-
-// System includes
-#include <QHash>
-#include <QVariant>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtCertificateInfoPrivate
-{
-
-public:
-
-    // Data types
-
-    EapQtCertificateInfoPrivate();
-    ~EapQtCertificateInfoPrivate();
-    
-    // copy constructor
-    EapQtCertificateInfoPrivate(const EapQtCertificateInfoPrivate &certInfo);
-
-    QVariant value(const int id);
-    void setValue(const int id, const QVariant &newValue);
-    void clear();
-
-private:
-
-    // disable assignment
-    EapQtCertificateInfoPrivate &operator=(const EapQtCertificateInfoPrivate&);
-
-private: // data
-
-    QHash<int, QVariant> mCerts;
-
-};
-
-#endif // EAPQTCERTIFICATEINFO_P_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfig_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method QT configuration
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTCONFIG_P_H
-#define EAPQTCONFIG_P_H
-
-// System includes
-#include <QHash>
-#include <QVariant>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtConfigPrivate
-{
-
-public:
-
-    // Data types
-
-    EapQtConfigPrivate();
-    ~EapQtConfigPrivate();
-
-private:
-
-    Q_DISABLE_COPY(EapQtConfigPrivate)
-
-private: // data
-
-    QHash<int, QVariant> mSettings;
-
-    // Friend classes
-    friend class EapQtConfig;
-};
-
-#endif // EAPQTCONFIG_P_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfiginterface_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method configuration QT interface private implementation
- *
- */
-
-/*
- * %version: 36 %
- */
-
-#ifndef EAPQTCONFIGINTERFACEPRIVATE_H
-#define EAPQTCONFIGINTERFACEPRIVATE_H
-
-// System includes
-#include <qglobal.h>
-#include <EapSettings.h>
-#include <EapTypeDefinitions.h>
-#include <eapqtconfig.h>
-#include <eapqtpluginhandle.h>
-#include <eapqtconfiginterface.h>
-#include <eapqtpacstoreconfig.h>
-
-// User includes
-
-// Forward declarations
-class HbTranslator;
-class CEapType;
-class CEapGeneralSettings;
-class CpEapPluginInterface;
-class EapQtConfigInterface;
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtConfigInterfacePrivate
-{
-
-public:
-
-    // Data types
-
-    // maximum lenghts (number of characters) for UTF-16 strings copied to EAP settings
-    static const unsigned int StringMaxLength = KGeneralStringMaxLength;
-    static const unsigned int CertLabelMaxLength = KMaxCertLabelLength;
-    static const unsigned int CertThumbprintMaxLength = KThumbprintMaxLength;
-    static const unsigned int CertSubjectKeyIdLength = KSHA1HashLengthBytes;
-
-    // see eapqtinterface.h for documentation
-
-    EapQtConfigInterfacePrivate();
-
-    EapQtConfigInterfacePrivate(const EapQtConfigInterface::EapBearerType bearerType,
-        const int iapId);
-
-    ~EapQtConfigInterfacePrivate();
-
-    QList<EapQtPluginInfo> supportedOuterTypes();
-    QList<EapQtPluginInfo> supportedInnerTypes(const EapQtPluginHandle &outerType);
-
-    bool isSupportedOuterType(const EapQtPluginHandle &handle);
-    bool isSupportedInnerType(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginHandle &innerHandle);
-
-    QList<EapQtCertificateInfo> certificateAuthorityCertificates();
-    QList<EapQtCertificateInfo> userCertificates();
-    bool updateCertificates();
-
-    bool setConfigurationReference(const int iapId);
-
-    QList<EapQtPluginHandle> selectedOuterTypes();
-    bool setSelectedOuterTypes(const QList<EapQtPluginHandle> &outerHandles);
-
-    bool readConfiguration(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginHandle &pluginHandle, EapQtConfig &config);
-    bool saveConfiguration(const EapQtPluginHandle &pluginHandle, const EapQtConfig &config);
-
-    bool deleteConfiguration();
-
-    EapQtValidator *validatorEap(const EapQtExpandedEapType &type, const EapQtConfig::SettingsId id);
-
-    CpBaseSettingView *uiInstance(const EapQtPluginHandle &outerHandle,
-        const EapQtPluginHandle &pluginHandle);
-
-    bool readPacStoreConfiguration(EapQtPacStoreConfig &config);
-    bool savePacStoreConfiguration(const EapQtPacStoreConfig &config);
-    EapQtValidator *validatorPacStore(const EapQtPacStoreConfig::PacStoreSettings id);
-
-private:
-
-    // see cpp for documentation
-
-    void loadPlugins();
-
-    bool fetchCertificates(QList<EapQtCertificateInfo>* const caInfos,
-        QList<EapQtCertificateInfo>* const clientInfos);
-
-    void copyCertificateInfo(const RPointerArray<EapCertificateEntry>* const certEntries, QList<
-        EapQtCertificateInfo>* const certInfos);
-
-    void appendCertificateInfo(bool isCaCertificate, const EapQtCertificateInfo &certInfo,
-        RPointerArray<EapCertificateEntry>* const certList);
-
-    void appendEapTypes(const RArray<TEapExpandedType>* const eapTypes,
-        QList<QByteArray>* const eapList);
-
-    void getEapTypeIf(const EapQtPluginHandle &pluginHandle);
-
-    void copyFromEapSettings(EAPSettings &eapSettings, EapQtConfig &config);
-
-    void copyToEapSettings(const EapQtConfig &config, EAPSettings &eapSettings);
-
-    TBool convertToTbool(bool value);
-    bool convertToBool(TBool value);
-
-    bool isUiSupported(const QByteArray &eapType, int &pluginIndex) const;
-
-    void checkInstanceThrowing() const;
-
-    bool setEapDbIndex(const int iapId);
-    bool setEapWlanDbIndex(const int iapId);
-
-    void shutdown();
-
-    EapQtConfigInterface::EapBearerType getEapBearer();
-
-    // comparison mehtod for qSort
-    // must be static for using via function pointers
-    static bool pluginLessThan(const EapQtPluginInfo &plugin1, const EapQtPluginInfo &plugin2);
-
-    Q_DISABLE_COPY(EapQtConfigInterfacePrivate)
-
-private: // data
-
-    /// QT members
-
-    // is current instance for validators only
-    const bool mValidatorInstance;
-
-    // list of available EAP UIs
-    QList<CpEapPluginInterface*> mPlugins;
-
-    // list of EAPs supported by UI
-    QList<EapQtPluginInfo> mPluginInfos;
-
-    // list of supported outer EAP methods,
-    // combination of UI and EAP server support
-    QList<EapQtPluginInfo> mSupportedOuterTypes;
-
-    // list of supported inner EAP methods queried last time,
-    // combination of UI and EAP server support
-    QList<EapQtPluginInfo> mSupportedInnerTypes;
-
-    // currenly loaded outer EAP type
-    EapQtPluginHandle mLastOuterHandle;
-
-    // translator object for EAP UIs
-    QScopedPointer<HbTranslator> mTranslator;
-
-    // read CA and user certificates
-    QList<EapQtCertificateInfo> mCaCertificates;
-    QList<EapQtCertificateInfo> mUserCertificates;
-
-    /// Symbian members
-
-    // pointers to EAP server interfaces
-    QScopedPointer<CEapGeneralSettings> mEapGsIf;
-    QScopedPointer<CEapType> mEapTypeIf;
-
-    // current IAP ID
-    int mIapId;
-
-    // current bearer
-    TIndexType mEapBearer;
-
-    // current EAP database reference to current IAP
-    TInt mEapDbIndex;
-
-    // if mEapDbIndex is valid (i.e. current IAP is not
-    // EapQtConfigInterface::IapIdUndefined)
-    bool mEapDbIndexValid;
-
-    // current loaded EAP server type interface
-    TEapExpandedType mCurrentServerEapType;
-
-    // EAP server lists of its supported outer EAP methods
-    RArray<TEapExpandedType> mOuterEapsOn;
-    RArray<TEapExpandedType> mOuterEapsOff;
-
-};
-
-#endif // EAPQTCONFIGINTERFACEPRIVATE_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtpacstoreconfig_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   EAP-FAST PAC store configuration data (private part)
- *
- */
-
-/*
- * %version: 2 %
- */
-
-#ifndef EAPQTPACSTORECONFIG_P_H
-#define EAPQTPACSTORECONFIG_P_H
-
-// System includes
-#include <QHash>
-#include <QVariant>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class  EapQtPacStoreConfigPrivate
-{
-
-public:
-
-    // Data types
-
-    EapQtPacStoreConfigPrivate();
-    ~EapQtPacStoreConfigPrivate();
-
-private:
-
-    Q_DISABLE_COPY(EapQtPacStoreConfigPrivate)
-
-private: // data
-
-    QHash<int, QVariant> mPacStoreSettings;
-
-    // Friend classes
-    friend class EapQtPacStoreConfig;
-
-};
-
-#endif // EAPQTPACSTORECONFIG_P_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepassword.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method validator: PAC Store password
- *
- */
-
-/*
- * %version: 6 %
- */
-
-#ifndef EAPQTVALIDATORPACSTOREPASSWORD_H
-#define EAPQTVALIDATORPACSTOREPASSWORD_H
-
-// System includes
-#include <eapqtvalidator.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtValidatorPacStorePassword : public EapQtValidator
-{
-
-public:
-
-    // Data types
-
-    EapQtValidatorPacStorePassword();
-    ~EapQtValidatorPacStorePassword();
-
-    virtual EapQtValidator::Status validate(const QVariant& value);
-    virtual void updateEditor(HbLineEdit* const edit);
-    
-private:
-
-    Q_DISABLE_COPY(EapQtValidatorPacStorePassword)
-
-};
-
-#endif // EAPQTVALIDATORPACSTOREPASSWORD_H
-
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepasswordconfirm.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method validator: PAC Store password confirmation
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTVALIDATORPACSTOREPASSWORDCONFIRM_H
-#define EAPQTVALIDATORPACSTOREPASSWORDCONFIRM_H
-
-// System includes
-#include <eapqtvalidator.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtValidatorPacStorePasswordConfirm : public EapQtValidator
-{
-
-public:
-
-    // Data types
-
-    EapQtValidatorPacStorePasswordConfirm();
-    ~EapQtValidatorPacStorePasswordConfirm();
-
-    virtual EapQtValidator::Status validate(const QVariant& value);
-    virtual void updateEditor(HbLineEdit* const edit);
-    
-private:
-
-    Q_DISABLE_COPY(EapQtValidatorPacStorePasswordConfirm)
-
-};
-
-#endif // EAPQTVALIDATORPACSTOREPASSWORDCONFIRM_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpassword.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method validator: password 
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTVALIDATORPASSWORD_H
-#define EAPQTVALIDATORPASSWORD_H
-
-// System includes
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtValidatorPassword : public EapQtValidator
-{
-
-public:
-
-    // Data types
-
-    explicit EapQtValidatorPassword(const EapQtExpandedEapType& type);
-    ~EapQtValidatorPassword();
-
-    // from EapQtValidator
-    EapQtValidator::Status validate(const QVariant& value);
-    void updateEditor(HbLineEdit* const edit);
-
-private:
-
-    EapQtValidatorPassword();
-    Q_DISABLE_COPY(EapQtValidatorPassword)
-
-    EapQtValidator::Status validateGeneral(const QVariant& value);
-    void updateEditorGeneral(HbLineEdit* const edit);
-
-private: // data
-
-    EapQtExpandedEapType mEapType;
-
-};
-
-#endif // EAPQTVALIDATORPASSWORD_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorrealm.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method validator: realm
- *
- */
-
-/*
- * %version: 5 %
- */
-
-#ifndef EAPQTVALIDATORREALM_H
-#define EAPQTVALIDATORREALM_H
-
-// System includes
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtValidatorRealm : public EapQtValidator
-{
-
-public:
-
-    // Data types
-
-    explicit EapQtValidatorRealm(const EapQtExpandedEapType& type);
-    ~EapQtValidatorRealm();
-
-    // from EapQtValidator
-    EapQtValidator::Status validate(const QVariant& value);
-    void updateEditor(HbLineEdit* const edit);
-
-private:
-
-    EapQtValidatorRealm();
-    Q_DISABLE_COPY(EapQtValidatorRealm)
-
-    EapQtValidator::Status validateGeneral(const QVariant& value);
-    void updateEditorGeneral(HbLineEdit* const edit);
-
-private: // data
-
-    EapQtExpandedEapType mEapType;
-
-};
-
-#endif // EAPQTVALIDATORREALM_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorusername.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method validator: username
- *
- */
-
-/*
- * %version: 7 %
- */
-
-#ifndef EAPQTVALIDATORUSERNAME_H
-#define EAPQTVALIDATORUSERNAME_H
-
-// System includes
-#include <eapqtvalidator.h>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtValidatorUsername: public EapQtValidator
-{
-
-public:
-
-    // Data types
-
-    explicit EapQtValidatorUsername(const EapQtExpandedEapType& type);
-    ~EapQtValidatorUsername();
-
-    // from EapQtValidator
-    EapQtValidator::Status validate(const QVariant& value);
-    void updateEditor(HbLineEdit* const edit);
-
-private:
-
-    EapQtValidatorUsername();
-    Q_DISABLE_COPY(EapQtValidatorUsername)
-
-    EapQtValidator::Status validateGeneral(const QVariant& value);
-    bool validateCharacters(const QString& str);
-    void updateEditorGeneral(HbLineEdit* const edit);
-    bool isEmptyAllowed();
-
-private: // data
-
-    EapQtExpandedEapType mEapType;
-
-};
-
-#endif // EAPQTVALIDATORUSERNAME_H
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method configuration QT interface
- *
- */
-
-/*
- * %version: 6 %
- */
-
-#ifndef EAPQTCONFIGINTERFACE_IBY
-#define EAPQTCONFIGINTERFACE_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/eapqtconfiginterface.dll 	SHARED_LIB_DIR/eapqtconfiginterface.dll
-
-#endif  // __PROTOCOL_WLAN
-
-#endif  // EAPQTCONFIGINTERFACE_IBY
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface_resources.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method configuration QT interface
- *
- */
-
-/*
- * %version: 2 %
- */
-
-#ifndef EAPQTCONFIGINTERFACE_RES_IBY
-#define EAPQTCONFIGINTERFACE_RES_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_/QT_TRANSLATIONS_DIR/cpeapuiplugins.qm 	QT_TRANSLATIONS_DIR/cpeapuiplugins.qm 
-
-#endif  // __PROTOCOL_WLAN
-
-#endif  // EAPQTCONFIGINTERFACE_RES_IBY
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Certificate information data structure for EAP QT configuration interface
- *
- */
-
-/*
- * %version: 6 %
- */
-
-// System includes
-#include <eapqtcertificateinfo.h>
-
-// User includes
-#include "eapqtcertificateinfo_p.h"
-
-/*!
- *  \class EapQtCertificateInfo
- *  \brief Public implementation of certificate information data
- *         structure for EAP QT configuration interface
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtCertificateInfo::EapQtCertificateInfo() :
-    d_ptr(new EapQtCertificateInfoPrivate)
-{
-}
-
-EapQtCertificateInfo::~EapQtCertificateInfo()
-{
-    // scoped pointer deleted automatically
-}
-
-EapQtCertificateInfo::EapQtCertificateInfo(const EapQtCertificateInfo &certInfo) :
-    d_ptr(new EapQtCertificateInfoPrivate(*(certInfo.d_ptr)))
-{
-}
-
-EapQtCertificateInfo& EapQtCertificateInfo::operator=(const EapQtCertificateInfo &certInfo)
-{
-    // check if assigning to myself
-    if (this != &certInfo) {
-        d_ptr.reset(new EapQtCertificateInfoPrivate(*(certInfo.d_ptr)));
-    }
-    return *this;
-}
-
-QVariant EapQtCertificateInfo::value(const ItemId id) const
-{
-    // check for valid range, otherwise memory is consumed for no reason
-    if(id >= ItemIdLast) {
-        qDebug("ERROR: EapQtCertificateInfo::value - invalid id!");
-        return QVariant::Invalid;
-    }
-    return d_ptr->value(id);
-}
-
-void EapQtCertificateInfo::setValue(const ItemId id, const QVariant &newValue) const
-{
-    // check for valid range, otherwise memory is consumed for no reason
-    if (id < ItemIdLast) {
-        d_ptr->setValue(id, newValue);
-    }
-    else {
-        qDebug("ERROR: EapQtCertificateInfo::setValue - invalid id!");
-    }
-}
-
-void EapQtCertificateInfo::clear() const
-{
-    d_ptr->clear();
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Certificate information data structure for EAP QT configuration interface
- *
- */
-
-/*
- * %version: 6 %
- */
-
-// System includes
-
-// User includes
-#include "eapqtcertificateinfo_p.h"
-
-/*!
- *  \class EapQtCertificateInfoPrivate
- *  \brief Private implementation of certificate information data
- *         structure for EAP QT configuration interface
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtCertificateInfoPrivate::EapQtCertificateInfoPrivate()
-{
-}
-
-EapQtCertificateInfoPrivate::~EapQtCertificateInfoPrivate()
-{
-}
-
-EapQtCertificateInfoPrivate::EapQtCertificateInfoPrivate(
-    const EapQtCertificateInfoPrivate &certInfo)
-{
-    mCerts = certInfo.mCerts;
-}
-
-QVariant EapQtCertificateInfoPrivate::value(const int id)
-{
-    return mCerts[id];
-}
-
-void EapQtCertificateInfoPrivate::setValue(const int id, const QVariant &newValue)
-{
-    mCerts[id] = newValue;
-}
-
-void EapQtCertificateInfoPrivate::clear()
-{
-    mCerts.clear();
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method QT configuration
- *
- */
-
-/*
- * %version: 13 %
- */
-
-// System includes
-#include <eapqtconfig.h>
-
-// User includes
-#include "eapqtconfig_p.h"
-
-/*!
- *  \class EapQtConfig
- *  \brief Public implementation of EAP method QT configuration data
- *         structure for EAP QT configuration interface
- *
- * Following lists the applicable settings per EAP method:
- * 
- * EAP-SIM, EAP-AKA
- * - UsernameAutomatic
- * - Username
- * - RealmAutomatic
- * - Realm
- * - UsePseudonyms
- * - SessionValidityTime
- * - OuterType
- * 
- * EAP-GTC, LEAP, EAP-MSCHAPv2, Plain-MSCHAPv2, PAP
- * - Username
- * - PasswordPrompt
- * - Password
- * - PasswordStored
- * - PasswordClear
- * - SessionValidityTime
- * - OuterType
- * 
- * EAP-TLS
- * - UsernameAutomatic
- * - Username
- * - RealmAutomatic
- * - Realm
- * - VerifyServerRealm
- * - ClientAuthenticationRequired
- * - SessionValidityTime
- * - CipherSuites
- * - AuthorityCertificateAutomatic
- * - AuthorityCertificate
- * - UserCertificate
- * - OuterType
- * - UseIdentityPrivacy
- *
- * EAP-TTLS
- * - UsernameAutomatic
- * - Username
- * - RealmAutomatic
- * - Realm
- * - VerifyServerRealm
- * - ClientAuthenticationRequired
- * - SessionValidityTime
- * - CipherSuites
- * - AuthorityCertificateAutomatic
- * - AuthorityCertificate
- * - UserCertificate
- * - InnerType
- * - UseIdentityPrivacy
- * 
- * EAP-FAST
- * - UsernameAutomatic
- * - Username
- * - RealmAutomatic
- * - Realm
- * - VerifyServerRealm
- * - ClientAuthenticationRequired
- * - SessionValidityTime
- * - CipherSuites
- * - AuthorityCertificateAutomatic
- * - AuthorityCertificate
- * - UserCertificate
- * - InnerType
- * - ProvisioningModeAuthenticated
- * - ProvisioningModeUnauthenticated
- * - PACGroupReference
- * - WarnADHPNoPAC
- * - WarnADHPNoMatchingPAC
- * - WarnNotDefaultServer
- * - UseIdentityPrivacy
- * 
- * PEAP
- * - UsernameAutomatic
- * - Username
- * - RealmAutomatic
- * - Realm
- * - VerifyServerRealm
- * - ClientAuthenticationRequired
- * - SessionValidityTime
- * - CipherSuites
- * - PeapVersion0Allowed
- * - PeapVersion1Allowed
- * - PeapVersion2Allowed
- * - AuthorityCertificateAutomatic
- * - AuthorityCertificate
- * - UserCertificate
- * - InnerType
- * - UseIdentityPrivacy
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtConfig::EapQtConfig() :
-    d_ptr(new EapQtConfigPrivate)
-{
-}
-
-EapQtConfig::~EapQtConfig()
-{
-    // scoped pointer deleted automatically
-}
-
-QVariant EapQtConfig::value(const SettingsId id) const
-{
-    // check for valid range, otherwise memory is consumed for no reason
-    if (id >= SettingsIdLast) {
-        qDebug("ERROR: EapQtConfig::value - invalid id!");
-        return QVariant::Invalid;
-    }
-    return d_ptr->mSettings[id];
-}
-
-void EapQtConfig::setValue(const SettingsId id, const QVariant &newValue) const
-{
-    // check for valid range, otherwise memory is consumed for no reason
-    if (id < SettingsIdLast) {
-        d_ptr->mSettings[id] = newValue;
-    }
-    else {
-        qDebug("ERROR: EapQtConfig::setValue - invalid id!");
-    }
-}
-
-void EapQtConfig::clear() const
-{
-    d_ptr->mSettings.clear();
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method QT configuration
- *
- */
-
-/*
- * %version: 3 %
- */
-
-// System includes
-
-// User includes
-#include "eapqtconfig_p.h"
-
-/*!
- *  \class EapQtConfigPrivate
- *  \brief Private implementation of EAP method QT configuration data
- *         structure for EAP QT configuration interface
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtConfigPrivate::EapQtConfigPrivate()
-{
-    // nothing to do
-}
-
-EapQtConfigPrivate::~EapQtConfigPrivate()
-{
-    // nothing to do
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method configuration QT interface
- *
- */
-
-/*
- * %version: 25 %
- */
-
-// System includes
-#include <QList>
-#include <eapqtconfiginterface.h>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-#include "eapqtconfiginterface_p.h"
-#include "cpeapplugininterface.h"
-
-/*!
- *  \class EapQtConfigInterface
- *  \brief Public implementation of EAP QT configuration interface
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtConfigInterface::EapQtConfigInterface() :
-    d_ptr(new EapQtConfigInterfacePrivate)
-{
-}
-
-EapQtConfigInterface::EapQtConfigInterface(const EapBearerType bearerType, const int iapId) :
-    d_ptr(new EapQtConfigInterfacePrivate(bearerType, iapId))
-{
-}
-
-EapQtConfigInterface::~EapQtConfigInterface()
-{
-    // d_ptr is scoped pointer, deleted automatically
-}
-
-bool EapQtConfigInterface::setConfigurationReference(const int iapId) const
-{
-    return d_ptr->setConfigurationReference(iapId);
-}
-
-QList<EapQtPluginInfo> EapQtConfigInterface::supportedOuterTypes() const
-{
-    return d_ptr->supportedOuterTypes();
-}
-
-QList<EapQtPluginInfo> EapQtConfigInterface::supportedInnerTypes(const EapQtPluginHandle &outerType) const
-{
-    return d_ptr->supportedInnerTypes(outerType);
-}
-
-bool EapQtConfigInterface::updateCertificates() const
-{
-    return d_ptr->updateCertificates();
-}
-
-QList<EapQtCertificateInfo> EapQtConfigInterface::certificateAuthorityCertificates() const
-{
-    return d_ptr->certificateAuthorityCertificates();
-}
-
-QList<EapQtCertificateInfo> EapQtConfigInterface::userCertificates() const
-{
-    return d_ptr->userCertificates();
-}
-
-CpBaseSettingView *EapQtConfigInterface::uiInstance(const EapQtPluginHandle &outerHandle,
-    const EapQtPluginHandle &pluginHandle) const
-{
-    return d_ptr->uiInstance(outerHandle, pluginHandle);
-}
-
-QList<EapQtPluginHandle> EapQtConfigInterface::selectedOuterTypes() const
-{
-    return d_ptr->selectedOuterTypes();
-}
-
-bool EapQtConfigInterface::isSupportedOuterType(const EapQtPluginHandle &handle) const
-{
-    return d_ptr->isSupportedOuterType(handle);
-}
-
-bool EapQtConfigInterface::isSupportedInnerType(const EapQtPluginHandle &outerHandle,
-    const EapQtPluginHandle& innerHandle) const
-{
-    return d_ptr->isSupportedInnerType(outerHandle, innerHandle);
-}
-
-bool EapQtConfigInterface::setSelectedOuterTypes(const QList<EapQtPluginHandle> &outerHandles) const
-{
-    return d_ptr->setSelectedOuterTypes(outerHandles);
-}
-
-bool EapQtConfigInterface::readConfiguration(const EapQtPluginHandle &outerHandle,
-    const EapQtPluginHandle &pluginHandle, EapQtConfig &config) const
-{
-    return d_ptr->readConfiguration(outerHandle, pluginHandle, config);
-}
-
-bool EapQtConfigInterface::saveConfiguration(const EapQtPluginHandle &pluginInfo,
-    const EapQtConfig &config) const
-{
-    return d_ptr->saveConfiguration(pluginInfo, config);
-}
-
-bool EapQtConfigInterface::deleteConfiguration() const
-{
-    return d_ptr->deleteConfiguration();
-}
-
-EapQtValidator *EapQtConfigInterface::validatorEap(const EapQtExpandedEapType &type,
-    const EapQtConfig::SettingsId id) const
-{
-    return d_ptr->validatorEap(type, id);
-}
-
-bool EapQtConfigInterface::readPacStoreConfiguration(EapQtPacStoreConfig &config) const
-{
-    return d_ptr->readPacStoreConfiguration(config);
-}
-
-bool EapQtConfigInterface::savePacStoreConfiguration(const EapQtPacStoreConfig &config) const
-{
-    return d_ptr->savePacStoreConfiguration(config);
-}
-
-EapQtValidator *EapQtConfigInterface::validatorPacStore(
-    const EapQtPacStoreConfig::PacStoreSettings id) const
-{
-    return d_ptr->validatorPacStore(id);
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1934 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method configuration QT interface
- *
- */
-
-/*
- * %version: 52 %
- */
-
-// System includes
-#include <QDir>
-#include <QList>
-#include <QVariant>
-#include <QPluginLoader>
-#include <HbTranslator>
-#include <QLocale>
-#include <QCoreApplication>
-#include <QDebug>
-#include <cmmanager.h>
-#include <cmpluginwlandef.h>
-#include <EapGeneralSettings.h>
-#include <eapqtplugininfo.h>
-#include <eapqtcertificateinfo.h>
-
-// User includes
-#include "cpeapplugininterface.h"
-#include "eapqtconfiginterface_p.h"
-#include "eapqtvalidatorpassword.h"
-#include "eapqtvalidatorusername.h"
-#include "eapqtvalidatorrealm.h"
-#include "eapqtvalidatorpacstorepassword.h"
-#include "eapqtvalidatorpacstorepasswordconfirm.h"
-
-/*!
- *  \class EapQtConfigInterfacePrivate
- *  \brief Private implementation of EAP QT configuration interface
- */
-
-// External function prototypes
-
-// Local constants
-static const QString eapTranslationFile("cpeapuiplugins");
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtConfigInterfacePrivate::EapQtConfigInterfacePrivate() :
-  mValidatorInstance(true),
-  mLastOuterHandle(EapQtPluginHandle::PluginUndefined),
-  mTranslator(NULL),
-  mEapGsIf(NULL), 
-  mEapTypeIf(NULL),
-  mIapId(0),
-  mEapBearer(ELan),
-  mEapDbIndex(EapQtConfigInterface::IapIdUndefined),
-  mEapDbIndexValid(false)
-{
-    qDebug("EapQtConfigInterfacePrivate() - created validator instance, this = 0x%08x", this);
-}
-
-EapQtConfigInterfacePrivate::EapQtConfigInterfacePrivate(
-    const EapQtConfigInterface::EapBearerType bearerType, const int iapId) :  
-  mValidatorInstance(false),
-  mLastOuterHandle(EapQtPluginHandle::PluginUndefined),
-  mTranslator(NULL), 
-  mEapGsIf(NULL), 
-  mEapTypeIf(NULL),
-  mIapId(iapId),
-  mEapBearer(ELan),
-  mEapDbIndex(EapQtConfigInterface::IapIdUndefined),
-  mEapDbIndexValid(false)
-{
-    qDebug("EapQtConfigInterfacePrivate() - creating non-validator instance, this = 0x%08x", this);
-
-    switch (bearerType) {
-    case EapQtConfigInterface::EapBearerTypeVpn:
-        mEapBearer = EVpn;
-        break;
-    default:
-        // All others default to EapQtConfigInterface::EapBearerTypeWlan i.e. ELan
-        mEapBearer = ELan;
-    }
-
-    if (!setEapDbIndex(iapId)) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate() - setIapId failed, bearer = %d, index = %d",
-            mEapBearer, iapId);
-        shutdown();
-        // throw an exception
-        qt_symbian_throwIfError(KErrNotFound);
-    }
-
-    // load plugins after everything else is ok
-    qDebug("EapQtConfigInterfacePrivate() - load plugins");
-    loadPlugins();
-
-    qDebug("EapQtConfigInterfacePrivate() - ends");
-}
-
-EapQtConfigInterfacePrivate::~EapQtConfigInterfacePrivate()
-{
-    qDebug("EapQtConfigInterfacePrivate::~EapQtConfigInterfacePrivate(), this = 0x%08x", this);
-
-    shutdown();
-}
-
-void EapQtConfigInterfacePrivate::shutdown()
-{
-    qDebug("EapQtConfigInterfacePrivate::shutdown(), this = 0x%08x", this);
-
-    mOuterEapsOn.Close();
-    mOuterEapsOff.Close();
-
-    // cleanup Ecom
-    REComSession::FinalClose();
-
-    // mTranslator gets deleted automatically (QScopedPointer)
-    // mEapTypeIf gets deleted automatically (QScopedPointer)
-    // mEapGsIf gets deleted automatically (QScopedPointer)
-}
-
-bool EapQtConfigInterfacePrivate::setConfigurationReference(const int iapId)
-{
-    qDebug("EapQtConfigInterfacePrivate::setConfigurationReference - requested id: %d, this = 0x%08x", iapId, this);
-
-    checkInstanceThrowing();
-    return setEapDbIndex(iapId);
-}
-
-bool EapQtConfigInterfacePrivate::setEapDbIndex(const int iapId)
-{
-
-    qDebug("EapQtConfigInterfacePrivate::setIapId - requested id: %d, this = 0x%08x", iapId, this);
-
-
-    // optimization: do not re-create the interface if the reference does
-    // not change and mEapGsIf exists already
-
-    // WLAN reference is checked after setEapWlanDbIndex below since iapId may be
-    // different than WLAN service ID
-
-    // case for EapQtConfigInterface::IapIdUndefined i.e. setIapId was called
-    // with a negative id last time and now again
-    if (!mEapDbIndexValid && !mEapGsIf.isNull() && iapId < 0) {
-        qDebug(
-            "EapQtConfigInterfacePrivate::setIapId - interface created for IapIdUndefined already");
-        return true;
-    }
-
-    // case for VPN (or any other bearer) in which iap id equals EAP db index
-    if (mEapBearer != ELan && mEapDbIndexValid && !mEapGsIf.isNull() && iapId == mEapDbIndex) {
-        qDebug(
-            "EapQtConfigInterfacePrivate::setIapId - interface created for requested IAP ID for VPN already");
-        return true;
-    }
-
-    // save the current id for checking if WLAN reference changes or not
-    TInt previousEapDbIndex = mEapDbIndex;
-    bool wlanIndexOk = true;
-
-    // allow accessing certain methods with negative iapId
-    if (iapId < 0) {
-        // set to zero to be able to create EAP server instances
-        mEapDbIndex = 0;
-        mEapDbIndexValid = false;
-    }
-    // for real usage iapId must not be negative
-    else {
-        // for VPN
-        mIapId = iapId;
-        mEapDbIndex = iapId;
-        mEapDbIndexValid = true;
-
-        // for WLAN
-        if (mEapBearer == ELan) {
-            // get WLAN service ID as the reference
-            mEapDbIndexValid = setEapWlanDbIndex(iapId);
-            wlanIndexOk = mEapDbIndexValid;
-            // do not re-create if the interface is ok for the new (i.e. same) index already
-            if (!mEapGsIf.isNull() && mEapDbIndex == previousEapDbIndex) {
-                qDebug() << "EapQtConfigInterfacePrivate::setIapId - interface"
-                    << "created for requested IAP ID for WLAN already";
-                return true;
-            }
-
-        }
-    }
-
-    // delete possibly existing instances
-    mEapGsIf.reset(NULL);
-    mEapTypeIf.reset(NULL);
-
-    mCurrentServerEapType = *EapExpandedTypeNone.GetType();
-    mLastOuterHandle = EapQtPluginHandle::PluginUndefined;
-
-    if (!wlanIndexOk && mEapBearer == ELan) {
-        // setEapWlanDbIndex was called and failed
-        qDebug("ERROR: EapQtConfigInterfacePrivate::setIapId() - setEapWlanDbIndex failed");
-        return false;
-    }
-
-    qDebug(
-        "EapQtConfigInterfacePrivate::setIapId() - calls CEapGeneralSettings::NewL(), bearer = %d, index = %d",
-        mEapBearer, mEapDbIndex);
-
-    // load EAP general settings interface
-    CEapGeneralSettings* tmp = NULL;
-    TRAPD(err, tmp = CEapGeneralSettings::NewL(mEapBearer, mEapDbIndex));
-    if (err != KErrNone) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::setIapId - CEapGeneralSettings::NewL() failed");
-        mEapDbIndexValid = false;
-        return false;
-    }
-
-    // set to the created instance
-    mEapGsIf.reset(tmp);
-
-    return true;
-}
-
-bool EapQtConfigInterfacePrivate::setEapWlanDbIndex(const int iapId)
-{
-    qDebug("EapQtConfigInterfacePrivate::setEapWlanDbIndex - requested id: %d, this = 0x%08x", iapId, this);
-
-    RCmManager cmm;
-    TRAPD(err, cmm.OpenL());
-    if (err != KErrNone) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::setEapWlanDbIndex - cmm.OpenL() failed",
-            mEapBearer, iapId);
-        mEapDbIndex = EapQtConfigInterface::IapIdUndefined;
-        mIapId = 0;
-        return false;
-    }
-
-    TRAP(err, mEapDbIndex = cmm.GetConnectionMethodInfoIntL(iapId, CMManager::EWlanServiceId));
-    if (err != KErrNone) {
-        qDebug(
-            "ERROR: EapQtConfigInterfacePrivate::setEapWlanDbIndex - cmm.GetConnectionMethodInfoIntL() failed",
-            mEapBearer, iapId);
-        cmm.Close();
-        mEapDbIndex = EapQtConfigInterface::IapIdUndefined;
-        mIapId = 0;
-        return false;
-    }
-
-    cmm.Close();
-
-    qDebug("EapQtConfigInterfacePrivate::setEapWlanDbIndex - obtained WLAN service id: %d",
-        mEapDbIndex);
-
-    return true;
-}
-
-void EapQtConfigInterfacePrivate::checkInstanceThrowing() const
-{
-    qDebug() << "EapQtConfigInterfacePrivate::checkInstanceThrowing() - mValidatorInstance:"
-        << mValidatorInstance;
-
-    if (mValidatorInstance) {
-        qDebug(
-            "ERROR: EapQtConfigInterfacePrivate::checkInstanceThrowing - method not supported by this instance");
-        qt_symbian_throwIfError(KErrNotSupported);
-    }
-}
-
-void EapQtConfigInterfacePrivate::appendEapTypes(const RArray<TEapExpandedType>* const eapTypes,
-    QList<QByteArray>* const eapList)
-{
-    qDebug("EapQtConfigInterfacePrivate::appendEapTypes(), this = 0x%08x", this);
-
-    Q_ASSERT(eapTypes);
-    Q_ASSERT(eapList);
-
-    qDebug("EapQtConfigInterfacePrivate - appendEapTypes, EAP count = %d", eapTypes->Count());
-
-    QByteArray tmpEap;
-    for (int ind = 0; ind < eapTypes->Count(); ind++) {
-        tmpEap.append(reinterpret_cast<const char*> ((*eapTypes)[ind].GetValue().Ptr()),
-            (*eapTypes)[ind].GetValue().Length());
-        eapList->append(tmpEap);
-        qDebug() << "EapQtConfigInterfacePrivate - appendEapTypes added EAP: " << tmpEap.toHex();
-        tmpEap.clear();
-    }
-}
-
-QList<EapQtPluginInfo> EapQtConfigInterfacePrivate::supportedOuterTypes()
-{
-    qDebug("EapQtConfigInterfacePrivate::supportedOuterTypes(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    if (mEapGsIf.isNull()) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::supportedOuterTypes() - mEapGsIf is NULL");
-        mOuterEapsOn.Reset();
-        mOuterEapsOff.Reset();
-        // return empty list
-        mSupportedOuterTypes.clear();
-        return mSupportedOuterTypes;
-    }
-
-    // get outer EAPs from EAP server,
-    // returned in two lists: enabled and disabled outer EAPs
-    // do this always as the list might have changed and mOuterEapsOn/Off are needed in
-    // other methods
-
-    mOuterEapsOn.Reset();
-    mOuterEapsOff.Reset();
-
-    qDebug("EapQtConfigInterfacePrivate::supportedOuterTypes() - calls GetEapMethods()");
-
-    TUint err = mEapGsIf->GetEapMethods(mOuterEapsOn, mOuterEapsOff);
-    if (err != KErrNone) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::supportedOuterTypes() - GetEapMethods failed");
-        mOuterEapsOn.Reset();
-        mOuterEapsOff.Reset();
-        // return empty list
-        mSupportedOuterTypes.clear();
-        return mSupportedOuterTypes;
-    }
-
-    // optimization: collect the list only once per instance life time
-    // since no new EAPs will appear to the combination of mOuterEapsOn and mOuterEapsOff
-    if (mSupportedOuterTypes.count() > 0) {
-        qDebug(
-            "EapQtConfigInterfacePrivate - supportedOuterTypes: supported EAPs already listed, return stored list");
-        return mSupportedOuterTypes;
-    }
-
-    qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: copy response to QList");
-
-    // copy response to qlist for easier comparison
-    QList<QByteArray> outerEaps;
-
-    appendEapTypes(&mOuterEapsOn, &outerEaps);
-    appendEapTypes(&mOuterEapsOff, &outerEaps);
-
-    qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: EAP server outer type count: %d",
-        outerEaps.count());
-
-    qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: collected UI plugin count: %d",
-        mPluginInfos.count());
-
-    // set mSupportedOuterTypes to contain only EAPs that both UI and EAP server support
-    QByteArray tmpEap;
-    for (int ind = 0; ind < mPluginInfos.count(); ind++) {
-        tmpEap = mPluginInfos[ind].pluginHandle().type().eapExpandedData();
-        if (outerEaps.contains(tmpEap)) {
-            mSupportedOuterTypes.append(mPluginInfos[ind]);
-            qDebug() << "EapQtConfigInterfacePrivate - supportedOuterTypes: appended EAP: "
-                << tmpEap.toHex();
-        }
-    }
-
-    // sort the list
-    qSort(mSupportedOuterTypes.begin(), mSupportedOuterTypes.end(),
-        EapQtConfigInterfacePrivate::pluginLessThan);
-
-    qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: supported EAP count: %d",
-        mSupportedOuterTypes.count());
-
-    return mSupportedOuterTypes;
-}
-
-// checks if UI plugins support supplied eapType and returns the
-// index (in mPluginInfos) of the supporting plugin
-bool EapQtConfigInterfacePrivate::isUiSupported(const QByteArray &eapType, int &pluginIndex) const
-{
-    qDebug("EapQtConfigInterfacePrivate::isUiSupported(), this = 0x%08x", this);
-
-    bool ret = false;
-    for (int ind = 0; ind < mPluginInfos.count(); ind++) {
-        qDebug("EapQtConfigInterfacePrivate::isUiSupported() - checking index: %d", ind);
-        pluginIndex = ind;
-        if (eapType == mPluginInfos[ind].pluginHandle().type().eapExpandedData()) {
-            qDebug("EapQtConfigInterfacePrivate::isUiSupported() - ui supported!");
-            ret = true;
-            break;
-        }
-    }
-    return ret;
-}
-
-QList<EapQtPluginInfo> EapQtConfigInterfacePrivate::supportedInnerTypes(
-    const EapQtPluginHandle &outer)
-{
-    qDebug("EapQtConfigInterfacePrivate::supportedInnerTypes(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // check if we already have up-to-date data
-    if (mLastOuterHandle == outer) {
-        return mSupportedInnerTypes;
-    }
-
-    // clear previous query result
-    mSupportedInnerTypes.clear();
-    mLastOuterHandle = EapQtPluginHandle::PluginUndefined;
-
-    qDebug()
-        << "EapQtConfigInterfacePrivate::supportedInnerTypes() - calls isSupportedOuterType for: "
-        << outer.type().eapExpandedData().toHex();
-
-    // check if the queried outer EAP is supported
-    if (!isSupportedOuterType(outer)) {
-        qDebug()
-            << "ERROR: EapQtConfigInterfacePrivate::supportedInnerTypes() - queried outer type not supported: "
-            << outer.type().eapExpandedData().toHex();
-        // return empty list
-        return mSupportedInnerTypes;
-    }
-
-    qDebug("EapQtConfigInterfacePrivate::supportedInnerTypes() - calls getEapTypeIf");
-
-    // get outer EAP settings interface
-    getEapTypeIf(outer);
-    if (mEapTypeIf.isNull()) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::supportedInnerTypes() - getEapTypeIf failed");
-        // return empty list
-        return mSupportedInnerTypes;
-    }
-
-    // get outer EAP settings
-    EAPSettings eapSettings;
-    TRAPD(err, mEapTypeIf->GetConfigurationL(eapSettings));
-    // getEapTypeIf has set mCurrentServerEapType correctly for comparison
-    if (err != KErrNone || eapSettings.iEAPExpandedType != mCurrentServerEapType) {
-        qDebug()
-            << "ERROR: EapQtConfigInterfacePrivate::supportedInnerTypes - GetConfigurationL failed, code:"
-            << err;
-        // clear the instance so that the next attempt starts from scratch
-        mEapTypeIf.reset(NULL);
-        // return empty list
-        return mSupportedInnerTypes;
-    }
-
-    // store inner EAPs supported by EAP server
-    QList<QByteArray> innerEaps;
-    appendEapTypes(&(eapSettings.iEnabledEncapsulatedEAPExpandedTypes), &innerEaps);
-    appendEapTypes(&(eapSettings.iDisabledEncapsulatedEAPExpandedTypes), &innerEaps);
-
-    int pluginIndex = 0;
-    for (int ind = 0; ind < innerEaps.count(); ind++) {
-        // report only EAPs which do have an UI plugin
-        if (isUiSupported(innerEaps[ind], pluginIndex)) {
-            mSupportedInnerTypes.append(mPluginInfos[pluginIndex]);
-            qDebug() << "EapQtConfigInterfacePrivate::supportedInnerTypes - added inner EAP: "
-                << innerEaps[ind].toHex();
-        }
-    }
-
-    mLastOuterHandle = outer;
-
-    // sort the list
-    qSort(mSupportedInnerTypes.begin(), mSupportedInnerTypes.end(),
-        EapQtConfigInterfacePrivate::pluginLessThan);
-
-    qDebug("EapQtConfigInterfacePrivate - supportedInnerTypes: supported EAP count: %d",
-        mSupportedInnerTypes.count());
-
-    return mSupportedInnerTypes;
-}
-
-void EapQtConfigInterfacePrivate::copyCertificateInfo(
-    const RPointerArray<EapCertificateEntry>* const certEntries,
-    QList<EapQtCertificateInfo>* const certInfos)
-{
-    qDebug("EapQtConfigInterfacePrivate::copyCertificateInfo(), this = 0x%08x", this);
-
-    Q_ASSERT(certEntries);
-    Q_ASSERT(certInfos);
-
-    certInfos->clear();
-
-    EapQtCertificateInfo cert;
-    TKeyIdentifier subjectKeyId;
-    const TDes* text = 0;
-    int ind = 0;
-
-    for (ind = 0; ind < certEntries->Count(); ind++) {
-
-        // cleanup cert
-        cert.clear();
-
-        EapCertificateEntry* certPtr = (*certEntries)[ind];
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo *** certificate starts *** ";
-
-        if (certPtr->GetSubjectNamePresent() != EFalse) {
-
-            text = certPtr->GetSubjectName();
-            cert.setValue(EapQtCertificateInfo::SubjectName, QString::fromUtf16(text->Ptr(),
-                text->Length()));
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo SubjectName: "
-                << QString::fromUtf16(text->Ptr(), text->Length());
-        }
-        if (certPtr->GetIssuerNamePresent() != EFalse) {
-
-            text = certPtr->GetIssuerName();
-            cert.setValue(EapQtCertificateInfo::IssuerName, QString::fromUtf16(text->Ptr(),
-                text->Length()));
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo IssuerName: "
-                << QString::fromUtf16(text->Ptr(), text->Length());
-        }
-        if (certPtr->GetSerialNumberPresent() != EFalse) {
-
-            text = certPtr->GetSerialNumber();
-            cert.setValue(EapQtCertificateInfo::SerialNumber, QString::fromUtf16(text->Ptr(),
-                text->Length()));
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo SerialNumber: "
-                << QString::fromUtf16(text->Ptr(), text->Length());
-        }
-        if (certPtr->GetSubjectKeyIdPresent() != EFalse) {
-
-            subjectKeyId = certPtr->GetSubjectKeyId();
-            cert.setValue(EapQtCertificateInfo::SubjectKeyId, QByteArray(
-                reinterpret_cast<const char*> (subjectKeyId.Ptr()), subjectKeyId.Length()));
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo SubjectKeyId: "
-                << (QByteArray(reinterpret_cast<const char*> (subjectKeyId.Ptr()),
-                    subjectKeyId.Length())).toHex();
-        }
-        if (certPtr->GetThumbprintPresent() != EFalse) {
-
-            text = certPtr->GetThumbprint();
-            cert.setValue(EapQtCertificateInfo::ThumbPrint, QString::fromUtf16(text->Ptr(),
-                text->Length()));
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo ThumbPrint: "
-                << QString::fromUtf16(text->Ptr(), text->Length());
-        }
-        if (certPtr->GetLabelPresent() != EFalse) {
-
-            text = certPtr->GetLabel();
-            cert.setValue(EapQtCertificateInfo::CertificateLabel, QString::fromUtf16(text->Ptr(),
-                text->Length()));
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo CertificateLabel: "
-                << QString::fromUtf16(text->Ptr(), text->Length());
-        }
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo *** certificate ends *** ";
-
-        certInfos->append(cert);
-
-    }
-}
-
-bool EapQtConfigInterfacePrivate::fetchCertificates(QList<EapQtCertificateInfo>* const caInfos,
-    QList<EapQtCertificateInfo>* const clientInfos)
-{
-    qDebug("EapQtConfigInterfacePrivate::fetchCertificates(), this = 0x%08x", this);
-
-    Q_ASSERT(caInfos != NULL || clientInfos != NULL);
-    Q_ASSERT(!mEapGsIf.isNull());
-
-    TInt err(KErrNone);
-    RPointerArray<EapCertificateEntry> clientCerts;
-    RPointerArray<EapCertificateEntry> caCerts;
-
-    err = mEapGsIf->GetCertificateLists(clientCerts, caCerts);
-    if (err != KErrNone) {
-        qDebug("EapQtConfigInterfacePrivate - fetchCertificates failed: %d", err);
-        caCerts.ResetAndDestroy();
-        clientCerts.ResetAndDestroy();
-        return false;
-    }
-
-    qDebug("user cert count: %d, CA cert count: %d", clientCerts.Count(), caCerts.Count());
-
-    if (caInfos != NULL) {
-        copyCertificateInfo(&caCerts, caInfos);
-    }
-    if (clientInfos != NULL) {
-        copyCertificateInfo(&clientCerts, clientInfos);
-    }
-
-    caCerts.ResetAndDestroy();
-    clientCerts.ResetAndDestroy();
-    return true;
-}
-
-bool EapQtConfigInterfacePrivate::updateCertificates() {
-
-    qDebug("EapQtConfigInterfacePrivate::updateCertificates(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // empty current state
-    mCaCertificates.clear();
-    mUserCertificates.clear();
-
-    return fetchCertificates(&mCaCertificates, &mUserCertificates);
-}
-
-QList<EapQtCertificateInfo> EapQtConfigInterfacePrivate::certificateAuthorityCertificates()
-{
-    qDebug("EapQtConfigInterfacePrivate::certificateAuthorityCertificates(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // update only if the list is empty
-    if(mCaCertificates.length() == 0) {
-        qDebug() << "EapQtConfigInterfacePrivate::certificateAuthorityCertificates() - updates certificate lists";
-        updateCertificates();
-    }
-
-    return mCaCertificates;
-}
-
-QList<EapQtCertificateInfo> EapQtConfigInterfacePrivate::userCertificates()
-{
-    qDebug("EapQtConfigInterfacePrivate::userCertificates(), this = 0x%08x", this);
-
-    // use the CA certificates method, it will update both the lists
-    // if CA list is empty
-    (void) certificateAuthorityCertificates();
-    return mUserCertificates;
-}
-
-void EapQtConfigInterfacePrivate::getEapTypeIf(const EapQtPluginHandle &pluginHandle)
-{
-    qDebug("EapQtConfigInterfacePrivate::getEapTypeIf(), this = 0x%08x", this);
-
-    // dig up the EAP type in TEapExpandedType format
-    TEapExpandedType eapServerType;
-    QByteArray eapType = pluginHandle.type().eapExpandedData();
-    TInt err(KErrNone);
-
-    qDebug() << "EapQtConfigInterfacePrivate - getEapTypeIf: wanted EAP type: " << eapType.toHex();
-
-    // no need to check if this is successful,
-    // CEapType::NewL call will handle errors
-    (void) eapServerType.SetValue(eapType.data(), eapType.length());
-
-    // slight optimization, load interface only if it does not exist or the EAP type changes
-    if (mEapTypeIf.isNull() || mCurrentServerEapType != eapServerType) {
-
-        qDebug("EapQtConfigInterfacePrivate - getEapTypeIf deletes previous instance");
-
-        // delete previous instance
-        mEapTypeIf.reset(NULL);
-        mCurrentServerEapType = eapServerType;
-
-        qDebug("EapQtConfigInterfacePrivate - getEapTypeIf calls CEapType::NewL()");
-
-        // trap all leaves
-        CEapType* tmp = NULL;
-        TRAP(err, tmp = CEapType::NewL(mEapBearer, mEapDbIndex, mCurrentServerEapType));
-        if (err != KErrNone) {
-            qDebug(
-                "ERROR: EapQtConfigInterfacePrivate - getEapTypeIf CEapType::NewL failed with error: %d",
-                err);
-            mCurrentServerEapType = *EapExpandedTypeNone.GetType();
-        }
-        mEapTypeIf.reset(tmp);
-    }
-
-    // always clear the tunnelling type state just in case some earlier call has set it
-    if (!mEapTypeIf.isNull()) {
-        mEapTypeIf->SetTunnelingType(*EapExpandedTypeNone.GetType());
-    }
-
-}
-
-// in config:
-// if OuterType is defined, the configuration for pluginHandle is set inside this OuterType
-// if OuterType is not defined, pluginHandle is for an outer type
-// if InnerType is defined, the defined inner types in config are activated for pluginHandle
-// if InnerType is not defined, the pluginHandle does not activate any inner type (or they do not exist)
-bool EapQtConfigInterfacePrivate::saveConfiguration(const EapQtPluginHandle &pluginHandle,
-    const EapQtConfig &config)
-{
-    qDebug("EapQtConfigInterfacePrivate::saveConfiguration(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    if (!mEapDbIndexValid) {
-        qDebug() << "ERROR: Database reference not valid, call setConfigurationReference first!";
-        return false;
-    }
-
-    // set tunneling type & check if the requested EAP is supported
-    // if we are configuring outer type, OuterType == QVariant::Invalid or
-    // EapQtPluginHandle::PluginUndefined
-
-    EapQtPluginHandle tmpOuterHandle;
-    QVariant varValue = config.value(EapQtConfig::OuterType);
-    if (varValue != QVariant::Invalid && !(varValue.value<EapQtPluginHandle> () == EapQtPluginHandle::PluginUndefined)) {
-        tmpOuterHandle = varValue.value<EapQtPluginHandle> ();
-        // check if supported
-        if(!isSupportedInnerType(tmpOuterHandle, pluginHandle)) {
-            qDebug("ERROR: EapQtConfigInterfacePrivate::saveConfiguration() - not supported outer/inner type combination");
-            return false;
-        }
-    }
-    else {
-        tmpOuterHandle = EapQtPluginHandle::PluginUndefined;
-        // check if supported
-        if(!isSupportedOuterType(pluginHandle)) {
-            qDebug("ERROR: EapQtConfigInterfacePrivate::saveConfiguration() - not supported outer type");
-            return false;
-        }
-    }
-
-    getEapTypeIf(pluginHandle);
-    if (mEapTypeIf.isNull()) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::saveConfiguration() - getEapTypeIf failed");
-        return false;
-    }
-
-    TEapExpandedType tmpOuterEap;
-    tmpOuterEap.SetValue(tmpOuterHandle.type().eapExpandedData().data(),
-        tmpOuterHandle.type().eapExpandedData().length());
-
-    qDebug() << "EapQtConfigInterfacePrivate::saveConfiguration() - sets tunnelling type to: "
-        << tmpOuterHandle.type().eapExpandedData().toHex();
-
-    mEapTypeIf->SetTunnelingType(tmpOuterEap);
-
-    // set EAP type here
-    QByteArray eapType = pluginHandle.type().eapExpandedData();
-
-    // copy config to EAP settings,
-    // no need to check if this is successful,
-    // SetConfigurationL call will handle errors
-    EAPSettings eapSettings;
-    (void) eapSettings.iEAPExpandedType.SetValue(eapType.data(), eapType.length());
-
-    // copy the rest of the settings in the function
-    copyToEapSettings(config, eapSettings);
-    // store settings
-    TRAPD(err, mEapTypeIf->SetConfigurationL(eapSettings));
-    if (err != KErrNone) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate - saveConfiguration: SetConfigurationL failed");
-        // clear the instance so that the next attempt starts from scratch
-        mEapTypeIf.reset(NULL);
-        mCurrentServerEapType = *EapExpandedTypeNone.GetType();
-        return false;
-    }
-
-    return true;
-}
-
-// config must be empty when calling
-bool EapQtConfigInterfacePrivate::readConfiguration(const EapQtPluginHandle &outerHandle,
-    const EapQtPluginHandle &pluginHandle, EapQtConfig &config)
-{
-    qDebug("EapQtConfigInterfacePrivate::readConfiguration(), this = 0x%08x", this);
-
-    // clear input
-    config.clear();
-
-    checkInstanceThrowing();
-
-    if (!mEapDbIndexValid) {
-        qDebug() << "ERROR: Database reference not valid, call setConfigurationReference first!";
-        return false;
-    }
-
-    // check EAP type support
-    if(!(outerHandle == EapQtPluginHandle::PluginUndefined)) {
-        if(!isSupportedInnerType(outerHandle, pluginHandle)) {
-            qDebug("ERROR: EapQtConfigInterfacePrivate::readConfiguration() - not supported outer/inner type combination");
-            return false;
-        }
-    } else {
-        if(!isSupportedOuterType(pluginHandle)) {
-            qDebug("ERROR: EapQtConfigInterfacePrivate::readConfiguration() - not supported outer type");
-            return false;
-        }
-    }
-
-    getEapTypeIf(pluginHandle);
-    if (mEapTypeIf.isNull()) {
-        qDebug("ERROR: EapQtConfigInterfacePrivate::readConfiguration - getEapTypeIf failed");
-        return false;
-    }
-
-    // set tunneling type
-    // if we are configuring outer type, outerHandle == EapQtPluginHandle::PluginUndefined
-    // and calling SetTunnelingType is also ok
-    TEapExpandedType tmpEap;
-    tmpEap.SetValue(outerHandle.type().eapExpandedData().data(),
-        outerHandle.type().eapExpandedData().length());
-
-    qDebug() << "EapQtConfigInterfacePrivate::readConfiguration - sets tunnelling type to: "
-        << outerHandle.type().eapExpandedData().toHex();
-
-    mEapTypeIf->SetTunnelingType(tmpEap);
-
-    // always set OuterType,
-    // set to EapQtPluginHandle::PluginUndefined if no outer type specified
-    config.setValue(EapQtConfig::OuterType, qVariantFromValue(outerHandle));
-
-    qDebug("EapQtConfigInterfacePrivate::readConfiguration - calls GetConfigurationL()");
-
-    // trap all leaves
-    EAPSettings eapSettings;
-    TRAPD(err, mEapTypeIf->GetConfigurationL(eapSettings));
-
-    // check if failed or something strange happened (incorrect EAP type settings received)  
-    if (err != KErrNone || eapSettings.iEAPExpandedType != mCurrentServerEapType) {
-        qDebug()
-            << "ERROR: EapQtConfigInterfacePrivate - readConfiguration: GetConfigurationL failed"
-            << "wanted EAP:" << pluginHandle.type().eapExpandedData().toHex()
-            << "- got EAP vendor ID:" << eapSettings.iEAPExpandedType.GetVendorId()
-            << ", vendor type" << eapSettings.iEAPExpandedType.GetVendorType() << ", error code:"
-            << err;
-        // clear the instance so that the next attempt starts from scratch
-        mEapTypeIf.reset(NULL);
-        mCurrentServerEapType = *EapExpandedTypeNone.GetType();
-        // nothing to be set to config
-        return false;
-    }
-    copyFromEapSettings(eapSettings, config);
-    return true;
-}
-
-bool EapQtConfigInterfacePrivate::convertToBool(TBool value)
-{
-    return (value != EFalse ? true : false);
-}
-
-TBool EapQtConfigInterfacePrivate::convertToTbool(bool value)
-{
-    return (value ? ETrue : EFalse);
-}
-
-void EapQtConfigInterfacePrivate::copyToEapSettings(const EapQtConfig &config, EAPSettings &eapSettings)
-{
-    qDebug("EapQtConfigInterfacePrivate::copyToEapSettings(), this = 0x%08x", this);
-
-    int ind = 0;
-
-    QVariant varValue = config.value(EapQtConfig::UsernameAutomatic);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iUseAutomaticUsernamePresent = ETrue;
-        eapSettings.iUseAutomaticUsername = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings UsernameAutomatic: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::AuthorityCertificateAutomatic);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iUseAutomaticCACertificatePresent = ETrue;
-        eapSettings.iUseAutomaticCACertificate = convertToTbool(varValue.toBool());
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyToEapSettings AuthorityCertificateAutomatic: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::Username);
-    // do not copy if too large string
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        // QString::utf16 returns a null terminated string
-        eapSettings.iUsername.Copy(varValue.toString().utf16());
-        eapSettings.iUsernamePresent = ETrue;
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings Username: "
-            << varValue.toString();
-    }
-
-    varValue = config.value(EapQtConfig::PasswordPrompt);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iShowPassWordPromptPresent = ETrue;
-        eapSettings.iShowPassWordPrompt = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PasswordPrompt: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::Password);
-    // do not copy if too large string
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        //QString::utf16 returns a null terminated string
-        eapSettings.iPassword.Copy(varValue.toString().utf16());
-        eapSettings.iPasswordPresent = ETrue;
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings Password: "
-            << varValue.toString();
-    }
-
-    varValue = config.value(EapQtConfig::PasswordClear);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iPasswordExistPresent = ETrue;
-        // eapSettings.iPasswordExist = false cleans the password from database, true does nothing
-        eapSettings.iPasswordExist = convertToTbool(!varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PasswordClear: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::RealmAutomatic);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iUseAutomaticRealmPresent = ETrue;
-        eapSettings.iUseAutomaticRealm = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings RealmAutomatic: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::Realm);
-    // do not copy if too large string
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        // QString::utf16 returns a null terminated string
-        eapSettings.iRealm.Copy(varValue.toString().utf16());
-        eapSettings.iRealmPresent = ETrue;
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings Realm: "
-            << varValue.toString();
-    }
-
-    varValue = config.value(EapQtConfig::UsePseudonyms);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iUsePseudonymsPresent = ETrue;
-        eapSettings.iUsePseudonyms = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings UsePseudonyms: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::VerifyServerRealm);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iVerifyServerRealmPresent = ETrue;
-        eapSettings.iVerifyServerRealm = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings VerifyServerRealm: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::ClientAuthenticationRequired);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iRequireClientAuthenticationPresent = ETrue;
-        eapSettings.iRequireClientAuthentication = convertToTbool(varValue.toBool());
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyToEapSettings ClientAuthenticationRequired: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::SessionValidityTime);
-    if (varValue.type() == QVariant::UInt) {
-        eapSettings.iSessionValidityTimePresent = ETrue;
-        eapSettings.iSessionValidityTime = varValue.toUInt();
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings SessionValidityTime: "
-            << varValue.toUInt();
-    }
-
-    varValue = config.value(EapQtConfig::PeapVersion0Allowed);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iPEAPVersionsPresent = ETrue;
-        eapSettings.iPEAPv0Allowed = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PeapVersion0Allowed: "
-            << varValue.toBool();
-    } else {
-        // in any other case disable PEAP version;
-        // no need to set eapSettings.iPEAPVersionsPresent,
-        // it will be set if one of the other PEAP versions is enabled,
-        // otherwise this setting is redundant and can be ignored
-        eapSettings.iPEAPv0Allowed = EFalse;
-    }
-
-    varValue = config.value(EapQtConfig::PeapVersion1Allowed);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iPEAPVersionsPresent = ETrue;
-        eapSettings.iPEAPv1Allowed = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PeapVersion1Allowed: "
-            << varValue.toBool();
-    } else {
-        // in any other case disable PEAP version;
-        // no need to set eapSettings.iPEAPVersionsPresent,
-        // it will be set if one of the other PEAP versions is enabled,
-        // otherwise this setting is redundant and can be ignored
-        eapSettings.iPEAPv1Allowed = EFalse;
-    }
-
-    varValue = config.value(EapQtConfig::PeapVersion2Allowed);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iPEAPVersionsPresent = ETrue;
-        eapSettings.iPEAPv2Allowed = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PeapVersion2Allowed: "
-            << varValue.toBool();
-    } else {
-        // in any other case disable PEAP version;
-        // no need to set eapSettings.iPEAPVersionsPresent,
-        // it will be set if one of the other PEAP versions is enabled,
-        // otherwise this setting is redundant and can be ignored
-        eapSettings.iPEAPv2Allowed = EFalse;
-    }
-
-    varValue = config.value(EapQtConfig::ProvisioningModeAuthenticated);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iAuthProvModeAllowedPresent = ETrue;
-        eapSettings.iAuthProvModeAllowed = convertToTbool(varValue.toBool());
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyToEapSettings ProvisioningModeAuthenticated: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::ProvisioningModeUnauthenticated);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iUnauthProvModeAllowedPresent = ETrue;
-        eapSettings.iUnauthProvModeAllowed = convertToTbool(varValue.toBool());
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyToEapSettings ProvisioningModeUnauthenticated: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::PACGroupReference);
-    // do not copy if too large string
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        eapSettings.iPACGroupReference.Copy(varValue.toString().utf16());
-        eapSettings.iPACGroupReferencePresent = ETrue;
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PACGroupReference: "
-            << varValue.toString();
-    }
-
-    varValue = config.value(EapQtConfig::WarnADHPNoPAC);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iWarnADHPNoPACPresent = ETrue;
-        eapSettings.iWarnADHPNoPAC = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings WarnADHPNoPAC: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::WarnADHPNoMatchingPAC);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iWarnADHPNoMatchingPACPresent = ETrue;
-        eapSettings.iWarnADHPNoMatchingPAC = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings WarnADHPNoMatchingPAC: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::WarnNotDefaultServer);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iWarnNotDefaultServerPresent = ETrue;
-        eapSettings.iWarnNotDefaultServer = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings WarnNotDefaultServer: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::UseIdentityPrivacy);
-    if (varValue.type() == QVariant::Bool) {
-        eapSettings.iUseIdentityPrivacyPresent = ETrue;
-        eapSettings.iUseIdentityPrivacy = convertToTbool(varValue.toBool());
-        qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings UseIdentityPrivacy: "
-            << varValue.toBool();
-    }
-
-    varValue = config.value(EapQtConfig::InnerType);
-    if (varValue.type() == QVariant::List) {
-
-        // not need to set disable inner types
-        // EAP server takes care of them internally
-
-        qDebug() << "EapQtConfigInterfacePrivate::copyToEapSettings() - InnerType present";
-
-        QList<QVariant> varList = varValue.toList();
-        TEapExpandedType tmpEap;
-        EapQtPluginHandle tmpHandle;
-        TUint err(KErrNone);
-
-        for (ind = 0; ind < varList.count(); ind++) {
-            if (varList[ind].canConvert<EapQtPluginHandle> ()) {
-                // set to true only if at least one item is ok
-                eapSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-
-                tmpHandle = varList[ind].value<EapQtPluginHandle> ();
-                tmpEap.SetValue(tmpHandle.type().eapExpandedData().data(),
-                    tmpHandle.type().eapExpandedData().length());
-                err = eapSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(tmpEap);
-                if(err != KErrNone)
-                {
-                    qDebug() << "ERROR: EapQtConfigInterfacePrivate::copyToEapSettings() - RArray::Append failed for inner types";
-                    eapSettings.iEnabledEncapsulatedEAPExpandedTypes.Reset();
-                    // no dynamic memory allocated for tmpEap, just continue with
-                    // the rest of the settings; EapSettings takes care of deallocations in its destructor
-                    break;
-                }
-
-                qDebug()
-                    << "EapQtConfigInterfacePrivate::copyToEapSettings() - Added to InnerType: "
-                    << tmpHandle.type().eapExpandedData().toHex();
-            }
-        }
-    }
-
-    varValue = config.value(EapQtConfig::CipherSuites);
-    if (varValue.type() == QVariant::List) {
-
-        qDebug() << "EapQtConfigInterfacePrivate::copyToEapSettings() - CipherSuites present";
-        QList<QVariant> varCiphers = varValue.toList();
-
-        // clears the ciphersuite configuration if the provided list is empty
-        eapSettings.iCipherSuitesPresent = ETrue;
-        TUint err(KErrNone);
-
-        for (ind = 0; ind < varCiphers.count(); ind++) {
-            // check that the item is of correct type (int also accepted to not be too strict)
-            if (varCiphers[ind].type() == QVariant::UInt || varCiphers[ind].type() == QVariant::Int) {
-
-                err = eapSettings.iCipherSuites.Append(varCiphers[ind].toUInt());
-                if(err != KErrNone)
-                {
-                    qDebug() << "ERROR: EapQtConfigInterfacePrivate::copyToEapSettings() - RArray::Append failed for ciphersuites";
-                    eapSettings.iCipherSuites.Reset();
-                    // continue with the rest of the settings, no dynamic
-                    // memory allocated for varCiphers[ind].toUInt()
-                    break;
-                }
-
-                qDebug(
-                    "EapQtConfigInterfacePrivate::copyToEapSettings() - CipherSuites at %d: 0x%08x",
-                    ind, varCiphers[ind].toUInt());
-            }
-        }
-    }
-
-    // set always to true to support clearing previously configured CA/user certificates
-    // if the EAP method in question does not use certificates,
-    // EAP server will ignore the setting;
-    // CA/user certificates get cleared if EapQtConfig::Authority/UserCertificate is QVariant::Invalid or
-    // the provided lists are empty
-    eapSettings.iCertificatesPresent = ETrue;
-
-    varValue = config.value(EapQtConfig::AuthorityCertificate);
-    if (varValue.type() == QVariant::List) {
-
-        qDebug()
-            << "EapQtConfigInterfacePrivate::copyToEapSettings() - AuthorityCertificate present";
-
-        QList<QVariant> varCerts = varValue.toList();
-        for (ind = 0; ind < varCerts.count(); ind++) {
-            // check that the item is of correct type
-            if (varCerts[ind].canConvert<EapQtCertificateInfo> ()) {
-                appendCertificateInfo(true, varCerts[ind].value<EapQtCertificateInfo> (),
-                    &(eapSettings.iCertificates));
-                qDebug()
-                    << "EapQtConfigInterfacePrivate::copyToEapSettings() - AuthorityCertificate appended";
-            }
-        }
-    }
-
-    varValue = config.value(EapQtConfig::UserCertificate);
-    if (varValue.type() == QVariant::List) {
-
-        qDebug() << "EapQtConfigInterfacePrivate::copyToEapSettings() - UserCertificate present";
-
-        QList<QVariant> varCerts = varValue.toList();
-        for (ind = 0; ind < varCerts.count(); ind++) {
-            // check that the item is of correct type
-            if (varCerts[ind].canConvert<EapQtCertificateInfo> ()) {
-                appendCertificateInfo(false, varCerts[ind].value<EapQtCertificateInfo> (),
-                    &(eapSettings.iCertificates));
-                qDebug()
-                    << "EapQtConfigInterfacePrivate::copyToEapSettings() - AuthorityCertificate appended";
-            }
-        }
-    }
-
-}
-
-// caller takes care of deallocating resulting data in certList
-void EapQtConfigInterfacePrivate::appendCertificateInfo(bool isCaCertificate,
-    const EapQtCertificateInfo& certInfo, RPointerArray<EapCertificateEntry>* const certList)
-{
-    qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo(), this = 0x%08x", this);
-
-    Q_ASSERT(certList);
-
-    // use scoped pointer to make sure memory is not leaked in failures
-    QScopedPointer<EapCertificateEntry> certEntry(new EapCertificateEntry);
-
-    // set certificate enabled in EAP settings
-    certEntry->SetIsEnabledPresent();
-    certEntry->SetIsEnabled(ETrue);
-
-    if (isCaCertificate) {
-        qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo() - CA certificate");
-        certEntry->SetCertType(EapCertificateEntry::ECA);
-    }
-    else {
-        qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo() - Client certificate");
-        certEntry->SetCertType(EapCertificateEntry::EUser);
-    }
-
-    qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo() - *** Adding cert data");
-
-    TBuf<KGeneralStringMaxLength> certText;
-
-    QVariant varValue = certInfo.value(EapQtCertificateInfo::SubjectName);
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        certEntry->SetSubjectNamePresent();
-        certText.Copy(varValue.toString().utf16());
-        certEntry->SetSubjectName(certText);
-
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - SubjectName: "
-            << varValue.toString();
-    }
-
-    varValue = certInfo.value(EapQtCertificateInfo::IssuerName);
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        certEntry->SetIssuerNamePresent();
-        certText.Copy(varValue.toString().utf16());
-        certEntry->SetIssuerName(certText);
-
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - IssuerName: "
-            << varValue.toString();
-    }
-
-    varValue = certInfo.value(EapQtCertificateInfo::SerialNumber);
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) {
-        certEntry->SetSerialNumberPresent();
-        certText.Copy(varValue.toString().utf16());
-        certEntry->SetSerialNumber(certText);
-
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - SerialNumber: "
-            << varValue.toString();
-    }
-
-    TCertLabel certLabel;
-
-    varValue = certInfo.value(EapQtCertificateInfo::CertificateLabel);
-    if (varValue.type() == QVariant::String && varValue.toString().count() <= CertLabelMaxLength) {
-        certEntry->SetLabelPresent();
-        certLabel.Copy(varValue.toString().utf16());
-        certEntry->SetLabel(certLabel);
-
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - CertificateLabel: "
-            << varValue.toString();
-    }
-
-    TBuf<KThumbprintMaxLength> thumbPrint;
-
-    varValue = certInfo.value(EapQtCertificateInfo::ThumbPrint);
-    if (varValue.type() == QVariant::String && varValue.toString().count()
-        <= CertThumbprintMaxLength) {
-        certEntry->SetThumbprintPresent();
-        thumbPrint.Copy(varValue.toString().utf16());
-        certEntry->SetThumbprint(thumbPrint);
-
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - ThumbPrint: "
-            << varValue.toString();
-    }
-
-    TKeyIdentifier keyId;
-
-    varValue = certInfo.value(EapQtCertificateInfo::SubjectKeyId);
-    if (varValue.type() == QVariant::ByteArray && varValue.toByteArray().count()
-        <= CertSubjectKeyIdLength) {
-        certEntry->SetSubjectKeyIdPresent();
-        keyId.Copy(reinterpret_cast<unsigned char*> (varValue.toByteArray().data()),
-            varValue.toByteArray().size());
-        certEntry->SetSubjectKeyId(keyId);
-
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - SubjectKeyId: "
-            << varValue.toByteArray().toHex();
-    }
-
-    TUint err = certList->Append(certEntry.data());
-    if (err != KErrNone) {
-        qDebug() << "ERROR: EapQtConfigInterfacePrivate::appendCertificateInfo()"
-            << "- RPointerArray::Append failed for certificate entry";
-        // scoped certEntry pointer deleted automatically
-        // no need to touch the array, it is handled by the caller
-    }
-    else {
-        qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo()"
-            << "- *** certificate appended to list";
-        // remove the ownerhsip from scoped pointer, entry owned by the array now
-        (void) certEntry.take();
-    }
-
-    // EapSettings destructor takes care of deallocating the array entries
-}
-
-void EapQtConfigInterfacePrivate::copyFromEapSettings(EAPSettings &eapSettings, EapQtConfig &config)
-{
-    qDebug("EapQtConfigInterfacePrivate::copyFromEapSettings(), this = 0x%08x", this);
-
-    int ind = 0;
-
-    // automatic username
-    if (eapSettings.iUseAutomaticUsernamePresent) {
-        config.setValue(EapQtConfig::UsernameAutomatic, convertToBool(
-            eapSettings.iUseAutomaticUsername));
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UsernameAutomatic: "
-            << config.value(EapQtConfig::UsernameAutomatic).toBool();
-    }
-
-    // automatic CA certificate
-    if (eapSettings.iUseAutomaticCACertificatePresent) {
-        config.setValue(EapQtConfig::AuthorityCertificateAutomatic, convertToBool(
-            eapSettings.iUseAutomaticCACertificate));
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyFromEapSettings AuthorityCertificateAutomatic: "
-            << config.value(EapQtConfig::AuthorityCertificateAutomatic).toBool();
-    }
-
-    // username
-    if (eapSettings.iUsernamePresent) {
-        config.setValue(EapQtConfig::Username, QString::fromUtf16(eapSettings.iUsername.Ptr(),
-            eapSettings.iUsername.Length()));
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings Username: " << config.value(
-            EapQtConfig::Username).toString();
-    }
-
-    // password existence check, password itself is write-only, cannot be read
-    if (eapSettings.iPasswordExistPresent) {
-        // report to caller if password exists in the database
-        config.setValue(EapQtConfig::PasswordStored, convertToBool(eapSettings.iPasswordExist));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PasswordStored: "
-            << config.value(EapQtConfig::PasswordStored).toBool();
-    }
-
-    // password prompt
-    if (eapSettings.iShowPassWordPromptPresent) {
-        config.setValue(EapQtConfig::PasswordPrompt, convertToBool(eapSettings.iShowPassWordPrompt));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PasswordPrompt: "
-            << config.value(EapQtConfig::PasswordPrompt).toBool();
-    }
-
-    // automatic realm
-    if (eapSettings.iUseAutomaticRealmPresent) {
-        config.setValue(EapQtConfig::RealmAutomatic, convertToBool(eapSettings.iUseAutomaticRealm));
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings RealmAutomatic: "
-            << config.value(EapQtConfig::RealmAutomatic).toBool();
-    }
-
-    // realm
-    if (eapSettings.iRealmPresent) {
-        config.setValue(EapQtConfig::Realm, QString::fromUtf16(eapSettings.iRealm.Ptr(),
-            eapSettings.iRealm.Length()));
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings Realm: " << config.value(
-            EapQtConfig::Realm).toString();
-    }
-
-    // server name
-    if (eapSettings.iVerifyServerRealmPresent) {
-        config.setValue(EapQtConfig::VerifyServerRealm, convertToBool(
-            eapSettings.iVerifyServerRealm));
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings VerifyServerRealm: "
-            << config.value(EapQtConfig::VerifyServerRealm).toBool();
-    }
-
-    // pseudonym
-    if (eapSettings.iUsePseudonymsPresent) {
-        config.setValue(EapQtConfig::UsePseudonyms, convertToBool(eapSettings.iUsePseudonyms));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UsePseudonyms: "
-            << config.value(EapQtConfig::UsePseudonyms).toBool();
-    }
-
-    // policy: server must require client authentication
-    if (eapSettings.iRequireClientAuthenticationPresent) {
-        config.setValue(EapQtConfig::ClientAuthenticationRequired, convertToBool(
-            eapSettings.iRequireClientAuthentication));
-
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyFromEapSettings ClientAuthenticationRequired: "
-            << config.value(EapQtConfig::ClientAuthenticationRequired).toBool();
-    }
-
-    // session validity time
-    if (eapSettings.iSessionValidityTimePresent) {
-        config.setValue(EapQtConfig::SessionValidityTime, eapSettings.iSessionValidityTime);
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings SessionValidityTime: "
-            << config.value(EapQtConfig::SessionValidityTime).toUInt();
-    }
-
-    // TLS ciphersuites
-    if (eapSettings.iCipherSuitesPresent) {
-        QList<QVariant> ciphers; // QVariant has a constructor for uint
-        for (ind = 0; ind < eapSettings.iCipherSuites.Count(); ind++) {
-            ciphers.append(eapSettings.iCipherSuites[ind]);
-            qDebug("EapQtConfigInterfacePrivate - copyFromEapSettings CipherSuites at %d: 0x%08x",
-                ind, ciphers[ind].toUInt());
-        }
-        config.setValue(EapQtConfig::CipherSuites, ciphers);
-    }
-
-    // certificates
-    if (eapSettings.iCertificatesPresent) {
-
-        QList<EapQtCertificateInfo> caCerts;
-        QList<EapQtCertificateInfo> clientCerts;
-        RPointerArray<EapCertificateEntry> serverCaCerts;
-        RPointerArray<EapCertificateEntry> serverClientCerts;
-
-        // separate CA and client certs to their own lists
-        for (ind = 0; ind < eapSettings.iCertificates.Count(); ind++) {
-
-            qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings certificates, "
-                << "cert type: " << eapSettings.iCertificates[ind]->GetCertType() << ", enabled: "
-                << convertToBool(eapSettings.iCertificates[ind]->GetIsEnabled());
-
-            // only enabled certificates are reported
-            if (eapSettings.iCertificates[ind]->GetCertType() == EapCertificateEntry::EUser
-                && eapSettings.iCertificates[ind]->GetIsEnabled() != EFalse) {
-                // no need to check the return value for failures,
-                // serverClientCerts does not own the pointed data,
-                // eapSettings owns and deallocates it
-                (void) serverClientCerts.Append(eapSettings.iCertificates[ind]);
-            }
-            // only enabled certificates are reported
-            else if (eapSettings.iCertificates[ind]->GetCertType() == EapCertificateEntry::ECA
-                && eapSettings.iCertificates[ind]->GetIsEnabled() != EFalse) {
-                // no need to check the return value for failures,
-                // serverCaCerts does not own the pointed data,
-                // eapSettings owns and deallocates it
-                (void) serverCaCerts.Append(eapSettings.iCertificates[ind]);
-            }
-            else {
-                qDebug()
-                    << "WARNING: EapQtConfigInterfacePrivate - copyFromEapSettings certificates, "
-                    << "unknown certificate type in the list or certificate not enabled";
-            }
-        }
-
-        // copy to lists of our type
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings AuthorityCertificates";
-        copyCertificateInfo(&serverCaCerts, &caCerts);
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UserCertificates";
-        copyCertificateInfo(&serverClientCerts, &clientCerts);
-
-        // reset the arrays, data is owned by EapSettings.h,
-        // must not be destroyed here
-        serverCaCerts.Reset();
-        serverClientCerts.Reset();
-
-        // we still need to convert QList<EapQtCertificateInfo> to QList<QVariant>
-        // to be able to store to config
-        QVariant tmp;
-        QList<QVariant> varCaCerts;
-        QList<QVariant> varClientCerts;
-
-        for (ind = 0; ind < caCerts.count(); ind++) {
-            tmp.setValue(caCerts[ind]);
-            varCaCerts.append(tmp);
-        }
-        for (ind = 0; ind < clientCerts.count(); ind++) {
-            tmp.setValue(clientCerts[ind]);
-            varClientCerts.append(tmp);
-        }
-
-        // finally copy to config
-        config.setValue(EapQtConfig::AuthorityCertificate, varCaCerts);
-        config.setValue(EapQtConfig::UserCertificate, varClientCerts);
-    }
-
-    // PEAP specific
-    if (eapSettings.iPEAPVersionsPresent) {
-        config.setValue(EapQtConfig::PeapVersion0Allowed, convertToBool(eapSettings.iPEAPv0Allowed));
-        config.setValue(EapQtConfig::PeapVersion1Allowed, convertToBool(eapSettings.iPEAPv1Allowed));
-        config.setValue(EapQtConfig::PeapVersion2Allowed, convertToBool(eapSettings.iPEAPv2Allowed));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PeapVersion0Allowed: "
-            << config.value(EapQtConfig::PeapVersion0Allowed).toBool();
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PeapVersion1Allowed: "
-            << config.value(EapQtConfig::PeapVersion1Allowed).toBool();
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PeapVersion2Allowed: "
-            << config.value(EapQtConfig::PeapVersion2Allowed).toBool();
-    }
-
-    // TLS privacy
-    if (eapSettings.iUseIdentityPrivacyPresent) {
-        config.setValue(EapQtConfig::UseIdentityPrivacy, convertToBool(
-            eapSettings.iUseIdentityPrivacy));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UseIdentityPrivacy: "
-            << config.value(EapQtConfig::UseIdentityPrivacy).toBool();
-    }
-
-    // EAP-FAST specific
-    if (eapSettings.iAuthProvModeAllowedPresent) {
-        config.setValue(EapQtConfig::ProvisioningModeAuthenticated, convertToBool(
-            eapSettings.iAuthProvModeAllowed));
-
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyFromEapSettings ProvisioningModeAuthenticated: "
-            << config.value(EapQtConfig::ProvisioningModeAuthenticated).toBool();
-    }
-    if (eapSettings.iUnauthProvModeAllowedPresent) {
-        config.setValue(EapQtConfig::ProvisioningModeUnauthenticated, convertToBool(
-            eapSettings.iUnauthProvModeAllowed));
-
-        qDebug()
-            << "EapQtConfigInterfacePrivate - copyFromEapSettings ProvisioningModeUnauthenticated: "
-            << config.value(EapQtConfig::ProvisioningModeUnauthenticated).toBool();
-    }
-    if (eapSettings.iWarnADHPNoPACPresent) {
-        config.setValue(EapQtConfig::WarnADHPNoPAC, convertToBool(eapSettings.iWarnADHPNoPAC));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings WarnADHPNoPAC: "
-            << config.value(EapQtConfig::WarnADHPNoPAC).toBool();
-    }
-    if (eapSettings.iWarnADHPNoMatchingPACPresent) {
-        config.setValue(EapQtConfig::WarnADHPNoMatchingPAC, convertToBool(
-            eapSettings.iWarnADHPNoMatchingPAC));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings WarnADHPNoMatchingPAC: "
-            << config.value(EapQtConfig::WarnADHPNoMatchingPAC).toBool();
-    }
-    if (eapSettings.iWarnNotDefaultServerPresent) {
-        config.setValue(EapQtConfig::WarnNotDefaultServer, convertToBool(
-            eapSettings.iWarnNotDefaultServer));
-
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings WarnNotDefaultServer: "
-            << config.value(EapQtConfig::WarnNotDefaultServer).toBool();
-    }
-    if (eapSettings.iPACGroupReferencePresent) {
-        config.setValue(EapQtConfig::PACGroupReference, QString::fromUtf16(
-            eapSettings.iPACGroupReference.Ptr(), eapSettings.iPACGroupReference.Length()));
-        qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PACGroupReference: "
-            << config.value(EapQtConfig::PACGroupReference).toString();
-    }
-
-    // enabled inner EAPs
-    if (eapSettings.iEnabledEncapsulatedEAPExpandedTypesPresent) {
-
-        qDebug("EapQtConfigInterfacePrivate - copyFromEapSettings InnerType, enabled count %d",
-            eapSettings.iEnabledEncapsulatedEAPExpandedTypes.Count());
-
-        QList<QByteArray> innerEapsOn;
-        appendEapTypes(&(eapSettings.iEnabledEncapsulatedEAPExpandedTypes), &innerEapsOn);
-
-        // convert to QList<QVariant> to be able to store to config
-        QVariant varTmp;
-        QList<QVariant> varInnerEapsOn;
-        int dummy = 0;
-
-        for (ind = 0; ind < innerEapsOn.count(); ind++) {
-            // report only EAPs which do have an UI plugin
-            if (isUiSupported(innerEapsOn[ind], dummy)) {
-                // create plugin handle from EAP type with constructors
-                // calls: EapQtExpandedEapType(const QByteArray data) -> EapQtPluginHandle(EapQtExpandedEapType type)
-                varTmp.setValue(EapQtPluginHandle(EapQtExpandedEapType(innerEapsOn[ind])));
-                varInnerEapsOn.append(varTmp);
-                qDebug()
-                    << "EapQtConfigInterfacePrivate - copyFromEapSettings InnerType: added EAP: "
-                    << innerEapsOn[ind].toHex();
-            }
-        }
-
-        // copy to config
-        config.setValue(EapQtConfig::InnerType, varInnerEapsOn);
-    }
-
-    // disabled inner EAPs
-    if (eapSettings.iDisabledEncapsulatedEAPExpandedTypesPresent) {
-        // setting is not needed, enabled are enough
-        qDebug(
-            "EapQtConfigInterfacePrivate - copyFromEapSettings InnerType: disabled count %d (not needed for anything here)",
-            eapSettings.iDisabledEncapsulatedEAPExpandedTypes.Count());
-    }
-
-}
-
-QList<EapQtPluginHandle> EapQtConfigInterfacePrivate::selectedOuterTypes()
-{
-    qDebug("EapQtConfigInterfacePrivate::selectedOuterTypes(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    if (!mEapDbIndexValid) {
-        qDebug() << "ERROR: Database reference not valid, call setConfigurationReference first!";
-        return QList<EapQtPluginHandle> ();
-    }
-
-    // call to make sure the members (mOuterEapsOn and mSupportedOuterTypes) are up-to-date
-    (void) supportedOuterTypes();
-
-    QList<EapQtPluginHandle> selectedOuterTypes;
-
-    QList<QByteArray> tmpEaps;
-    appendEapTypes(&mOuterEapsOn, &tmpEaps);
-
-    // report only the ones that also have an UI, i.e. listed in mSupportedOuterTypes
-    for (int ind = 0; ind < mSupportedOuterTypes.count(); ind++) {
-        if (tmpEaps.contains(mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData())) {
-            selectedOuterTypes.append(mSupportedOuterTypes[ind].pluginHandle());
-        }
-    }
-
-    qDebug("EapQtConfigInterfacePrivate - selected outer type count: %d",
-        selectedOuterTypes.count());
-
-    return selectedOuterTypes;
-}
-
-bool EapQtConfigInterfacePrivate::isSupportedOuterType(const EapQtPluginHandle &handle)
-{
-    qDebug("EapQtConfigInterfacePrivate::isSupportedOuterType(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // check if mSupportedOuterTypes is up-to-date
-    if (mSupportedOuterTypes.count() <= 0) {
-        // update mSupportedOuterTypes
-        (void) supportedOuterTypes();
-    }
-
-    bool ret = false;
-    for (int ind = 0; ind < mSupportedOuterTypes.count(); ind++) {
-        if (mSupportedOuterTypes[ind].pluginHandle() == handle) {
-            ret = true;
-        }
-    }
-    return ret;
-}
-
-bool EapQtConfigInterfacePrivate::setSelectedOuterTypes(
-    const QList<EapQtPluginHandle> &outerHandles)
-{
-    qDebug("EapQtConfigInterfacePrivate::setSelectedOuterTypes()");
-
-    checkInstanceThrowing();
-
-    if (!mEapDbIndexValid || mEapGsIf.isNull()) {
-        qDebug()
-            << "ERROR: Database reference not valid (or mEapGsIf is NULL), call setConfigurationReference first!";
-        return false;
-    }
-
-    // check if mSupportedOuterTypes is up-to-date
-    if (mSupportedOuterTypes.count() <= 0) {
-        // update mSupportedOuterTypes
-        (void) supportedOuterTypes();
-    }
-
-    // clear arrays
-    mOuterEapsOn.Reset();
-    mOuterEapsOff.Reset();
-
-    // pick only the supported ones from outerHandles
-    TEapExpandedType tmpEap;
-    TUint err(KErrNone);
-    for (int ind = 0; ind < mSupportedOuterTypes.count(); ind++) {
-        if (outerHandles.contains(mSupportedOuterTypes[ind].pluginHandle())) {
-
-            // convert to TEapExpandedType
-            tmpEap.SetValue(
-                mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData().data(),
-                mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData().length());
-
-            // add to mOuterEapsOn
-            err = mOuterEapsOn.Append(tmpEap);
-            if(err != KErrNone)
-            {
-                qDebug() << "ERROR: EapQtConfigInterfacePrivate - setSelectedOuterTypes RArray::Append failed";
-                // reset the array, no dynamic memory allocated for tmpEap
-                mOuterEapsOn.Reset();
-                return false;
-            }
-
-            qDebug()
-                << "EapQtConfigInterfacePrivate - setSelectedOuterTypes adding to enabledOuterHandles: "
-                << mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData().toHex();
-        }
-    }
-
-    bool ret = true;
-
-    // set selection to EAP server, no need to have correct content in mOuterEapsOff,  
-    // EAP server handles it, mOuterEapsOn is only important
-    err = mEapGsIf->SetEapMethods(mOuterEapsOn, mOuterEapsOff);
-    if (err != KErrNone) {
-        qDebug("EapQtConfigInterfacePrivate::setSelectedOuterTypes() - SetEapMethods failed: %d",
-            err);
-        // nothing we can do to recover, just exit
-        ret = false;
-    }
-    return ret;
-}
-
-bool EapQtConfigInterfacePrivate::isSupportedInnerType(const EapQtPluginHandle &outerHandle,
-    const EapQtPluginHandle &innerHandle)
-{
-    qDebug("EapQtConfigInterfacePrivate::isSupportedInnerType(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // update mSupportedInnerTypes
-    (void) supportedInnerTypes(outerHandle);
-
-    for (int ind = 0; ind < mSupportedInnerTypes.count(); ind++) {
-        if (mSupportedInnerTypes[ind].pluginHandle() == innerHandle) {
-            return true;
-        }
-    }
-    return false;
-}
-
-bool EapQtConfigInterfacePrivate::deleteConfiguration()
-{
-    qDebug("EapQtConfigInterfacePrivate::deleteConfiguration(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    if (!mEapDbIndexValid || mEapGsIf.isNull()) {
-        qDebug()
-            << "ERROR: Database reference not valid (or mEapGsIf is NULL), call setConfigurationReference first!";
-        return false;
-    }
-
-    bool ret = true;
-    TInt err = mEapGsIf->DeleteAllEapSettings();
-    if (err != KErrNone) {
-        ret = false;
-    }
-    return ret;
-}
-
-void EapQtConfigInterfacePrivate::loadPlugins()
-{
-    qDebug("EapQtConfigInterfacePrivate::loadPlugins(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // plugin directory defined in cpeapplugininterface.h
-    QDir pluginsDir(CpEapPluginInterfacePluginDirectory);
-    foreach( QString fileName, pluginsDir.entryList(QDir::Files) )
-        {
-            QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
-            QObject *tmp = loader.instance();
-            if (tmp) {
-                CpEapPluginInterface *plugin = qobject_cast<CpEapPluginInterface*> (tmp);
-                if (plugin) {
-                    mPlugins.append(plugin);
-                }
-            }
-        }
-
-    // collect UI plugin infos
-    QList<CpEapPluginInterface*>::iterator iter;
-    for (iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) {
-        mPluginInfos.append((*iter)->pluginInfo());
-    }
-
-    // sort the UI plugins according to their order number
-    qSort(mPluginInfos.begin(), mPluginInfos.end(), EapQtConfigInterfacePrivate::pluginLessThan);
-
-    qDebug("EapQtConfigInterfacePrivate - loadPlugins: supported EAP plugin count: %d",
-        mPluginInfos.count());
-}
-
-bool EapQtConfigInterfacePrivate::pluginLessThan(
-    const EapQtPluginInfo &plugin1,
-    const EapQtPluginInfo &plugin2)
-{
-    return plugin1.orderNumber() < plugin2.orderNumber();
-}
-
-CpBaseSettingView *EapQtConfigInterfacePrivate::uiInstance(const EapQtPluginHandle &outerHandle,
-    const EapQtPluginHandle &pluginHandle)
-{
-    qDebug("EapQtConfigInterfacePrivate::uiInstance(), this = 0x%08x", this);
-
-    checkInstanceThrowing();
-
-    // if outer type UI is requested, outerHandle must be undefined and pluginHandle
-    // must be supported as outer type
-    if (outerHandle == EapQtPluginHandle::PluginUndefined) {
-        if (!isSupportedOuterType(pluginHandle)) {
-            qDebug() << "ERROR: EapQtConfigInterfacePrivate::uiInstance() -"
-                << "plugin not supported as outer type";
-            return NULL;
-        }
-    }
-    else {
-        // outerHandle defined, pluginHandle must be supported inside outerHandle
-        if (!isSupportedInnerType(outerHandle, pluginHandle)) {
-            qDebug() << "ERROR: EapQtConfigInterfacePrivate::uiInstance() -"
-                << "plugin not supported as the inner type of the specified outer type";
-            return NULL;
-        }
-    }
-
-    if (mTranslator.isNull()) {
-        // install translations for EAP UI plugins
-        mTranslator.reset(new HbTranslator(eapTranslationFile));
-    }
-
-    // go through all interfaces (dlls)
-    QList<CpEapPluginInterface*>::iterator iter;
-    for (iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) {
-        QList<EapQtPluginInfo> plugins;
-        plugins.append((*iter)->pluginInfo());
-
-        // go through all plugings inside the interface implementation
-        QList<EapQtPluginInfo>::iterator j;
-        for (j = plugins.begin(); j != plugins.end(); ++j) {
-            if ((*j).pluginHandle() == pluginHandle) {
-                qDebug("EapQtConfigInterfacePrivate::uiInstance() - found plugin");
-                // indicate configured IAP to plugin
-                (*iter)->setSettingsReference(getEapBearer(), mIapId);
-                return (*iter)->uiInstance(outerHandle, *j);
-            }
-        }
-
-    }
-    qDebug("ERROR: EapQtConfigInterfacePrivate::uiInstance() - plugin not found");
-    return NULL;
-}
-
-EapQtConfigInterface::EapBearerType EapQtConfigInterfacePrivate::getEapBearer()
-{
-    EapQtConfigInterface::EapBearerType ret(EapQtConfigInterface::EapBearerTypeWlan);
-
-    switch (mEapBearer) {
-    case EVpn:
-        ret = EapQtConfigInterface::EapBearerTypeVpn;
-        break;
-    default:
-        ret = EapQtConfigInterface::EapBearerTypeWlan;
-        break;
-    }
-    return ret;
-}
-
-EapQtValidator *EapQtConfigInterfacePrivate::validatorEap(const EapQtExpandedEapType &type,
-    const EapQtConfig::SettingsId id)
-{
-    qDebug("EapQtConfigInterfacePrivate::validatorEap(), this = 0x%08x", this);
-
-    qDebug() << "EapQtConfigInterfacePrivate::validatorEap() - requested EAP: "
-        << type.eapExpandedData().toHex();
-    qDebug() << "EapQtConfigInterfacePrivate::validatorEap() - setting: " << id;
-
-    EapQtValidator *ret = NULL;
-
-    switch (id) {
-
-    case EapQtConfig::Username:
-        switch (type.type()) {
-        case EapQtExpandedEapType::TypeEapAka:
-        case EapQtExpandedEapType::TypeEapFast:
-        case EapQtExpandedEapType::TypeEapGtc:
-        case EapQtExpandedEapType::TypeLeap:
-        case EapQtExpandedEapType::TypeEapMschapv2:
-        case EapQtExpandedEapType::TypePeap:
-        case EapQtExpandedEapType::TypeEapSim:
-        case EapQtExpandedEapType::TypeEapTls:
-        case EapQtExpandedEapType::TypeEapTtls:
-        case EapQtExpandedEapType::TypePap:
-        case EapQtExpandedEapType::TypePlainMschapv2:
-            ret = new EapQtValidatorUsername(type);
-            break;
-        default:
-            ret = NULL;
-        }
-        break;
-
-    case EapQtConfig::Password:
-        switch (type.type()) {
-        case EapQtExpandedEapType::TypeEapGtc:
-        case EapQtExpandedEapType::TypeLeap:
-        case EapQtExpandedEapType::TypeEapMschapv2:
-        case EapQtExpandedEapType::TypePap:
-        case EapQtExpandedEapType::TypePlainMschapv2:
-            ret = new EapQtValidatorPassword(type);
-            break;
-        default:
-            ret = NULL;
-        }
-        break;
-
-    case EapQtConfig::Realm:
-        switch (type.type()) {
-        case EapQtExpandedEapType::TypeEapAka:
-        case EapQtExpandedEapType::TypeEapFast:
-        case EapQtExpandedEapType::TypePeap:
-        case EapQtExpandedEapType::TypeEapSim:
-        case EapQtExpandedEapType::TypeEapTls:
-        case EapQtExpandedEapType::TypeEapTtls:
-            ret = new EapQtValidatorRealm(type);
-            break;
-        default:
-            ret = NULL;
-        }
-        break;
-
-    default:
-        ret = NULL;
-
-    }
-
-    qDebug() << "EapQtConfigInterfacePrivate::validatorEap() - is returning NULL: " << (ret == NULL);
-
-    return ret;
-}
-
-bool EapQtConfigInterfacePrivate::readPacStoreConfiguration(EapQtPacStoreConfig& /* config */)
-{
-    // not supported
-    return false;
-}
-
-bool EapQtConfigInterfacePrivate::savePacStoreConfiguration(const EapQtPacStoreConfig& /* config */)
-{
-    // not supported
-    return false;
-}
-
-EapQtValidator *EapQtConfigInterfacePrivate::validatorPacStore(
-    const EapQtPacStoreConfig::PacStoreSettings id)
-{
-    qDebug("EapQtConfigInterfacePrivate::validatorPacStore(), this = 0x%08x", this);
-
-    EapQtValidator *ret = NULL;
-
-    switch (id) {
-    case EapQtPacStoreConfig::PacStorePassword:
-        ret = new EapQtValidatorPacStorePassword();
-        break;
-    case EapQtPacStoreConfig::PacStorePasswordConfirmation:
-        ret = new EapQtValidatorPacStorePasswordConfirm();
-        break;
-    default:
-        ret = NULL;
-    }
-
-    return ret;
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP-FAST PAC store configuration data
- *
- */
-
-/*
- * %version: 2 %
- */
-
-// System includes
-#include <eapqtpacstoreconfig.h>
-
-// User includes
-#include "eapqtpacstoreconfig_p.h"
-
-/*!
- *  \class EapQtPacStoreConfig
- *  \brief Public implementation of EAP-FAST PAC store configuration data
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtPacStoreConfig::EapQtPacStoreConfig() :
-    d_ptr(new EapQtPacStoreConfigPrivate)
-{
-}
-
-EapQtPacStoreConfig::~EapQtPacStoreConfig()
-{
-    // scoped pointer deleted automatically
-}
-
-QVariant EapQtPacStoreConfig::value(const PacStoreSettings id) const
-{
-    // check for valid range, otherwise memory is consumed for no reason
-    if(id >= PacStoreLast) {
-        qDebug("ERROR: EapQtPacStoreConfig::value - invalid id!");
-        return QVariant::Invalid;
-    }
-    return d_ptr->mPacStoreSettings[id];
-}
-
-void EapQtPacStoreConfig::setValue(const PacStoreSettings id, const QVariant &newValue) const
-{
-    // check for valid range, otherwise memory is consumed for no reason
-    if (id < PacStoreLast) {
-        d_ptr->mPacStoreSettings[id] = newValue;
-    }
-    else {
-        qDebug("ERROR: EapQtPacStoreConfig::setValue - invalid id!");
-    }
-}
-
-void EapQtPacStoreConfig::clear() const
-{
-    d_ptr->mPacStoreSettings.clear();
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP-FAST PAC store configuration data (private part)
- *
- */
-
-/*
- * %version: 2 %
- */
-
-// System includes
-
-// User includes
-#include "eapqtpacstoreconfig_p.h"
-
-/*!
- *  \class EapQtPacStoreConfigPrivate
- *  \brief Private implementation of EAP-FAST PAC store configuration data
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtPacStoreConfigPrivate::EapQtPacStoreConfigPrivate()
-{
-    // nothing to do
-}
-
-EapQtPacStoreConfigPrivate::~EapQtPacStoreConfigPrivate()
-{
-    // nothing to do
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepassword.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP-FAST PAC store password format validator
- *
- */
-
-/*
- * %version: 6 %
- */
-
-// System includes
-#include <HbEditorInterface>
-#include <HbLineEdit>
-
-// User includes
-#include "eapqtvalidatorpacstorepassword.h"
-#include "eapqtconfiginterface_p.h"
-
-/*!
- *  \class EapQtValidatorPacStorePassword
- *  \brief EAP-FAST PAC store password format validator
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtValidatorPacStorePassword::EapQtValidatorPacStorePassword()
-{
-    // nothing to do
-}
-
-EapQtValidatorPacStorePassword::~EapQtValidatorPacStorePassword()
-{
-    // nothing to do
-}
-
-EapQtValidator::Status EapQtValidatorPacStorePassword::validate(const QVariant& /* value */)
-{
-    qDebug("EapQtValidatorPacStorePassword::validate()");
-    // not supported
-    return EapQtValidator::StatusInvalidCharacters;
-}
-
-void EapQtValidatorPacStorePassword::updateEditor(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorPacStorePassword::updateEditor()");
-
-    Q_ASSERT(edit);
-
-    edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength);
-    edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase
-        | Qt::ImhNoPredictiveText);
-
-    // do not set editor class or auto completing since they might leak the pwd
-    HbEditorInterface editInterface(edit);
-    editInterface.setSmileyTheme(HbSmileyTheme());
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepasswordconfirm.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP-FAST PAC store password correctness validator
- *
- */
-
-/*
- * %version: 5 %
- */
-
-// System includes
-#include <HbEditorInterface>
-#include <HbLineEdit>
-
-// User includes
-#include "eapqtvalidatorpacstorepasswordconfirm.h"
-#include "eapqtconfiginterface_p.h"
-
-/*!
- *  \class EapQtValidatorPacStorePasswordConfirm
- *  \brief EAP-FAST PAC store password correctness validator, checks if the
- *         supplied password can be used for opening the existing PAC store
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtValidatorPacStorePasswordConfirm::EapQtValidatorPacStorePasswordConfirm()
-{
-    // nothing to do
-}
-
-EapQtValidatorPacStorePasswordConfirm::~EapQtValidatorPacStorePasswordConfirm()
-{
-    // nothing to do
-}
-
-EapQtValidator::Status EapQtValidatorPacStorePasswordConfirm::validate(const QVariant& /* value */)
-{
-    qDebug("EapQtValidatorPacStorePasswordConfirm::validate()");
-    // not supported
-    return EapQtValidator::StatusInvalid;
-}
-
-void EapQtValidatorPacStorePasswordConfirm::updateEditor(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorPacStorePasswordConfirm::updateEditor()");
-
-    Q_ASSERT(edit);
-
-    edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength);
-    edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase
-        | Qt::ImhNoPredictiveText);
-
-    // do not set editor class or auto completing since they might leak the pwd
-    HbEditorInterface editInterface(edit);
-    editInterface.setSmileyTheme(HbSmileyTheme());
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpassword.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method password format validator
- *
- */
-
-/*
- * %version: 9 %
- */
-
-// System includes
-#include <HbEditorInterface>
-#include <HbLineEdit>
-
-// User includes
-#include "eapqtvalidatorpassword.h"
-#include "eapqtconfiginterface_p.h"
-
-/*!
- *  \class EapQtValidatorPassword
- *  \brief EAP method password format validator
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtValidatorPassword::EapQtValidatorPassword(const EapQtExpandedEapType& type) :
-    mEapType(type)
-{
-}
-
-EapQtValidatorPassword::~EapQtValidatorPassword()
-{
-}
-
-EapQtValidator::Status EapQtValidatorPassword::validate(const QVariant& value)
-{
-    qDebug("EapQtValidatorPassword::validate()");
-
-    Status status(StatusOk);
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePap:
-    case EapQtExpandedEapType::TypePlainMschapv2:
-        status = validateGeneral(value);
-        break;
-    default:
-        // for methods that do not have a password
-        status = StatusInvalid;
-    }
-
-    return status;
-}
-
-EapQtValidator::Status EapQtValidatorPassword::validateGeneral(const QVariant& value)
-{
-    Status status(StatusOk);
-    QString str = value.toString();
-
-    // input must be of correct type
-    if (value.type() != QVariant::String) {
-        status = StatusInvalid;
-    }
-    // zero length password is not ok
-    else if (str.length() <= 0) {
-        status = StatusTooShort;
-    }
-    // check maximum length
-    else if (str.length() > EapQtConfigInterfacePrivate::StringMaxLength) {
-        status = StatusTooLong;
-    }
-
-    // any character is ok for passwords
-    qDebug("EapQtValidatorPassword::validateGeneral - return status: %d", status);
-
-    return status;
-}
-
-void EapQtValidatorPassword::updateEditor(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorPassword::updateEditor()");
-
-    Q_ASSERT(edit);
-    if(edit == NULL) {
-        return;
-    }
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePap:
-    case EapQtExpandedEapType::TypePlainMschapv2:
-        updateEditorGeneral(edit);
-        // falls through on purpose
-    default:
-        // nothing for methods that do not have a password
-        break;
-    }
-}
-
-void EapQtValidatorPassword::updateEditorGeneral(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorPassword::updateEditorGeneral()");
-
-    Q_ASSERT(edit);
-
-    edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength);
-    edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase
-        | Qt::ImhNoPredictiveText);
-
-    // do not set editor class or auto completing since they might leak the pwd
-    HbEditorInterface editInterface(edit);
-    editInterface.setSmileyTheme(HbSmileyTheme());
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorrealm.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method realm format validator
- *
- */
-
-/*
- * %version: 8 %
- */
-
-// System includes
-#include <HbEditorInterface>
-#include <HbLineEdit>
-
-// User includes
-#include "eapqtvalidatorrealm.h"
-#include "eapqtconfiginterface_p.h"
-
-/*!
- *  \class EapQtValidatorRealm
- *  \brief EAP method realm format validator
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtValidatorRealm::EapQtValidatorRealm(const EapQtExpandedEapType& type) :
-    mEapType(type)
-{
-}
-
-EapQtValidatorRealm::~EapQtValidatorRealm()
-{
-}
-
-EapQtValidator::Status EapQtValidatorRealm::validate(const QVariant& value)
-{
-    qDebug("EapQtValidatorRealm::validate()");
-
-    Status status(StatusOk);
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapAka:
-    case EapQtExpandedEapType::TypeEapFast:
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeEapSim:
-    case EapQtExpandedEapType::TypeEapTls:
-    case EapQtExpandedEapType::TypeEapTtls:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePeap:
-        status = validateGeneral(value);
-        break;
-    default:
-        // for methods that do not have a realm
-        status = StatusInvalid;
-    }
-
-    return status;
-}
-
-EapQtValidator::Status EapQtValidatorRealm::validateGeneral(const QVariant& value)
-{
-    Status status(StatusOk);
-    QString str = value.toString();
-
-    // input must be of correct type
-    if (value.type() != QVariant::String) {
-        status = StatusInvalid;
-    }
-    // zero length realm is ok
-    else if (str.length() > EapQtConfigInterfacePrivate::StringMaxLength) {
-        status = StatusTooLong;
-    }
-    // username and realm are separated with @, not allowed to be part of realm
-    else if (str.contains(QChar('@'), Qt::CaseInsensitive)) {
-        status = StatusInvalidCharacters;
-    }
-
-    qDebug("EapQtValidatorRealm::validateGeneral - return status: %d", status);
-
-    return status;
-}
-
-void EapQtValidatorRealm::updateEditor(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorRealm::updateEditor()");
-
-    Q_ASSERT(edit);
-    if(edit == NULL) {
-        return;
-    }
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapAka:
-    case EapQtExpandedEapType::TypeEapFast:
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeEapSim:
-    case EapQtExpandedEapType::TypeEapTls:
-    case EapQtExpandedEapType::TypeEapTtls:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePeap:
-        updateEditorGeneral(edit);
-        // falls through on purpose
-    default:
-        // no realm for other types
-        break;
-    }
-}
-
-void EapQtValidatorRealm::updateEditorGeneral(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorRealm::updateEditorGeneral()");
-
-    Q_ASSERT(edit);
-
-    edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength);
-    edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase
-        | Qt::ImhNoPredictiveText);
-
-    HbEditorInterface editInterface(edit);
-    editInterface.setEditorClass(HbInputEditorClassNetworkDomain);
-
-    HbEditorConstraints constraints = HbEditorConstraintAutoCompletingField;
-    editInterface.setInputConstraints(constraints);
-
-    // no smileys :)
-    editInterface.setSmileyTheme(HbSmileyTheme());
-}
--- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorusername.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP method username format validator
- *
- */
-
-/*
- * %version: 11 %
- */
-
-// System includes
-#include <HbEditorInterface>
-#include <HbLineEdit>
-
-// User includes
-#include "eapqtvalidatorusername.h"
-#include "eapqtconfiginterface_p.h"
-
-/*!
- *  \class EapQtValidatorUsername
- *  \brief EAP method username format validator
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtValidatorUsername::EapQtValidatorUsername(const EapQtExpandedEapType& type) :
-    mEapType(type)
-{
-}
-
-EapQtValidatorUsername::~EapQtValidatorUsername()
-{
-}
-
-EapQtValidator::Status EapQtValidatorUsername::validate(const QVariant& value)
-{
-    qDebug("EapQtValidatorUsername::validate()");
-
-    Status status(StatusOk);
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapAka:
-    case EapQtExpandedEapType::TypeEapFast:
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeEapSim:
-    case EapQtExpandedEapType::TypeEapTls:
-    case EapQtExpandedEapType::TypeEapTtls:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePeap:
-    case EapQtExpandedEapType::TypePap:
-    case EapQtExpandedEapType::TypePlainMschapv2:
-        status = validateGeneral(value);
-        break;
-    default:
-        // for methods that do not have a realm
-        status = StatusInvalid;
-        break;
-    }
-
-    return status;
-}
-
-EapQtValidator::Status EapQtValidatorUsername::validateGeneral(const QVariant& value)
-{
-    Status status(StatusOk);
-    QString str = value.toString();
-
-    // input must be of correct type
-    if (value.type() != QVariant::String) {
-        status = StatusInvalid;
-    }
-    else if (str.length() <= 0 && !isEmptyAllowed()) {
-        status = StatusTooShort;
-    }
-    // zero length username is ok
-    else if (str.length() > EapQtConfigInterfacePrivate::StringMaxLength) {
-        status = StatusTooLong;
-    }
-    else if (!validateCharacters(str)) {
-        status = StatusInvalidCharacters;
-    }
-
-    qDebug("EapQtValidatorUsername::validateGeneral - return status: %d", status);
-
-    return status;
-}
-
-bool EapQtValidatorUsername::isEmptyAllowed()
-{
-    qDebug("EapQtValidatorUsername::isEmptyAllowed()");
-
-    bool ret(true);
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePap:
-    case EapQtExpandedEapType::TypePlainMschapv2:
-        ret = false;
-        break;
-    default:
-        // other methods can have empty username
-        break;
-    }
-
-    return ret;
-}
-
-bool EapQtValidatorUsername::validateCharacters(const QString& str)
-{
-    qDebug("EapQtValidatorUsername::validateCharacters()");
-
-    bool ret(true);
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapAka:
-    case EapQtExpandedEapType::TypeEapFast:
-    case EapQtExpandedEapType::TypeEapSim:
-    case EapQtExpandedEapType::TypeEapTls:
-    case EapQtExpandedEapType::TypeEapTtls:
-    case EapQtExpandedEapType::TypePeap:
-        // these methods have a separate UI setting for realm,
-        // hence @ is not allowed in username field
-        ret = !(str.contains(QChar('@'), Qt::CaseInsensitive));
-        break;
-    default:
-        // username field can contain realm separated with @
-        break;
-    }
-
-    return ret;
-}
-
-void EapQtValidatorUsername::updateEditor(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorUsername::updateEditor()");
-
-    Q_ASSERT(edit);
-    if(edit == NULL) {
-        return;
-    }
-
-    switch (mEapType.type()) {
-    case EapQtExpandedEapType::TypeEapAka:
-    case EapQtExpandedEapType::TypeEapFast:
-    case EapQtExpandedEapType::TypeEapGtc:
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    case EapQtExpandedEapType::TypeEapSim:
-    case EapQtExpandedEapType::TypeEapTls:
-    case EapQtExpandedEapType::TypeEapTtls:
-    case EapQtExpandedEapType::TypeLeap:
-    case EapQtExpandedEapType::TypePeap:
-    case EapQtExpandedEapType::TypePap:
-    case EapQtExpandedEapType::TypePlainMschapv2:
-        updateEditorGeneral(edit);
-        // falls through on purpose
-    default:
-        // no editor preferences for other types
-        break;
-    }
-}
-
-void EapQtValidatorUsername::updateEditorGeneral(HbLineEdit* const edit)
-{
-    qDebug("EapQtValidatorUsername::updateEditorGeneral()");
-
-    Q_ASSERT(edit);
-
-    edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength);
-    edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase
-        | Qt::ImhNoPredictiveText);
-
-    HbEditorInterface editInterface(edit);
-    editInterface.setEditorClass(HbInputEditorClassUsername);
-
-    HbEditorConstraints constraints = HbEditorConstraintAutoCompletingField;
-    editInterface.setInputConstraints(constraints);
-
-    // no smileys :)
-    editInterface.setSmileyTheme(HbSmileyTheme());
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/bwins/eapqtplugininfou.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-EXPORTS
-	??0EapQtPluginHandle@@QAE@ABVEapQtExpandedEapType@@@Z @ 1 NONAME ; EapQtPluginHandle::EapQtPluginHandle(class EapQtExpandedEapType const &)
-	?type@EapQtPluginHandle@@QBE?AVEapQtExpandedEapType@@XZ @ 2 NONAME ; class EapQtExpandedEapType EapQtPluginHandle::type(void) const
-	?orderNumber@EapQtPluginInfo@@QBEHXZ @ 3 NONAME ; int EapQtPluginInfo::orderNumber(void) const
-	??4EapQtPluginInfo@@QAEAAV0@ABV0@@Z @ 4 NONAME ; class EapQtPluginInfo & EapQtPluginInfo::operator=(class EapQtPluginInfo const &)
-	??1EapQtPluginHandle@@QAE@XZ @ 5 NONAME ; EapQtPluginHandle::~EapQtPluginHandle(void)
-	??1EapQtExpandedEapType@@QAE@XZ @ 6 NONAME ; EapQtExpandedEapType::~EapQtExpandedEapType(void)
-	?pluginId@EapQtPluginHandle@@QBE?AW4Plugin@1@XZ @ 7 NONAME ; enum EapQtPluginHandle::Plugin EapQtPluginHandle::pluginId(void) const
-	??0EapQtExpandedEapType@@QAE@W4Type@0@@Z @ 8 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(enum EapQtExpandedEapType::Type)
-	??0EapQtPluginInfo@@QAE@ABVEapQtPluginHandle@@ABVQString@@H@Z @ 9 NONAME ; EapQtPluginInfo::EapQtPluginInfo(class EapQtPluginHandle const &, class QString const &, int)
-	??0EapQtExpandedEapType@@QAE@ABVQByteArray@@@Z @ 10 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(class QByteArray const &)
-	??0EapQtPluginInfo@@QAE@ABV0@@Z @ 11 NONAME ; EapQtPluginInfo::EapQtPluginInfo(class EapQtPluginInfo const &)
-	??0EapQtExpandedEapType@@QAE@ABV0@@Z @ 12 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(class EapQtExpandedEapType const &)
-	??0EapQtExpandedEapType@@QAE@XZ @ 13 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(void)
-	?localizationId@EapQtPluginInfo@@QBE?AVQString@@XZ @ 14 NONAME ; class QString EapQtPluginInfo::localizationId(void) const
-	??0EapQtPluginHandle@@QAE@XZ @ 15 NONAME ; EapQtPluginHandle::EapQtPluginHandle(void)
-	??0EapQtPluginHandle@@QAE@W4Plugin@0@@Z @ 16 NONAME ; EapQtPluginHandle::EapQtPluginHandle(enum EapQtPluginHandle::Plugin)
-	??0EapQtPluginHandle@@QAE@ABV0@@Z @ 17 NONAME ; EapQtPluginHandle::EapQtPluginHandle(class EapQtPluginHandle const &)
-	??0EapQtPluginHandle@@QAE@ABVEapQtExpandedEapType@@H@Z @ 18 NONAME ; EapQtPluginHandle::EapQtPluginHandle(class EapQtExpandedEapType const &, int)
-	??4EapQtPluginHandle@@QAEAAV0@ABV0@@Z @ 19 NONAME ; class EapQtPluginHandle & EapQtPluginHandle::operator=(class EapQtPluginHandle const &)
-	??4EapQtExpandedEapType@@QAEAAV0@ABV0@@Z @ 20 NONAME ; class EapQtExpandedEapType & EapQtExpandedEapType::operator=(class EapQtExpandedEapType const &)
-	?protocolImplementationUid@EapQtPluginHandle@@QBEHXZ @ 21 NONAME ; int EapQtPluginHandle::protocolImplementationUid(void) const
-	?eapExpandedData@EapQtExpandedEapType@@QBE?AVQByteArray@@XZ @ 22 NONAME ; class QByteArray EapQtExpandedEapType::eapExpandedData(void) const
-	??8EapQtExpandedEapType@@QBE_NABV0@@Z @ 23 NONAME ; bool EapQtExpandedEapType::operator==(class EapQtExpandedEapType const &) const
-	?pluginHandle@EapQtPluginInfo@@QBE?AVEapQtPluginHandle@@XZ @ 24 NONAME ; class EapQtPluginHandle EapQtPluginInfo::pluginHandle(void) const
-	??9EapQtExpandedEapType@@QBE_NABV0@@Z @ 25 NONAME ; bool EapQtExpandedEapType::operator!=(class EapQtExpandedEapType const &) const
-	?type@EapQtExpandedEapType@@QBE?AW4Type@1@XZ @ 26 NONAME ; enum EapQtExpandedEapType::Type EapQtExpandedEapType::type(void) const
-	??9EapQtPluginHandle@@QBE_NABV0@@Z @ 27 NONAME ; bool EapQtPluginHandle::operator!=(class EapQtPluginHandle const &) const
-	??8EapQtPluginHandle@@QBE_NABV0@@Z @ 28 NONAME ; bool EapQtPluginHandle::operator==(class EapQtPluginHandle const &) const
-	??1EapQtPluginInfo@@QAE@XZ @ 29 NONAME ; EapQtPluginInfo::~EapQtPluginInfo(void)
-
--- a/securitysettings/qtconfigutils/eapqtplugininfo/eabi/eapqtplugininfou.def	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-EXPORTS
-	_ZN15EapQtPluginInfoC1ERK17EapQtPluginHandleRK7QStringi @ 1 NONAME
-	_ZN15EapQtPluginInfoC1ERKS_ @ 2 NONAME
-	_ZN15EapQtPluginInfoC2ERK17EapQtPluginHandleRK7QStringi @ 3 NONAME
-	_ZN15EapQtPluginInfoC2ERKS_ @ 4 NONAME
-	_ZN15EapQtPluginInfoD1Ev @ 5 NONAME
-	_ZN15EapQtPluginInfoD2Ev @ 6 NONAME
-	_ZN15EapQtPluginInfoaSERKS_ @ 7 NONAME
-	_ZN17EapQtPluginHandleC1ENS_6PluginE @ 8 NONAME
-	_ZN17EapQtPluginHandleC1ERK20EapQtExpandedEapType @ 9 NONAME
-	_ZN17EapQtPluginHandleC1ERK20EapQtExpandedEapTypei @ 10 NONAME
-	_ZN17EapQtPluginHandleC1ERKS_ @ 11 NONAME
-	_ZN17EapQtPluginHandleC1Ev @ 12 NONAME
-	_ZN17EapQtPluginHandleC2ENS_6PluginE @ 13 NONAME
-	_ZN17EapQtPluginHandleC2ERK20EapQtExpandedEapType @ 14 NONAME
-	_ZN17EapQtPluginHandleC2ERK20EapQtExpandedEapTypei @ 15 NONAME
-	_ZN17EapQtPluginHandleC2ERKS_ @ 16 NONAME
-	_ZN17EapQtPluginHandleC2Ev @ 17 NONAME
-	_ZN17EapQtPluginHandleD1Ev @ 18 NONAME
-	_ZN17EapQtPluginHandleD2Ev @ 19 NONAME
-	_ZN17EapQtPluginHandleaSERKS_ @ 20 NONAME
-	_ZN20EapQtExpandedEapTypeC1ENS_4TypeE @ 21 NONAME
-	_ZN20EapQtExpandedEapTypeC1ERK10QByteArray @ 22 NONAME
-	_ZN20EapQtExpandedEapTypeC1ERKS_ @ 23 NONAME
-	_ZN20EapQtExpandedEapTypeC1Ev @ 24 NONAME
-	_ZN20EapQtExpandedEapTypeC2ENS_4TypeE @ 25 NONAME
-	_ZN20EapQtExpandedEapTypeC2ERK10QByteArray @ 26 NONAME
-	_ZN20EapQtExpandedEapTypeC2ERKS_ @ 27 NONAME
-	_ZN20EapQtExpandedEapTypeC2Ev @ 28 NONAME
-	_ZN20EapQtExpandedEapTypeD1Ev @ 29 NONAME
-	_ZN20EapQtExpandedEapTypeD2Ev @ 30 NONAME
-	_ZN20EapQtExpandedEapTypeaSERKS_ @ 31 NONAME
-	_ZNK15EapQtPluginInfo11orderNumberEv @ 32 NONAME
-	_ZNK15EapQtPluginInfo12pluginHandleEv @ 33 NONAME
-	_ZNK15EapQtPluginInfo14localizationIdEv @ 34 NONAME
-	_ZNK17EapQtPluginHandle25protocolImplementationUidEv @ 35 NONAME
-	_ZNK17EapQtPluginHandle4typeEv @ 36 NONAME
-	_ZNK17EapQtPluginHandle8pluginIdEv @ 37 NONAME
-	_ZNK17EapQtPluginHandleeqERKS_ @ 38 NONAME
-	_ZNK17EapQtPluginHandleneERKS_ @ 39 NONAME
-	_ZNK20EapQtExpandedEapType15eapExpandedDataEv @ 40 NONAME
-	_ZNK20EapQtExpandedEapType4typeEv @ 41 NONAME
-	_ZNK20EapQtExpandedEapTypeeqERKS_ @ 42 NONAME
-	_ZNK20EapQtExpandedEapTypeneERKS_ @ 43 NONAME
-
--- a/securitysettings/qtconfigutils/eapqtplugininfo/eapqtplugininfo.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#   QT EAP plugin information handling component
-#
-
-# %version: 14 %
-
-
-TEMPLATE            = lib
-TARGET              = eapqtplugininfo
-
-DEFINES             += BUILD_EAP_QT_PLUGIN_INFO_DLL
-DEPENDPATH          += . 
-
-# Storage for generated files
-MOC_DIR     = _build
-RCC_DIR     = _build
-OBJECTS_DIR = _build
-
-# hb config
-CONFIG += hb
-    
-HEADERS += \
-	inc/eapqtexpandedeaptype_p.h \
-	inc/eapqtpluginhandle_p.h \
-	inc/eapqtplugininfo_p.h
-	
-SOURCES += \
-    src/eapqtplugininfo.cpp \
-    src/eapqtplugininfo_p.cpp \
-    src/eapqtexpandedeaptype.cpp \
-    src/eapqtexpandedeaptype_p.cpp \
-    src/eapqtpluginhandle.cpp \
-    src/eapqtpluginhandle_p.cpp
-
-symbian { 
-    # path to def files
-    defFilePath = .
-    
-    # symbian libs
-    LIBS += \
-        -leapsymbiantools \
-        -leaptools
-    
-    TARGET.UID3 = 0x2002C2FD
-    TARGET.EPOCALLOWDLLDATA = 1
-    
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-            
-    BLD_INF_RULES.prj_exports += \ 
-  		"rom/eapqtplugininfo.iby CORE_MW_LAYER_IBY_EXPORT_PATH(eapqtplugininfo.iby)"        
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtexpandedeaptype_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *   Expanded EAP type QT data structure
- *
- */
-
-/*
- * %version: 4 %
- */
-
-#ifndef EAPQTEXPANDEDEAPTYPE_P_H
-#define EAPQTEXPANDEDEAPTYPE_P_H
-
-// System includes
-#include <QByteArray>
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtExpandedEapTypePrivate
-{
-
-public:
-
-    // Data types
-
-    EapQtExpandedEapTypePrivate();
-    EapQtExpandedEapTypePrivate(const EapQtExpandedEapType::Type type);
-    EapQtExpandedEapTypePrivate(const QByteArray &data);
-    
-    ~EapQtExpandedEapTypePrivate();
-
-private:
-
-    Q_DISABLE_COPY(EapQtExpandedEapTypePrivate)
-
-private: // data
-
-    QByteArray mData;
-    EapQtExpandedEapType::Type mType;
-
-    // Friend classes
-    friend class EapQtExpandedEapType;
-
-};
-
-#endif // EAPQTEXPANDEDEAPTYPE_P_H
--- a/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtpluginhandle_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel EAP plugin information
- *
- */
-
-/*
- * %version: 3 %
- */
-
-
-#ifndef EAPQTPLUGINHANDLE_P_H
-#define EAPQTPLUGINHANDLE_P_H
-
-// System includes
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtPluginHandlePrivate
-{
-
-public:
-
-    // Data types
-
-    EapQtPluginHandlePrivate(const EapQtExpandedEapType& type, const int uid);
-    ~EapQtPluginHandlePrivate();
-
-private:
-
-    EapQtPluginHandlePrivate();
-    Q_DISABLE_COPY(EapQtPluginHandlePrivate)
-
-private: // data
-
-    EapQtExpandedEapType mType;
-    int mProtocolImplementationUid;
-
-    // Friend classes
-    friend class EapQtPluginHandle;
-
-};
-
-#endif // EAPQTPLUGINHANDLE_P_H
--- a/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtplugininfo_p.h	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Control Panel EAP plugin information
- *
- */
-
-/*
- * %version: 4 %
- */
-
-#ifndef EAPQTPLUGININFO_P_H
-#define EAPQTPLUGININFO_P_H
-
-// System includes
-#include <QString>
-#include <eapqtpluginhandle.h>
-
-// User includes
-
-// Forward declarations
-
-// External data types
-
-// Constants
-
-// Class declaration
-class EapQtPluginInfoPrivate
-{
-
-public:
-
-    // Data types
-
-    EapQtPluginInfoPrivate(const EapQtPluginHandle &mHandle, const QString &locId,
-        const int orderNumber);
-    ~EapQtPluginInfoPrivate();
-
-private:
-
-    EapQtPluginInfoPrivate();
-    Q_DISABLE_COPY(EapQtPluginInfoPrivate)
-
-private: // data
-
-    EapQtPluginHandle mHandle;
-    QString mLocId;
-    int mOrderNumber;
-
-    // Friend classes
-    friend class EapQtPluginInfo;
-
-};
-
-#endif // EAPPLUGININFO_P_H
--- a/securitysettings/qtconfigutils/eapqtplugininfo/rom/eapqtplugininfo.iby	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
-*   EAP method configuration QT interface
-*
-*/
-
-/*
-* %version: 4 %
-*/
-
-#ifndef EAPQTPLUGININFO_IBY
-#define EAPQTPLUGININFO_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PROTOCOL_WLAN
-
-file=ABI_DIR/BUILD_DIR/eapqtplugininfo.dll 	SHARED_LIB_DIR/eapqtplugininfo.dll
-
-#endif  // __PROTOCOL_WLAN
-
-#endif  // EAPQTPLUGININFO_IBY
--- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Expanded EAP type QT data structure
- *
- */
-
-/*
- * %version: 13 %
- */
-
-// System includes
-#include <eapqtexpandedeaptype.h>
-
-// User includes
-#include "eapqtexpandedeaptype_p.h"
-
-/*!
- *  \class EapQtExpandedEapType
- *  \brief Public implementation of expanded EAP type QT data structure
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtExpandedEapType::EapQtExpandedEapType() :
-    d_ptr(new EapQtExpandedEapTypePrivate)
-{
-}
-
-EapQtExpandedEapType::EapQtExpandedEapType(const Type type) :
-    d_ptr(new EapQtExpandedEapTypePrivate(type))
-{
-}
-
-EapQtExpandedEapType::EapQtExpandedEapType(const QByteArray &data) :
-    d_ptr(new EapQtExpandedEapTypePrivate(data))
-{
-}
-
-EapQtExpandedEapType::EapQtExpandedEapType(const EapQtExpandedEapType &type) :
-    d_ptr(new EapQtExpandedEapTypePrivate)
-{
-    d_ptr->mData = type.d_ptr->mData;
-    d_ptr->mType = type.d_ptr->mType;
-}
-
-EapQtExpandedEapType::~EapQtExpandedEapType()
-{
-    // scoped pointer delete
-}
-
-QByteArray EapQtExpandedEapType::eapExpandedData() const
-{
-    return d_ptr->mData;
-}
-
-EapQtExpandedEapType::Type EapQtExpandedEapType::type() const
-{
-    return d_ptr->mType;
-}
-
-bool EapQtExpandedEapType::operator ==(const EapQtExpandedEapType &right_type_value) const
-{
-    return (d_ptr->mData == right_type_value.d_ptr->mData) && (d_ptr->mType == right_type_value.d_ptr->mType);
-}
-
-bool EapQtExpandedEapType::operator !=(const EapQtExpandedEapType &right_type_value) const
-{
-    return (d_ptr->mData != right_type_value.d_ptr->mData) || (d_ptr->mType != right_type_value.d_ptr->mType);
-}
-
-EapQtExpandedEapType& EapQtExpandedEapType::operator=(const EapQtExpandedEapType &type)
-{
-    // check if assigning to myself
-    if (this != &type) {
-        d_ptr.reset(new EapQtExpandedEapTypePrivate);
-        d_ptr->mData = type.d_ptr->mData;
-        d_ptr->mType = type.d_ptr->mType;
-    }
-    return *this;
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Expanded EAP type QT data structure
- *
- */
-
-/*
- * %version: 6 %
- */
-
-// System includes
-#include <EapExpandedType.h>
-
-// User includes
-#include "eapqtexpandedeaptype_p.h"
-
-/*!
- *  \class EapQtExpandedEapTypePrivate
- *  \brief Private implementation of expanded EAP type QT data structure
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtExpandedEapTypePrivate::EapQtExpandedEapTypePrivate()
-{
-    mData.clear();
-    mType = EapQtExpandedEapType::TypeUndefined;
-}
-
-EapQtExpandedEapTypePrivate::EapQtExpandedEapTypePrivate(const EapQtExpandedEapType::Type type)
-{
-    TBuf8<KEapExpandedTypeLength> tmpType;
-    TEapExpandedType tmpEapType;
-
-    mType = type;
-    mData.clear();
-
-    // little bit playing with the types and constructors below to convert to QByteArray
-
-    switch (type) {
-    case EapQtExpandedEapType::TypeEapAka:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeAka.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeEapFast:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeFast.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeEapGtc:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeGtc.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeLeap:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeLeap.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeEapMschapv2:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeMsChapv2.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypePeap:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypePeap.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeEapSim:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeSim.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeEapTls:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeTls.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeEapTtls:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeTtls.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeProtectedSetup:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeProtectedSetup.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypePap:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeTtlsPap.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypePlainMschapv2:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedPlainMsChapv2.GetType());
-        tmpEapType = localTmpEapType;
-    }
-        break;
-    case EapQtExpandedEapType::TypeUndefined:
-    default:
-    {
-        TEapExpandedType localTmpEapType(*EapExpandedTypeNone.GetType());
-        tmpEapType = localTmpEapType;
-        mType = EapQtExpandedEapType::TypeUndefined;
-    }
-        break;
-    }
-
-    tmpType = tmpEapType.GetValue();
-    mData.append(reinterpret_cast<const char*> (tmpType.Ptr()), tmpType.Length());
-}
-
-EapQtExpandedEapTypePrivate::EapQtExpandedEapTypePrivate(const QByteArray &data)
-{
-    mData = data;
-
-    TEapExpandedType tmpType;
-    tmpType.SetValue(data.data(), data.size());
-
-    if (tmpType.GetValue() == *(EapExpandedTypeGtc.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapGtc;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeTls.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapTls;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeLeap.GetType())) {
-        mType = EapQtExpandedEapType::TypeLeap;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeSim.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapSim;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeAka.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapAka;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeTtls.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapTtls;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypePeap.GetType())) {
-        mType = EapQtExpandedEapType::TypePeap;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeMsChapv2.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapMschapv2;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeFast.GetType())) {
-        mType = EapQtExpandedEapType::TypeEapFast;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeProtectedSetup.GetType())) {
-        mType = EapQtExpandedEapType::TypeProtectedSetup;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedTypeTtlsPap.GetType())) {
-        mType = EapQtExpandedEapType::TypePap;
-
-    }
-    else if (tmpType.GetValue() == *(EapExpandedPlainMsChapv2.GetType())) {
-        mType = EapQtExpandedEapType::TypePlainMschapv2;
-    }
-    else {
-        mType = EapQtExpandedEapType::TypeUndefined;
-        mData = QByteArray(reinterpret_cast<const char*> ((*EapExpandedTypeNone.GetType()).Ptr()),
-            (*EapExpandedTypeNone.GetType()).Length());
-    }
-    qDebug("EapQtExpandedEapTypePrivate(const QByteArray data) - mType: %d", mType);
-}
-
-EapQtExpandedEapTypePrivate::~EapQtExpandedEapTypePrivate()
-{
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Handle to EAP plugin information
- *
- */
-
-/*
- * %version: 16 %
- */
-
-// System includes
-#include <eapqtpluginhandle.h>
-
-// User includes
-#include "eapqtpluginhandle_p.h"
-
-/*!
- *  \class EapQtPluginHandle
- *  \brief Public implementation of handle to EAP plugin information
- */
-
-// External function prototypes
-
-// Local constants
-
-struct EapQtPluginHandleMapper
-{
-    EapQtExpandedEapType::Type mType;
-    int mUid;
-};
-
-// mapper from EapQtPluginHandle::Plugin to default
-// EapQtExpandedEapType & protocol plugin implementation UID pair
-static const EapQtPluginHandleMapper handleMapper[EapQtPluginHandle::PluginLast] = { 
-    {EapQtExpandedEapType::TypeUndefined,     0x00000000},
-    {EapQtExpandedEapType::TypeEapAka,        0x102073c2},
-    {EapQtExpandedEapType::TypeEapFast,       0x2000BF12},
-    {EapQtExpandedEapType::TypeEapGtc,        0x101f8e80},
-    {EapQtExpandedEapType::TypeLeap,          0x101f8ea7},
-    {EapQtExpandedEapType::TypeEapMschapv2,   0x101f8e67},
-    {EapQtExpandedEapType::TypePeap,          0x101f8e4e},
-    {EapQtExpandedEapType::TypeEapSim,        0x101f8e4b},
-    {EapQtExpandedEapType::TypeEapTls,        0x101f8e4d},
-    {EapQtExpandedEapType::TypeEapTtls,       0x101f8e4f},
-    {EapQtExpandedEapType::TypePap,           0x2001B2F2},
-    {EapQtExpandedEapType::TypePlainMschapv2, 0x101f8e7b}
-};
-
-// mapper from EapQtExpandedEapType::Type to EapQtPluginHandle::Plugin
-static const EapQtPluginHandle::Plugin typeMapper[EapQtExpandedEapType::TypeLast] = {
-    EapQtPluginHandle::PluginUndefined, 
-    EapQtPluginHandle::PluginEapAka,
-    EapQtPluginHandle::PluginEapFast, 
-    EapQtPluginHandle::PluginEapGtc,
-    EapQtPluginHandle::PluginLeap, 
-    EapQtPluginHandle::PluginEapMschapv2,
-    EapQtPluginHandle::PluginPeap, 
-    EapQtPluginHandle::PluginEapSim,
-    EapQtPluginHandle::PluginEapTls, 
-    EapQtPluginHandle::PluginEapTtls,
-    EapQtPluginHandle::PluginUndefined, /* wps does not have a plugin */
-    EapQtPluginHandle::PluginPap,
-    EapQtPluginHandle::PluginPlainMschapv2 
-};
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtPluginHandle::EapQtPluginHandle() :
-    d_ptr(new EapQtPluginHandlePrivate(handleMapper[PluginUndefined].mType,
-        handleMapper[PluginUndefined].mUid))
-{
-}
-
-EapQtPluginHandle::EapQtPluginHandle(const Plugin id) :
-    d_ptr(NULL)
-{
-    Plugin localId;
-    if (id < PluginLast) {
-        localId = id;
-    }
-    else {
-        localId = PluginUndefined;
-    }
-    d_ptr.reset(new EapQtPluginHandlePrivate(handleMapper[localId].mType,
-        handleMapper[localId].mUid));
-}
-
-EapQtPluginHandle::EapQtPluginHandle(const EapQtExpandedEapType& type, const int uid) :
-    d_ptr(new EapQtPluginHandlePrivate(type, uid))
-{
-}
-
-EapQtPluginHandle::EapQtPluginHandle(const EapQtExpandedEapType& type) :
-    d_ptr(new EapQtPluginHandlePrivate(type, handleMapper[typeMapper[type.type()]].mUid))
-{
-}
-
-EapQtPluginHandle::EapQtPluginHandle(const EapQtPluginHandle& handle) :
-    d_ptr(new EapQtPluginHandlePrivate(handle.type(), handle.protocolImplementationUid()))
-{
-}
-
-EapQtPluginHandle::~EapQtPluginHandle()
-{
-    // scoped pointer delete
-}
-
-EapQtExpandedEapType EapQtPluginHandle::type() const
-{
-    return d_ptr->mType;
-}
-
-int EapQtPluginHandle::protocolImplementationUid() const
-{
-    return d_ptr->mProtocolImplementationUid;
-}
-
-EapQtPluginHandle::Plugin EapQtPluginHandle::pluginId() const
-{
-    return typeMapper[d_ptr->mType.type()];
-}
-
-EapQtPluginHandle& EapQtPluginHandle::operator=(const EapQtPluginHandle &handle)
-{
-    // check if assigning to myself
-    if (this != &handle) {
-        d_ptr.reset(new EapQtPluginHandlePrivate(handle.type(), handle.protocolImplementationUid()));
-    }
-    return *this;
-}
-
-bool EapQtPluginHandle::operator ==(const EapQtPluginHandle &right_type_value) const
-{
-    return (right_type_value.d_ptr->mProtocolImplementationUid == d_ptr->mProtocolImplementationUid)
-        && (right_type_value.d_ptr->mType == d_ptr->mType);
-}
-
-bool EapQtPluginHandle::operator !=(const EapQtPluginHandle &right_type_value) const
-{
-    return (right_type_value.d_ptr->mProtocolImplementationUid != d_ptr->mProtocolImplementationUid)
-        || (right_type_value.d_ptr->mType != d_ptr->mType);
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   Handle to EAP plugin information
- *
- */
-
-/*
- * %version: 2 %
- */
-
-// System includes
-
-// User includes
-#include "eapqtpluginhandle_p.h"
-
-/*!
- *  \class EapQtPluginHandlePrivate
- *  \brief Private implementation of handle to EAP plugin information
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtPluginHandlePrivate::EapQtPluginHandlePrivate(const EapQtExpandedEapType& type, const int uid) :
-    mType(type), mProtocolImplementationUid(uid)
-{
-}
-
-EapQtPluginHandlePrivate::~EapQtPluginHandlePrivate()
-{
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP plugin information
- *
- */
-
-/*
- * %version: 6 %
- */
-
-// System includes
-#include <QList>
-#include <QVariant>
-#include <eapqtpluginhandle.h>
-#include <eapqtplugininfo.h>
-
-// User includes
-#include "eapqtplugininfo_p.h"
-
-/*!
- *  \class EapQtPluginInfo
- *  \brief Public implementation of EAP plugin information
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtPluginInfo::EapQtPluginInfo(const EapQtPluginHandle &id, const QString &locId,
-    const int orderNumber) :
-    d_ptr(new EapQtPluginInfoPrivate(id, locId, orderNumber))
-{
-}
-
-EapQtPluginInfo::EapQtPluginInfo(const EapQtPluginInfo &info) :
-    d_ptr(
-        new EapQtPluginInfoPrivate(info.pluginHandle(), info.localizationId(), info.orderNumber()))
-{
-}
-
-EapQtPluginInfo& EapQtPluginInfo::operator=(const EapQtPluginInfo &info)
-{
-    // check if assigning to myself
-    if (this != &info) {
-        d_ptr.reset(new EapQtPluginInfoPrivate(info.pluginHandle(), info.localizationId(),
-            info.orderNumber()));
-    }
-    return *this;
-}
-
-EapQtPluginInfo::~EapQtPluginInfo()
-{
-    // scoped pointer delete
-}
-
-EapQtPluginHandle EapQtPluginInfo::pluginHandle() const
-{
-    return d_ptr->mHandle;
-}
-
-QString EapQtPluginInfo::localizationId() const
-{
-    return d_ptr->mLocId;
-}
-
-int EapQtPluginInfo::orderNumber() const
-{
-    return d_ptr->mOrderNumber;
-}
--- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo_p.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *   EAP plugin information
- *
- */
-
-/*
- * %version: 2 %
- */
-
-// System includes
-
-// User includes
-#include "eapqtplugininfo_p.h"
-
-/*!
- *  \class EapQtPluginInfoPrivate
- *  \brief Private implementation of EAP plugin information
- */
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-EapQtPluginInfoPrivate::EapQtPluginInfoPrivate(const EapQtPluginHandle& handle,
-    const QString &locId, const int orderNumber) :
-    mHandle(handle), mLocId(locId), mOrderNumber(orderNumber)
-{
-}
-
-EapQtPluginInfoPrivate::~EapQtPluginInfoPrivate()
-{
-}
--- a/securitysettings/qtconfigutils/qtconfigutils.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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: 
-#    EAP QT utility components
-#
-
-# %version: 5 %
-
-TEMPLATE = subdirs
-SUBDIRS = eapqtplugininfo eapqtconfiginterface
-CONFIG += ordered
--- a/securitysettings/securitysettings.pro	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#   Project definition file for accesssec package QT components
-#
-# %version: 7 %
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS += \
-  qtconfigutils \
-  cpwlansecurityuiplugins \
-  cpeapuiplugins \
-  eapqtdialogs
-
-CONFIG += ordered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_4_0.dtd	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,86 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>  
--- a/sysdef_1_5_1.dtd	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  proFile CDATA #IMPLIED
-  qmakeArgs CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2001-2009 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: Build information file
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+#include "../wapisecuritysettingsui/stub/group/bld.inf"
+#include "../wepsecuritysettingsui/group/bld.inf"
+#include "../wifiprotectedsetup/group/bld.inf"
+#include "../wlaneapsettingsui/group/bld.inf"
+#include "../wpasecuritysettingsui/group/bld.inf"
+
+PRJ_TESTMMPFILES
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/bwinscw/wapisecuritysettingsuiu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,12 @@
+EXPORTS
+	?LoadL@CWAPISecuritySettings@@QAEXKAAVCMDBSession@CommsDat@@@Z @ 1 NONAME ; void CWAPISecuritySettings::LoadL(unsigned long, class CommsDat::CMDBSession &)
+	?SetPreSharedKeyL@CWAPISecuritySettings@@QAEXW4TWapiKeyFormat@1@ABVTDesC16@@@Z @ 2 NONAME ; void CWAPISecuritySettings::SetPreSharedKeyL(enum CWAPISecuritySettings::TWapiKeyFormat, class TDesC16 const &)
+	?EditL@CWAPISecuritySettings@@QAEHAAVCWAPISecuritySettingsUi@@ABVTDesC16@@@Z @ 3 NONAME ; int CWAPISecuritySettings::EditL(class CWAPISecuritySettingsUi &, class TDesC16 const &)
+	?SaveL@CWAPISecuritySettings@@QBEXKAAVCMDBSession@CommsDat@@@Z @ 4 NONAME ; void CWAPISecuritySettings::SaveL(unsigned long, class CommsDat::CMDBSession &) const
+	?NewL@CWAPISecuritySettings@@SAPAV1@XZ @ 5 NONAME ; class CWAPISecuritySettings * CWAPISecuritySettings::NewL(void)
+	??1CWAPISecuritySettings@@UAE@XZ @ 6 NONAME ; CWAPISecuritySettings::~CWAPISecuritySettings(void)
+	??1CWAPISecuritySettingsUi@@UAE@XZ @ 7 NONAME ; CWAPISecuritySettingsUi::~CWAPISecuritySettingsUi(void)
+	?NewL@CWAPISecuritySettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 8 NONAME ; class CWAPISecuritySettingsUi * CWAPISecuritySettingsUi::NewL(class CEikonEnv &)
+	?DeleteAPSpecificDataL@CWAPISecuritySettings@@QAEXH@Z @ 9 NONAME ; void CWAPISecuritySettings::DeleteAPSpecificDataL(int)
+	?IsValid@CWAPISecuritySettings@@QBEHXZ @ 10 NONAME ; int CWAPISecuritySettings::IsValid(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/eabi/wapisecuritysettingsuiu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,16 @@
+EXPORTS
+	_ZN21CWAPISecuritySettings16SetPreSharedKeyLENS_14TWapiKeyFormatERK7TDesC16 @ 1 NONAME
+	_ZN21CWAPISecuritySettings21DeleteAPSpecificDataLEi @ 2 NONAME
+	_ZN21CWAPISecuritySettings4NewLEv @ 3 NONAME
+	_ZN21CWAPISecuritySettings5EditLER23CWAPISecuritySettingsUiRK7TDesC16 @ 4 NONAME
+	_ZN21CWAPISecuritySettings5LoadLEmRN8CommsDat11CMDBSessionE @ 5 NONAME
+	_ZN21CWAPISecuritySettingsD0Ev @ 6 NONAME
+	_ZN21CWAPISecuritySettingsD1Ev @ 7 NONAME
+	_ZN21CWAPISecuritySettingsD2Ev @ 8 NONAME
+	_ZN23CWAPISecuritySettingsUi4NewLER9CEikonEnv @ 9 NONAME
+	_ZN23CWAPISecuritySettingsUiD0Ev @ 10 NONAME
+	_ZN23CWAPISecuritySettingsUiD1Ev @ 11 NONAME
+	_ZN23CWAPISecuritySettingsUiD2Ev @ 12 NONAME
+	_ZNK21CWAPISecuritySettings5SaveLEmRN8CommsDat11CMDBSessionE @ 13 NONAME
+	_ZNK21CWAPISecuritySettings7IsValidEv @ 14 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsui.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project wapisecuritysettingsui
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+#ifndef __WAPISECURITYSETTINGSUI_IBY__
+#define __WAPISECURITYSETTINGSUI_IBY__
+
+#ifdef __PROTOCOL_WLAN
+#ifndef FF_WLAN_WAPI_INCLUDE_IN_ROM
+// Use stub implementation
+FILE=ABI_DIR\BUILD_DIR\wapisecuritysettingsui.dll		SHARED_LIB_DIR\wapisecuritysettingsui.dll
+#else
+// Use real implementation
+FILE=ABI_DIR\BUILD_DIR\realwapisecuritysettingsui.dll	SHARED_LIB_DIR\wapisecuritysettingsui.dll
+#endif // FF_WLAN_WAPI_INCLUDE_IN_ROM
+#endif // __PROTOCOL_WLAN
+
+#endif // #ifndef __WAPISECURITYSETTINGSUI_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsuiresources.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project wapisecuritysettingsui
+*
+*/
+
+/*
+* %version: 3.1.4 %
+*/
+
+#ifndef __WAPISECURITYSETTINGSUIRESOURCES_IBY__
+#define __WAPISECURITYSETTINGSUIRESOURCES_IBY__
+
+#ifdef __PROTOCOL_WLAN
+DATA=DATAZ_\RESOURCE_FILES_DIR\wapisecuritysettingsui.rsc	RESOURCE_FILES_DIR\wapisecuritysettingsui.rsc
+#endif
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/stub/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2001-2009 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: This file provides the information required for building the wapisecuritysettings stub. 
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+// export iby files
+../../rom/wapisecuritysettingsui.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wapisecuritysettingsui.iby)
+
+PRJ_MMPFILES
+./wapisecuritysettingsstub.mmp
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/stub/group/wapisecuritysettingsstub.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the wapisecuritysettings stub. 
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET      wapisecuritysettingsui.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+
+SOURCE wapisecuritysettingsstub.cpp
+SOURCE wapisecuritysettingsuistub.cpp
+
+
+// Component specific internal headers 
+USERINCLUDE			../../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+//Used libraries
+LIBRARY euser.lib
+
+#if defined( WINSCW )
+DEFFILE ../../bwinscw/wapisecuritysettingsui.def
+#else
+DEFFILE ../../eabi/wapisecuritysettingsui.def
+#endif
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsstub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2001-2009 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: Stub Implementation of class CWAPISecuritySettings.     
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <wapisecuritysettingsui.h>
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWAPISecuritySettings* CWAPISecuritySettings::NewL()
+    {
+    User::Leave(KErrNotSupported); 
+    return NULL;
+    }
+
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::~CWAPISecuritySettings
+// ---------------------------------------------------------
+//
+EXPORT_C CWAPISecuritySettings::~CWAPISecuritySettings()
+    {
+   
+    }
+
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::EditL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWAPISecuritySettings::EditL( CWAPISecuritySettingsUi& /* aUi */,
+                                           const TDesC& /* aTitle */ )
+    {
+    return 0;
+    }
+
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWAPISecuritySettings::LoadL( TUint32 /* aIapRecordId */, CMDBSession& /* aSession  */)
+    {
+    
+    }
+    
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::IsValid
+// ---------------------------------------------------------
+//
+EXPORT_C TBool CWAPISecuritySettings::IsValid( ) const
+
+    {
+    return EFalse;
+    }
+
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWAPISecuritySettings::SaveL( TUint32 /* aIapRecordId */, CMDBSession& /* aSession  */ ) const
+
+    {
+    
+    }
+
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::SetPreSharedKey
+// ---------------------------------------------------------
+//
+EXPORT_C void CWAPISecuritySettings::SetPreSharedKeyL( const TWapiKeyFormat /* aKeyFormat */, const TDesC& /* aPreSharedKey */ )
+    {
+    }
+	
+
+// ---------------------------------------------------------
+// CWAPISecuritySettings::DeleteAPSpecificDataL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWAPISecuritySettings::DeleteAPSpecificDataL( const TInt /* aId */)
+    {
+    
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsuistub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of class CWAPISecuritySettingsUi.  
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <wapisecuritysettingsui.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWAPISecuritySettingsUi::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWAPISecuritySettingsUi* CWAPISecuritySettingsUi::NewL( 
+                                                        CEikonEnv& /* aEikEnv */)
+    {
+    User::Leave(KErrNotSupported); 
+    return NULL;
+    }
+
+
+// ---------------------------------------------------------
+// CWAPISecuritySettingsUi::~CWAPISecuritySettingsUi
+// ---------------------------------------------------------
+//
+EXPORT_C CWAPISecuritySettingsUi::~CWAPISecuritySettingsUi()
+    {
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUI.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project WEPSecuritySettingsUI
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef __WEPSECURITYSETTINGSUI_IBY__
+#define __WEPSECURITYSETTINGSUI_IBY__
+
+#ifdef __PROTOCOL_WLAN
+FILE=ABI_DIR\BUILD_DIR\WEPSecuritySettingsUI.dll    SHARED_LIB_DIR\WEPSecuritySettingsUI.dll
+#else
+// stub for non-WLAN products
+FILE=ABI_DIR\BUILD_DIR\wepsecuritysettingsuistub.dll    SHARED_LIB_DIR\WEPSecuritySettingsUI.dll
+#endif // __PROTOCOL_WLAN
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUIResources.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project WEPSecuritySettingsUI
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef __WEPSECURITYSETTINGSUIRESOURCES_IBY__
+#define __WEPSECURITYSETTINGSUIRESOURCES_IBY__
+
+#ifdef __PROTOCOL_WLAN
+DATA=DATAZ_\RESOURCE_FILES_DIR\WEPSecuritySettingsUI.rsc	RESOURCE_FILES_DIR\WEPSecuritySettingsUI.rsc
+#endif  // __PROTOCOL_WLAN
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/bwinscw/WEPSecuritySettingsUI_EKA2_ALRu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,16 @@
+EXPORTS
+	??1CWEPSecuritySettings@@UAE@XZ @ 1 NONAME ; CWEPSecuritySettings::~CWEPSecuritySettings(void)
+	??1CWEPSecuritySettingsUi@@UAE@XZ @ 2 NONAME ; CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi(void)
+	?Cvt@CWEPSecuritySettingsUi@@SAHXZ @ 3 NONAME ; int CWEPSecuritySettingsUi::Cvt(void)
+	?EditL@CWEPSecuritySettings@@QAEHAAVCWEPSecuritySettingsUi@@ABVTDesC16@@@Z @ 4 NONAME ; int CWEPSecuritySettings::EditL(class CWEPSecuritySettingsUi &, class TDesC16 const &)
+	?LoadL@CWEPSecuritySettings@@QAEXKAAVCCommsDatabase@@@Z @ 5 NONAME ; void CWEPSecuritySettings::LoadL(unsigned long, class CCommsDatabase &)
+	?NewL@CWEPSecuritySettings@@SAPAV1@XZ @ 6 NONAME ; class CWEPSecuritySettings * CWEPSecuritySettings::NewL(void)
+	?NewL@CWEPSecuritySettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 7 NONAME ; class CWEPSecuritySettingsUi * CWEPSecuritySettingsUi::NewL(class CEikonEnv &)
+	?SaveL@CWEPSecuritySettings@@QBEXKAAVCCommsDatabase@@@Z @ 8 NONAME ; void CWEPSecuritySettings::SaveL(unsigned long, class CCommsDatabase &) const
+	?IsValid@CWEPSecuritySettings@@QBEHXZ @ 9 NONAME ; int CWEPSecuritySettings::IsValid(void) const
+	?SetKeyDataL@CWEPSecuritySettings@@QAEHHABVTDesC16@@H@Z @ 10 NONAME ; int CWEPSecuritySettings::SetKeyDataL(int, class TDesC16 const &, int)
+	?LoadL@CWEPSecuritySettings@@QAEXKAAVCMDBSession@CommsDat@@@Z @ 11 NONAME ; void CWEPSecuritySettings::LoadL(unsigned long, class CommsDat::CMDBSession &)
+	?SaveL@CWEPSecuritySettings@@QBEXKAAVCMDBSession@CommsDat@@@Z @ 12 NONAME ; void CWEPSecuritySettings::SaveL(unsigned long, class CommsDat::CMDBSession &) const
+	?SetAuthentication@CWEPSecuritySettings@@QAEXW4TWEPAuthentication@1@@Z @ 13 NONAME ; void CWEPSecuritySettings::SetAuthentication(enum CWEPSecuritySettings::TWEPAuthentication)
+	?SetKeyInUse@CWEPSecuritySettings@@QAEXW4TWEPKeyInUse@1@@Z @ 14 NONAME ; void CWEPSecuritySettings::SetKeyInUse(enum CWEPSecuritySettings::TWEPKeyInUse)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/data/WEPSecuritySettingsUI.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,390 @@
+/*
+* Copyright (c) 2001-2009 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: This file contains all the resources for the WEP Security Settings UI. 
+*
+*/
+
+/*
+* %version: tr1cfwln#7.1.11 %
+*/
+
+//  RESOURCE IDENTIFIER
+NAME    AWSS // 4 letter ID
+
+//  INCLUDES
+#include <eikon.rh>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.loc>
+#include <avkon.hrh>
+
+#include "WEPSecuritySettingsUI.hrh"
+#include <wepsecuritysettingsui.loc>
+
+
+//  RESOURCE DEFINITIONS
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf="WEPSecuritySettings"; }
+
+
+//----------------------------------------------------
+//
+//  r_wep_security_settings_menubar
+//  Menubar    
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_BAR r_wep_security_settings_menubar
+    {
+    titles=
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_wep_security_settings_menu;
+            }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//
+//  r_wep_security_settings_menu
+//  The Options menu
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_PANE r_wep_security_settings_menu
+    {
+    items=
+        {
+        MENU_ITEM 
+            { 
+            command = EWepSelCmdChange; 
+            txt = qtn_set_options_change; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp; 
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit; 
+            txt = qtn_options_exit; 
+            }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//
+//    r_wepsettings_pane_softkeys_options_back_edit
+//    WEP Security Settings softkeys
+//
+//----------------------------------------------------
+//
+RESOURCE CBA r_wepsettings_pane_softkeys_options_back_edit
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EWepSelCmdChange; txt = qtn_msk_change; }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//
+//  r_wepsettings_dialog
+//  WEP Security Settings main dialog
+//
+//----------------------------------------------------
+//
+RESOURCE DIALOG r_wepsettings_dialog
+    {
+    flags = EEikDialogFlagWait | EEikDialogFlagNoDrag | 
+            EEikDialogFlagNoTitleBar | EEikDialogFlagFillAppClientRect |
+            EEikDialogFlagCbaButtons;
+
+    buttons = r_wepsettings_pane_softkeys_options_back_edit;
+
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtSettingListBox;
+            id = KWepMainSettingsListboxId;
+            control = LISTBOX 
+                { 
+                flags = EAknListBoxSelectionList;
+                };
+            }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//   
+//  r_setting_app_edwin_key_data
+//  Window to enter key data
+//
+//----------------------------------------------------
+//
+RESOURCE EDWIN r_setting_app_edwin_key_data
+    {
+    avkon_flags = EAknEditorFlagNoT9 | EAknEditorFlagLatinInputModesOnly;
+    lines = 8;
+    }
+
+
+//----------------------------------------------------
+//   
+//  r_text_setting_page_key_data
+//  Setting page for entering key data
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_text_setting_page_key_data
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    number= EAknSettingPageNoOrdinalDisplayed;
+    label= qtn_wlan_sett_wep_key_data;
+    type = EEikCtEdwin;
+    editor_resource_id = r_setting_app_edwin_key_data;
+    }
+
+
+
+//----------------------------------------------------
+//   
+//  r_setting_app_listbox
+//  Listbox for setting page
+//
+//----------------------------------------------------
+//
+RESOURCE LISTBOX r_setting_app_listbox
+    {
+    flags = EEikListBoxMultipleSelection;
+    }
+
+
+
+//----------------------------------------------------
+//
+//    r_wepsettings_pane_softkeys_ok_cancel_select
+//    WEP Security Settings softkeys
+//
+//----------------------------------------------------
+//
+RESOURCE CBA r_wepsettings_pane_softkeys_ok_cancel_select
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; },
+        CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; },
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; }
+        };
+    }
+
+
+//----------------------------------------------------
+//   
+//  r_radio_button_setting_page
+//  Setting page with radio buttons
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page
+    {
+    number = EAknSettingPageNoOrdinalDisplayed;
+    softkey_resource = r_wepsettings_pane_softkeys_ok_cancel_select;
+    type =  EAknSetListBox;
+    editor_resource_id= r_setting_app_listbox;
+    }
+
+
+
+//----------------------------------------------------
+//   
+//    r_wep_sec_sett_conf_query
+//    ConfirmationQuery dialog
+//
+//----------------------------------------------------
+//
+RESOURCE DIALOG r_wep_sec_sett_conf_query
+	{
+	flags = EGeneralQueryFlags;
+	buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
+	items =
+		{
+		DLG_LINE
+			{
+			type = EAknCtQuery;
+			id = EGeneralQuery;
+			control = AVKON_CONFIRMATION_QUERY
+				{
+				layout = EConfirmationQueryLayout;
+				};
+			}
+		};
+	}
+
+
+
+RESOURCE TBUF r_wep_view_text_cannot_access_db      
+    { 
+    buf = qtn_set_err_db_inaccessible; 
+    }
+
+RESOURCE TBUF r_wep_key_in_use                      
+    { 
+    buf = qtn_wlan_sett_wep_key_in_use; 
+    }
+
+RESOURCE TBUF r_wep_authentication                  
+    { 
+    buf = qtn_wlan_sett_wep_auth_mode; 
+    }
+
+RESOURCE TBUF r_wep_key_configuration               
+    { 
+    buf = qtn_wlan_sett_wep_key_settings; 
+    }
+
+RESOURCE TBUF r_wep_key_number_1                    
+    { 
+    buf = qtn_wlan_sett_wep_key_1; 
+    }
+
+RESOURCE TBUF r_wep_key_number_2                    
+    { 
+    buf = qtn_wlan_sett_wep_key_2; 
+    }
+
+RESOURCE TBUF r_wep_key_number_3                    
+    { 
+    buf = qtn_wlan_sett_wep_key_3; 
+    }
+
+RESOURCE TBUF r_wep_key_number_4                    
+    { 
+    buf = qtn_wlan_sett_wep_key_4; 
+    }
+    
+RESOURCE TBUF r_wep_tab_key_1
+    {
+    buf = qtn_wlan_tab_wep_key_1;
+    }
+    
+RESOURCE TBUF r_wep_tab_key_2
+    {
+    buf = qtn_wlan_tab_wep_key_2;
+    }
+    
+RESOURCE TBUF r_wep_tab_key_3
+    {
+    buf = qtn_wlan_tab_wep_key_3;
+    }
+    
+RESOURCE TBUF r_wep_tab_key_4
+    {
+    buf = qtn_wlan_tab_wep_key_4;
+    }
+
+RESOURCE TBUF r_wep_authentication_open             
+    { 
+    buf = qtn_wlan_sett_wep_auth_mode_open; 
+    }
+
+RESOURCE TBUF r_wep_authentication_shared           
+    { 
+    buf = qtn_wlan_sett_wep_auth_mode_shared; 
+    }
+
+RESOURCE TBUF r_wep_key_length                      
+    { 
+    buf = qtn_wlan_sett_wep_key_length; 
+    }
+
+RESOURCE TBUF r_wep_key_format                      
+    { 
+    buf = qtn_wlan_sett_wep_key_format; 
+    }
+
+RESOURCE TBUF r_wep_key_data                        
+    { 
+    buf = qtn_wlan_sett_wep_key_data; 
+    }
+
+RESOURCE TBUF r_wep_key_length_64_bits              
+    { 
+    buf = qtn_wlan_sett_wep_key_length_64_bits; 
+    }
+
+RESOURCE TBUF r_wep_key_length_128_bits
+    { 
+    buf = qtn_wlan_sett_wep_key_length_128_bits; 
+    }
+
+RESOURCE TBUF r_wep_key_length_256_bits             
+    { 
+    buf = qtn_wlan_sett_wep_key_length_256_bits; 
+    }
+
+RESOURCE TBUF r_wep_key_format_ascii                
+    { 
+    buf = qtn_wlan_sett_wep_key_format_ascii; 
+    }
+
+RESOURCE TBUF r_wep_key_format_hex                  
+    { 
+    buf = qtn_wlan_sett_wep_key_format_hexa; 
+    }
+
+RESOURCE TBUF r_wep_key_data_must_be_defined        
+    { 
+    buf = qtn_selec_setting_compulsory; 
+    }
+
+RESOURCE TBUF r_wep_key_data_stars                  
+    { 
+    buf = qtn_wlan_sett_wep_key_format_hexa; 
+    }
+
+RESOURCE TBUF r_wep_data_missing                    
+    { 
+    buf = qtn_wlan_quest_wep_key_data_missing; 
+    }
+
+RESOURCE TBUF r_info_wep_key_too_short              
+    { 
+    buf = qtn_wlan_info_wep_key_too_short; 
+    }
+
+RESOURCE TBUF r_info_wep_key_illegal_chars          
+    { 
+    buf = qtn_wlan_info_wep_key_illegal_chars; 
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/eabi/WEPSecuritySettingsUI_EKA2_ALRu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,20 @@
+EXPORTS
+	_ZN20CWEPSecuritySettings4NewLEv @ 1 NONAME
+	_ZN20CWEPSecuritySettings5EditLER22CWEPSecuritySettingsUiRK7TDesC16 @ 2 NONAME
+	_ZN20CWEPSecuritySettings5LoadLEmR14CCommsDatabase @ 3 NONAME
+	_ZN20CWEPSecuritySettingsD0Ev @ 4 NONAME
+	_ZN20CWEPSecuritySettingsD1Ev @ 5 NONAME
+	_ZN20CWEPSecuritySettingsD2Ev @ 6 NONAME
+	_ZN22CWEPSecuritySettingsUi3CvtEv @ 7 NONAME
+	_ZN22CWEPSecuritySettingsUi4NewLER9CEikonEnv @ 8 NONAME
+	_ZN22CWEPSecuritySettingsUiD0Ev @ 9 NONAME
+	_ZN22CWEPSecuritySettingsUiD1Ev @ 10 NONAME
+	_ZN22CWEPSecuritySettingsUiD2Ev @ 11 NONAME
+	_ZNK20CWEPSecuritySettings5SaveLEmR14CCommsDatabase @ 12 NONAME
+	_ZNK20CWEPSecuritySettings7IsValidEv @ 13 NONAME
+	_ZN20CWEPSecuritySettings11SetKeyDataLEiRK7TDesC16i @ 14 NONAME
+	_ZN20CWEPSecuritySettings5LoadLEmRN8CommsDat11CMDBSessionE @ 15 NONAME
+	_ZNK20CWEPSecuritySettings5SaveLEmRN8CommsDat11CMDBSessionE @ 16 NONAME
+	_ZN20CWEPSecuritySettings11SetKeyInUseENS_12TWEPKeyInUseE @ 17 NONAME
+	_ZN20CWEPSecuritySettings17SetAuthenticationENS_18TWEPAuthenticationE @ 18 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/group/WEPSecuritySettingsUI.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the WEPSecuritySettingsUI. 
+*
+*/
+
+/*
+* %version: tr1cfwln#25 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET      WEPSecuritySettingsUI.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+
+START RESOURCE  ../data/WEPSecuritySettingsUI.rss
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+END  // RESOURCE
+
+
+SOURCEPATH ../src
+
+SOURCE WEPSecuritySettings.cpp
+SOURCE WEPSecuritySettingsImpl.cpp
+SOURCE WEPSecuritySettingsUI.cpp
+SOURCE WEPSecuritySettingsUiImpl.cpp
+SOURCE WEPSecuritySettingsDlg.cpp
+SOURCE WepKeyDataTextSettingPage.cpp
+SOURCE WEPSecuritySettingsUiPanic.cpp
+
+// Component specific internal headers 
+USERINCLUDE			../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY hlplch.lib
+LIBRARY euser.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY eikcoctl.lib
+LIBRARY avkon.lib
+LIBRARY eikdlg.lib 
+LIBRARY bafl.lib
+LIBRARY commonengine.lib 
+LIBRARY commdb.lib
+LIBRARY FeatMgr.lib
+LIBRARY commsdat.lib
+
+DEBUGLIBRARY flogger.lib
+
+#if defined( WINSCW )
+    DEFFILE ../bwinscw/WEPSecuritySettingsUI_EKA2_ALR.def
+#else
+    DEFFILE ../eabi/WEPSecuritySettingsUI_EKA2_ALR.def
+#endif
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2001-2009 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: This file provides the information required for building the whole of a WEPSecuritySettingsUI. 
+*
+*/
+
+/*
+* %version: tr1cfwln#22 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+// export iby files
+../Rom/WEPSecuritySettingsUI.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(WEPSecuritySettingsUI.iby)
+../Rom/WEPSecuritySettingsUIResources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WEPSecuritySettingsUIResources.iby)
+
+// export localised loc file
+../loc/wepsecuritysettingsui.loc	MW_LAYER_LOC_EXPORT_PATH(wepsecuritysettingsui.loc)
+
+
+PRJ_MMPFILES
+// real implementation for WLAN products
+./WEPSecuritySettingsUI.mmp
+// stub implementation for non-WLAN products
+./wepsecuritysettingsuistub.mmp
+
+PRJ_TESTMMPFILES
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/group/wepsecuritysettingsuistub.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,51 @@
+/*
+* 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: Project specification file for stub implementation of 
+*              WEP UI for non-WLAN products to support linking
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET      wepsecuritysettingsuistub.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+
+SOURCE wepsecuritysettingsstub.cpp
+SOURCE wepsecuritysettingsuistub.cpp
+
+// Component specific internal headers 
+USERINCLUDE			../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+
+#if defined( WINSCW )
+    DEFFILE ../bwinscw/WEPSecuritySettingsUI_EKA2_ALR.def
+#else
+    DEFFILE ../eabi/WEPSecuritySettingsUI_EKA2_ALR.def
+#endif
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/SecuritySettingsLogger.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2001-2009 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: Logger utility.
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef SECURITYSETTINGSLOGGER_H
+#define SECURITYSETTINGSLOGGER_H
+
+
+// INCLUDES
+
+#include <e32std.h>
+#include <e32def.h>
+#include <flogger.h>
+
+
+#ifdef _DEBUG
+#define __SEC_SETT_LOG__
+#endif // _DEBUG
+
+
+#ifdef __SEC_SETT_LOG__
+
+// CONSTANTS
+
+// SecuritySettingsLogger logging directory.
+_LIT( KSecSettLogDir,                   "TestSecSett" );
+// SecSett log file name.
+_LIT( KSecSettLogFile,                  "SecSett.log" );
+// Format string: enter function.
+_LIT( KSecSettLogEnterFn,               "-> %S" );
+// Format string: leave function.
+_LIT( KSecSettLogLeaveFn,               "<- %S" );
+// Format string: time.
+_LIT( KSecSettLogTimeFormatString,      "%H:%T:%S:%*C2" );
+// Format string: timestamp.
+_LIT( KSecSettLogTimeStampFormatString, "%S %S" );
+
+// DEFINES
+
+// Write log: enter function.
+#define CLOG_ENTERFN( a )           \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::WriteFormat        \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        KSecSettLogEnterFn,         \
+        &temp                       \
+        );                          \
+    }
+
+// Write log: leave function.
+#define CLOG_LEAVEFN( a )           \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::WriteFormat        \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        KSecSettLogLeaveFn,         \
+        &temp                       \
+        );                          \
+    }
+
+// Write log: string 'a'.
+#define CLOG_WRITE( a )             \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::Write              \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        temp                        \
+        );                          \
+    }
+
+// Write log: formatted.
+#define CLOG_WRITE_FORMAT( a, b )   \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::WriteFormat        \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        temp,                       \
+        b                           \
+        );                          \
+    }
+
+// Write log: timestamp.
+#define CLOG_WRITE_TIMESTAMP( a )                                   \
+    {                                                               \
+    _LIT( temp, a );                                                \
+    TTime time;                                                     \
+    time.HomeTime();                                                \
+    TBuf<32> timeBuf;                                               \
+    TRAPD( err, time.FormatL( timeBuf, KSecSettLogTimeFormatString ) ); \
+    if ( !err )                                                     \
+        {                                                           \
+        RFileLogger::WriteFormat                                    \
+            (                                                       \
+            KSecSettLogDir,                                         \
+            KSecSettLogFile,                                        \
+            EFileLoggingModeAppend,                                 \
+            KSecSettLogTimeStampFormatString,                       \
+            &temp,                                                  \
+            &timeBuf                                                \
+            );                                                      \
+        }                                                           \
+    }
+
+#else // not defined __SEC_SETT_LOG__
+
+// DEFINES
+
+// Empty definition (disable log).
+#define CLOG_ENTERFN( a )
+
+// Empty definition (disable log).
+#define CLOG_LEAVEFN( a )
+
+// Empty definition (disable log).
+#define CLOG_WRITE( a )
+
+// Empty definition (disable log).
+#define CLOG_WRITE_FORMAT( a, b )
+
+// Empty definition (disable log).
+#define CLOG_WRITE_TIMESTAMP( a )
+
+#endif // __SEC_SETT_LOG__
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsDlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,318 @@
+/*
+* Copyright (c) 2001-2009 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: Declares dialog. 
+*
+*/
+
+/*
+* %version: tr1cfwln#14 %
+*/
+
+#ifndef WEP_SECURITY_SETTINGS_DLG_H
+#define WEP_SECURITY_SETTINGS_DLG_H
+
+
+// INCLUDES
+#include <eiklbo.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include <AknTabObserver.h>
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <commsdat.h>
+#else
+#include <commsdat.h>
+#include <commsdat_partner.h>
+#endif
+
+#include "WepSecuritySettingsDefs.h"
+
+
+// FORWARD DECLARATIONS
+class CAknTitlePane;
+class CAknNavigationControlContainer;
+class CAknNavigationDecorator;
+class CAknTabGroup;
+
+
+// CLASS DECLARATION
+/**
+* CWEPSecuritySettingsDlg dialog class
+*/
+NONSHARABLE_CLASS( CWEPSecuritySettingsDlg ) : public CAknDialog, 
+                                               public MEikListBoxObserver,
+                                               public MAknTabObserver
+    {
+
+    public: // Constructors and destructor
+
+        /**
+        * Create and launch dialog.
+        * @param aSecuritySettings Security settings
+        * @param aTitle Title of the dialog
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( CWEPSecuritySettingsImpl* aSecuritySettings,
+                                const TDesC& aTitle );
+
+
+        /**
+        * Two-phase construction.
+        * @param aEventStore A reference to hold the events happened
+        * @return The constructed CWEPSecuritySettingsDlg object.
+        */
+        static CWEPSecuritySettingsDlg* NewL( TInt& aEventStore );
+
+
+        /**
+        * Destructor.
+        */
+        ~CWEPSecuritySettingsDlg();
+
+
+	protected:
+        /**
+        * Constructor.
+        * @param aEventStore A reference to hold the events happened
+        */
+        CWEPSecuritySettingsDlg( TInt& aEventStore );
+
+
+    public: // Functions from base classes
+        /**
+        * Handle key events. 
+        * @param aKeyEvent: key event
+        * @param aType: type of event
+        * @return The key response, if it was consumed or not. 
+        */
+		TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                     TEventCode aType );
+
+
+    public: // From MAknTabObserver
+
+        /**
+        * Called when a key is tab change happens.
+        * @param aIndex index of the new tab
+        */
+        void TabChangedL( TInt aIndex ); 
+
+
+	private:
+
+        /**
+        * This function is called by the dialog framework before the dialog is 
+        * sized and laid out.
+        */
+        virtual void PreLayoutDynInitL();
+
+
+        /**
+        * Handles a dialog button press for the specified button 
+        * @param aButtonId  The ID of the button that was activated.
+        * @return   ETrue to validate and exit the dialog, 
+        *           EFalse to keep the dialog active
+        */
+        TBool OkToExitL( TInt aButtonId );
+
+
+		/**
+        * Processes user commands.
+        * @param aCommandId ID of the command to respond to. 
+        */
+		virtual void ProcessCommandL( TInt aCommandId );
+
+
+		/**
+        * Handles list box events.
+        * @param aListBox   The originating list box. 
+        * @param aEventType A code for the event.
+        */
+		void HandleListBoxEventL( CEikListBox* aListBox, 
+                                  TListBoxEvent aEventType );
+
+        /**
+        * Get help context.
+        * @param aContext Help context is returned here.
+        */
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    protected:  // New functions
+
+        /**
+        * Handles listbox data change
+        */
+        void HandleListboxDataChangeL();
+
+
+        /**
+        * Fills up the listbox with data
+        * @param aItemArray Array where to add the elements
+        * @param arr        Array to be used as list elements
+        * @param aLength    The number of elements in the above array
+        * @param aRes       Array of resource IDs to be used for the 
+        *                   elements of arr
+        */
+        void FillListWithDataL( CDesCArrayFlat& aItemArray, 
+                                const CWEPSecuritySettings::TWepMember& arr, 
+                                TInt aLength,
+                                const TInt* aRes );
+
+
+        /**
+        * Updates one listbox item for the given member
+        * @param aMember    Value specifying which member has to be added to 
+        *                   the list
+        * @param aRes       Resource ID for the 'title text' for this member
+        * @param aPos       The current position of the item in the list
+        */
+        void UpdateListBoxItemL( CWEPSecuritySettings::TWepMember aMember, 
+                                 TInt aRes, TInt aPos );
+
+
+        /**
+        * Creates one 'textual' listbox item for the given member
+        * @param aMember    Value specifying which member has to be added to
+        *                   the list
+        * @param aRes       Resource ID for the 'title text' for this member
+        * @return The created listbox item text.
+        */
+        HBufC* CreateTextualListBoxItemL( CWEPSecuritySettings::TWepMember aMember, 
+                                          TInt aRes );
+
+
+        /**
+        * Changes one setting. The setting, which is
+        * highlighted as current in the listbox is changed.
+        * @param aQuick ETrue if the setting is "two-choices", and can be 
+        *               automatically changed, without showing the list of 
+        *               elements
+        */
+        void ChangeSettingsL( TBool aQuick );
+
+
+        /**
+        * Shows a popup setting page (radio buttons) for the given member
+        * @param aDataMember    The member which needs to be changed
+        * @return   A boolean indicating whether the current setting
+        *           has been changed or not.
+        */
+        TBool   ShowPopupSettingPageL( 
+                                CWEPSecuritySettings::TWepMember aDataMember );
+
+
+        /**
+        * Shows a popup text setting page for the given member
+        * @return   A boolean indicating whether the current setting
+        *           has been changed or not.
+        */
+        TBool ShowPopupTextSettingPageL();
+
+
+        /**
+        * Fills up a pop-up radio button setting page with the currently
+        * valid and available choices for the given member.
+        * @param aData      The member whose new setting is needed
+        * @param aCurrvalue The current value of the setting
+        * @return   An array of choices for the given member, pushed to the 
+        *           CleanupStack.
+        */
+        CDesCArrayFlat* FillPopupSettingPageLC( 
+                                        CWEPSecuritySettings::TWepMember aData,
+                                        TInt& aCurrvalue );
+
+
+        /**
+        * Updates the given member's data with the new setting from the setting
+        * page.
+        * @param aData      The member to update
+        * @param aCurrvalue The new value
+        * @return   A boolean indicating if the value is actually changed
+        */
+        TBool UpdateFromPopupSettingPage( CWEPSecuritySettings::TWepMember aData, 
+                                          TInt aCurrvalue );
+
+
+        /**
+        * Inverts one boolean member 
+        * @param aDataMember the member to invert.
+        */
+        void InvertSettings( CWEPSecuritySettings::TWepMember aDataMember );
+
+
+    private: //data
+
+        // Stores the name of the connection, to be showed as the title.
+      	TBuf<CommsDat::KMaxTextLength> iConnectionName;
+
+        // Title pane. Not owned.
+        CAknTitlePane* iTitlePane;
+
+        // Pointer to the old title. Owned.
+        HBufC* iOldTitleText;
+
+        // Empty Navigation decorator. Owned.
+        CAknNavigationDecorator* iNaviDecoratorEmpty;
+
+        // Tabbed Navigation decorator. Owned.
+        CAknNavigationDecorator* iNaviDecoratorTabbed;
+
+        // Navi Pane. Not owned.
+        CAknNavigationControlContainer* iNaviPane;
+
+        // Tab Group. Not owned.
+        CAknTabGroup* iTabGroup;
+
+        // Index of the active tab
+        TInt iActiveTab;
+
+        // Owned through resources, destroyed automatically by the dialog.
+        CAknSettingStyleListBox* iList;
+
+        // Array of the items. Not owned.
+        CDesCArrayFlat* iItemArray;
+
+        // Fields of the main view. Not owned.
+        CWEPSecuritySettings::TWepMember* iFieldsMain;
+
+        // Titles of the main view. Not owned.
+        TInt* iTitlesMain;
+
+        // Fields of the key configuration view. Not owned.
+        CWEPSecuritySettings::TWepMember* iFieldsKeyConfiguration;
+
+        // Titles of the key configuration view. Not owned.
+        TInt* iTitlesKeyConfiguration;
+
+        // Pointer to the WEP Security Settings. Not owned.
+        CWEPSecuritySettingsImpl* iSecuritySettings;
+
+        // current level (main or key configuration)
+        TInt iLevel;
+
+        // To hold the events. Not owned.
+        TInt* iEventStore;
+    };
+
+
+#endif      // WEP_SECURITY_SETTINGS_DLG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,269 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWEPSecuritySettingsImpl.  
+*
+*/
+
+/*
+* %version: tr1cfwln#19 %
+*/
+
+#ifndef WEPSECURITYSETTINGSIMPL_H
+#define WEPSECURITYSETTINGSIMPL_H
+
+// INCLUDES
+#include <e32base.h>
+
+#include <WEPSecuritySettingsUI.h>
+#include "WepSecuritySettingsDefs.h"
+
+#include <metadatabase.h>
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+
+class CCommsDatabase;
+
+
+// CLASS DECLARATION
+
+/**
+* WEP Security Settings.
+* Implementation behind proxy class CWEPSecuritySettings.
+*/
+NONSHARABLE_CLASS( CWEPSecuritySettingsImpl ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed CWEPSecuritySettings object.
+        */
+        static CWEPSecuritySettingsImpl* NewL();
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWEPSecuritySettingsImpl();
+
+    protected:  // Constructors
+
+        /**
+        * Constructor.
+        * @param aEikEnv Eikon environment.
+        */
+        CWEPSecuritySettingsImpl();
+
+        /**
+        * Second-phase constructor.
+        */
+        void ConstructL();
+
+    public:     // New methods
+
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aCommsDb Comms database.
+        */
+        void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb );
+
+        /**
+        * Save to database.
+        * @param aIapId Wlan Service Table Id of the IAP to be saved
+        * @param aCommsDb Comms database.
+        */
+        void SaveL( TUint32 aIapId, CCommsDatabase& aCommsDb ) const;
+
+        /**
+        * Tells if the settings are valid and can be saved
+        * @return ETrue if all the compulsory settings have been entered
+        */
+        TBool IsValid();
+
+
+        /**
+        * Sets the new data of the key
+        * @param aElement   Index of the element whose data has to be set.
+        * @param aKeyData   The new value for data of the key.
+        * @param aHex       ETrue if data is in Ascii format
+        */
+        TInt SetKeyDataL( const TInt aElement, const TDesC& aKeyData, 
+                          const TBool aHex );
+
+
+        /**
+        * Calculates expected length of hex string of keyData on the base of
+        * the selected key length.
+        * @param aKeyLength Chosen key length
+        * @return   Expected length
+        */
+        TInt ExpectedLengthOfKeyData( CWEPSecuritySettings::TWEPKeyLength 
+                                                                  aKeyLength );
+
+
+        /**
+        * Gets Key currently in use
+        * @return The key in use.
+        */
+        inline CWEPSecuritySettings::TWEPKeyInUse KeyInUse () const;
+
+        /**
+        * Sets Key currently in use
+        * @param aKeyInUse  The new value for key in use.
+        */
+        inline void SetKeyInUse ( const CWEPSecuritySettings::TWEPKeyInUse 
+                                                                   aKeyInUse );
+
+
+        /**
+        * Gets type of Authentication
+        * @return The type of Authentication.
+        */
+        inline CWEPSecuritySettings::TWEPAuthentication Authentication () const;
+
+        /**
+        * Sets type of Authentication
+        * @param aAuthentication    The new value for type of Authentication.
+        */
+        inline void SetAuthentication( 
+              const CWEPSecuritySettings::TWEPAuthentication aAuthentication );
+
+
+        /**
+        * Gets the length of the key
+        * @param aElement   Index of the element whose length has to be 
+        *                   retrieved.
+        * @return The length of the key
+        */
+        inline CWEPSecuritySettings::TWEPKeyLength KeyLength ( 
+                                                   const TInt aElement ) const;
+
+        /**
+        * Sets the length of the key
+        * @param aElement   Index of the element whose length has to be set.
+        * @param aKeyLength The new value for length of the key.
+        */
+        inline void SetKeyLength( const TInt aElement, 
+                        const CWEPSecuritySettings::TWEPKeyLength aKeyLength );
+
+
+        /**
+        * Gets the format of the key
+        * @param aElement   Index of the element whose format has to be 
+        *                   retrieved.
+        * @return The format of the key
+        */
+        inline CWEPSecuritySettings::TWEPKeyFormat KeyFormat( 
+                                                   const TInt aElement ) const;
+
+        /**
+        * Sets the format of the key
+        * @param aElement   Index of the element whose format has to be set.
+        * @param aKeyLength The new value for format of the key.
+        */
+        inline void SetKeyFormat( const TInt aElement, 
+                        const CWEPSecuritySettings::TWEPKeyFormat aKeyFormat );
+
+
+        /**
+        * Gets the key data
+        * @param aElement   Index of the element whose keyData has to be 
+        *                   retrieved.
+        * @return The data of the key
+        */
+        inline TDes8* KeyData( const TInt aElement );
+
+        /**
+        * Sets the new data of the key
+        * @param aElement   Index of the element whose data has to be set.
+        * @param aKeyLength The new value for data of the key.
+        */
+        inline void SetKeyData( const TInt aElement, const TDesC8& aKeyData );
+
+        /**
+        * Tells if the Wep256 feature is enabled or not
+        * @return ETrue if the flag is enabled
+        */
+        inline TBool WEP256Enabled() const;
+
+        /**
+        * Verify if the entered keyData is valid
+        * @param aTextToTest        The text to be verified
+        * @param aLengthOfKeyData   The expected length of the keyData
+        * @param aWEPKeyFormat      The format chosen to enter the keyData
+        * @return   KErrNone if the text is valid, or error code if not.
+        */
+        TInt VerifyKeyData( const TDesC8& aTextToTest, TInt aLengthOfKeyData,
+                            CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat );
+
+        /**
+        * Converts keyData enetered in Ascii format to hex format
+        * @param aSource    Source string
+        * @param aDest      destination string
+        */
+        void ConvertAsciiToHex( const TDesC8& aSource, HBufC8*& aDest );
+        
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aSession CommsDat session.
+        */
+        void LoadL( TUint32 aIapId, CMDBSession& aSession );
+        
+        /**
+        * Save to database.
+        * @param aIapId Wlan Service Table Id of the IAP to be saved
+        * @param aSession CommsDat session.
+        */
+        void SaveL( TUint32 aIapId, CMDBSession& aSession ) const;
+
+
+    private:
+
+        /**
+        * Sets keyLength parsing data contained in iKeyData
+        * @param aIndex Index of the element whose length has to be calculated.
+        */
+        void SetLenKeyDataFromText( const TInt aIndex );
+
+
+    private:    // Data 
+
+        // Index of the key currently in use (EKeyNumber1, EKeyNumber2, 
+        // EKeyNumber3, EKeyNumber4
+        CWEPSecuritySettings::TWEPKeyInUse iKeyInUse;
+
+        // Type of authentication (EAuthOpen, EAuthShared)
+        CWEPSecuritySettings::TWEPAuthentication iAuthentication;
+
+        // Length of the key (E40Bits, E104Bits, E232Bits)
+        CWEPSecuritySettings::TWEPKeyLength iKeyLength[KMaxNumberofKeys];
+
+        // Format of the key (EAscii, EHexadecimal)
+        CWEPSecuritySettings::TWEPKeyFormat iKeyFormat[KMaxNumberofKeys];
+
+        // Data of the key
+        TBuf8<KMaxLengthOfKeyData> iKeyData[KMaxNumberofKeys];
+
+        // Tells if the Wep256 feature is enabled
+        TBool iIsWEP256Enabled;
+    };
+
+// Include inline functions
+#include "WEPSecuritySettingsImpl.inl"
+
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2001-2009 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: CWEPSecuritySettingsImpl inline functions
+*
+*/
+
+/*
+* %version: tr1cfwln#12 %
+*/
+
+#ifndef WEPSECURITYSETTINGSIMPL_INL
+#define WEPSECURITYSETTINGSIMPL_INL
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::KeyInUse
+// ---------------------------------------------------------
+//
+inline CWEPSecuritySettings::TWEPKeyInUse 
+                                     CWEPSecuritySettingsImpl::KeyInUse() const
+    { 
+    return iKeyInUse; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::Authentication
+// ---------------------------------------------------------
+//
+inline CWEPSecuritySettings::TWEPAuthentication 
+                               CWEPSecuritySettingsImpl::Authentication() const
+    { 
+    return iAuthentication; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::KeyLength
+// ---------------------------------------------------------
+//
+inline CWEPSecuritySettings::TWEPKeyLength 
+               CWEPSecuritySettingsImpl::KeyLength( const TInt aElement ) const
+    { 
+    return iKeyLength[aElement]; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::KeyFormat
+// ---------------------------------------------------------
+//
+inline CWEPSecuritySettings::TWEPKeyFormat 
+               CWEPSecuritySettingsImpl::KeyFormat( const TInt aElement ) const
+    { 
+    return iKeyFormat[aElement]; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::KeyData
+// ---------------------------------------------------------
+//
+inline TDes8* CWEPSecuritySettingsImpl::KeyData( const TInt aElement )
+    { 
+    return &iKeyData[aElement]; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetKeyInUse
+// ---------------------------------------------------------
+//
+inline void CWEPSecuritySettingsImpl::SetKeyInUse( 
+                           const CWEPSecuritySettings::TWEPKeyInUse aKeyInUse )
+    { 
+    iKeyInUse = aKeyInUse; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetAuthentication
+// ---------------------------------------------------------
+//
+inline void CWEPSecuritySettingsImpl::SetAuthentication( 
+               const CWEPSecuritySettings::TWEPAuthentication aAuthentication )
+    { 
+    iAuthentication = aAuthentication; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetKeyLength
+// ---------------------------------------------------------
+//
+inline void CWEPSecuritySettingsImpl::SetKeyLength( const TInt aElement, 
+                         const CWEPSecuritySettings::TWEPKeyLength aKeyLength )
+    { 
+    iKeyLength[aElement] = aKeyLength; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetKeyFormat
+// ---------------------------------------------------------
+//
+inline void CWEPSecuritySettingsImpl::SetKeyFormat( const TInt aElement, 
+                         const CWEPSecuritySettings::TWEPKeyFormat aKeyFormat )
+    { 
+    iKeyFormat[aElement] = aKeyFormat; 
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetKeyData
+// ---------------------------------------------------------
+//
+inline void CWEPSecuritySettingsImpl::SetKeyData( const TInt aElement, 
+                                                  const TDesC8& aKeyData )
+    {
+    iKeyData[aElement] = aKeyData;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::WEP256Enabled
+// ---------------------------------------------------------
+//
+inline TBool CWEPSecuritySettingsImpl::WEP256Enabled() const
+    {
+    // WEP256 is deprecated.
+    return EFalse;
+    }
+
+
+#endif 
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUI.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2001-2009 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: This file contains declarations for resources of WEPSecuritySettingsUI. The file can be included in C++ or resource file. 
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef WEPSecuritySettingsUI_HRH
+#define WEPSecuritySettingsUI_HRH
+
+
+// Menu command IDs
+enum TWepSelectorMenuCommands
+    {
+    EWepSelCmdChange = 1357
+    };
+
+
+// dialog line IDs
+enum TWepSelectorDllDlgLineId 
+    {
+    KWepMainSettingsListboxId = 3 
+    };
+
+
+// IDs of the tabs
+enum TWepTabId
+    {
+    EWEPSecuritySettingsTab1 = 1,
+    EWEPSecuritySettingsTab2,
+    EWEPSecuritySettingsTab3,
+    EWEPSecuritySettingsTab4
+    };
+
+ 
+#endif      //  WEPSecuritySettingsUI_HRH
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiImpl.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWEPSecuritySettingsUiImpl.  
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef WEPSECURITYSETTINGSUIIMPL_H
+#define WEPSECURITYSETTINGSUIIMPL_H
+
+// INCLUDES
+
+#include <e32base.h>
+
+
+// FORWARD DECLARATIONS
+
+class CEikonEnv;
+class CWEPSecuritySettings;
+class CWEPSecuritySettingsUiImpl;
+class CWEPSecuritySettingsImpl;
+
+
+// CLASS DECLARATION
+
+/**
+* WEP Security Settings UI implementation (behind proxy class
+* CWEPSecuritySettingsUi)
+*/
+NONSHARABLE_CLASS( CWEPSecuritySettingsUiImpl ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aEikEnv Eikon environment.
+        * @return The constructed CWEPSecuritySettingsUiImpl object.
+        */
+        static CWEPSecuritySettingsUiImpl* NewL( CEikonEnv& aEikEnv );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWEPSecuritySettingsUiImpl();
+
+    protected:  // Constructors
+
+        /**
+        * Constructor.
+        * @param aEikEnv Eikon environment.
+        */
+        CWEPSecuritySettingsUiImpl( CEikonEnv& aEikEnv );
+
+        /**
+        * Second-phase constructor.
+        */
+        void ConstructL();
+
+    public:     // New methods
+
+        /**
+        * Edit the settings.
+        * @param aSettings Settings to edit.
+        * @param aTitle Title Pane text to display during edit.
+        * @return Exit code. Value from CWEPSecuritySettings::TEvent bits 
+        * combined.
+        */
+        TInt EditL( CWEPSecuritySettingsImpl& aSettings, const TDesC& aTitle );
+
+
+    private:    // Data 
+
+        // To hold the events
+        TInt        iEventStore;
+
+        // Resource file offset.
+        TInt        iResOffset; 
+        
+        // Eikon environment. Not owned.
+        CEikonEnv*  iEikEnv;        
+    };
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiPanic.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2001-2009 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: Panic function and codes.     
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+#ifndef WEPSECURITYSETTINGSUIPANIC_H
+#define WEPSECURITYSETTINGSUIPANIC_H
+
+// TYPES
+
+/**
+* Panic reasons for WEP Security Settings UI.
+*/
+enum TWepSecuritySettingsPanicCodes
+	{
+    EUnknownCase,
+    ETableNotFound,
+    EGeneral
+	};
+
+
+// FUNCTION DECLARATIONS
+
+/**
+* Panic the thread.
+* @param aReason Reason for the panic.
+*/
+void Panic( TWepSecuritySettingsPanicCodes aPanic );
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WepKeyDataTextSettingPage.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWEPKeyDataTextSettingPage.
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef WEPKEYDATA_TEXT_SETTING_PAGE_H
+#define WEPKEYDATA_TEXT_SETTING_PAGE_H
+
+
+// INCLUDE FILES
+#include <akntextsettingpage.h>
+#include <WEPSecuritySettingsUI.h>
+#include "WepSecuritySettingsDefs.h"
+
+
+// CLASS DECLARATION
+
+/*
+* Setting page for KeyData text. Overrides standard CAknTextSettingPage
+* to set some parameters at runtime, according to the KeyFormat
+*/
+NONSHARABLE_CLASS( CWEPKeyDataTextSettingPage ) : public CAknTextSettingPage
+    {
+    public: // Constructors
+
+        /**
+        * Constructor.
+        * @param aText  Reference to text for editing
+        * @param aMaxLength Number of characters to be entered
+        * @param aWEPKeyFormat  Format of data (EAscii or EHexadecimal)
+        */
+	    CWEPKeyDataTextSettingPage( TDes& aText, TInt aMaxLength, 
+                           CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat );
+	    
+        /**
+        * Constructs the setting page. Called by ExecuteLD
+        */
+        virtual void ConstructL();
+
+    private:
+
+        // Number of characters to be entered
+        TInt iLengthOfKeyData;   
+
+        // Format of data (EAscii or EHexadecimal)
+        CWEPSecuritySettings::TWEPKeyFormat iWEPKeyFormat;
+    };
+
+
+#endif
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WepSecuritySettingsDefs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2001-2009 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: Definitions. 
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef WEPSECURITYSETTINGSDEFS_H
+#define WEPSECURITYSETTINGSDEFS_H
+
+
+// CONSTANTS
+
+// Empty key
+LOCAL_D const TUint KKeyDataLengthEmpty = 0;
+
+// Number of characters for a 40 bits key
+LOCAL_D const TUint KKeyDataLength40Bits  = 10;
+
+// Number of characters for a 104 bits key
+LOCAL_D const TUint KKeyDataLength104Bits = 26;
+
+// Number of characters for a 232 bits key
+LOCAL_D const TUint KKeyDataLength232Bits = 58;
+
+// The maximum length of key data
+LOCAL_D const TUint KMaxLengthOfKeyData = KKeyDataLength232Bits;
+                                            
+// Number of keys
+LOCAL_D const TUint KMaxNumberofKeys = 4;
+
+// Invalid id
+LOCAL_D const TUint32 KUidNone = 0;
+
+
+// UID of application containing help texts (General Settings).
+LOCAL_D const TUid KWEPSecuritySettingsUiHelpMajor = { 0x100058EC };
+
+// Error code for invalid length of key data
+LOCAL_D const TInt KErrInvalidLength = 101;
+
+// Error code for key data containing invalid characters
+LOCAL_D const TInt KErrInvalidChar = 102;
+
+
+#endif  // WEPSECURITYSETTINGSDEFS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/loc/wepsecuritysettingsui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,248 @@
+/*
+* Copyright (c) 2001-2009 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: This is a localisation file for WEPSecuritySettingsUI A .loc file is the one and only place where the logical strings to be localised are defined. 
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:Command in options menu.
+//d:Exits WEP Security Settings.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_set_options_exit                    "Exit"
+
+
+//d:Command in options menu.
+//d:Modifies the currently selected item.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_set_options_change                  "Change"
+
+
+//d:Name of the first tab of four
+//l:tabs_4_active_pane_t1/opt1
+//w:
+//r:3.0
+//
+#define qtn_wlan_tab_wep_key_1                  "#1"
+
+
+//d:Name of the second tab of four
+//l:tabs_4_active_pane_t1/opt1
+//w:
+//r:3.0
+//
+#define qtn_wlan_tab_wep_key_2                  "#2"
+
+
+//d:Name of the third tab of four
+//l:tabs_4_active_pane_t1/opt1
+//w:
+//r:3.0
+//
+#define qtn_wlan_tab_wep_key_3                  "#3"
+
+
+//d:Name of the fourth tab of four
+//l:tabs_4_active_pane_t1/opt1
+//w:
+//r:3.0
+//
+#define qtn_wlan_tab_wep_key_4                  "#4"
+
+
+//d:Error note message: database is inaccessible.
+//l:popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_set_err_db_inaccessible             "Cannot access\ndatabase.\nTry again later."
+
+
+//d:Item text in setting list.
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_in_use            "WEP key in use"
+
+
+//d:Item text in setting list.
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_auth_mode             "Authentication type"
+
+
+//d:Item text in setting list.
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_settings          "WEP key settings"
+
+
+//d:Item text in setting list.
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_length            "WEP key length"
+
+
+//d:Item text in setting list.
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_format            "WEP key format"
+
+
+//d:Item text in setting list.
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_data              "WEP key data"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_1                 "#1"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_2                 "#2"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_3                 "#3"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_4                 "#4"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_auth_mode
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_auth_mode_open        "Open"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_auth_mode
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_auth_mode_shared      "Shared"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_length
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_length_64_bits    "64 bits"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_length
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_length_128_bits   "128 bits"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_length
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_length_256_bits   "256 bits"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_format
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_format_ascii      "ASCII"
+
+
+//d:List pane for the setting value item list qtn_wlan_sett_wep_key_format
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wep_key_format_hexa       "Hexadecimal"
+
+
+//d:Confirmation query text to ask the user if he wants to continue even if
+//d:qtn_wlan_sett_wep_key_data was not entered and therefore security settings
+//d:will not be saved.
+//l:popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_wlan_quest_wep_key_data_missing     "WEP key data for the key in use is compulsory. Security settings will not be saved. Continue?"
+
+
+//d:Error note to be showed when invalid number of characters have been
+//d:entered for qtn_wlan_sett_wep_key_data editor.
+//d:%N is the number of characters that must be entered.
+//l:popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_wlan_info_wep_key_too_short         "WEP key too short. Key must be exactly %N characters long"
+
+
+//d:Error note to be showed when invalid characters have been entered for
+//d:qtn_wlan_sett_wep_key_data editor
+//l:popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_wlan_info_wep_key_illegal_chars     "Illegal characters in WEP key"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettings.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWEPSecuritySettings.     
+*
+*/
+
+/*
+* %version: tr1cfwln#15 %
+*/
+
+// INCLUDE FILES
+
+#include <WEPSecuritySettingsUI.h>
+
+#include "WEPSecuritySettingsImpl.h"
+#include "WEPSecuritySettingsUiImpl.h"
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettings* CWEPSecuritySettings::NewL()
+    {
+    CWEPSecuritySettings* settings = new ( ELeave ) CWEPSecuritySettings();
+    CleanupStack::PushL( settings );
+    settings->iImpl = CWEPSecuritySettingsImpl::NewL();
+    CleanupStack::Pop( settings ); 
+    return settings;    
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::~CWEPSecuritySettings
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettings::~CWEPSecuritySettings()
+    {
+    delete iImpl;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 aIapId, 
+                                           CCommsDatabase& aCommsDb )
+    {
+    iImpl->LoadL( aIapId, aCommsDb );
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 aIapId, 
+                                           CCommsDatabase& aCommsDb ) const
+    {
+    iImpl->SaveL( aIapId, aCommsDb );
+    }
+    
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::EditL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWEPSecuritySettings::EditL( CWEPSecuritySettingsUi& aUi,
+                                           const TDesC& aTitle )
+    {
+    return aUi.iImpl->EditL( *iImpl, aTitle );
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::IsValid
+// ---------------------------------------------------------
+//
+EXPORT_C TBool CWEPSecuritySettings::IsValid() const
+    {
+    return iImpl->IsValid();
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SetKeyDataL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWEPSecuritySettings::SetKeyDataL( const TInt aElement,
+                                                 const TDesC& aKeyData,
+                                                 const TBool aHex )
+    {
+    return iImpl->SetKeyDataL( aElement, aKeyData, aHex );
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 aIapId, 
+                                           CMDBSession& aSession )
+    {
+    iImpl->LoadL( aIapId, aSession );
+    }
+    
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 aIapId, 
+                                           CMDBSession& aSession ) const
+    {
+    iImpl->SaveL( aIapId, aSession );
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SetKeyInUse
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SetKeyInUse( 
+                                      CWEPSecuritySettings::TWEPKeyInUse aKey )
+    {
+    iImpl->SetKeyInUse( aKey );
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SetAuthentication
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SetAuthentication( 
+                     CWEPSecuritySettings::TWEPAuthentication aAuthentication )
+    {
+    iImpl->SetAuthentication( aAuthentication );
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsDlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,1328 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of dialog.  
+*
+*/
+
+/*
+* %version: tr1cfwln#8.1.23 %
+*/
+
+// INCLUDE FILES
+#include <aknnavide.h>
+#include <akntitle.h>
+#include <aknradiobuttonsettingpage.h>
+#include <aknmfnesettingpage.h>
+#include <barsread.h>
+#include <akntabgrp.h>
+#include <StringLoader.h>
+#include <aknnotewrappers.h>
+#include <WEPSecuritySettingsUI.h>
+
+#include <WEPSecuritySettingsUI.rsg>
+
+#include "WEPSecuritySettingsImpl.h"
+#include "WEPSecuritySettingsUiPanic.h"
+#include "WEPSecuritySettingsDlg.h"
+#include "WepKeyDataTextSettingPage.h"
+
+#include "WEPSecuritySettingsUI.hrh"
+
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+#include <featmgr.h>
+
+
+// CONSTANT DECLARATIONS
+
+// Number of fields of main view
+LOCAL_D const TInt KNumOfFieldsMain = 3;
+
+// Number of fields of key configuration view
+LOCAL_D const TInt KNumOfFieldsKeyConfiguration = 3;
+
+// Ratio of ascii and hex key sizes
+LOCAL_D const TInt KAsciiHexRatio = 2;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::CWEPSecuritySettingsDlg
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsDlg::CWEPSecuritySettingsDlg( TInt& aEventStore )
+: iNaviPane( NULL ), 
+iTabGroup( NULL ),
+iActiveTab( 0 ),
+iLevel( 0 ),
+iEventStore( &aEventStore )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::~CWEPSecuritySettingsDlg
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsDlg::~CWEPSecuritySettingsDlg()
+    {
+    if ( iNaviDecoratorEmpty )
+        {
+        delete iNaviDecoratorEmpty;
+        }
+
+    if ( iNaviDecoratorTabbed )
+        {
+        delete iNaviDecoratorTabbed;
+        }
+
+    if ( iTitlePane )
+        {
+        // set old text back, if we have it...
+        if ( iOldTitleText )
+            {
+            TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) );
+            delete iOldTitleText;
+            }
+        }
+     
+     FeatureManager::UnInitializeLib();
+     }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::NewL
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsDlg* CWEPSecuritySettingsDlg::NewL( TInt& aEventStore )
+    {
+    CWEPSecuritySettingsDlg* secSett = 
+                        new ( ELeave )CWEPSecuritySettingsDlg( aEventStore );
+    return secSett;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CWEPSecuritySettingsDlg::ConstructAndRunLD( 
+                                CWEPSecuritySettingsImpl* aSecuritySettings,
+                                const TDesC& aTitle )
+    {
+	CleanupStack::PushL( this );
+
+    const TInt Titles_Wep_Main[KNumOfFieldsMain] =
+        {
+        R_WEP_KEY_IN_USE,
+        R_WEP_AUTHENTICATION,
+        R_WEP_KEY_CONFIGURATION
+        };
+
+    const TInt Fields_Wep_Main[KNumOfFieldsMain] =
+        {
+        CWEPSecuritySettings::EWepKeyInUse,
+        CWEPSecuritySettings::EWepAuthentication,
+        CWEPSecuritySettings::EWepKeyConfiguration
+        };
+
+    const TInt Fields_Wep_Key_Configuration[KNumOfFieldsKeyConfiguration] =
+        {
+        CWEPSecuritySettings::EWepKeyLength,
+        CWEPSecuritySettings::EWepKeyFormat,
+        CWEPSecuritySettings::EWepKeyData
+        };
+
+    const TInt Titles_Wep_Key_Configuration[KNumOfFieldsKeyConfiguration] =
+        {
+        R_WEP_KEY_LENGTH,
+        R_WEP_KEY_FORMAT,
+        R_WEP_KEY_DATA
+        };
+
+    iSecuritySettings = aSecuritySettings;
+    iConnectionName = aTitle;
+
+    iFieldsMain = ( CWEPSecuritySettings::TWepMember* ) Fields_Wep_Main;
+    iTitlesMain = MUTABLE_CAST( TInt*, Titles_Wep_Main );
+
+    iFieldsKeyConfiguration = ( CWEPSecuritySettings::TWepMember* ) 
+                                                  Fields_Wep_Key_Configuration;
+    iTitlesKeyConfiguration = MUTABLE_CAST( TInt*, 
+                                                Titles_Wep_Key_Configuration );
+
+    FeatureManager::InitializeLibL();
+
+    ConstructL( R_WEP_SECURITY_SETTINGS_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+	
+    return ExecuteLD( R_WEPSETTINGS_DIALOG );
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::OkToExitL
+// ---------------------------------------------------------
+//
+TBool CWEPSecuritySettingsDlg::OkToExitL( TInt aButtonId )
+{
+    // Translate the button presses into commands for the appui & current
+    // view to handle
+    TBool retval( EFalse );
+    if ( aButtonId == EAknSoftkeyOptions )
+        {
+        DisplayMenuL();
+        }
+    else if ( aButtonId == EEikCmdExit )        // ShutDown requested
+        {
+        *iEventStore |= CWEPSecuritySettings::EShutDownReq;
+        retval = ETrue;
+        }
+    else if ( aButtonId == EAknSoftkeyBack || aButtonId == EAknCmdExit )
+        {
+        if ( iSecuritySettings->IsValid() )
+            {
+            *iEventStore |= CWEPSecuritySettings::EValid;
+            retval = ETrue;
+            }
+        else if ( aButtonId == EAknSoftkeyBack )
+            {
+            HBufC* stringHolder = StringLoader::LoadL( 
+                                        R_WEP_DATA_MISSING, iEikonEnv );
+            CleanupStack::PushL( stringHolder );
+
+            CAknQueryDialog *queryDialog = new (ELeave) CAknQueryDialog();
+
+            queryDialog->PrepareLC( R_WEP_SEC_SETT_CONF_QUERY );
+            queryDialog->SetPromptL( stringHolder->Des() );
+            if ( queryDialog->RunLD() )
+                {
+                retval = ETrue;
+                }
+            else
+                {
+                iActiveTab = iSecuritySettings->KeyInUse();
+                iTabGroup->SetActiveTabByIndex( iActiveTab );
+                HandleListboxDataChangeL();
+                }
+            CleanupStack::PopAndDestroy( stringHolder );   // stringHolder
+            }
+        else
+            {
+            retval = ETrue;
+            }
+
+        if ( aButtonId == EAknCmdExit )
+            {
+            *iEventStore |= CWEPSecuritySettings::EExitReq;
+            }
+        }
+    else if( aButtonId == EWepSelCmdChange )
+        {
+        ChangeSettingsL( ETrue );
+        retval = EFalse; // don't exit the dialog
+        }
+
+    return retval;
+}
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::OfferKeyEventL
+// ---------------------------------------------------------
+//
+TKeyResponse CWEPSecuritySettingsDlg::OfferKeyEventL( 
+                                const TKeyEvent& aKeyEvent, TEventCode aType )
+    {
+    TKeyResponse retval( EKeyWasNotConsumed );
+    TChar charCode( aKeyEvent.iCode );
+
+    // Only interested in standard key events
+    if ( aType == EEventKey )
+        {
+        // If a menu is showing offer key events to it.
+        if ( CAknDialog::MenuShowing() )
+            {
+            retval = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+        else
+            {
+            if ( iList )
+                {
+                // as list IS consuming, must handle because it IS the SHUTDOWN...
+                // or, a view switch is shutting us down...
+                if ( aKeyEvent.iCode == EKeyEscape )
+                    {
+                    ProcessCommandL( EEikCmdExit );
+                    retval = EKeyWasConsumed;
+                    }
+                else if ( iLevel && ( charCode == EKeyLeftArrow || 
+                                      charCode == EKeyRightArrow ) )
+                    {
+                    if ( iTabGroup )
+                        {
+                        return iTabGroup->OfferKeyEventL( aKeyEvent, aType );
+                        }
+                    }
+                else
+                    {
+                    retval = iList->OfferKeyEventL( aKeyEvent, aType );
+                    }
+                }
+            else
+                {
+                if ( aKeyEvent.iCode == EKeyOK )
+                    {
+                    ProcessCommandL( EWepSelCmdChange );
+                    retval = EKeyWasConsumed;
+                    }
+                }
+            }
+        }
+
+    return retval;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::HandleListboxDataChangeL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::HandleListboxDataChangeL()
+    {
+    // fill up our new list with data
+    CDesCArrayFlat* itemArray = new ( ELeave ) CDesCArrayFlat( 4 );
+    CleanupStack::PushL( itemArray );
+
+    if ( iLevel )
+        {
+        FillListWithDataL( *itemArray, *iFieldsKeyConfiguration,
+                           KNumOfFieldsKeyConfiguration,
+                           iTitlesKeyConfiguration );
+
+        iNaviPane->ReplaceL( *iNaviDecoratorEmpty, *iNaviDecoratorTabbed );
+        }
+    else
+        {
+        FillListWithDataL( *itemArray, *iFieldsMain, KNumOfFieldsMain, 
+                           iTitlesMain );
+        iNaviPane->ReplaceL( *iNaviDecoratorTabbed, *iNaviDecoratorEmpty );
+        }
+
+    iList->Model()->SetItemTextArray( itemArray );
+    
+    CleanupStack::Pop( itemArray ); // now it is owned by the LB, so pop it
+    iItemArray = itemArray;
+
+    iList->HandleItemAdditionL();
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::ProcessCommandL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::ProcessCommandL( TInt aCommandId )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch ( aCommandId )
+        {
+        case EWepSelCmdChange:
+            {
+            ChangeSettingsL( EFalse );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+        case EEikCmdExit:
+            {
+            TryExitL( aCommandId );
+            break;
+            }
+
+        default:
+            {
+            // silently ignore it
+            break;
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+            // both handled in the same way for now...
+        case EEventItemSingleClicked:
+            {
+            ChangeSettingsL( ETrue );
+            break;
+            }
+
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+
+        default:
+            {
+            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
+            break;
+            };
+        };
+    }
+
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::PreLayoutDynInitL()
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::PreLayoutDynInitL()
+    {
+    // first get StatusPane
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+
+    // then get TitlePane
+    iTitlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( 
+                                                    EEikStatusPaneUidTitle ) );
+    // if not already stored, store it for restoring
+    if ( !iOldTitleText )
+        {
+        iOldTitleText = iTitlePane->Text()->AllocL();
+        }
+
+    // set new titlepane text
+    iTitlePane->SetTextL( iConnectionName );
+
+    // Fetch pointer to the default navi pane control
+    iNaviPane = ( CAknNavigationControlContainer* ) 
+                    statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) );
+
+    _LIT( KEmpty, "" );
+    if ( !iNaviDecoratorEmpty )
+        {
+        iNaviDecoratorEmpty = iNaviPane->CreateNavigationLabelL( KEmpty );
+        }
+    if ( !iNaviDecoratorEmpty )
+        {    
+         	__ASSERT_DEBUG( EFalse, Panic( EGeneral ) );
+        }
+    if ( !iNaviDecoratorTabbed )
+        {
+        iNaviDecoratorTabbed = iNaviPane->CreateTabGroupL();
+        
+        if (iNaviDecoratorTabbed)
+            {
+            iTabGroup = static_cast< CAknTabGroup* >
+                                    ( iNaviDecoratorTabbed->DecoratedControl() );
+            
+            HBufC16* tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_1 );
+            TPtr localizedTabText( tabText->Des() );
+            AknTextUtils::LanguageSpecificNumberConversion( localizedTabText );
+            iTabGroup->AddTabL( EWEPSecuritySettingsTab1, *tabText );
+            CleanupStack::PopAndDestroy( tabText ); // tabText
+            
+            tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_2 );
+            localizedTabText.Set( tabText->Des() );
+            AknTextUtils::LanguageSpecificNumberConversion( localizedTabText );
+            iTabGroup->AddTabL( EWEPSecuritySettingsTab2, *tabText );
+            CleanupStack::PopAndDestroy( tabText ); // tabText
+            
+            tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_3 );
+            localizedTabText.Set( tabText->Des() );
+            AknTextUtils::LanguageSpecificNumberConversion( localizedTabText );
+            iTabGroup->AddTabL( EWEPSecuritySettingsTab3, *tabText );
+            CleanupStack::PopAndDestroy( tabText ); // tabText
+            
+            tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_4 );
+            localizedTabText.Set( tabText->Des() );
+            AknTextUtils::LanguageSpecificNumberConversion( localizedTabText );
+            iTabGroup->AddTabL( EWEPSecuritySettingsTab4, *tabText );
+            CleanupStack::PopAndDestroy( tabText ); // tabText
+            
+            iTabGroup->SetTabFixedWidthL( EAknTabWidthWithFourTabs );
+            iTabGroup->SetActiveTabByIndex( 0 );
+                
+            iTabGroup->SetObserver( this );
+            }
+        else 
+          	{
+          	__ASSERT_DEBUG( EFalse, Panic( EGeneral ) );
+           	}
+        }
+    iNaviPane->PushL( *iNaviDecoratorEmpty );
+    iList = STATIC_CAST( CAknSettingStyleListBox*, 
+                                        Control( KWepMainSettingsListboxId ) );
+
+    iList->CreateScrollBarFrameL( ETrue );
+    iList->ScrollBarFrame()->SetScrollBarVisibilityL
+        ( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
+
+    HandleListboxDataChangeL();
+
+    iList->SetCurrentItemIndex( 0 );
+    iList->SetListBoxObserver( this );
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::DynInitMenuPaneL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::DynInitMenuPaneL( TInt aResourceId, 
+                                                CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+    if ( aResourceId == R_WEP_SECURITY_SETTINGS_MENU )
+        {
+        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        }
+    }
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::FillListWithDataL
+//----------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::FillListWithDataL( CDesCArrayFlat& aItemArray,
+                                   const CWEPSecuritySettings::TWepMember& arr, 
+                                   TInt aLength,
+                                   const TInt* aRes )
+    {
+    _LIT( KTxtMenuListItemFormat, " \t%S\t\t" );
+    const TInt KSpaceAndTabsLength = 4;
+
+    CWEPSecuritySettings::TWepMember* wepMember = 
+                       MUTABLE_CAST( CWEPSecuritySettings::TWepMember*, &arr );
+
+    for( TInt i = 0; i < aLength; i++ )
+        {
+        if ( *wepMember == CWEPSecuritySettings::EWepKeyConfiguration )
+            {
+            // Define a heap descriptor to hold all the item text
+            // HBufC is non-modifiable
+            HBufC* title = iEikonEnv->AllocReadResourceLC( *aRes );
+
+            // Define a heap descriptor to hold all the item text
+            HBufC* itemText = HBufC::NewLC( title->Length() + 
+                                            KSpaceAndTabsLength );
+
+            // Define a modifiable pointer descriptor to be able to append
+            // text to the non-modifiable heap descriptor itemText
+            TPtr itemTextPtr = itemText->Des();
+            itemTextPtr.Format( KTxtMenuListItemFormat, title );
+
+            aItemArray.AppendL( *itemText );
+
+            CleanupStack::PopAndDestroy( 2, title );   // itemText, title
+            }
+        else
+            {
+            HBufC* itemText = CreateTextualListBoxItemL( *wepMember, 
+                                                         *aRes );
+            CleanupStack::PushL( itemText );
+            aItemArray.AppendL( itemText->Des() );
+            CleanupStack::PopAndDestroy( itemText );
+            }
+
+        wepMember++;
+        aRes++;
+        }
+    }
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::UpdateListBoxItemL
+//----------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::UpdateListBoxItemL( 
+                                    CWEPSecuritySettings::TWepMember aMember, 
+                                    TInt aRes, TInt aPos )
+    {
+    HBufC* itemText = CreateTextualListBoxItemL( aMember, aRes );
+    CleanupStack::PushL( itemText );
+    // first try to add, if Leaves, list will be untouched
+    iItemArray->InsertL( aPos, itemText->Des() );
+    // if successful, previous item is scrolled up with one,
+    // so delete that one...
+    if ( ++aPos < iItemArray->MdcaCount() )
+        {
+        iItemArray->Delete( aPos );
+        }
+    CleanupStack::PopAndDestroy( itemText );
+    }
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::CreateTextualListBoxItemL
+//----------------------------------------------------------
+//
+HBufC* CWEPSecuritySettingsDlg::CreateTextualListBoxItemL( 
+                                      CWEPSecuritySettings::TWepMember aMember,
+                                      TInt aRes )
+    {
+    // Define a heap descriptor to hold all the item text
+    // HBufC is non-modifiable
+    HBufC* title = iEikonEnv->AllocReadResourceLC( aRes );
+
+    // both variables needed independently of the following conditions so I
+    // must declare them here...
+    HBufC16* value;
+    TUint32 valueResourceID;
+
+    switch ( aMember )
+        {
+        case CWEPSecuritySettings::EWepKeyInUse:
+            {
+            switch ( iSecuritySettings->KeyInUse() )
+                {
+                case CWEPSecuritySettings::EKeyNumber1:
+                    {
+                    valueResourceID = R_WEP_KEY_NUMBER_1;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::EKeyNumber2:
+                    {
+                    valueResourceID = R_WEP_KEY_NUMBER_2;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::EKeyNumber3:
+                    {
+                    valueResourceID = R_WEP_KEY_NUMBER_3;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::EKeyNumber4:
+                    {
+                    valueResourceID = R_WEP_KEY_NUMBER_4;
+                    break;
+                    }
+
+                default:
+                    {
+                    valueResourceID = 0;
+                    break;
+                    }
+                }
+            break;
+            }
+        
+        case CWEPSecuritySettings::EWepAuthentication:
+            {
+            switch ( iSecuritySettings->Authentication() )
+                {
+                case CWEPSecuritySettings::EAuthOpen:
+                    {
+                    valueResourceID = R_WEP_AUTHENTICATION_OPEN;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::EAuthShared:
+                    {
+                    valueResourceID = R_WEP_AUTHENTICATION_SHARED;
+                    break;
+                    }
+
+                default:
+                    {
+                    valueResourceID = 0;
+                    break;
+                    }
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyLength:
+            {
+            switch ( iSecuritySettings->KeyLength( iActiveTab ) )
+                {
+                case CWEPSecuritySettings::E40Bits:
+                    {
+                    valueResourceID = R_WEP_KEY_LENGTH_64_BITS;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::E104Bits:
+                    {
+                    valueResourceID = R_WEP_KEY_LENGTH_128_BITS;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::E232Bits:
+                    {
+                    valueResourceID = iSecuritySettings->WEP256Enabled() ? 
+                                                R_WEP_KEY_LENGTH_256_BITS : 0;
+                    break;
+                    }
+
+                default:
+                    {
+                    valueResourceID = 0;
+                    break;
+                    }
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyFormat:
+            {
+            switch ( iSecuritySettings->KeyFormat( iActiveTab ) )
+                {
+                case CWEPSecuritySettings::EAscii:
+                    {
+                    valueResourceID = R_WEP_KEY_FORMAT_ASCII;
+                    break;
+                    }
+
+                case CWEPSecuritySettings::EHexadecimal:
+                    {
+                    valueResourceID = R_WEP_KEY_FORMAT_HEX;
+                    break;
+                    }
+
+                default:
+                    {
+                    valueResourceID = 0;
+                    break;
+                    }
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyData:
+            {
+            if ( !iSecuritySettings->KeyData( iActiveTab )->Length() )
+                {
+                valueResourceID = R_WEP_KEY_DATA_MUST_BE_DEFINED;
+                }
+            else
+                {
+                valueResourceID = 0;
+                }
+
+            break;
+            }
+
+        default:
+            {
+            valueResourceID = 0;
+            break;
+            }
+        }
+
+    _LIT( KStars, "****" );
+    _LIT( KTxtListItemFormat, " \t%S\t\t%S" );
+    const TInt KSpaceAndTabsLength = 4;
+    _LIT( KTxtCompulsory, "\t*" );
+
+    if ( valueResourceID )
+        {
+        // Read up value text from resource
+        value = iEikonEnv->AllocReadResourceLC( valueResourceID );
+        if( aMember == CWEPSecuritySettings::EWepKeyInUse )
+            {
+            TPtr localizedValue( value->Des() );
+            AknTextUtils::LanguageSpecificNumberConversion( localizedValue );
+            }
+        }
+    else
+        {
+        value = HBufC::NewLC( KStars().Length() );
+        value->Des().Copy( KStars ); 
+        }
+
+    // Define a heap descriptor to hold all the item text
+    // +4 for space and tab characters
+    TInt length = title->Length() + value->Length() + KSpaceAndTabsLength;
+    if ( aMember == CWEPSecuritySettings::EWepKeyData )  // Compulsory
+        {
+        length += KTxtCompulsory().Length();
+        }
+
+    HBufC* itemText = HBufC::NewLC( length );
+
+    // Define a modifiable pointer descriptor to be able to append text to the
+    // non-modifiable heap descriptor itemText
+    TPtr itemTextPtr = itemText->Des();
+    itemTextPtr.Format( KTxtListItemFormat, title, value );
+    if ( aMember == CWEPSecuritySettings::EWepKeyData )  // Compulsory
+        {
+        itemTextPtr.Append( KTxtCompulsory );
+        }
+    CleanupStack::Pop( itemText );    // itemtext,
+
+    CleanupStack::PopAndDestroy( 2, title ); // title, value
+
+    return itemText;
+    }
+
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::ShowPopupSettingPageL
+//----------------------------------------------------------
+//
+TBool CWEPSecuritySettingsDlg::ShowPopupSettingPageL( 
+                                       CWEPSecuritySettings::TWepMember aData )
+    {
+    TInt currvalue( 0 );
+    TBool retval( EFalse );
+    CDesCArrayFlat* items = FillPopupSettingPageLC( aData,  currvalue );
+
+    TInt attr_resid( 0 );
+
+    // not text based ones:
+    switch ( aData )
+        {
+        case CWEPSecuritySettings::EWepKeyInUse:
+            {
+            attr_resid = R_WEP_KEY_IN_USE;
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepAuthentication:
+            {
+            attr_resid = R_WEP_AUTHENTICATION;
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyLength:
+            {
+            attr_resid = R_WEP_KEY_LENGTH;
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyFormat:
+            {
+            attr_resid = R_WEP_KEY_FORMAT;
+            break;
+            }
+
+        default:
+            {
+            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
+            attr_resid = 0;
+            break;
+            }
+        }
+
+    HBufC* titlebuf;
+    CAknRadioButtonSettingPage* dlg;
+    if ( attr_resid )
+        {
+        titlebuf = iEikonEnv->AllocReadResourceLC( attr_resid );
+        dlg = new ( ELeave )CAknRadioButtonSettingPage( 
+                            R_RADIO_BUTTON_SETTING_PAGE, currvalue, items );
+        CleanupStack::PushL( dlg ); 
+        TPtrC ptr( titlebuf->Des() );
+        dlg->SetSettingTextL( ptr );
+        CleanupStack::Pop( dlg ); // dlg
+        }
+    else
+        {
+        dlg = new ( ELeave )CAknRadioButtonSettingPage( 
+                            R_RADIO_BUTTON_SETTING_PAGE, currvalue, items );
+        }
+    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) )
+        {
+    	retval = UpdateFromPopupSettingPage( aData, currvalue );
+	    }
+
+    if ( attr_resid )
+        {
+        CleanupStack::PopAndDestroy( titlebuf ); // titlebuf
+        }
+
+    CleanupStack::PopAndDestroy( items );   // items. It deletes also all 
+                                            // elements in the array.
+    return retval;
+    }
+
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::ShowPopupTextSettingPageL
+//----------------------------------------------------------
+//
+TBool CWEPSecuritySettingsDlg::ShowPopupTextSettingPageL()
+    {
+    TBool retval( EFalse );
+
+    CWEPSecuritySettings::TWEPKeyFormat keyFormat = 
+                                    iSecuritySettings->KeyFormat( iActiveTab );
+    TInt expectedLength = iSecuritySettings->ExpectedLengthOfKeyData( 
+                                iSecuritySettings->KeyLength( iActiveTab ) );
+
+    if ( keyFormat == CWEPSecuritySettings::EAscii )
+        {
+        expectedLength /= KAsciiHexRatio; //Ascii key is half the length of Hex
+        }
+
+    HBufC16* bufKeyData = HBufC16::NewLC( expectedLength );
+    TPtr16 ptrKeyData( bufKeyData->Des() );
+
+    TBool showPage( ETrue );
+    while ( showPage )
+        {
+        CWEPKeyDataTextSettingPage* dlg = 
+            new( ELeave )CWEPKeyDataTextSettingPage( ptrKeyData, 
+                                                     expectedLength,
+                                                     keyFormat );
+
+        if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) )
+            {
+            HBufC8* buf8 = HBufC8::NewLC( bufKeyData->Des().Length() );
+            buf8->Des().Copy( bufKeyData->Des() ); 
+
+            TInt err = iSecuritySettings->VerifyKeyData( *buf8, expectedLength,
+                                iSecuritySettings->KeyFormat( iActiveTab ) );
+            if ( err == KErrNone )
+                {
+                if ( keyFormat == CWEPSecuritySettings::EAscii )
+                    {
+                    HBufC8* buf8Conv = 
+                                HBufC8::NewLC( bufKeyData->Des().Length()
+                                                            * KAsciiHexRatio );
+                                        // Ascii key is half the length of Hex
+
+                    iSecuritySettings->ConvertAsciiToHex( buf8->Des(), 
+                                                          buf8Conv );
+                    iSecuritySettings->SetKeyData( iActiveTab, 
+                                                   buf8Conv->Des() );
+                    CleanupStack::PopAndDestroy( buf8Conv ); // buf8Conv
+                    }
+                else
+                    {
+                    iSecuritySettings->SetKeyData( iActiveTab, buf8->Des() );
+                    }
+
+                retval = ETrue;
+                showPage = EFalse;
+                }
+            else
+                {
+                HBufC* stringLabel;
+                
+                if ( err == KErrInvalidLength )
+                    {
+                    stringLabel = StringLoader::LoadL( R_INFO_WEP_KEY_TOO_SHORT,
+                                                       expectedLength, 
+                                                       iEikonEnv );
+                    }
+                else
+                    {
+                    stringLabel = StringLoader::LoadL( 
+                                                R_INFO_WEP_KEY_ILLEGAL_CHARS,
+                                                iEikonEnv );
+                    }
+
+                CleanupStack::PushL( stringLabel );
+
+	            CAknInformationNote* dialog = new (ELeave)CAknInformationNote( 
+                                                                        ETrue );
+                CleanupStack::Pop( stringLabel );
+
+                dialog->ExecuteLD( *stringLabel );
+
+                delete stringLabel;   // stringLabel
+
+                ptrKeyData.Zero();
+                }
+
+            CleanupStack::PopAndDestroy( buf8 ); // buf8
+            }
+        else
+            {
+            showPage = EFalse;
+            }
+        }
+
+    CleanupStack::PopAndDestroy( bufKeyData ); // bufKeyData
+
+    return retval;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::FillPopupSettingPageLC
+// ---------------------------------------------------------
+//
+CDesCArrayFlat* CWEPSecuritySettingsDlg::FillPopupSettingPageLC( 
+                                       CWEPSecuritySettings::TWepMember aData,
+                                       TInt& aCurrvalue )
+    {
+    CDesCArrayFlat* items = new( ELeave)CDesCArrayFlat( 1 );
+    CleanupStack::PushL( items );
+
+    switch ( aData )
+        {
+        case CWEPSecuritySettings::EWepKeyInUse:
+            {
+            RBuf16 convert( iEikonEnv->AllocReadResourceL( 
+                                                        R_WEP_KEY_NUMBER_1 ) );
+            AknTextUtils::LanguageSpecificNumberConversion( convert );
+            items->AppendL( convert );
+            convert.Close();
+            
+            convert.Assign( iEikonEnv->AllocReadResourceL(
+                                                        R_WEP_KEY_NUMBER_2 ) );
+            AknTextUtils::LanguageSpecificNumberConversion( convert );
+            items->AppendL( convert );
+            convert.Close();
+            
+            convert.Assign( iEikonEnv->AllocReadResourceL(
+                                                        R_WEP_KEY_NUMBER_3 ) );
+            AknTextUtils::LanguageSpecificNumberConversion( convert );
+            items->AppendL( convert );
+            convert.Close();
+            
+            convert.Assign( iEikonEnv->AllocReadResourceL(
+                                                        R_WEP_KEY_NUMBER_4 ) );
+            AknTextUtils::LanguageSpecificNumberConversion( convert );
+            items->AppendL( convert );
+            convert.Close();
+
+            aCurrvalue = iSecuritySettings->KeyInUse();
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepAuthentication:
+            {
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_AUTHENTICATION_OPEN ) );
+            CleanupStack::PopAndDestroy();
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_AUTHENTICATION_SHARED ) );
+            CleanupStack::PopAndDestroy();
+
+            aCurrvalue = iSecuritySettings->Authentication();
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyLength:
+            {
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_KEY_LENGTH_64_BITS ) );
+            CleanupStack::PopAndDestroy();
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_KEY_LENGTH_128_BITS ) );
+            CleanupStack::PopAndDestroy();
+
+            if ( iSecuritySettings->WEP256Enabled() )
+                {
+                items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_KEY_LENGTH_256_BITS ) );
+                CleanupStack::PopAndDestroy();
+                }
+
+            aCurrvalue = iSecuritySettings->KeyLength( iActiveTab );
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyFormat:
+            {
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_KEY_FORMAT_ASCII ) );
+            CleanupStack::PopAndDestroy();
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WEP_KEY_FORMAT_HEX ) );
+            CleanupStack::PopAndDestroy();
+
+            aCurrvalue = iSecuritySettings->KeyFormat( iActiveTab );
+            break;
+            }
+
+        default:
+            {
+            __ASSERT_DEBUG( EFalse, Panic ( EUnknownCase ) );
+            break;
+            }
+        }
+    return items;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::UpdateFromPopupSettingPage
+// ---------------------------------------------------------
+//
+TBool CWEPSecuritySettingsDlg::UpdateFromPopupSettingPage( 
+                                        CWEPSecuritySettings::TWepMember aData,
+                                        TInt aCurrvalue )
+    {
+    TBool retVal( EFalse );
+
+    switch ( aData )
+        {
+        case CWEPSecuritySettings::EWepKeyInUse:
+            {
+            if ( iSecuritySettings->KeyInUse() != 
+                             ( CWEPSecuritySettings::TWEPKeyInUse )aCurrvalue )
+                {
+                iSecuritySettings->SetKeyInUse( 
+                            ( CWEPSecuritySettings::TWEPKeyInUse )aCurrvalue );
+                retVal = ETrue;
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepAuthentication:
+            {
+            if ( iSecuritySettings->Authentication() != 
+                 ( CWEPSecuritySettings::TWEPAuthentication )aCurrvalue )
+                {
+                iSecuritySettings->SetAuthentication( 
+                      ( CWEPSecuritySettings::TWEPAuthentication )aCurrvalue );
+                retVal = ETrue;
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyLength:
+            {
+            if ( iSecuritySettings->KeyLength( iActiveTab ) != 
+                 ( CWEPSecuritySettings::TWEPKeyLength )aCurrvalue )
+                {
+                iSecuritySettings->SetKeyLength( iActiveTab, 
+                           ( CWEPSecuritySettings::TWEPKeyLength )aCurrvalue );
+                retVal = ETrue;
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyFormat:
+            {
+            if ( iSecuritySettings->KeyFormat( iActiveTab ) != 
+                 ( CWEPSecuritySettings::TWEPKeyFormat )aCurrvalue )
+                {
+                iSecuritySettings->SetKeyFormat( iActiveTab, 
+                           ( CWEPSecuritySettings::TWEPKeyFormat )aCurrvalue );
+                retVal = ETrue;
+                }
+            break;
+            }
+
+        default:
+            {
+            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
+            break;
+            }
+        }
+
+    return retVal;
+    }
+
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::ChangeSettingsL
+//----------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::ChangeSettingsL( TBool aQuick )
+    {
+    TInt itemIndex = ( Max( iList->CurrentItemIndex(), 0 ) );
+    CWEPSecuritySettings::TWepMember* ptr = 
+                  (iLevel ? iFieldsKeyConfiguration : iFieldsMain) + itemIndex;
+    TInt* tptr = ( iLevel ? iTitlesKeyConfiguration : iTitlesMain ) + itemIndex;
+
+    const TInt KShiftFromKeyLengthToKeyData = 2;
+    switch ( *ptr  )
+        {
+        case CWEPSecuritySettings::EWepKeyInUse:
+        case CWEPSecuritySettings::EWepKeyLength:
+            { // Pop-up setting item
+            if ( ShowPopupSettingPageL( *ptr ) )
+                {
+                UpdateListBoxItemL( *ptr, *tptr, itemIndex );
+                *iEventStore |= CWEPSecuritySettings::EModified;
+                if ( *ptr == CWEPSecuritySettings::EWepKeyLength )
+                    {
+                    ptr += KShiftFromKeyLengthToKeyData;
+                    tptr += KShiftFromKeyLengthToKeyData;
+                    iSecuritySettings->KeyData( iActiveTab )->Zero();
+                    UpdateListBoxItemL( *ptr, *tptr, 
+                                    itemIndex+KShiftFromKeyLengthToKeyData );
+                    iList->SetCurrentItemIndexAndDraw( itemIndex+
+                                                KShiftFromKeyLengthToKeyData );
+                    }
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepAuthentication:
+        case CWEPSecuritySettings::EWepKeyFormat:
+            { // Setting item with two available values
+            TBool changed( ETrue );
+            if ( aQuick )
+                {
+                InvertSettings( *ptr );
+                }
+            else
+                {
+                changed = ShowPopupSettingPageL( *ptr );
+                }
+
+            if ( changed )
+                {
+                UpdateListBoxItemL( *ptr, *tptr, itemIndex );
+                if ( *ptr == CWEPSecuritySettings::EWepAuthentication )
+                    {
+                    *iEventStore |= CWEPSecuritySettings::EModified;
+                    }
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyData:
+            { // Text setting item
+            if ( ShowPopupTextSettingPageL() )
+                {
+                UpdateListBoxItemL( *ptr, *tptr, itemIndex );
+                *iEventStore |= CWEPSecuritySettings::EModified;
+                }
+            break;
+            }
+
+        case CWEPSecuritySettings::EWepKeyConfiguration:
+            {
+            iLevel = 1;
+
+            iActiveTab = iSecuritySettings->KeyInUse();
+            iTabGroup->SetActiveTabByIndex( iActiveTab );
+
+            HandleListboxDataChangeL();
+            itemIndex = 0;
+
+            break;
+            }
+
+        default:
+            {
+            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
+            break;
+            }
+        }
+
+    iList->ScrollToMakeItemVisible( itemIndex );
+    iList->SetCurrentItemIndexAndDraw( itemIndex );
+    }
+
+
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::InvertSettings
+//----------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::InvertSettings( CWEPSecuritySettings::TWepMember 
+                                                                  aDataMember )
+    {
+    if ( aDataMember == CWEPSecuritySettings::EWepAuthentication )
+        {
+        if ( iSecuritySettings->Authentication() == 
+                                              CWEPSecuritySettings::EAuthOpen )
+            {
+            iSecuritySettings->SetAuthentication( 
+                                            CWEPSecuritySettings::EAuthShared );
+            }
+        else
+            {
+            iSecuritySettings->SetAuthentication( 
+                                              CWEPSecuritySettings::EAuthOpen );
+            }
+        }
+    else if ( aDataMember == CWEPSecuritySettings::EWepKeyFormat )
+        {
+        if ( iSecuritySettings->KeyFormat( iActiveTab ) == 
+                                                 CWEPSecuritySettings::EAscii )
+            {
+            iSecuritySettings->SetKeyFormat( iActiveTab, 
+                                          CWEPSecuritySettings::EHexadecimal );
+            }
+        else
+            {
+            iSecuritySettings->SetKeyFormat( iActiveTab, 
+                                                 CWEPSecuritySettings::EAscii );
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsDlg::GetHelpContext
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsDlg::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KWEPSecuritySettingsUiHelpMajor;
+    if ( iLevel )
+        {
+        aContext.iContext = KSET_HLP_WLAN_WEP_KEY_SETT;
+        }
+    else
+        {
+        aContext.iContext = KSET_HLP_WLAN_WEP_MAIN;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CWEPSecuritySettingsDlg::TabChangedL( TInt aIndex )
+// -----------------------------------------------------------------------------
+// 
+void CWEPSecuritySettingsDlg::TabChangedL( TInt aIndex )
+    {
+    iActiveTab = aIndex;
+    HandleListboxDataChangeL();
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsImpl.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,633 @@
+/*
+* 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: Implementation of class CWEPSecuritySettingsImpl.     
+*
+*/
+
+/*
+* %version: tr1cfwln#27 %
+*/
+
+// INCLUDE FILES
+
+#include "WEPSecuritySettingsImpl.h"
+#include "WEPSecuritySettingsUiPanic.h"
+
+#include <WEPSecuritySettingsUI.h>
+#include <commdb.h>
+#include <featmgr.h>
+#include <WlanCdbCols.h>
+
+#include <commsdattypesv1_1.h>
+#include <cmmanagertablefields.h>
+#include <wlancontainer.h>
+
+// CONSTANT DECLARATIONS
+
+// Index of first key
+LOCAL_D const TInt KFirstKey = 0;
+
+// Index of second key
+LOCAL_D const TInt KSecondKey = 1;
+
+// Index of third key
+LOCAL_D const TInt KThirdKey = 2;
+
+// Index of fourth key
+LOCAL_D const TInt KFourthKey = 3;
+
+// Ratio of ascii and hex key sizes
+LOCAL_D const TInt KAsciiHexRatio = 2;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::NewL
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsImpl* CWEPSecuritySettingsImpl::NewL()
+    {
+    CWEPSecuritySettingsImpl* settings = 
+                                    new ( ELeave ) CWEPSecuritySettingsImpl();
+    CleanupStack::PushL( settings );
+    settings->ConstructL();
+    CleanupStack::Pop( settings ); 
+    return settings;    
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::CWEPSecuritySettingsImpl
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsImpl::CWEPSecuritySettingsImpl()
+: iIsWEP256Enabled( ETrue )
+    {
+    iKeyInUse = CWEPSecuritySettings::EKeyNumber1;
+    iAuthentication = CWEPSecuritySettings::EAuthOpen;
+    for ( TUint i = 0; i < KMaxNumberofKeys; i++)
+        {
+        iKeyLength[i] = CWEPSecuritySettings::E40Bits;
+        iKeyFormat[i] = CWEPSecuritySettings::EAscii;
+        iKeyData[i].Zero();
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::ConstructL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::ConstructL()
+    {
+    // WEP256 is deprecated.
+    iIsWEP256Enabled = EFalse;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::~CWEPSecuritySettingsImpl
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsImpl::~CWEPSecuritySettingsImpl()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::LoadL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::LoadL( TUint32 aIapId, 
+                                      CCommsDatabase& aCommsDb )
+    {
+    if ( aIapId == KUidNone )
+        {
+        return;
+        }
+
+    CCommsDbTableView* wLanServiceTable;
+        
+    wLanServiceTable = aCommsDb.OpenViewMatchingUintLC(
+                    TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId );
+
+    TInt errorCode = wLanServiceTable->GotoFirstRecord();
+    if ( errorCode == KErrNone )
+        {
+        // Get index of key in use
+        TRAPD( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_INDEX ),
+                                    ( TUint32& ) iKeyInUse ) );
+
+        // Get index of key in use
+        TRAP( err, wLanServiceTable->ReadUintL( 
+                                        TPtrC( NU_WLAN_AUTHENTICATION_MODE ),
+                                        ( TUint32& ) iAuthentication ) );
+
+        // Get first WEP key
+        wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY1 ), 
+                                     iKeyData[KFirstKey] );
+        SetLenKeyDataFromText( KFirstKey );
+
+        // Get second WEP key
+        wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY2 ), 
+                                     iKeyData[KSecondKey] );
+        SetLenKeyDataFromText( KSecondKey );
+
+        // Get third WEP key
+        wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY3 ), 
+                                     iKeyData[KThirdKey] );
+        SetLenKeyDataFromText( KThirdKey );
+
+        // Get fourth WEP key
+        wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY4 ), 
+                                     iKeyData[KFourthKey] );
+        SetLenKeyDataFromText( KFourthKey );
+
+
+        // Get the format of the keys
+        TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY1_FORMAT ),
+                                    ( TUint32& ) iKeyFormat[KFirstKey] ) );
+
+        TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY2_FORMAT ),
+                                    ( TUint32& ) iKeyFormat[KSecondKey] ) );
+
+        TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY3_FORMAT ),
+                                    ( TUint32& ) iKeyFormat[KThirdKey] ) );
+
+        TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY4_FORMAT ),
+                                    ( TUint32& ) iKeyFormat[KFourthKey] ) );
+        }
+    else
+        {
+        // silently ignore KErrNotFound. It is caused by incorrect DB,
+        // we are 'repairing it' this way.
+        if ( errorCode != KErrNotFound )
+            {
+            User::Leave( errorCode );
+            }
+        }
+
+    CleanupStack::PopAndDestroy( wLanServiceTable );  // wLanServiceTable
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SaveL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::SaveL( TUint32 aIapId, 
+                                      CCommsDatabase& aCommsDb ) const
+    {
+    CCommsDbTableView* wLanServiceTable;
+
+    // Caller MUST initiate a transaction, WE WILL NOT.
+
+    wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( 
+                    TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId );
+    TInt errorCode = wLanServiceTable->GotoFirstRecord();
+
+    if ( errorCode == KErrNone )
+        {
+        wLanServiceTable->UpdateRecord();
+        }
+    else
+        {
+        TUint32 dummyUid( KUidNone );
+        User::LeaveIfError( wLanServiceTable->InsertRecord( dummyUid ) );
+
+        // Save link to LAN service
+        wLanServiceTable->WriteUintL( TPtrC( WLAN_SERVICE_ID ), aIapId );
+        }
+
+    // Save index of key in use
+    wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_INDEX ), 
+                                 ( TUint32& ) iKeyInUse );
+
+    // Save index of key in use
+    wLanServiceTable->WriteUintL( TPtrC( NU_WLAN_AUTHENTICATION_MODE ), 
+                                 ( TUint32& ) iAuthentication );
+
+    // Save first WEP key
+    wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY1 ), 
+                                  iKeyData[KFirstKey] );
+
+    // Save second WEP key
+    wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY2 ), 
+                                  iKeyData[KSecondKey] );
+
+    // Save third WEP key
+    wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY3 ), 
+                                  iKeyData[KThirdKey] );
+
+    // Save fourth WEP key
+    wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY4 ), 
+                                  iKeyData[KFourthKey] );
+
+    // Save the format of the keys
+    wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY1_FORMAT ), 
+                                 ( TUint32& ) iKeyFormat[KFirstKey] );
+
+    wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY2_FORMAT ), 
+                                 ( TUint32& ) iKeyFormat[KSecondKey] );
+
+    wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY3_FORMAT ), 
+                                 ( TUint32& ) iKeyFormat[KThirdKey] );
+
+    wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY4_FORMAT ), 
+                                 ( TUint32& ) iKeyFormat[KFourthKey] );
+
+    wLanServiceTable->PutRecordChanges();
+
+    CleanupStack::PopAndDestroy( wLanServiceTable );  // wLanServiceTable
+    }
+    
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetLenKeyDataFromText
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::SetLenKeyDataFromText( const TInt aIndex )
+    {
+    const TUint keyDataLength = iKeyData[aIndex].Length();
+
+    if ( keyDataLength == KKeyDataLength104Bits )
+        {
+        iKeyLength[aIndex] = CWEPSecuritySettings::E104Bits;
+        }
+    else if ( keyDataLength == KKeyDataLength232Bits && iIsWEP256Enabled )
+        {
+        iKeyLength[aIndex] = CWEPSecuritySettings::E232Bits;
+        }
+    else            // if ( aKeyDataLength == KKeyDataLength40Bits ) or any
+        {           //  other case, by default
+        iKeyLength[aIndex] = CWEPSecuritySettings::E40Bits;
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::IsValid
+// ---------------------------------------------------------
+//
+TBool CWEPSecuritySettingsImpl::IsValid()
+    {
+    return ( KeyData( KeyInUse() )->Length() == 
+                        ExpectedLengthOfKeyData( KeyLength( KeyInUse() ) ) );
+    }
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsImpl::ExpectedLengthOfKeyData
+//----------------------------------------------------------
+//
+TInt CWEPSecuritySettingsImpl::ExpectedLengthOfKeyData( 
+                               CWEPSecuritySettings::TWEPKeyLength aKeyLength )
+    {
+    TInt retVal;
+
+    switch ( aKeyLength )
+        {
+        case CWEPSecuritySettings::E40Bits:
+            {
+            retVal = KKeyDataLength40Bits;
+            break;
+            }
+
+        case CWEPSecuritySettings::E104Bits:
+            {
+            retVal = KKeyDataLength104Bits;
+            break;
+            }
+
+        case CWEPSecuritySettings::E232Bits:
+            {
+            retVal = WEP256Enabled() ? KKeyDataLength232Bits : 0;
+            break;
+            }
+
+        default:
+            {
+            retVal = 0;
+            break;
+            }
+        }
+
+    return retVal;
+    }
+ 
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SetKeyDataL
+// ---------------------------------------------------------
+//
+TInt CWEPSecuritySettingsImpl::SetKeyDataL( const TInt aElement, 
+                                            const TDesC& aKeyData,
+                                            const TBool aHex )
+    {
+    CWEPSecuritySettings::TWEPKeyFormat keyFormat = aHex ? 
+                                    CWEPSecuritySettings::EHexadecimal : 
+                                    CWEPSecuritySettings::EAscii;
+    SetKeyFormat( aElement, keyFormat );
+
+    TInt dataLength = aKeyData.Length();
+    if ( dataLength == KKeyDataLength40Bits ||
+         dataLength == KKeyDataLength40Bits / KAsciiHexRatio )
+        {
+        SetKeyLength( aElement, CWEPSecuritySettings::E40Bits );
+        }
+    else if ( dataLength == KKeyDataLength104Bits ||
+         dataLength == KKeyDataLength104Bits / KAsciiHexRatio )
+        {
+        SetKeyLength( aElement, CWEPSecuritySettings::E104Bits );
+        }
+    else if ( dataLength == KKeyDataLength232Bits ||
+         dataLength == KKeyDataLength232Bits / KAsciiHexRatio )
+        {
+        SetKeyLength( aElement, CWEPSecuritySettings::E232Bits );
+        }
+    else
+        {
+        return KErrInvalidLength;
+        }
+
+    TInt expectedLength = ExpectedLengthOfKeyData( KeyLength( aElement ) );
+
+    if ( keyFormat == CWEPSecuritySettings::EAscii )
+        {
+        expectedLength /= KAsciiHexRatio; //Ascii key is half the length of Hex
+        }
+
+    HBufC8* buf8 = HBufC8::NewL( dataLength );
+    CleanupStack::PushL( buf8 );
+    buf8->Des().Copy( aKeyData ); 
+
+    TInt errData = VerifyKeyData( *buf8, expectedLength, 
+                                  KeyFormat( aElement ) );
+    if ( errData == KErrNone )
+        {
+        if ( aHex )
+            {
+            SetKeyData( aElement, buf8->Des() );
+            }
+        else
+            {
+            HBufC8* buf8Conv = HBufC8::NewL( dataLength * KAsciiHexRatio );
+                                // Ascii key is half the length of Hex
+            ConvertAsciiToHex( buf8->Des(), buf8Conv );
+            SetKeyData( aElement, buf8Conv->Des() );
+            delete buf8Conv;
+            }
+        }
+
+    CleanupStack::PopAndDestroy( buf8 ); // buf8
+
+    return errData;
+    }
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsImpl::VerifyKeyData
+//----------------------------------------------------------
+//
+TInt CWEPSecuritySettingsImpl::VerifyKeyData( const TDesC8& aTextToTest,
+                                             TInt aLengthOfKeyData,
+                            CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat )
+    {
+    TInt err = KErrNone;
+    TInt lengthOfText = aTextToTest.Length();
+
+    if ( aTextToTest.Length() != aLengthOfKeyData )
+        {
+        err = KErrInvalidLength;
+        }
+    else if ( aWEPKeyFormat == CWEPSecuritySettings::EHexadecimal )
+        {
+        for ( TInt i = 0; i < lengthOfText; i++ )
+            {
+            TChar c ( aTextToTest[i] );
+
+            if ( !c.IsHexDigit() ) 
+                {
+                err = KErrInvalidChar;
+                break;
+                }
+            }
+        }
+
+    return err;
+    }
+
+
+//----------------------------------------------------------
+// CWEPSecuritySettingsImpl::ConvertAsciiToHex
+//----------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::ConvertAsciiToHex( const TDesC8& aSource, 
+                                                  HBufC8*& aDest )
+	{
+	_LIT( hex, "0123456789ABCDEF" );
+	TInt size = aSource.Size();
+	TPtr8 ptr = aDest->Des();
+	for ( TInt ii = 0; ii < size; ii++ )
+		{
+		TText8 ch = aSource[ii];
+		ptr.Append( hex()[(ch/16)&0x0f] );
+		ptr.Append( hex()[ch&0x0f] );
+		}
+	}
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::LoadL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::LoadL( TUint32 aIapId, 
+                                      CMDBSession& aSession )
+    {
+    
+    if ( aIapId == KUidNone )
+        {
+        return;
+        }
+    
+    // Load WLAN service table
+    // first get WLAN table id
+    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
+        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( generic );    
+    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
+    generic->LoadL( aSession );
+    TMDBElementId wlanTableId = generic->TableId();
+    
+    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
+                                    (generic->GetFieldByIdL( KCDTIdWlanServiceId));
+    
+    // prime with service id                
+    *sidField = aIapId;
+
+    if( generic->FindL( aSession) )
+        {
+        // get the values
+        CMDBField<TUint>* keyInUseField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) );
+        ( TUint32& )iKeyInUse = *keyInUseField;
+        CMDBField<TUint>* authenticationField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) );
+        ( TUint32& )iAuthentication = *authenticationField;
+        
+        CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
+        iKeyData[ KFirstKey ] = *wepKey1Field;
+        SetLenKeyDataFromText( KFirstKey );
+        
+        CMDBField<TDesC8>* wepKey2Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) );
+        iKeyData[ KSecondKey ] = *wepKey2Field;
+        SetLenKeyDataFromText( KSecondKey );
+        
+        CMDBField<TDesC8>* wepKey3Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) );
+        iKeyData[ KThirdKey ] = *wepKey3Field;
+        SetLenKeyDataFromText( KThirdKey );
+        
+        CMDBField<TDesC8>* wepKey4Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) );
+        iKeyData[ KFourthKey ] = *wepKey4Field;
+        SetLenKeyDataFromText( KFourthKey );
+        
+        CMDBField<TUint>* formatKey1Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) );
+        ( TUint32& )iKeyFormat[ KFirstKey ] = *formatKey1Field;
+        CMDBField<TUint>* formatKey2Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) );
+        ( TUint32& )iKeyFormat[ KSecondKey ] = *formatKey2Field;
+        CMDBField<TUint>* formatKey3Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) );
+        ( TUint32& )iKeyFormat[ KThirdKey ] = *formatKey3Field;
+        CMDBField<TUint>* formatKey4Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) );
+        ( TUint32& )iKeyFormat[ KFourthKey ] = *formatKey4Field;
+        }
+
+    CleanupStack::PopAndDestroy( generic );
+    
+    }
+    
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsImpl::SaveL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsImpl::SaveL( TUint32 aIapId, 
+                                      CMDBSession& aSession ) const
+    {
+    const TInt KRetryWait = 100000;    // Wait time between retries in TTimeIntervalMicroSeconds32
+    const TInt KRetryCount = 50;       // Max retry count
+
+    // Load WLAN service table
+    // first get WLAN table id
+    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
+        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( generic );    
+    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
+    generic->LoadL( aSession );
+    TMDBElementId wlanTableId = generic->TableId();
+    
+    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
+                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
+    
+    // prime with service id                
+    *sidField = aIapId;
+    
+    TBool found = generic->FindL( aSession);
+   
+    // If loading failed, WLAN service record will be 
+    // created and StoreL()-d, otherwise, ModifyL()
+    
+    CMDBField<TUint>* keyInUseField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) );
+    keyInUseField->SetL( iKeyInUse );
+
+    CMDBField<TUint>* authenticationField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) );
+    authenticationField->SetL( iAuthentication );
+    
+    CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
+    wepKey1Field->SetL( iKeyData[ KFirstKey ] );
+    CMDBField<TDesC8>* wepKey2Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) );
+    wepKey2Field->SetL( iKeyData[ KSecondKey ] );
+    CMDBField<TDesC8>* wepKey3Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) );
+    wepKey3Field->SetL( iKeyData[ KThirdKey ] );
+    CMDBField<TDesC8>* wepKey4Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) );
+    wepKey4Field->SetL( iKeyData[ KFourthKey ] );
+    
+    CMDBField<TUint>* formatKey1Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) );
+    formatKey1Field->SetL( iKeyFormat[ KFirstKey ] );
+    CMDBField<TUint>* formatKey2Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) );
+    formatKey2Field->SetL( iKeyFormat[ KSecondKey ] );
+    CMDBField<TUint>* formatKey3Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) );
+    formatKey3Field->SetL( iKeyFormat[ KThirdKey ] );
+    CMDBField<TUint>* formatKey4Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) );
+    formatKey4Field->SetL( iKeyFormat[ KFourthKey ] );
+    
+    TInt error( KErrNone );
+    
+    // Saving changes
+    for ( TInt i( 0 ); i < KRetryCount; i++ )
+        {
+        
+        // If table existed modify it
+        if( found )
+            {
+            TRAP( error, generic->ModifyL( aSession ) );
+            }
+                   
+        // Otherwise store a new record
+        else
+            {
+            generic->SetRecordId( KCDNewRecordRequest );
+            TRAP( error, generic->StoreL( aSession ) );
+            }
+                  
+        // If operation failed with KErrLocked, we'll retry.
+        if ( KErrLocked == error )
+            {
+            User::After( KRetryWait );
+            }
+        
+        // Otherwise break the retry loop.
+        else 
+            {
+            break;        
+            }
+        }
+    
+    // If the save operation failed, leave now. 
+    User::LeaveIfError( error );
+
+    CleanupStack::PopAndDestroy( generic );
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUI.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWEPSecuritySettingsUi.  
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+// INCLUDE FILES
+#include <WEPSecuritySettingsUI.h>
+
+#include "WEPSecuritySettingsUiImpl.h"
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUi::NewLC
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettingsUi* CWEPSecuritySettingsUi::NewL( 
+                                                        CEikonEnv& aEikEnv )
+    {
+    CWEPSecuritySettingsUi* secSett = new( ELeave ) CWEPSecuritySettingsUi();
+    CleanupStack::PushL( secSett );
+    secSett->iImpl = CWEPSecuritySettingsUiImpl::NewL( aEikEnv );
+    CleanupStack::Pop( secSett ); // secSett
+    return secSett;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi()
+    {
+    delete iImpl;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUi::Cvt()
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWEPSecuritySettingsUi::Cvt()
+    {
+    return KErrNone;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiImpl.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWEPSecuritySettingsUiImpl. 
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+// INCLUDE FILES
+#include <bautils.h>
+#include <WEPSecuritySettingsUI.h>
+
+#include <data_caging_path_literals.hrh>
+
+#include "WEPSecuritySettingsUiImpl.h"
+#include "WEPSecuritySettingsDlg.h"
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                                      // ROM folder
+_LIT( KResourceFileName, "WEPSecuritySettingsUI.rsc" );     // RSC file name.
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUiImpl::NewL
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsUiImpl* CWEPSecuritySettingsUiImpl::NewL( 
+                                                        CEikonEnv& aEikEnv )
+    {
+    CWEPSecuritySettingsUiImpl* uiImpl = 
+                        new( ELeave ) CWEPSecuritySettingsUiImpl( aEikEnv );
+    CleanupStack::PushL( uiImpl );
+    uiImpl->ConstructL();
+    CleanupStack::Pop( uiImpl ); // uiImpl
+    return uiImpl;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUiImpl::CWEPSecuritySettingsUiImpl
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsUiImpl::CWEPSecuritySettingsUiImpl( CEikonEnv& aEikEnv )
+: iEventStore( ENone ), 
+  iEikEnv( &aEikEnv )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUiImpl::~CWEPSecuritySettingsUiImpl
+// ---------------------------------------------------------
+//
+CWEPSecuritySettingsUiImpl::~CWEPSecuritySettingsUiImpl()
+    {
+    if ( iResOffset )
+        {
+        iEikEnv->DeleteResourceFile( iResOffset );
+        }
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUiImpl::ConstructL
+// ---------------------------------------------------------
+//
+void CWEPSecuritySettingsUiImpl::ConstructL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), fileName );
+    iResOffset = iEikEnv->AddResourceFileL( fileName );
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUiImpl::EditL
+// ---------------------------------------------------------
+//
+TInt CWEPSecuritySettingsUiImpl::EditL( CWEPSecuritySettingsImpl& aSettings,
+                                        const TDesC& aTitle )
+    {
+    iEventStore = ENone;
+
+    CWEPSecuritySettingsDlg* secSettDlg = 
+                                CWEPSecuritySettingsDlg::NewL( iEventStore );
+    secSettDlg->ConstructAndRunLD( &aSettings, aTitle );
+
+    return iEventStore;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiPanic.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of panic function.     
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+// INCLUDE FILES
+
+#include <e32std.h>
+
+#include "WEPSecuritySettingsUiPanic.h"
+
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// Panic()
+// ---------------------------------------------------------
+//
+void Panic( TWepSecuritySettingsPanicCodes aPanic )
+    {
+    _LIT( kWepSet, "WEPSecuritySettingsUi" );
+    User::Panic( kWepSet, aPanic );
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/WepKeyDataTextSettingPage.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of CWEPKeyDataTextSettingPage.
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+// INCLUDE FILES
+
+//#include <fepbase.h>
+
+#include <WEPSecuritySettingsUI.rsg>
+
+#include "WepKeyDataTextSettingPage.h"
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPKeyDataTextSettingPage::CWEPKeyDataTextSettingPage
+// ---------------------------------------------------------
+//
+CWEPKeyDataTextSettingPage::CWEPKeyDataTextSettingPage( TDes& aText,
+                            TInt aMaxLength, 
+                            CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat )
+:CAknTextSettingPage( R_TEXT_SETTING_PAGE_KEY_DATA, aText, 
+                      EAknSettingPageNoOrdinalDisplayed ),
+ iLengthOfKeyData( aMaxLength ),
+ iWEPKeyFormat( aWEPKeyFormat )
+    {
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPKeyDataTextSettingPage::ConstructL
+// ---------------------------------------------------------
+//
+void CWEPKeyDataTextSettingPage::ConstructL()
+    {
+    CAknTextSettingPage::ConstructL();
+
+	CEikEdwin* editor = TextControl();
+
+	editor->SetMaxLength( iLengthOfKeyData );
+
+    if ( iWEPKeyFormat == CWEPSecuritySettings::EAscii )
+        {
+        editor->SetOnlyASCIIChars( ETrue );
+    	editor->SetAknEditorCase( EAknEditorLowerCase );
+        }
+    else
+        {
+    	editor->SetAknEditorCase( EAknEditorUpperCase );
+	    editor->SetAknEditorSpecialCharacterTable( 0 );
+        }   
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsstub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of class CWEPSecuritySettings for 
+*              non-WLAN products to support linking 
+*
+*/
+
+/*
+* %version: 3 %
+*/
+
+// INCLUDE FILES
+
+#include <WEPSecuritySettingsUI.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettings* CWEPSecuritySettings::NewL()
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::~CWEPSecuritySettings
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettings::~CWEPSecuritySettings()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 /* aIapId */, 
+                                           CCommsDatabase& /* aCommsDb */ )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 /* aIapId */, 
+                                           CCommsDatabase& /* aCommsDb */ ) const
+    {
+    }
+    
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::EditL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWEPSecuritySettings::EditL( CWEPSecuritySettingsUi& /* aUi */,
+                                           const TDesC& /* aTitle */ )
+    {
+    return KErrNotSupported;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::IsValid
+// ---------------------------------------------------------
+//
+EXPORT_C TBool CWEPSecuritySettings::IsValid() const
+    {
+    return EFalse;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SetKeyDataL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWEPSecuritySettings::SetKeyDataL( const TInt /* aElement */,
+                                                 const TDesC& /* aKeyData */,
+                                                 const TBool /* aHex */ )
+    {
+    return KErrNotSupported;
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 /* aIapId */, 
+                                           CMDBSession& /* aSession */ )
+    {
+    }
+    
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 /* aIapId */, 
+                                           CMDBSession& /* aSession */ ) const
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SetKeyInUse
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SetKeyInUse( 
+                                      CWEPSecuritySettings::TWEPKeyInUse /* aKey */ )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettings::SetAuthentication
+// ---------------------------------------------------------
+//
+EXPORT_C void CWEPSecuritySettings::SetAuthentication( 
+                     CWEPSecuritySettings::TWEPAuthentication /* aAuthentication */ )
+    {
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsuistub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of class CWEPSecuritySettingsUi for 
+*              non-WLAN products to support linking 
+*
+*/
+
+/*
+* %version: 3 %
+*/
+
+// INCLUDE FILES
+
+#include <WEPSecuritySettingsUI.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUi::NewLC
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettingsUi* CWEPSecuritySettingsUi::NewL( 
+                                                        CEikonEnv& /* aEikEnv */ )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi
+// ---------------------------------------------------------
+//
+EXPORT_C CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi()
+    {
+    }
+
+
+
+// ---------------------------------------------------------
+// CWEPSecuritySettingsUi::Cvt()
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWEPSecuritySettingsUi::Cvt()
+    {
+    return KErrNotSupported;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotclient_alru.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	??1CWiFiProtUiClient@@UAE@XZ @ 1 NONAME ; CWiFiProtUiClient::~CWiFiProtUiClient(void)
+	?CancelWiFiProt@CWiFiProtUiClient@@QAEXXZ @ 2 NONAME ; void CWiFiProtUiClient::CancelWiFiProt(void)
+	?NewL@CWiFiProtUiClient@@SAPAV1@XZ @ 3 NONAME ; class CWiFiProtUiClient * CWiFiProtUiClient::NewL(void)
+	?StartWiFiProtL@CWiFiProtUiClient@@QAEXABV?$TBuf8@$0CA@@@HAAV?$RArray@K@@AAW4TWiFiReturn@WiFiProt@@AAVTRequestStatus@@@Z @ 4 NONAME ; void CWiFiProtUiClient::StartWiFiProtL(class TBuf8<32> const &, int, class RArray<unsigned long> &, enum WiFiProt::TWiFiReturn &, class TRequestStatus &)
+	?StartWiFiProtSyncL@CWiFiProtUiClient@@QAE?AW4TWiFiReturn@WiFiProt@@ABV?$TBuf8@$0CA@@@HAAV?$RArray@K@@@Z @ 5 NONAME ; enum WiFiProt::TWiFiReturn CWiFiProtUiClient::StartWiFiProtSyncL(class TBuf8<32> const &, int, class RArray<unsigned long> &)
+	?StartWiFiProtConnL@CWiFiProtUiClient@@QAEXABV?$TBuf8@$0CA@@@AAUTWlanProtectedSetupCredentialAttribute@@AAW4TWiFiReturn@WiFiProt@@AAVTRequestStatus@@@Z @ 6 NONAME ; void CWiFiProtUiClient::StartWiFiProtConnL(class TBuf8<32> const &, struct TWlanProtectedSetupCredentialAttribute &, enum WiFiProt::TWiFiReturn &, class TRequestStatus &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotpluginu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+	?NewL@CWifiProtUiInProcess@@SAPAV1@PAVRCmManagerExt@@@Z @ 2 NONAME ; class CWifiProtUiInProcess * CWifiProtUiInProcess::NewL(class RCmManagerExt *)
+	?StartFromUiL@CWifiProtUiInProcess@@QAE?AW4TWiFiReturn@WiFiProt@@ABV?$TBuf8@$0CA@@@HAAV?$RArray@K@@@Z @ 3 NONAME ; enum WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL(class TBuf8<32> const &, int, class RArray<unsigned long> &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/data/wifiprotplugin.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2001-2009 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: This file contains all the resources for the Connection Ui Utilities Notifier 
+*
+*/
+
+/*
+* %version: tr1cfwln#12 %
+*/
+
+//  RESOURCE IDENTIFIER
+NAME AWPS // 4 letter ID
+
+//  INCLUDES
+#include <eikon.rh>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+#include <AvkonIcons.hrh>
+#include "wifiprotplugin.hrh"
+#include <wifiprot.loc>
+
+//  RESOURCE DEFINITIONS
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf="WiFiProtPlugin"; }
+
+
+  
+RESOURCE DIALOG r_wifiprot_configure_auto_dialog
+    {
+    flags = EEikDialogFlagNotifyEsc | EEikDialogFlagCbaButtons | 
+            EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar ;
+    buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_CONFIRMATION_QUERY
+                {
+                layout = EConfirmationLayout;
+                animation = R_QGN_NOTE_QUERY_ANIM;
+                label = qtn_ntw_conset_quest_wps_configure_auto;
+                };
+            }
+        };
+    }    
+  
+RESOURCE CBA r_softkeys_continue_cancel__continue
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EWiFiSoftkeyContinue; txt = qtn_text_sotkey_continue; },     
+        CBA_BUTTON { id = EAknSoftkeyCancel;     txt = text_softkey_cancel; },
+        CBA_BUTTON { id = EWiFiSoftkeyContinue; txt = qtn_text_sotkey_continue;}
+        };
+    }
+
+RESOURCE CBA r_softkeys_select_cancel__select
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyView; txt = text_softkey_select; },     
+        CBA_BUTTON { id = EAknSoftkeyNo;     txt = text_softkey_cancel; },
+        CBA_BUTTON { id = EAknSoftkeyView; txt = text_softkey_select;}
+        };
+    }
+
+RESOURCE DIALOG r_wifiprot_initiate_easy_setup_dialog
+    {
+    flags = EEikDialogFlagNotifyEsc | EEikDialogFlagCbaButtons | 
+            EEikDialogFlagNoDrag ;
+    buttons = r_softkeys_continue_cancel__continue;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtPopupHeadingPane;
+            id = EAknMessageQueryHeaderId;
+            control = AVKON_HEADING
+                {
+                label = qtn_netw_conset_prmpt_wps_initiate;
+                };
+            },  
+        DLG_LINE
+            {
+            type = EAknCtMessageQuery;
+            id = EAknMessageQueryContentId;
+            control = AVKON_MESSAGE_QUERY
+                {
+                };
+            }
+        };
+    }
+
+RESOURCE DIALOG r_wifiprot_enter_pin_code_dialog
+    {
+    flags = EEikDialogFlagNotifyEsc | EEikDialogFlagCbaButtons | 
+            EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar ;
+    buttons = r_softkeys_continue_cancel__continue;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_CONFIRMATION_QUERY
+                {
+                layout = EConfirmationLayout;
+                animation = R_QGN_NOTE_INFO_ANIM;
+                label = qtn_netw_conset_wps_info_enter_pin_code;
+                };
+            }
+        };
+    } 
+
+
+RESOURCE DIALOG r_wifiprot_wait_note
+    {
+    flags = EAknWaitNoteFlags;
+    buttons = R_AVKON_SOFTKEYS_CANCEL;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtNote;
+            id = EGeneralNote;
+            control= AVKON_NOTE
+                {
+                layout = EWaitLayout;
+                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
+                };
+            }
+        };
+    }
+
+    
+RESOURCE DIALOG r_wifiprot_ok_note
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
+            EEikDialogFlagCbaButtons | EEikDialogFlagWait;
+    buttons = R_AVKON_SOFTKEYS_EMPTY;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtNote;
+            id = EGeneralNote;
+            control = AVKON_NOTE
+                {
+                layout = EGeneralLayout;
+                animation = R_QGN_NOTE_OK_ANIM;
+                };
+            }
+        };
+    }
+    
+RESOURCE DIALOG r_wifiprot_info_note
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
+            EEikDialogFlagCbaButtons | EEikDialogFlagWait;
+    buttons = R_AVKON_SOFTKEYS_EMPTY;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtNote;
+            id = EGeneralNote;
+            control = AVKON_NOTE
+                {
+                layout = EGeneralLayout;
+                animation = R_QGN_NOTE_INFO_ANIM;
+                };
+            }
+        };
+    }    
+
+RESOURCE DIALOG r_wifiprot_error_note
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
+            EEikDialogFlagCbaButtons | EEikDialogFlagWait;
+    buttons = R_AVKON_SOFTKEYS_EMPTY;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtNote;
+            id = EGeneralNote;
+            control = AVKON_NOTE
+                {
+                layout = EGeneralLayout;
+                animation = R_QGN_NOTE_ERROR_ANIM;
+                };
+            }
+        };
+    }
+    
+RESOURCE AVKON_LIST_QUERY r_conn_list_query
+    {
+    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
+    flags = EEikDialogFlagNotifyEsc;
+
+    items =
+        {
+        AVKON_LIST_QUERY_DLG_LINE
+            {
+            id = EListQueryControl;
+            control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
+                {
+                actuallisttype = EAknCtSingleGraphicPopupMenuListBox;
+                listbox = AVKON_LIST_QUERY_LIST
+                    {
+                    flags = EAknListBoxSelectionList;
+                    };
+
+                heading = qtn_netw_conset_wps_prmpt_select_network;
+                };
+            }
+        };
+    }
+
+
+
+RESOURCE TBUF r_qtn_wlan_info_no_networks_found          
+    { 
+    buf = qtn_wlan_info_no_networks_found;
+    }
+
+RESOURCE TBUF r_qtn_netw_conset_wps_detail_select_network          
+    { 
+    buf = qtn_netw_conset_wps_detail_select_network;
+    }
+  
+RESOURCE TBUF r_qtn_netw_conset_wps_msg_pbc          
+    { 
+    buf = qtn_netw_conset_wps_msg_pbc; 
+    }
+    
+RESOURCE TBUF r_qtn_netw_conset_wps_info_enter_pin_code         
+    { 
+    buf = qtn_netw_conset_wps_info_enter_pin_code; 
+    }
+    
+RESOURCE TBUF r_qtn_netw_conset_wps_msg_link_use_pin         
+    { 
+    buf = qtn_netw_conset_wps_msg_link_use_pin; 
+    }    
+    
+RESOURCE TBUF r_qtn_netw_conset_wait_wps_configuring         
+    { 
+    buf = qtn_netw_conset_wait_wps_configuring; 
+    }  
+      
+RESOURCE TBUF r_qtn_netw_conset_conf_wps_one_network_configured         
+    { 
+    buf = qtn_netw_conset_conf_wps_one_network_configured; 
+    }
+    
+RESOURCE TBUF r_qtn_netw_conset_conf_wps_multiple_networks_config         
+    { 
+    buf = qtn_netw_conset_conf_wps_multiple_networks_config; 
+    }
+    
+RESOURCE TBUF r_qtn_netw_conset_conf_wps_no_networks_configured         
+    { 
+    buf = qtn_netw_conset_conf_wps_no_networks_configured; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_try_again          
+    { 
+    buf = qtn_err_wlan_sc_config_failed_try_again; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_sc_config_failed           
+    { 
+    buf = qtn_err_wlan_sc_config_failed; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_signal_too_weak           
+    { 
+    buf = qtn_err_wlan_signal_too_weak;
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_network_not_found            
+    { 
+    buf = qtn_err_wlan_network_not_found; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_multiple_pb_sessions            
+    { 
+    buf = qtn_err_wlan_sc_config_failed_multiple_pb_sessions; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_rogue_activity             
+    { 
+    buf = qtn_err_wlan_sc_config_failed_rogue_activity; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_pin_not_supported             
+    { 
+    buf = qtn_err_wlan_sc_config_failed_pin_not_supported; 
+    } 
+
+RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_pb_not_supported           
+    { 
+    buf = qtn_err_wlan_sc_config_failed_pb_not_supported;
+    } 
+    
+RESOURCE TBUF r_qtn_wlan_info_connection_already_active
+		{
+		buf = qtn_wlan_info_connection_already_active;
+		}
+   
+   
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotclient_alru.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,14 @@
+EXPORTS
+	_ZN17CWiFiProtUiClient14CancelWiFiProtEv @ 1 NONAME
+	_ZN17CWiFiProtUiClient14StartWiFiProtLERK5TBuf8ILi32EEiR6RArrayImERN8WiFiProt11TWiFiReturnER14TRequestStatus @ 2 NONAME
+	_ZN17CWiFiProtUiClient18StartWiFiProtSyncLERK5TBuf8ILi32EEiR6RArrayImE @ 3 NONAME
+	_ZN17CWiFiProtUiClient4NewLEv @ 4 NONAME
+	_ZN17CWiFiProtUiClientD0Ev @ 5 NONAME
+	_ZN17CWiFiProtUiClientD1Ev @ 6 NONAME
+	_ZN17CWiFiProtUiClientD2Ev @ 7 NONAME
+	_ZTI17CWiFiProtUiClient @ 8 NONAME ; #<TI>#
+	_ZTI19CWiFiProtSyncClient @ 9 NONAME ; #<TI>#
+	_ZTV17CWiFiProtUiClient @ 10 NONAME ; #<VT>#
+	_ZTV19CWiFiProtSyncClient @ 11 NONAME ; #<VT>#
+	_ZN17CWiFiProtUiClient18StartWiFiProtConnLERK5TBuf8ILi32EER38TWlanProtectedSetupCredentialAttributeRN8WiFiProt11TWiFiReturnER14TRequestStatus @ 12 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotpluginu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,11 @@
+EXPORTS
+	_Z13NotifierArrayv @ 1 NONAME
+	_ZN20CWifiProtUiInProcess12StartFromUiLERK5TBuf8ILi32EEiR6RArrayImE @ 2 NONAME
+	_ZN20CWifiProtUiInProcess4NewLEP13RCmManagerExt @ 3 NONAME
+	_ZTI19CWiFiProtDlgsPlugin @ 4 NONAME ; #<TI>#
+	_ZTI20CWifiProtUiInProcess @ 5 NONAME ; #<TI>#
+	_ZTI21CWiFiProtActiveRunner @ 6 NONAME ; #<TI>#
+	_ZTV19CWiFiProtDlgsPlugin @ 7 NONAME ; #<VT>#
+	_ZTV20CWifiProtUiInProcess @ 8 NONAME ; #<VT>#
+	_ZTV21CWiFiProtActiveRunner @ 9 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2001-2009 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: This file provides the information required for building the Wi-Fi Protected Setup Ui. 
+*
+*/
+
+/*
+* %version: tr1cfwln#15 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+// export iby files
+
+../rom/WiFiProt.iby                             CORE_MW_LAYER_IBY_EXPORT_PATH(WiFiProt.iby)
+../rom/WiFiProtResources.iby                    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WiFiProtResources.iby)
+
+
+// export localised loc file
+../loc/wifiprot.loc                             MW_LAYER_LOC_EXPORT_PATH(wifiprot.loc)
+
+PRJ_MMPFILES
+
+./wifiprotclient.mmp
+./wifiprotplugin.mmp
+// stub implementation for non-WLAN products
+./wifiprotclientstub.mmp
+./wifiprotpluginstub.mmp
+
+PRJ_EXTENSIONS
+
+START EXTENSION s60/mifconv
+OPTION TARGETFILE wifiprot.mif
+OPTION HEADERFILE wifiprot.mbg
+OPTION SOURCES -c8,1 qgn_prop_wlan_bearer 
+END
+
+PRJ_TESTMMPFILES
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprot_icons.mk	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,66 @@
+#
+# Copyright (c) 2008 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:  Makefile for icons of WPS UI
+#
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=\epoc32\data\z
+endif
+
+
+TARGETDIR=$(ZDIR)\resource\apps
+ICONTARGETFILENAME=$(TARGETDIR)\wifiprot.mif
+
+HEADERDIR=\epoc32\include
+HEADERFILENAME=$(HEADERDIR)\wifiprot.mbg
+
+do_nothing :
+	@rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+# ----------------------------------------------------------------------------
+# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
+# MifConv if the mask detph is defined.
+#
+# NOTE 2: Usually, source paths should not be included in the bitmap
+# definitions. MifConv searches for the icons in all icon directories in a
+# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
+# The directory \s60\icons is included in the search only if the feature flag
+# __SCALABLE_ICONS is defined.
+# ----------------------------------------------------------------------------
+
+RESOURCE :
+	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
+                /c8,1 qgn_prop_wlan_bearer.bmp 
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+	@echo $(HEADERFILENAME)&& \
+	@echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotclient.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the ConnectionUiUtilities. 
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET      wifiprotclient.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+
+SOURCEPATH ../src
+SOURCE wifiprotuiclient.cpp
+SOURCE wifiprotsession.cpp
+SOURCE wifiprotuiclientimpl.cpp
+SOURCE wifiprotactiveresp.cpp
+SOURCE wifiprotsyncclient.cpp
+
+
+// Component specific internal headers 
+USERINCLUDE         ../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY eikcoctl.lib
+LIBRARY avkon.lib
+LIBRARY eikdlg.lib 
+LIBRARY bafl.lib
+LIBRARY commonengine.lib
+LIBRARY aknskins.lib
+LIBRARY featmgr.lib 
+LIBRARY aknnotify.lib
+LIBRARY ecom.lib
+LIBRARY	aknlayout.lib
+
+LIBRARY flogger.lib
+
+#if defined( ARMCC )
+    DEFFILE ../eabi/wifiprotclient_alr.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/wifiprotclient_alr.def
+#endif
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotclientstub.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2001-2009 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: Project specification file for stub implementation of
+               WiFiProt UI for non-WLAN products to support linking. 
+*
+*/
+
+/*
+* %version: 1 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET      wifiprotclientstub.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+
+SOURCEPATH ../src
+SOURCE wifiprotuiclientstub.cpp
+
+// Component specific internal headers 
+USERINCLUDE         ../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+
+
+LIBRARY flogger.lib
+
+#if defined( ARMCC )
+    DEFFILE ../eabi/wifiprotclient_alr.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/wifiprotclient_alr.def
+#endif
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotplugin.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the Wi-Fi Protected Setup Notifier  
+*
+*/
+
+/*
+* %version: tr1cfwln#13 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET      wifiprotplugin.dll
+
+TARGETTYPE  DLL
+
+TARGETPATH  /system/libs
+
+UID         0x101FDFAE 0x10281BC0      
+
+CAPABILITY CAP_GENERAL_DLL 
+
+VENDORID VID_DEFAULT
+
+START RESOURCE ../data/wifiprotplugin.rss
+HEADER
+    TARGETPATH  RESOURCE_FILES_DIR
+    LANGUAGE_IDS
+END     // RESOURCE
+
+SOURCEPATH  ../pluginsrc
+SOURCE      wifiprotplugin.cpp
+SOURCE      wifiprotdlgsplugin.cpp
+SOURCE      wifiprotconfirmationnotedlg.cpp
+SOURCE      wifiprotenterpindlg.cpp
+SOURCE      wifiprotinitiateeasysetupdlg.cpp
+SOURCE      wifiprotselectnetworkdlg.cpp
+SOURCE      wifiprotactiverunner.cpp
+SOURCE      wifiprotuiinprocess.cpp
+
+
+USERINCLUDE         ../plugininc
+
+// Component specific internal headers 
+USERINCLUDE         ../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY     euser.lib
+LIBRARY     eikdlg.lib
+LIBRARY     eiksrv.lib
+LIBRARY     cone.lib
+LIBRARY     eikcore.lib
+LIBRARY     eikcoctl.lib
+LIBRARY     bafl.lib
+LIBRARY     avkon.lib
+LIBRARY     aknskins.lib
+LIBRARY     ecom.lib 
+LIBRARY     eiksrvui.lib
+LIBRARY     aknnotify.lib
+LIBRARY     aknicon.lib
+LIBRARY     egul.lib
+LIBRARY	    aknlayout.lib
+LIBRARY     akncapserverclient.lib
+LIBRARY     featmgr.lib
+LIBRARY     commonengine.lib
+LIBRARY     cmmanager.lib
+LIBRARY     wpasecuritysettingsui.lib
+LIBRARY     wepsecuritysettingsui.lib
+LIBRARY     commsdat.lib
+LIBRARY     charconv.lib
+LIBRARY     flogger.lib
+LIBRARY     efsrv.lib
+LIBRARY     centralrepository.lib
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/wifiprotplugin.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/wifiprotplugin.def
+#endif
+
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotpluginstub.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2001-2009 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: Project specification file for stub implementation of
+               WiFiProt UI for non-WLAN products to support linking. 
+*
+*/
+
+/*
+* %version: 1 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET      wifiprotpluginstub.dll
+
+TARGETTYPE  DLL
+
+TARGETPATH  /system/libs
+
+UID         0x101FDFAE 0x10281BC0      
+
+CAPABILITY CAP_GENERAL_DLL 
+
+VENDORID VID_DEFAULT
+
+
+SOURCEPATH  ../pluginsrc
+SOURCE      wifiprotpluginstub.cpp
+
+
+USERINCLUDE         ../plugininc
+
+// Component specific internal headers 
+USERINCLUDE         ../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY     euser.lib
+LIBRARY     eiksrv.lib
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/wifiprotplugin.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/wifiprotplugin.def
+#endif
+
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2001-2009 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: Declares the common used constants and types for Wi-Fi Protected Setup. 
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef T_WIFIPARAMS_H
+#define T_WIFIPARAMS_H
+
+#include <e32base.h>
+#include <wlanmgmtcommon.h>
+#include <wifiprotreturn.h>
+
+namespace WiFiProt
+    {
+    struct TWiFiInputParams
+        {
+        // ssid of the network we want to configure        
+        TWlanSsid iSSid;
+        // a flag to indicate that a connection is needed
+        // when setup is complete
+        TBool iConnectionNeeded;
+        // constructor to initialise input parameters data
+        inline TWiFiInputParams( const TDesC8& aInitBuf,
+                                 const TBool aConnectionNeeded );
+        };
+        
+    const TInt KMaxNumberOfUids = 30; //to be specified    
+    
+    struct TWiFiOutputParams
+        {
+        // returned iapids of the configured connection methods
+        TBuf8<KMaxNumberOfUids*sizeof(TUint32)> iIapIds;
+        // return value, see TWiFiReturn
+        TWiFiReturn iReturn;
+        // constructor to initialise output parameters data
+        inline TWiFiOutputParams( const TDesC8& aInitBuf );
+        };
+        
+    struct TWiFiConnOutputParams
+        {
+        // returned iapids of the configured connection methods
+        TWlanProtectedSetupCredentialAttribute iNetworkSettings;
+        // return value, see TWiFiReturn
+        TWiFiReturn iReturn;
+        // constructor to initialise output parameters data
+        inline TWiFiConnOutputParams(
+            const TWlanProtectedSetupCredentialAttribute& aNetworkSettings );
+        // default constructor            
+        inline TWiFiConnOutputParams( );
+        };        
+    }
+#include "wifiparams.inl"    
+#endif  // T_WIFIPARAMS_H
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2009 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: Declares inline functions for input/output parameter sructures 
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef WIFIPARAMS_INL
+#define WIFIPARAMS_INL
+
+using namespace WiFiProt;
+
+WiFiProt::TWiFiInputParams::TWiFiInputParams(const TDesC8& aInitBuf,
+                                             const TBool aConnectionNeeded):
+    iSSid(aInitBuf),
+    iConnectionNeeded(aConnectionNeeded)
+    {
+       
+    }
+        
+    
+WiFiProt::TWiFiOutputParams::TWiFiOutputParams(const TDesC8& aInitBuf):
+    iIapIds(aInitBuf),
+    iReturn(EWiFiCancel)
+    {
+        
+    }
+
+WiFiProt::TWiFiConnOutputParams::TWiFiConnOutputParams(
+            const TWlanProtectedSetupCredentialAttribute& aNetworkSettings):
+    iNetworkSettings(aNetworkSettings),
+    iReturn(EWiFiCancel)
+    {
+        
+    }
+    
+WiFiProt::TWiFiConnOutputParams::TWiFiConnOutputParams( ):
+    iNetworkSettings( TWlanProtectedSetupCredentialAttribute() ),
+    iReturn(EWiFiCancel)
+    {
+    
+    }
+#endif  // WIFIPARAMS_INL
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprot.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2001-2009 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: This is a localisation file for Wi-Fi Protected Setup A .loc file is the one and only place where the logical strings to be localised are defined. 
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+//d:Wi-Fi protected Setup initial query dialog. Asks the user if he wants to use easy setup.
+//l:popup_note_window
+//w:
+//r:3.2
+#define qtn_ntw_conset_quest_wps_configure_auto "Selected network supports easy setup for receiving settings. Configure automatically?"
+
+//d:Left softkey text
+//l:control_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_text_sotkey_continue "Continue" 
+
+//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog heading text
+//l:heading_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_prmpt_wps_initiate "Initiate easy setup" 
+
+//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog text
+//l:popup_info_list_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wps_msg_pbc "Push a button on the wireless station to initiate the easy setup process, and select 'Continue'." 
+
+
+//d:Link inside 'Initiate easy setup' to activate 'use PIN code' option
+//l:popup_info_list_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wps_msg_link_use_pin "Use PIN code instead"
+
+//d:Wi-Fi protected Setup dialog to display PIN code that should be entered to wireless station.
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wps_info_enter_pin_code "Enter '%N' on the wireless station and select 'Continue'"
+
+//d:Wi-Fi protected Setup wait note shown during configuring connection
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wait_wps_configuring "Configuring connection..."
+
+//d:Wi-Fi protected Setup ok note shown after successful configuration of a single connection
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_conf_wps_one_network_configured "Settings configured for '%U' network"
+
+//d:Wi-Fi protected Setup ok note shown after successful configuration of multiple connections
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_conf_wps_multiple_networks_config "Settings for multiple networks configured"
+
+//d:Wi-Fi protected Setup ok note shown after unsuccessful configuration of network(s)
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_conf_wps_no_networks_configured "No settings received"
+
+//d:Wi-Fi protected Setup error note show when configuration fails
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_try_again "Configuration failed. Please try again."
+
+//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed "Configuration failed."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because signal is too weak
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_signal_too_weak "WLAN signal too weak. Move closer to wireless station."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because WLAN network can't be found
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_network_not_found "Connection failed. Could not find WLAN network."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because multiple push-button sessions
+//d:were detected
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_multiple_pb_sessions "Multiple push-button sessions detected. Wait a moment and try again, or use PIN code mechanism instead."
+
+//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again with PIN code
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_rogue_activity "Connection failed. Please try again with PIN code mechanism."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because PIN code mechanism is not supported
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_pin_not_supported "Configuration failed. Device you tried to connect to does not support PIN code mechanism."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because push-button mechanism is not supported
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_pb_not_supported "Configuration failed. Device you tried to connect to does not support push-button mechanism."
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotactiveresp.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2001-2009 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: CWiFiProtActiveResp class
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef C_WIFIPROTACTIVERESP_H
+#define C_WIFIPROTACTIVERESP_H
+
+// INCLUDES
+#include <e32base.h>
+#include "wifiparams.h"
+
+// CLASS DECLARATION
+
+/**
+* ActiveObject for asynchronous operations
+*/
+NONSHARABLE_CLASS( CWiFiProtActiveResp ) : public CActive
+    {
+    public:  // Constructors and destructor
+        /**
+        * Two-phased constructor.
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded ETrue if we need a connection
+        * via the configured network 
+        * @param aUidsReturned uids of the configured connection methods
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use 
+        * protected setup (No Automatic Setup).
+        */
+        static CWiFiProtActiveResp* NewL(   const TWlanSsid& aSSid,
+             TBool aConnectionNeeded, RArray<TUint32>& aUidsReturned, 
+             WiFiProt::TWiFiReturn& aReturnValue );
+             
+        /**
+        * Two-phased constructor.
+        * @param aSSid contains SSid of the network we want to configure 
+        * via the configured network 
+        * @param aNetworkSettings the configured network settings
+        * to be returned
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use 
+        * protected setup (No Automatic Setup).
+        */
+        static CWiFiProtActiveResp* NewL(   const TWlanSsid& aSSid,
+             TWlanProtectedSetupCredentialAttribute& aNetworkSettings, 
+             WiFiProt::TWiFiReturn& aReturnValue );             
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWiFiProtActiveResp();
+
+    public: // From base class
+        /**
+        * This function is called when the scheduled function ends.
+        */
+        void RunL();
+
+        /**
+        * Cancel operations.
+        */
+        void DoCancel();
+
+
+    public: // New functions
+        /**
+        * Add this class on the ActiveScheduler and puts itself active.
+        * @param aStatus The status that is checked by the caller of the 
+        *                Authenticate dialog.
+        */
+        void Observe( TRequestStatus &aStatus );
+
+        /**
+        * Returns the TWiFiInputParams 
+        * @return A pointer to iWiFiInputParams.
+        */
+        TPckgBuf<WiFiProt::TWiFiInputParams>* InputBuffer();
+
+        /**
+        * Returns the TWiFiOutputParams 
+        * @return A pointer to iWiFiOutputParams.
+        */
+        TPckgBuf<WiFiProt::TWiFiOutputParams>* OutputBuffer();
+        
+        /**
+        * Returns the TWiFiConnOutputParams 
+        * @return A pointer to iConnWiFiOutputParams.
+        */
+        TPckgBuf<WiFiProt::TWiFiConnOutputParams>* ConnOutputBuffer();         
+
+    private:
+        /**
+        * C++ default constructor.
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded ETrue if we need a connection via the
+        * configured network 
+        * @param aUidsReturned uids of the configured connection methods
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use 
+        * protected setup (No Automatic Setup).
+        */
+        CWiFiProtActiveResp(   const TWlanSsid& aSSid,
+             TBool aConnectionNeeded, RArray<TUint32>& aUidsReturned,
+             WiFiProt::TWiFiReturn& aReturnValue );
+             
+        /**
+        * C++ default constructor.
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aNetworkSettings network settings to be returned
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use 
+        * protected setup (No Automatic Setup).
+        */
+        CWiFiProtActiveResp(   const TWlanSsid& aSSid,
+             TWlanProtectedSetupCredentialAttribute& aNetworkSettings,
+             WiFiProt::TWiFiReturn& aReturnValue );
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL( );
+
+    private:    // Data
+        // The status that is checked by the caller of the Wi-Fi
+        // Protected Setup ui. Not owned.
+        TRequestStatus* iRequestStatus;    
+
+        // The address of the area where the caller of the Wi-Fi
+        // Protected Setup ui expects the value for iap list. Not owned.
+        RArray<TUint32>* iIapIds;
+        
+        //Contains the return value passed to the client
+        WiFiProt::TWiFiReturn& iReturnValue;
+
+        // Packed buffer containing Wi-Fi Protected Setup output parameters.
+        TPckgBuf<WiFiProt::TWiFiOutputParams> iWiFiOutputParams;
+        // Packed buffer containing Wi-Fi Protected Setup input parameters.
+        TPckgBuf<WiFiProt::TWiFiInputParams> iWiFiInputParams;
+        // Packed buffer containing Wi-Fi Protected Setup output parameters
+        // for connection creation mode.
+        TPckgBuf<WiFiProt::TWiFiConnOutputParams> iWiFiConnOutputParams;
+        // network settings to be returned
+        // used only for connection creation
+        TWlanProtectedSetupCredentialAttribute* iNetworkSettings;
+    };
+
+
+#endif //C_WIFIPROTACTIVERESP_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotlogger.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2001-2009 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: Definition of macros used for logging 
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef WIFIPROTLOGGER_H_INCLUDED
+#define WIFIPROTLOGGER_H_INCLUDED
+
+// ========== INCLUDE FILES ================================
+
+#include <eikenv.h>
+#include <flogger.h>
+
+#ifdef _DEBUG
+
+// Format string: enter function.
+_LIT( KCCDLGLogEnterFn,           "-> %S" );
+// Format string: leave function.
+_LIT( KCCDLGLogLeaveFn,           "<- %S" );
+// Format string: time.
+_LIT( KCCDLGLogTimeFormatString,  "%H:%T:%S:%*C2" );
+
+// Logging directory.
+_LIT( KCCDLGLogDir,               "wps" );
+// Log file name.
+_LIT( KCCDLGLogFile,              "wps.txt" );
+_LIT( KCCDLGLogBanner,            "****************\n\nWiFiProtectedSetupUi\n\n****************" );
+_LIT( KCCDLGLogExit,              "WiFiProtectedSetupUi: Exit" );
+
+#define CLOG_CREATE             {FCreate();}
+#define CLOG_DELETE             {RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogExit);}
+#define CLOG_ENTERFN(a)         {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogEnterFn, &temp);}
+#define CLOG_LEAVEFN(a)         {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogLeaveFn, &temp);}
+#define CLOG_WRITE(a)           {_LIT(temp, a); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, temp);}
+#define CLOG_WRITE_TIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KCCDLGLogTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, buffer); }
+#define CLOG_WRITEF             FPrint
+
+// ---------------------------------------------------------
+// FPrint
+// ---------------------------------------------------------
+//
+inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
+    {
+    VA_LIST list;
+    VA_START(list,aFmt);
+    RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aFmt, list);
+    }
+
+// ---------------------------------------------------------
+// FPrint
+// ---------------------------------------------------------
+//
+inline void FPrint(const TDesC& aDes)
+    {
+    RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aDes);
+    }
+
+// ---------------------------------------------------------
+// FHex
+// ---------------------------------------------------------
+//
+inline void FHex(const TUint8* aPtr, TInt aLen)
+    {
+    RFileLogger::HexDump(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen);
+    }
+
+// ---------------------------------------------------------
+// FHex
+// ---------------------------------------------------------
+//
+inline void FHex(const TDesC8& aDes)
+    {
+    FHex(aDes.Ptr(), aDes.Length());
+    }
+
+// ---------------------------------------------------------
+// FCreate
+// ---------------------------------------------------------
+//
+inline void FCreate()
+    {
+    TFileName path( _L( "c:\\logs\\" ) );
+    path.Append( KCCDLGLogDir );
+    path.Append( _L( "\\" ) );
+    RFs& fs = CEikonEnv::Static()->FsSession();
+    fs.MkDirAll( path );
+    RFileLogger::WriteFormat( KCCDLGLogDir, KCCDLGLogFile, 
+                              EFileLoggingModeAppend, KCCDLGLogBanner );
+    }
+
+#else // ! _DEBUG
+
+// ---------------------------------------------------------
+// FPrint
+// ---------------------------------------------------------
+//
+inline void FPrint(const TRefByValue<const TDesC> /*aFmt*/, ...) { };
+
+#define CLOG_CREATE
+#define CLOG_DELETE
+#define CLOG_ENTERFN(a)
+#define CLOG_LEAVEFN(a)
+#define CLOG_WRITE(a)
+#define CLOG_WRITEF   1 ? ((void)0) : FPrint
+#define CLOG_WRITE_TIMESTAMP(a)
+
+#endif // _DEBUG
+
+
+#endif // WIFIPROTLOGGER_H_INCLUDED
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsession.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2001-2009 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: RWiFiProtSession class.
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef R_WIFIPROTSESSION_H
+#define R_WIFIPROTSESSION_H
+
+// INCLUDES
+#include <e32std.h>
+
+#include "wifiparams.h"
+#include "wifiprotactiveresp.h"
+
+// CLASS DECLARATION
+
+/**
+ * RWiFiProtSession
+ * Session class to handle communication with Notifier Framework
+ */
+class RWiFiProtSession : public RSessionBase
+    {
+    public:
+    
+        /**
+        * Constructor.
+        */
+        RWiFiProtSession();
+
+        /**
+        * Destructor.
+        */
+        ~RWiFiProtSession();
+
+        /**
+        * Connect to the notifier server. Must be called before any other 
+        * function.
+        * @return KErrNone if connection succeeded and a standard error code
+        * otherwise.
+        */
+        TInt Connect();
+
+        /**
+        * Disconnect from the notifier server.
+        */
+        void Close();
+
+        /**
+        * Starts WiFi Protected Setup sequence
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded not used anymore 
+        * @param aUidsReturned uids of the configured connection methods
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use protected setup (No Automatic Setup).
+        * @param aStatus - Request status of the client
+        */      
+        void StartWiFiProtL( const TWlanSsid& aSSid, TBool aConnectionNeeded,
+            RArray<TUint32>& aUidsReturned,
+            WiFiProt::TWiFiReturn& aReturnValue,
+             TRequestStatus& aStatus );
+             
+        /**
+        * Starts WiFi Protected Setup sequence in Connection initiation mode
+        * (WPS phase 2 implementation)
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aNetworkSettings configuration settings of the network to use
+        * for the connection (returned as the result of Protected Setup)      
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use protected setup (No Automatic Setup).
+        * @param aStatus - Request status of the client       
+        */
+        void StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus );        
+        /**
+        * Cancels WiFi Protected Setup sequence
+        */
+        void CancelWiFiProt();
+
+    private:
+        // Pointer to the client interface
+        RNotifier* iNotifier;
+        // Active object used to get TDesC data from the Notifier Framework
+        //  message
+        CWiFiProtActiveResp* iWiFiProtActiveResp;
+    };
+
+#endif /* R_WIFIPROTSESSION_H */
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsyncclient.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2001-2009 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: CWiFiProtSyncClient class.
+*
+*/
+
+/*
+* %version: tr1cfwln#6 %
+*/
+
+#ifndef C_WIFIPROTSYNCCLIENT_H
+#define C_WIFIPROTSYNCCLIENT_H
+
+// INCLUDES
+#include <e32base.h>
+
+#include "wifiprotsession.h"
+
+/**
+* CWiFiProtSyncClient
+* Active object to convert a sychronous client call asynchronous, and
+* return only when the request is completed
+*/
+class CWiFiProtSyncClient : public CActive
+    {
+    public:
+        /**
+        * Two phased constructor
+        * @param aClient RWiFiProtSession class to handle communication with
+        * Notifier Framework
+        * @param aPriority Active object priority
+        **/
+        static CWiFiProtSyncClient* NewL( RWiFiProtSession& aClient,
+            TInt aPriority = CActive::EPriorityStandard );
+        /**
+        * Destructor
+        **/            
+        ~CWiFiProtSyncClient();
+
+        /**
+        * Starts WiFi Protected Setup sequence
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded ETrue if we need a connection via the
+        * configured network 
+        * @param aUidsReturned uids of the configured connection methods
+        * @return possible return values are ok, cancel process and not use 
+        * protected setup (No Automatic Setup).
+        */
+        WiFiProt::TWiFiReturn StartWiFiProtL(  const TWlanSsid& aSSid, 
+                                  TBool aConnectionNeeded,
+                                  RArray<TUint32>& aUidsReturned
+                                  );
+        
+    private:
+        // Each Notifier Framework call has a corresponding enum,
+        // and CWiFiProtSyncClient uses it to keep track of the
+        // currently active call
+        // The only one is ERunWiFiProt at the moment
+        enum TWiFiState
+            {
+            ENoState = 0,
+            // StartWiFiProtL was called
+            ERunWiFiProt
+            };
+
+    private:
+        /**
+        * Constructor
+        * @param aClient RWiFiProtSession class to handle communication
+        * with Notifier Framework
+        * @param aPriority Active object priority
+        **/    
+        CWiFiProtSyncClient( RWiFiProtSession& aClient, TInt aPriority );
+        
+        /**
+        * Second phase constructor
+        **/           
+        void ConstructL();
+        
+        /**
+        * Calls CActive::SetActive() and sets TWiFiState also
+        * @param aState identifier of the active call
+        **/           
+        void SetActive( TWiFiState aState );
+
+        /** From CActive */
+        
+        /**
+        * @see CActive::DoCancel
+        **/ 
+        virtual void DoCancel();
+ 
+        /**
+        * @see CActive::RunL
+        **/        
+        virtual void RunL();
+
+    private:
+        // RWiFiProtSession class to handle communication with Notifier
+        // Framework
+        RWiFiProtSession& iClient;
+        // identifier of the active call
+        CWiFiProtSyncClient::TWiFiState iState;
+        // Active Scheduler Waiter class to halt the process until the
+        // call is completed
+        CActiveSchedulerWait iWait;
+    };
+
+
+#endif //C_WIFIPROTSYNCCLIENT_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotuiclientimpl.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWiFiProtUiClientImpl.  
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef C_WIFIPROTUICLIENTIMPL_H
+#define C_WIFIPROTUICLIENTIMPL_H
+
+// INCLUDES
+#include <e32base.h>
+#include <wifiprotuiclient.h>
+
+#include "wifiparams.h"
+#include "wifiprotsyncclient.h"
+
+// FORWARD DECLARATIONS
+class CCommsDatabase;
+class TConnectionPrefs;
+class CAknGlobalNote;
+
+
+// CLASS DECLARATION
+
+/**
+* Wi-Fi Protected Setup.
+* Implementation behind proxy class CWiFiProt.
+*/
+NONSHARABLE_CLASS( CWiFiProtUiClientImpl ) : public CBase
+    {
+    public:
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed CConnectionUiUtilities object.
+        */
+        static CWiFiProtUiClientImpl* NewL();
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWiFiProtUiClientImpl();
+
+    public:
+        /**
+        * Starts WiFi Protected Setup sequence - async version
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded not used anymore
+        * @param aUidsReturned uids of the configured connection methods
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use 
+        * protected setup (No Automatic Setup).
+        */
+        void StartWiFiProtL ( const TWlanSsid& aSSid,
+         TBool aConnectionNeeded, RArray<TUint32>& aUidsReturned,
+          WiFiProt::TWiFiReturn& aReturnValue, TRequestStatus& aStatus );
+        
+        /**
+        * Starts WiFi Protected Setup sequence - sync version, returns
+        * when completed
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aConnectionNeeded not used anymore 
+        * @param aUidsReturned uids of the configured connection methods
+        * @return  possible return values are ok, cancel process and not use 
+        * protected setup (No Automatic Setup).
+        * We can return a value since the call is sychronous.
+        */
+        WiFiProt::TWiFiReturn StartWiFiProtSyncL( const TWlanSsid& aSSid,
+                                                 TBool aConnectionNeeded,
+                                          RArray<TUint32>& aUidsReturned );
+        
+        /**
+        * Starts WiFi Protected Setup sequence in Connection initiation mode
+        * (WPS phase 2 implementation)
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aNetworkSettings configuration settings of the network to use
+        * for the connection (returned as the result of Protected Setup)      
+        * @param aReturnValue - possible return values are ok, cancel
+        * process and not use protected setup (No Automatic Setup).
+        * @param aStatus - Request status of the client       
+        */
+        void StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus );
+
+        /**
+        * Cancels WiFi Protected Setup sequence
+        */
+        void CancelWiFiProt( );        
+
+    private:  // Constructors
+
+        /**
+        * Constructor.
+        */
+        CWiFiProtUiClientImpl();
+
+        /**
+        * Second-phase constructor.
+        */
+        void ConstructL();
+  
+                                  
+    // Data
+    private:     
+        // notifier client
+        RWiFiProtSession iNotif; 
+        // Synchronously callable client
+        CWiFiProtSyncClient* iWiFiProtSyncClient;
+    };
+
+
+#endif  // C_WIFIPROTUICLIENTIMPL_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/loc/wifiprot.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2001-2009 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: This is a localisation file for Wi-Fi Protected Setup A .loc file is the one and only place where the logical strings to be localised are defined. 
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+//d:Wi-Fi protected Setup initial query dialog. Asks the user if he wants to use easy setup.
+//l:popup_note_window
+//w:
+//r:3.2
+#define qtn_ntw_conset_quest_wps_configure_auto "Selected network supports easy setup for receiving settings. Configure automatically?"
+
+//d:Left softkey text
+//l:control_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_text_sotkey_continue "Continue" 
+
+//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog heading text
+//l:heading_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_prmpt_wps_initiate "Initiate easy setup" 
+
+//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog text
+//l:popup_info_list_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wps_msg_pbc "Push a button on the wireless station to initiate the easy setup process, and select 'Continue'." 
+
+
+//d:Link inside 'Initiate easy setup' to activate 'use PIN code' option
+//l:popup_info_list_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wps_msg_link_use_pin "Use PIN code instead"
+
+//d:Wi-Fi protected Setup dialog to display PIN code that should be entered to wireless station.
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wps_info_enter_pin_code "Enter '%N' on the wireless station and select 'Continue'"
+
+//d:Wi-Fi protected Setup 'Select Network' query dialog heading text
+//l:heading_pane_t1
+//w:
+//r:5.0
+//
+#define qtn_netw_conset_wps_prmpt_select_network "Select network:"
+
+//d:Wi-Fi protected Setup 'Select Network' query dialog description text
+//l:loc_type_pane
+//w:
+//r:5.0
+//
+#define qtn_netw_conset_wps_detail_select_network "Settings for multiple networks received. Select the network to connect to:"
+
+//d:Wi-Fi protected Setup wait note shown during configuring connection
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_wait_wps_configuring "Configuring connection..."
+
+//d:Wi-Fi protected Setup ok note shown after successful configuration of a single connection
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_conf_wps_one_network_configured "Settings configured for '%U' network"
+
+//d:Wi-Fi protected Setup ok note shown after successful configuration of multiple connections
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_conf_wps_multiple_networks_config "Settings for multiple networks configured"
+
+//d:Wi-Fi protected Setup ok note shown after unsuccessful configuration of network(s)
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_netw_conset_conf_wps_no_networks_configured "No settings received"
+
+//d:"Search for WLAN" - information note
+//l:popup_note_window
+//w:
+//r:5.0
+//
+#define qtn_wlan_info_no_networks_found         "No WLAN networks found"
+
+
+//d:Wi-Fi protected Setup error note show when configuration fails
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_try_again "Configuration failed. Please try again."
+
+//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed "Configuration failed."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because signal is too weak
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_signal_too_weak "WLAN signal too weak. Move closer to wireless station."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because WLAN network can't be found
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_network_not_found "Connection failed. Could not find WLAN network."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because multiple push-button sessions
+//d:were detected
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_multiple_pb_sessions "Multiple push-button sessions detected. Wait a moment and try again, or use PIN code mechanism instead."
+
+//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again with PIN code
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_rogue_activity "Connection failed. Please try again with PIN code mechanism."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because PIN code mechanism is not supported
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_pin_not_supported "Configuration failed. Device you tried to connect to does not support PIN code mechanism."
+
+//d:Wi-Fi protected Setup error note show when configuration fails because push-button mechanism is not supported
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_err_wlan_sc_config_failed_pb_not_supported "Configuration failed. Device you tried to connect to does not support push-button mechanism."
+
+//d:Wi-Fi protected Setup error note show when WLAN connection already exists
+//l:popup_note_window/opt1
+//w:
+//r:3.2
+//
+#define qtn_wlan_info_connection_already_active "A WLAN connection is already active. Close connection and try again."
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunner.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,507 @@
+/*
+* Copyright (c) 2001-2009 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: Implements a state - machine like active object that controls Wi-Fi Protected Setup Process. 
+*
+*/
+
+/*
+* %version: tr1cfwln#16 %
+*/
+
+#ifndef C_WIFIPROTACTIVERUNNER_H
+#define C_WIFIPROTACTIVERUNNER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <cmmanagerext.h>
+#include <AknQueryDialog.h>
+#include <AknProgressDialog.h>
+
+#include "wifiprotdlgsplugin.h"
+#include "wifiparams.h"
+#include "wifiprotactiverunnercallback.h"
+
+
+//FORWARD DECLARATIONS
+class CWlanMgmtClient;
+class CMDBSession;
+class CWiFiProtConfirmationNoteDlg;
+class CWiFiProtInitiateEasySetupDlg;
+class CWlanScanInfo;
+class CWiFiProtEnterPinDlg;
+class CWEPSecuritySettings;
+class RCmConnectionMethodExt;
+
+//CONSTS
+const TInt KMaxPINLength = 8; //is it really 8?
+// ID of OfflineWlanNote dialog
+const TUid KUidCOfflineWlanNoteDlg = { 0x101FD671 };
+
+/**
+* CWiFiProtActiveRunner
+* State machine like object that manages Wi-Fi Protected setup ui process
+* @since S60 v3.2
+*/
+class CWiFiProtActiveRunner : public CActive, public MProgressDialogCallback,
+                                                     MActiveRunnerCallback
+    {
+    private:
+    // States to control Wi-Fi Protected Setup sequence
+        enum TWiFiProtStates
+            {
+            // Display 'Configure Automatically?' Dialog
+            EWiFiProtAskConfigureAutomatically = 1,  
+            // Display 'Initiate Easy Setup?' Dialog            
+            EWiFiProtInitiateEasySetup,
+            // If phone is in offline mode, continue with
+            // "Create WLAN connection in offline mode?" confirmation
+            EWifiProtOfflineQuery,
+            // Display 'Enter PIN code' Dialog
+            EWiFiProtUsePinCode,
+            // Starting wait dialog
+            EWiFiProtStartingWaitDlg,
+            // Configuring (Creating temp iap and making a call to wlan
+            // mgmt server )
+            EWiFiProtConfiguring,
+            // Wlan Mgmt server returned
+            EWiFiProtWlanMgmtEngineReturned,
+            // Creating iap from parameters from wlan mgmt server
+            EWiFiProtCreateAllIaps,
+            // Configuration finished
+            EWiFiProtConfFinished,
+            // Destroying wait note
+            EWiFiProtDestroyWaitNote,            
+            // Waiting for PIN query to exit
+            EWiFiProtWaitForPINQuery,            
+            // Wlan Scan
+            EWiFiProtWlanScan,
+            // Displaying Select Connection Dialog
+            EWiFiProtSelectConnection,
+            // Displaying final note about configured settings
+            EWiFiProtSettingsConfNote,
+            // Finished, exiting
+            EWiFiProtFinished,
+            // Cancelled, exiting
+            EWiFiProtCancelled
+            };
+            
+    // Asynchronous service to cancel
+        enum TWiFiProtOutstandingRequest
+            {
+            EWiFiProtReqNone = 0,
+            EWiFiProtReqConfirmDialog,
+            EWiFiProtReqInitDialog,
+            EWiFiProtReqWPS,
+            EWiFiProtReqWlanScan           
+            };
+            
+    public:
+        /**
+        * Two phased constructor
+        * @param aPriority Active object priority
+        */    
+        static CWiFiProtActiveRunner* NewL( CWiFiProtDlgsPlugin* aParent,
+                TInt aPriority = CActive::EPriorityStandard  );
+        
+        /**
+        * Destructor
+        */    
+        ~CWiFiProtActiveRunner();
+
+        
+        /**
+        * Starts Wi-Fi Protected Setup
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aCmManagerToUse - RCmManagerExt to use. Must pass this 
+        * to avoid CmManager database
+        * locking problems    
+        */    
+        void StartProtectedSetupAsyncL (  const TWlanSsid& aSSid,
+                                                      RArray<TUint32>& aUids,
+                                            RCmManagerExt& aCmManagerToUse );
+
+        /**
+        * Starts Wi-Fi Protected Setup in Connection creation mode
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aNetworkSettings the configured network's settings to be
+        * returned 
+        * @param aCmManagerToUse - RCmManagerExt to use. Must pass this 
+        * to avoid CmManager database
+        * locking problems
+        * @return  possible return values are ok, cancel process and not use 
+        * protected setup (No Automatic Setup).        
+        */                                                
+        void StartProtectedSetupConnL (
+                                     const TWlanSsid& aSSid,
+                                     TWlanProtectedSetupCredentialAttribute&
+                                          aNetworkSettings,
+                                     RCmManagerExt& aCmManagerToUse );
+        
+        /**
+        * Starts Wi-Fi Protected Setup using CActiveSchedulerWait block
+        * @param aSSid contains SSid of the network we want to configure 
+        * @param aCmManagerToUse - RCmManagerExt to use. Must pass this 
+        * to avoid CmManager database
+        * locking problems
+        * @return  possible return values are ok, cancel process and not use 
+        * protected setup (No Automatic Setup).        
+        */    
+        WiFiProt::TWiFiReturn StartProtectedSetupL (  const TWlanSsid& aSSid,
+                                                      RArray<TUint32>& aUids,
+                                            RCmManagerExt& aCmManagerToUse );
+        
+        /**
+         * When the process is cancelled by the client rather than
+         * cancelled by the user, some things are taken care of
+         * a bit differently.
+         */
+        void CancelByClient();
+        
+    private:
+
+
+        /**
+        * Shows the first dialog in the sequence
+        */
+        void ShowInitialDialogL (); 
+        /**
+         * Shows connect in offline -notification.
+         */
+        void ShowOfflineQuery ();
+         /**
+        * Shows the Initiate Easy Setup dialog
+        */
+        void ShowInitiateEasySetupDialogL (); 
+           
+         /**
+        * Shows the 'Enter PIN on Wireless Station' dialog
+        */    
+        void ShowEnterPinOnStationDialogL();
+
+        /**
+        * Shows waiting dialog
+        */     
+        void ShowWaitingDialogL();
+        
+        /**
+        * Shows waiting dialog and proceeds with the process
+        */     
+        void ShowWaitingDialogAndProceedL();
+        
+        /**
+        * Shows 'settings configured' dialog
+        * @param aWiFiProtState state to decide which note to display
+        */     
+        void ShowFinalNoteL();
+        
+        /**
+        * wait note callback
+        */
+        void DialogDismissedL( TInt aButtonId );
+
+        /**
+        * Creates Temporary iap (cm) which contains parameters to be passed
+        * to wlan engine
+        * @param aTempServId Temporary iap service id          
+        * @return TUint32 iap id (cm uid)
+        */    
+        TUint32 CreateTempIapL( TUint32& aTempServId );
+
+        /**
+        * Calls the active object that calls wlan engine's RunProtectedSetup
+        * @param TUint32 aIap iap id (cm uid)
+        */   
+        void RunProtectedSetup( const TInt32 aIap );    
+
+        /**
+        * Constructor
+        * @param aParent Parent object
+        * @param aPriority Active object priority
+        */
+        CWiFiProtActiveRunner( CWiFiProtDlgsPlugin* aParent, TInt aPriority );
+        
+        /**
+        * Second phase constructor
+        */
+        void ConstructL();
+
+        /** From CActive */
+        /**
+        @see CActive::DoCancel
+        */    
+        virtual void DoCancel();
+        
+        /**
+        @see CActive::RunL
+        */        
+        virtual void RunL();
+
+        
+        /**
+        * Sets iNextWiFiProtState and completes the pending request
+        * used to step forward in the 'state machine'
+        * @param aNextState - the state to step to
+        */
+        void SetNextStateAndComplete( TWiFiProtStates aNextState,
+                                      TInt aError = KErrNone );
+        
+        /**
+        * Called from RunL in EWiFiProtConfiguring state
+        * Starts configuring the connection methods
+        */
+        void ConfigureL();
+
+        /**
+        * Proceeds after DestroyWaitDialog or after PinQueryExitL and
+        * checks error state and continues with Wlan availability 
+        * scan if needed
+        */
+        void EvaluateResult();
+        
+        /**
+        * Called from RunL in EWiFiProtConfFinished state
+        * Destroys the wait dialog as configuring is complete
+        */
+        void DestroyWaitDialog();
+ 
+        /*
+        * Computes checksum number which is the last number of
+        * the 8 digit PIN code passed to wlan mgmt engine
+        * algorythm copied from Wi-Fi spec
+        * @param aPin Pin code
+        * @return last digit, to be appended to PIN
+        */       
+        TInt ComputeChecksum(TInt aPin);
+
+        /*
+        * Creates a single iap (from the first network's parameters),
+        * and then repeats the process for each iap
+        * The iap parameters at 0 index (in iIapParametersArray) will be
+        * used to create an iap. passed to CreateIapL.
+        */       
+        void CreateAllIapsL();
+        
+        /**
+        * Creates Connection Method using RCmManagerExt
+        * The iap parameters at the given index (in iIapParametersArray)
+        * will be used to create an iap. Then the parameters entry will
+        * be deleted from iIapParametersArray
+        * and the new iap's id will be added to iCmArray.
+        * @param TInt aIndex index of the connection method (iap) to create
+        * in iIapParametersArray
+        * @return IapId of the cm
+        */
+        TUint32 CreateIapL( const TInt aIndex );
+        
+        /**
+        * Sets iap settings to a given connection method object and saves it
+        * @param TInt aIndex index of the connection method (iap) 
+        * in iIapParametersArray
+        * @param aCmToSet target connection method object 
+        * @return IapId of the cm
+        */        
+        TUint32 SetIapDataL( const TInt aIndex, RCmConnectionMethodExt& aCmToSet );
+
+        // calls DeleteTempIapL, and also steps the state machine
+        void CleanupTempIapL();        
+
+        /**
+        * Deletes temporary iap
+        */
+        void DeleteTempIapL();
+
+        /**
+        * Returns wep format, ETrue if it is in hex
+        * @param aLength Wep key length
+        */
+        TBool IsWepFormatHexL( TInt aLength );
+
+        /**
+        * Saves wep security settings from the 
+        * given credential parameters
+        * @param aCredentialAttribute credential parameters including wep
+        * security settings data
+        * @param aWlanServiceId Wlan service id
+        * @param aDb Database session needed for saving
+        * wep security settings
+        */
+        void SaveWepSecuritySettingsL(
+                       TWlanProtectedSetupCredentialAttribute
+                        aCredentialAttribute, 
+                       TUint32 aWlanServiceId,
+                       CommsDat::CMDBSession& aDb );
+
+        /**
+        * Handles the given error code by dispaying an error note
+        * @param aErrorCode error code to handle
+        */
+        TBool HandleErrorL( TInt aErrorCode );
+
+        /**
+        * Steps into the next state of Wi-Fi Protected Setup sequence
+        * called from RunL()
+        */
+        void HandleNoErrorL ();
+
+
+        /**
+        * From MActiveRunnerCallback
+        * called when CWifiProtEnterPinDlg is finished
+        * @param TInt aResponse can be KErrNone or KErrCancel
+        */
+        void PinQueryExitL( TInt aResponse );
+
+        /**
+        * Called by UsePinCodeLinkSelectedL when pin code mechanism
+        * is selected. Sets iUsePin flag and completes Active Runner
+        * (this) object
+        */
+        void DoUsePinCodeLinkSelectedL();
+
+        /**
+        * Starts wlan scan
+        */
+        void StartWlanScan();
+        
+        /**
+        * Compares the fresh wlan networks list with the
+        * items returned by WPS. Puts the available network indexes
+        * into iAvailableNetworks
+        */
+        void CheckNetworkAvailabilityL();
+
+        /*
+        * Displays the Select Connection Dialog
+        * When there are more connections available to use
+        * (used in Create Connection Mode)
+        */
+        void SelectConnectionL();
+        
+        /*
+        * Displays a note to show the user that 
+        * no wlan networks were found during wlan scan
+        */
+        void ShowNoWlanNetworksNoteL();
+
+        /*
+        * Calls cancel on the possibly currently ongoing request
+        */
+        void CancelOngoingRequest();
+        
+        /**
+        * Sets wep key
+        * @param aWepSecSettings Wep security settings object
+        * @param aWepKey Wep key to set
+        * @param aKeyNumber number of wep key to set
+        */
+        void SetWepKeyL( CWEPSecuritySettings& aWepSecSettings,
+                         TWlanWepKey& aWepKey, TInt aKeyNumber );    
+
+    public:
+        /**
+        * Callback to handle pin code pin code mechanism link selection
+        */    
+        static TInt UsePinCodeLinkSelectedL( TAny* aObject );
+        
+    private:
+        // reference to parent object
+        CWiFiProtDlgsPlugin* iParent;
+        // wait dialog
+        CAknWaitDialog* iWaitDlg;  ///Owned
+        // RCmManagerExt object for Cm Manager operations
+        RCmManagerExt* iCmManagerExt; //NOT OWNED!!!
+        // ETrue if connection is needed after the Wi-Fi Protected
+        // setup.
+        TBool iIsConnectionNeeded;
+        // Array to store returned uids of created iaps (connection methods)
+        RArray<TUint32>* iUids;//NOT OWNED!!!
+        // flag to indicate that wait dialog was cancelled
+        TBool iWaitDlgCancelled;
+        // ssid of the network to setup
+        TWlanSsid iSsid;
+        // iap id of the temporary iap
+        TUint32 iTempIapId ;
+        // service id of the temporary iap
+        TUint32 iTempServId ;
+        // PIN code (holds a value only if PIN method is used)
+        // for Wi-Fi Protected Setup authentication
+        TBuf<KMaxPINLength> iPIN;
+        // Wlan mgmt engine
+        CWlanMgmtClient* iWlanMgmtEngine;
+        // Next state, checked in RunL to control the setup process
+        TWiFiProtStates iNextWiFiProtState;
+        // return value
+        WiFiProt::TWiFiReturn iReturn;
+        // A flag to indicate that PIN method is used
+        TBool iUsePin;
+        // Holds the error code from wlan mgmt engine after 
+        // our wlan mgmt server request is complete
+        TInt iError;
+        // Active Scheduler wait object to hold the process until we are 
+        // complete
+        CActiveSchedulerWait iWait;
+        // Array to hold the connection methods which are created from 
+        // the data returned from wlan mgmt engine
+        RPointerArray<RCmConnectionMethodExt> iCmArray;//used to store cms
+                                                    // before submitting them
+        // The connection metod parameters returned from wlan mgmt engine
+        CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>*
+                     iIapParametersArray; //parameters from wlan mgmt engine
+        // ETrue if Pin Query Dialog is active
+        TBool iPinQueryActive;
+        // ETrue if a wait note is needed to be shown
+        TBool iWaitNoteNeeded;
+        // initiate setup dialog is stored to handle link selection callback,
+        // not owned
+        CWiFiProtInitiateEasySetupDlg* iInitDialog;
+        // Wlan Scan Info
+        CWlanScanInfo* iScanInfo;
+        // List of available networks, contains indexes for iIapParametersArray
+        RArray<TInt> iAvailableNetworks;
+        // index of selected network in iAvailableNetworks
+        TInt iSelectedNetworkIndex;
+        // ongoing request to cancel if cancelled
+        TWiFiProtOutstandingRequest iORequest;
+        // Cancel called by user, cancel at next RunL cycle
+        TBool iUserCancelled;
+        // ETrue if the process is cancelled by the client.
+        TBool iClientCancelled;
+        // Flag to indicate that the 'use pin code' link was used
+        // and we have to destroy the dialog later, because avkon crashes if
+        // we do it in the callback (DoUsePinCodeLinkSelectedL)
+        TBool iDestroyInitDialogLater;
+        // not owned, just keeping pointer to handle cancel softkey removal
+        CWiFiProtEnterPinDlg* iPinDlg;
+        //pointer to network settings to be returned if WPS is used for 
+        // connection creation 
+        TWlanProtectedSetupCredentialAttribute* iNetworkSettings;
+        // ETrue if the WPS process is used in synchronous mode
+        TBool iSyncMode;
+        // ETrue if phone is in offline mode.
+        TBool iInOfflineMode;
+        // Stores data for offline note. Used
+        // only for writing result. Not read.
+        TPckgBuf<TBool> iOfflineReply;
+        // Interface to Notifier
+        RNotifier iNotifier;
+        // Pointer to the 1st confirmation dialog. Owned.
+        CWiFiProtConfirmationNoteDlg* iConfirmationDialog;
+        
+
+
+    };
+
+#endif //C_WIFIPROTACTIVERUNNER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunnercallback.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2001-2009 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: Defines MActiveRunnerCallback interface
+*
+*/
+
+/*
+* %version: tr1cfwln#5 %
+*/
+
+#ifndef M_ACTIVERUNNERCALLBACK_H
+#define M_ACTIVERUNNERCALLBACK_H
+/**
+ * MActiveRunnerCallback
+ * callback interface to handle PIN query exit
+ * @since S60 v3.2
+*/
+class MActiveRunnerCallback
+    {
+    public:
+        /**
+        * called when CWifiProtEnterPinDlg is finished
+        * @param TInt aResponse can be KErrNone or KErrCancel
+        */
+        virtual void PinQueryExitL( TInt aResponse ) = 0;
+    };
+#endif //M_ACTIVERUNNERCALLBACK_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotconfirmationnotedlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtConfirmationNoteDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef C_WIFIPROTCONFIRMATIONNOTEDLG_H__
+#define C_WIFIPROTCONFIRMATIONNOTEDLG_H__
+
+// INCLUDES
+#include <AknQueryDialog.h>
+
+// CLASS DECLARATIONS
+
+/**
+ * Class implements a query dialog.
+ */
+NONSHARABLE_CLASS( CWiFiProtConfirmationNoteDlg ) : public CAknQueryDialog
+    {
+public:
+    /**
+    * Constructor the CWiFiProtConfirmationNoteDlg class
+    * @param aStatus TRequestStatus of the client,
+    * gets completed when dialog finishes 
+    * @return -
+    */
+    CWiFiProtConfirmationNoteDlg( TRequestStatus& aStatus );
+   
+    /**
+    * Destructor
+    */
+    virtual ~CWiFiProtConfirmationNoteDlg();   
+    
+    /**
+    * From @c MEikCommandObserver. 
+    *
+    * Acts on the menu selection if menu is showing 
+    * @param aCommandId id of the command to process
+    *
+    * Responds to @c EAknSoftkeyOk and @c EAknSoftkeyYes and 
+    * @c EAknSoftkeyDone and @c EWiFiSoftkeyContinue commands. 
+    *
+    * @since S60 3.0 
+    */
+    void ProcessCommandL( TInt aCommandId );  
+
+private:
+
+    /**
+    * Exit function the CWiFiProtConfirmationNoteDlg
+    * @param aButtonId Button id which is checked before
+    * deciding to exit or not
+    * @return TBool exit or no
+    */
+    virtual TBool OkToExitL( TInt aButtonId );
+
+    /**
+    * PreLayoutDynInitL
+    */
+    virtual void PreLayoutDynInitL(); 
+       
+private:
+    // Client's request status, dialog completes it when it finished
+    TRequestStatus& iRequestStatus;
+    };
+
+
+#endif  // C_WIFIPROTCONFIRMATIONNOTEDLG_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotdlgsplugin.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,223 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of CWiFiProtDlgsPlugin
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+#ifndef C_WIFIPROTDLGSPLUGIN_H
+#define C_WIFIPROTDLGSPLUGIN_H
+
+
+// INCLUDES
+#include <cmmanagerext.h>
+#include <wlanmgmtcommon.h>
+#include <wifiprotreturn.h>
+#include <eiknotapi.h>
+
+using namespace WiFiProt;
+
+class TWiFiOutputParams;
+class CWiFiProtActiveRunner;
+
+
+
+
+
+/**
+ * CWiFiProtDlgsPlugin class
+ * Notifier Framework plugin for Wi-Fi Protected Setup
+ */
+class CWiFiProtDlgsPlugin : public CBase, public MEikSrvNotifierBase2
+
+    {
+    
+public:
+    
+    /**
+    * NewL function
+    * @param  aResourceFileResponsible - ETrue if the plugin handles the
+    * resource file
+    * @param  aCmManagerExt - CmManager to use during Wi-Fi Protected Setup
+    * return CWiFiProtDlgsPlugin*
+    */
+    static CWiFiProtDlgsPlugin* NewL( const TBool aResourceFileResponsible,
+                                              RCmManagerExt* aCmManagerExt );
+
+    /**
+    * NewL function
+    * @param  aResourceFileResponsible - ETrue if the plugin handles the
+    * resource file
+    * return CWiFiProtDlgsPlugin*
+    */
+    static CWiFiProtDlgsPlugin* NewL( const TBool aResourceFileResponsible );
+
+
+    /**
+    * Destructor
+    */
+    ~CWiFiProtDlgsPlugin( );
+
+    // From MEikSrvNotifierBase
+
+    /**
+    * Get Notifier information
+    * return TNotifierInfo Notifier info
+    */
+    TNotifierInfo Info() const;
+
+    /**
+    * Start the Notifier
+    * @param  aBuffer   Not used
+    * return TPtrC8     Always NULL
+    */
+    TPtrC8 StartL( const TDesC8& aBuffer );
+
+    /**
+    * Cancel() the notifier
+    * @param  -
+    * return -
+    */
+    void Cancel();
+
+    /**
+    * Release the notifier
+    * @param  -
+    * return -
+    */
+    void Release();
+
+    /**
+    * Update Notifier
+    * @param  aBuffer   Not used
+    * return TPtrC8     Always NULL
+    */
+    TPtrC8 UpdateL( const TDesC8& aBuffer );
+
+    /**
+    * CompleteL the notifier is complete
+    * @param  aStatus status
+    * return  -
+    */
+    void CompleteL( TInt aStatus );
+
+    /**
+    * Sets iCancelled flag that indicates that the notifier was cancelled
+    * @param  aCancelled   Not used
+    */
+    void SetCancelledFlag( TBool aCancelled );
+    
+    /**
+    * RegisterL register the client notifier function
+    * return TNotifierInfo Contains uid, channel and priority of
+    * the registered notifier
+    */
+    TNotifierInfo RegisterL();
+
+    /**
+    * Start the Notifier
+    * @param  aBuffer    Buffer that stores parameters from client side
+    * @param  aReplySlot Identifies which message argument to use for the 
+    *                    reply. This message argument will refer to a 
+    *                    modifiable descriptor, a TDes8 type, into which data
+    *                    can be returned. 
+    * @param  aMessage   Message
+    */
+    void StartL( const TDesC8& aBuffer, TInt aReplySlot, 
+                 const RMessagePtr2& aMessage );
+
+    /**
+    * Asynchronous notifier dialog sequence is completed by calling this function.
+    * @param aReturnValue - possible return values are ok, cancel
+    * process and not use protected setup (No Automatic Setup).
+    */
+    void CompleteProcessL( WiFiProt::TWiFiReturn aReturnValue );
+    
+    /**
+    * Starts Wi-Fi Protected Setup
+    * Private interface to be used by applications with ui
+    * runs in the same process, so pointers can be passed
+    * @param aSSid contains SSid of the network we want to configure 
+    * @param aConnectionNeeded ETrue if we need a connection via the
+    * configured network 
+    * @param aUidsReturned uids of the configured connection methods
+    * @return aReturnValue - possible return values are ok, cancel
+    * process and not use protected setup (No Automatic Setup).
+    */  
+    
+    WiFiProt::TWiFiReturn StartFromUiL( const TWlanSsid& aSSid,
+                                        TBool aConnectionNeeded,
+                                        RArray<TUint32>& aUidsReturned);
+
+
+private:
+
+    /**
+    * Returns the correct RCmManagerExt instance's reference
+    * it can be an own instance, or a passed reference in case
+    * StartFromUiL was called (we are in the same process as the caller)
+    * This is necessary because we can't open two CmManagers the same time
+    * and the client is possibly using one already.
+    * @return a passed or an own RCmManagerExt& instance, based on the 
+    * method of calling CWiFiProtDlgsPlugin 
+    */
+    RCmManagerExt& CmManagerToUse();
+    
+private:    
+
+    /**
+    * Constructor
+    */
+    CWiFiProtDlgsPlugin( );
+    
+    /**
+    * CWiFiProtDlgsPlugin second level constructor
+    * @param  aResourceFileName Resource file to open
+    * @param  aResourceFileResponsible ETrue if this notifier is
+    * responsible for the resource file
+    * @param aCmManagerExt CmManager to use
+    * @see CWiFiProtDlgsPlugin::CmManagerToUse
+    */
+    void ConstructL( const TDesC& aResourceFileName,
+                     const TBool aResourceFileResponsible,
+                      RCmManagerExt* aCmManagerExt = NULL );
+
+
+                  
+private:
+
+    RCmManagerExt iCmManagerExt;        // own CmManager
+    RCmManagerExt* iPassedCmManagerExt; // passed CmManager, not owned
+    CWiFiProtActiveRunner* iRunner;     // Active Runner object
+    TWiFiReturn iReturn;                // return value towards the client 
+    RArray<TUint32> iUids;              // uids of created connection methods
+    TNotifierInfo iInfo;                // Notifier info
+    RMessagePtr2 iMessage;              // Message
+    TInt iReplySlot;                    // Reply slot
+    TBool iCancelled;                   // ETrue if WPS process is cancelled
+    TInt iResource;                     // Resource
+    TBool   iConnMode;                  // ETrue if creating a connection
+    // network settings to be returned if WPS is used for connection creation
+    TWlanProtectedSetupCredentialAttribute iNetworkSettings;
+    TBool iCancelledFromInside;               // ETrue if user or WLAN engine has cancelled
+    TBool iClientCancelled;		// ETrue if the notifier client has called Cancel()
+    };
+
+
+#endif // C_WIFIPROTDLGSPLUGIN_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotenterpindlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtEnterPinDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+#ifndef C_WIFIPROTENTERPINDLG_H
+#define C_WIFIPROTENTERPINDLG_H
+
+// INCLUDES
+#include <AknQueryDialog.h>
+
+// FORWARD DECLARATIONS
+class MActiveRunnerCallback;
+
+// CLASS DECLARATIONS
+
+/**
+ * Class implements a query dialog.
+ */
+NONSHARABLE_CLASS( CWiFiProtEnterPinDlg ) : public CAknQueryDialog
+    {
+public:
+    /**
+    * Constructor of the CWiFiProtEnterPinDlg class
+    * @param MActiveRunnerCallback& aActiveRunnerCallback callback to
+    * notify the client of user response
+    * Active Runner gets completed when the dialog finishes 
+    */
+    CWiFiProtEnterPinDlg( MActiveRunnerCallback& aActiveRunnerCallback );
+
+   
+    /**
+    * Destructor
+    */
+    virtual ~CWiFiProtEnterPinDlg();   
+    
+    /**
+    * From @c MEikCommandObserver. 
+    *
+    * Acts on the menu selection if menu is showing 
+    * @param aCommandId id of the command to process
+    *
+    * Responds to @c EAknSoftkeyOk and @c EAknSoftkeyYes and 
+    * @c EAknSoftkeyDone and @c EWiFiSoftkeyContinue
+    * @c EAknSoftkeyEmpty commands. 
+    *
+    * @since S60 3.0 
+    */
+    void ProcessCommandL( TInt aCommandId );  
+    
+    /*
+    * Removes Cancel softkey
+    */
+    void RemoveCancel();    
+
+private:
+
+    /**
+    * Exit function the CWiFiProtConfirmationNoteDlg
+    * @param aButtonId 
+    * @return TBool exit or no
+    */
+    virtual TBool OkToExitL( TInt aButtonId );
+
+    /**
+    * PreLayoutDynInitL
+    * @param    -
+    */
+    virtual void PreLayoutDynInitL();    
+private:
+    // Client's request status, dialog completes it when it finished
+    MActiveRunnerCallback& iActiveRunnerCallback;
+    };
+
+
+#endif  // C_WIFIPROTENTERPINDLG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotinitiateeasysetupdlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWiFiProtInitiateEasySetupDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#6 %
+*/
+
+#ifndef C_WIFIPROTINITIATEEASYSETUPDLG_H
+#define C_WIFIPROTINITIATEEASYSETUPDLG_H
+
+// INCLUDES
+#include <aknmessagequerydialog.h>
+
+// CLASS DECLARATIONS
+/**
+ * Class implements a query dialog.
+ */
+NONSHARABLE_CLASS( CWiFiProtInitiateEasySetupDlg ) :
+                                              public CAknMessageQueryDialog
+    {
+public:
+    /**
+    * Constructor the CWiFiProtInitiateEasySetupDlg class
+    * @param aStatus Request status of the Active Runner
+    */
+    CWiFiProtInitiateEasySetupDlg( TRequestStatus& aStatus );
+
+    /**
+    * Destructor
+    */
+    virtual ~CWiFiProtInitiateEasySetupDlg();     
+
+    /**
+    * From @c MEikCommandObserver. 
+    */
+ 
+    /**
+    * Tries to exit the dialog when the specified button is pressed, if this 
+    * button should exit the dialog.
+    *
+    * See @c OkToExitL() to determine which buttons can exit the dialog.
+    * 
+    * This will fail if user exit is prevented by the 
+    * @c EEikDialogFlagNoUserExit flag. If the @c EEikDialogFlagNotifyEsc flag
+    * is not set and the dialog has been cancelled it immediately deletes 
+    * itself.
+    * 
+    * @param aButtonId The id of the pressed button.
+    */
+    void TryExitL( TInt aButtonId );
+        
+private:
+
+    /**
+    * Exit function of CWiFiProtInitiateEasySetupDlg
+    * @param aButtonId 
+    * @return TBool exit or no
+    */
+    virtual TBool OkToExitL( TInt aButtonId );
+
+    /**
+    * PreLayoutDynInitL
+    * @param    -
+    */
+    virtual void PreLayoutDynInitL();    
+    
+    /** 
+    * From @c CCoeControl.
+    *
+    * Handles key events.
+    * 
+    * If a control wishes to process key events, it should implement this
+    * function. The implementation must ensure that the function returns 
+    * @c EKeyWasNotConsumed if it does not do anything in response to a 
+    * key event, otherwise, other controls or dialogs may be prevented 
+    * from receiving the key event. If it is able to process the event it 
+    * should return @c EKeyWasConsumed.
+    * 
+    * @param aKeyEvent The key event.
+    * @return Indicates whether or not the key event was used
+    *         by this control. 
+    */
+    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode );
+    
+private:
+    // flag to indicate that the button group was changed
+    // this is needed for changing softkey when selecting link
+    TBool iButtonGroupPreviouslyChanged;
+    // Client's request status, dialog completes it when it finished
+    TRequestStatus& iRequestStatus;
+    };
+
+#endif  // C_WIFIPROTINITIATEEASYSETUPDLG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of Wi-Fi Protected Setup Notifier Array
+*
+*/
+
+/*
+* %version: tr1cfwln#6 %
+*/
+
+#ifndef WIFIPROTPLUGIN_H
+#define WIFIPROTPLUGIN_H
+
+
+// INCLUDES
+#if !defined(__EIKNOTAPI_H__)
+#include <eiknotapi.h>
+#endif
+
+// GLOBAL FUNCTIONS
+//
+/**
+* Array of connection dialog plugins.
+* @return A CArrayPtr of MEikSrvNotifierBase2 based classes.
+*/
+IMPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray();
+
+
+// RSC file name.
+_LIT( KResourceFileName, "WiFiProtPlugin.rsc" );
+
+    
+#endif //WIFIPROTPLUGIN_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2001-2009 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: This file contains declarations for resources of Connection Ui Utilities Notifier. The file can be included in C++ or resource file. 
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef WIFIPROTPLUGIN_HRH
+#define WIFIPROTPLUGIN_HRH
+
+// IDs of controls
+
+    
+enum TWiFiProtPluginIds
+    {
+    WiFiProtPlugin = 0x222    //  is it correct?
+    };
+
+enum TWiFiProtCommandIds
+    {
+    EWiFiSoftkeyContinue = 1
+    };
+    
+#endif      //  WIFIPROTPLUGIN_HRH
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotselectnetworkdlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2001-2009 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: Definition of class CWiFiProtSelectNetworkDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+#ifndef C_WIFIPROTSELECTNETWORKDLG_H
+#define C_WIFIPROTSELECTNETWORKDLG_H
+
+// INCLUDES
+#include <aknlistquerydialog.h>
+
+// CLASS DECLARATIONS
+/**
+ * Class implements a query dialog.
+ */
+NONSHARABLE_CLASS( CWiFiProtSelectNetworkDlg ) : public CAknListQueryDialog
+    {
+public:
+    /**
+    * Constructor the CWiFiProtSelectNetworkDlg class
+    * @param aStatus TRequestStatus from activerunner
+    * @param aSelected returned selection index
+    * @param CDesCArrayFlat* aItems listbox items, ownership passed
+    * @param CArrayPtr<CGulIcon>* aIcons listbox icons, ownership passed    
+    * @return -
+    */
+    CWiFiProtSelectNetworkDlg( TRequestStatus& aStatus , TInt& aSelected ,
+                               CDesCArrayFlat* aItems,
+                               CArrayPtr<CGulIcon>* aIcons );
+
+    /**
+    * Destructor
+    */
+    virtual ~CWiFiProtSelectNetworkDlg();     
+
+    /**
+    * Calls PrepareLC and RunLD with the supplied parameters
+    */
+    void PrepareAndRunLD(  );
+
+
+private:
+
+    /**
+    * Exit function of CWiFiProtSelectNetworkDlg
+    * @param aButtonId 
+    * @return TBool exit or no
+    */
+    virtual TBool OkToExitL( TInt aButtonId );
+    
+    /**
+    * PreLayoutDynInitL
+    */
+    void PreLayoutDynInitL();
+    
+    /**
+    * Handles a change to the application's resources.
+    * @param aType Type of resource change
+    */
+    void HandleResourceChange( TInt aType );
+ 
+private:
+    // Client's request status, dialog completes it when it finished
+    TRequestStatus& iRequestStatus;
+    // Selected item's index
+    TInt& iSelected;
+    // Icons array
+    CArrayPtr<CGulIcon>* iIcons;
+    // Items array
+    CDesCArrayFlat* iItems;
+    };
+
+#endif  // C_WIFIPROTSELECTNETWORKDLG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotactiverunner.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,2056 @@
+/*
+* Copyright (c) 2001-2009 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: Implements a state - machine like active object that controls Wi-Fi Protected Setup Process. 
+*
+*/
+
+/*
+* %version: tr1cfwln#29 %
+*/
+
+//SYSTEM INCLUDES
+#include <wlanmgmtclient.h>
+#include <wifiprotplugin.rsg>
+#include <StringLoader.h>
+#include <AknWaitDialog.h>
+#include <cmpluginwlandef.h>
+#include <commdb.h>
+#include <WPASecuritySettingsUI.h>
+#include <WEPSecuritySettingsUI.h>
+#include <e32math.h>
+#include <cmconnectionmethoddef.h>
+#include <wlanerrorcodes.h>
+#include <utf.h>
+#include <AknIconArray.h>
+#include <AknGlobalNote.h>
+#include <AknSgcc.h>
+#include <uikon/eiksrvui.h>
+#include <AknsUtils.h>
+#include <data_caging_path_literals.hrh>
+#include <wifiprot.mbg>
+
+#include <CoreApplicationUIsSDKCRKeys.h>
+#include <e32std.h>
+#include <ConnectionUiUtilities.h>
+
+//USER INCLUDES
+#include "wifiprotlogger.h"
+#include "wifiprotactiverunner.h"
+#include "wifiprotconfirmationnotedlg.h"
+#include "wifiprotselectnetworkdlg.h"
+#include "wifiprotenterpindlg.h"
+#include "wifiprotinitiateeasysetupdlg.h"
+
+#include "featmgr.h"
+
+// valid Wep key lengths, to check wep key format
+// (wep key format depends on key length)
+const TInt KConnUiUtilsWepLengthASCII5 = 5;
+const TInt KConnUiUtilsWepLengthASCII13 = 13;
+const TInt KConnUiUtilsWepLengthASCII29 = 29;
+const TInt KConnUiUtilsWepLengthHEX10 = 10;
+const TInt KConnUiUtilsWepLengthHEX26 = 26;
+const TInt KConnUiUtilsWepLengthHEX58 = 58; 
+#ifdef __WINS__
+const TInt KNumberOfEmulatedAvailableNetworks = 2; 
+const TInt KIndexOfFirstEmulatedAvailableNetwork = 0;
+const TInt KIndexOfSecondEmulatedAvailableNetwork = 1;
+#endif
+
+/**
+* Management frame information element IDs.
+* needed to determine coverage
+*/
+enum T802Dot11InformationElementID
+    {
+    E802Dot11SsidIE                 = 0,
+    E802Dot11SupportedRatesIE       = 1,
+    E802Doi11FhParameterSetIE       = 2,
+    E802Dot11DsParameterSetIE       = 3,
+    E802Dot11CfParameterSetIE       = 4,
+    E802Dot11TimIE                  = 5,
+    E802Dot11IbssParameterSetIE     = 6,
+    E802Dot11CountryIE              = 7,
+    E802Dot11HoppingPatternParamIE  = 8,
+    E802Dot11HoppingPatternTableIE  = 9,
+    E802Dot11RequestIE              = 10,
+
+    E802Dot11ChallengeTextIE        = 16,
+    // Reserved for challenge text extension 17 - 31
+    E802Dot11ErpInformationIE       = 42,
+    E802Dot11ExtendedRatesIE        = 50,
+    E802Dot11AironetIE              = 133,
+    E802Dot11ApIpAddressIE          = 149,
+    E802Dot11RsnIE                  = 221
+    };
+
+const TInt KArrayGranularity = 10; 
+const TInt KIconsGranularity = 4;
+
+_LIT( KWiFiFileIcons, "z:wifiprot.mbm" );
+
+_LIT8( KEapWsc, "\xFE\x00\x37\x2A\x00\x00\x00\x01");
+
+_LIT( KWiFiPanic, "Wi-Fi Protected Setup");
+
+using namespace CMManager;
+
+// ================= MEMBER FUNCTIONS =======================
+//
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::NewL
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveRunner* CWiFiProtActiveRunner::NewL(
+        CWiFiProtDlgsPlugin* aParent, TInt aPriority )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::NewL" );
+    
+    CWiFiProtActiveRunner* self =
+         new(ELeave) CWiFiProtActiveRunner( aParent, aPriority );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop(); // self
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::NewL" );
+    
+    return self;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::~CWiFiProtActiveRunner
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveRunner::~CWiFiProtActiveRunner()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::~CWiFiProtActiveRunner" );
+
+    // Close notifier
+    iNotifier.Close();
+
+    Cancel();
+    
+    // If the cancel has been initiated by the client, temp IAP cannot be deleted until
+    // after the RNotifier Cancel() call has returned (deadlock between MPM and CMM).
+    // Therefore, temp IAP cleanup must be done later.
+    if ( !iClientCancelled )
+        {
+        TRAP_IGNORE( DeleteTempIapL() ); //we can't do much if delete fails
+        }
+    
+    delete iWlanMgmtEngine;
+    
+    // if cancelled from client, wait note may still be visible
+    if ( iWaitDlg )
+        {
+        CLOG_WRITE( "iWaitDlg->SetCallback( NULL );" );
+        iWaitDlg->SetCallback( NULL );
+        CLOG_WRITE( "iWaitDlg->ProcessFinishedL( );" );
+        TRAP_IGNORE( iWaitDlg->ProcessFinishedL() );
+        delete iWaitDlg;
+        }
+    
+    if ( iPinDlg )
+        {
+        delete iPinDlg;
+        }
+    
+    TBool cleanupCms = EFalse;
+    if ( iReturn == EWiFiCancel )
+        {
+        cleanupCms = ETrue;
+        }
+        
+    for ( TInt i = 0; i < iCmArray.Count();i++ )
+        {
+        // if we are setting up a connection, we save the settings into
+        // easy wlan iap (connection method), which we shouldn't ever delete!
+        if ( ( !iIsConnectionNeeded ) && cleanupCms )
+            {
+            //we can't do much if delete fails
+            TRAP_IGNORE( iCmArray[i]->DeleteL() );
+            }
+        iCmArray[i]->Close();
+        delete iCmArray[i];
+        iCmArray[i] = NULL;
+        }
+        
+    iCmArray.ResetAndDestroy();
+    iAvailableNetworks.Close();
+    delete iIapParametersArray;
+    delete iScanInfo;
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::~CWiFiProtActiveRunner" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::StartProtectedSetupL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::StartProtectedSetupAsyncL (
+                                            const TWlanSsid& aSSid,
+                                            RArray<TUint32>& aUids,
+                                            RCmManagerExt& aCmManagerToUse )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::StartProtectedSetupAsyncL" );
+    
+    iIsConnectionNeeded = EFalse;
+    iUids = &aUids;
+    iCmManagerExt = &aCmManagerToUse;    
+    iSsid.Copy( aSSid );
+    ShowInitialDialogL();
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartProtectedSetupAsyncL" );
+    
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::StartProtectedSetupConnL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::StartProtectedSetupConnL (
+                                     const TWlanSsid& aSSid,
+                                     TWlanProtectedSetupCredentialAttribute&
+                                          aNetworkSettings,
+                                     RCmManagerExt& aCmManagerToUse )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::StartProtectedSetupConnL" );
+    
+    iIsConnectionNeeded = ETrue;
+    iNetworkSettings = &aNetworkSettings;
+    iCmManagerExt = &aCmManagerToUse;    
+    iSsid.Copy( aSSid );
+    ShowInitialDialogL();
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartProtectedSetupConnL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::StartProtectedSetupL
+// --------------------------------------------------------------------------
+//
+WiFiProt::TWiFiReturn CWiFiProtActiveRunner::StartProtectedSetupL (
+                                            const TWlanSsid& aSSid,
+                                            RArray<TUint32>& aUids,
+                                            RCmManagerExt& aCmManagerToUse )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::StartProtectedSetupL" );
+    
+    iSyncMode = ETrue;
+    iIsConnectionNeeded = EFalse;
+    iUids = &aUids;
+    iCmManagerExt = &aCmManagerToUse;    
+    iSsid.Copy( aSSid );
+    ShowInitialDialogL();
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartProtectedSetupL" );
+    
+    return iReturn;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CancelByClient()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::CancelByClient()
+    {
+    iClientCancelled = ETrue;
+    Cancel();
+    if ( iWaitDlg )
+        {
+        CLOG_WRITE( "Removing wait note( );" );
+        iWaitDlg->SetCallback( NULL );
+        
+        TRAPD(err, iWaitDlg->ProcessFinishedL());
+        if (err)
+            {
+            CLOG_WRITE( "LEAVE: iWaitDlg->ProcessFinishedL" );
+            
+            }
+        delete iWaitDlg;
+        iWaitDlg = NULL;
+        }
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowInitialDialogL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowInitialDialogL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowInitialDialogL" );
+    
+    if ( IsActive() == EFalse ) 
+        {
+        
+        // Check if offline mode is on:
+        iInOfflineMode = EFalse;
+        if ( FeatureManager::FeatureSupported( KFeatureIdOfflineMode ) )
+               {
+               TInt connAllowed;
+               CRepository* repository = CRepository::NewLC( 
+                                                           KCRUidCoreApplicationUIs );
+               repository->Get( KCoreAppUIsNetworkConnectionAllowed, connAllowed );
+               CleanupStack::PopAndDestroy(repository);  // repository
+               if ( connAllowed == 0 )
+                   {
+                   iInOfflineMode = ETrue;
+                   }
+               }
+
+        if ( iInOfflineMode && iSyncMode )
+            {
+            // If in offline mode, query about offline mode first.
+            iNextWiFiProtState = EWifiProtOfflineQuery;
+            }
+        else
+            {
+            // Else initiate easy setup.
+            iNextWiFiProtState = EWiFiProtInitiateEasySetup;
+            }
+        
+        iConfirmationDialog =
+                     new ( ELeave ) CWiFiProtConfirmationNoteDlg( iStatus );
+        iConfirmationDialog->ExecuteLD( R_WIFIPROT_CONFIGURE_AUTO_DIALOG );
+        iORequest = EWiFiProtReqConfirmDialog;
+        SetActive( );
+        if ( iSyncMode )
+            {
+            CLOG_WRITE(  "CActiveSchedulerWait Started" );
+            iWait.Start();
+            CLOG_WRITE(  "CActiveSchedulerWait Returned" );
+            }
+                        
+        }// do nothing if already active
+        
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowInitialDialogL" );
+    
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL" );
+    
+    iDestroyInitDialogLater = EFalse;
+    iNextWiFiProtState = EWiFiProtUsePinCode;
+    //store it, but not own it
+    iInitDialog = new ( ELeave ) CWiFiProtInitiateEasySetupDlg( iStatus ); 
+    iInitDialog->PrepareLC( R_WIFIPROT_INITIATE_EASY_SETUP_DIALOG );
+    _LIT( KLinkStartTag, "\n<AknMessageQuery Link>" );
+    _LIT( KLinkEndTag, "</AknMessageQuery Link>" );
+
+    HBufC *messageBase =
+             StringLoader::LoadLC( R_QTN_NETW_CONSET_WPS_MSG_PBC );
+    HBufC* linkString1 = StringLoader::LoadLC( 
+                            R_QTN_NETW_CONSET_WPS_MSG_LINK_USE_PIN );
+
+    TInt lenMsg = messageBase->Des().Length()+
+                  linkString1->Des().Length()+
+                  KLinkStartTag().Length()+
+                  KLinkEndTag().Length();    
+    
+    HBufC* message = HBufC::NewLC( lenMsg );
+    TPtr messagePtr = message->Des();
+
+    messagePtr.Append( messageBase->Des() ); 
+
+    messagePtr.Append( KLinkStartTag ); 
+    messagePtr.Append( linkString1->Des() );
+    messagePtr.Append( KLinkEndTag );    
+    
+    iInitDialog->SetMessageTextL( messagePtr );
+    CleanupStack::PopAndDestroy( message );
+    
+    CleanupStack::PopAndDestroy( linkString1 );
+    CleanupStack::PopAndDestroy( messageBase );    
+    TCallBack callBackLink( CWiFiProtActiveRunner::UsePinCodeLinkSelectedL,
+                                                                     this );
+
+    iInitDialog->SetLink( callBackLink  );    
+    iInitDialog->RunLD();
+    iORequest = EWiFiProtReqInitDialog;
+    SetActive( );
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL" );
+    
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL" );
+    
+    iNextWiFiProtState = EWiFiProtStartingWaitDlg;
+    TInt pin = 0;
+    TTime t;
+    t.HomeTime();
+    TInt64 seed = t.Int64();
+    do  {
+         pin = Math::Rand( seed );
+        }
+        while ( pin <(10^(KMaxPINLength-2))
+             || ( ((pin / 1000000) % 10) ) == 0 );
+    //last digit is checksum, so we need 7 digits
+    //and the first shouldn't be 0
+    pin = pin % 10000000; 
+    TInt checkSum = ComputeChecksum(pin);
+    pin *= 10;
+    pin += checkSum;
+    _LIT(KPinFormat,"%d");
+    iPIN.Format(KPinFormat, pin);
+    
+    CLOG_WRITE( "Enter pin code note" );
+    
+    HBufC* prompt =
+     StringLoader::LoadLC( R_QTN_NETW_CONSET_WPS_INFO_ENTER_PIN_CODE, pin );
+    CWiFiProtEnterPinDlg* pinDlg = new ( ELeave ) CWiFiProtEnterPinDlg( *this );
+    
+    CleanupStack::PushL(pinDlg);
+    pinDlg->SetPromptL( *prompt );
+    CleanupStack::Pop(pinDlg);
+
+    CleanupStack::PopAndDestroy( prompt );
+    iPinDlg = pinDlg;
+    iPinDlg->ExecuteLD( R_WIFIPROT_ENTER_PIN_CODE_DIALOG );
+    iPinQueryActive = ETrue;
+    SetActive( );
+    SetNextStateAndComplete( EWiFiProtConfiguring );
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowWaitingDialogL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowWaitingDialogL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowWaitingDialogL" );
+    HBufC* text = StringLoader::LoadLC(
+            R_QTN_NETW_CONSET_WAIT_WPS_CONFIGURING );
+    iWaitDlg = new ( ELeave ) CAknWaitDialog(
+                          ( REINTERPRET_CAST( CEikDialog**, &iWaitDlg )),
+                            ETrue );
+    iWaitDlg->SetTextL( *text );
+    CleanupStack::PopAndDestroy( text );
+    iWaitDlg->SetCallback( this );
+    iWaitDlg->SetTone( CAknNoteDialog::EConfirmationTone );
+    iWaitDlg->ExecuteLD( R_WIFIPROT_WAIT_NOTE  );
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowWaitingDialogL" );
+    }
+
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL" );
+    
+    iStatus = KRequestPending; //should be set by service provider
+    ShowWaitingDialogL();
+    SetActive( );
+    SetNextStateAndComplete( EWiFiProtConfiguring );
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowFinalNoteL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowFinalNoteL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowFinalNoteL" );
+    
+    const TInt KSettingsConfNone = 0;
+    const TInt KSettingsConfOne = 1;
+    const TInt KSettingsConfMulti = 2;
+    const TInt KResourceIdInvalid = 0;
+    
+    HBufC* text = NULL;
+    TInt resId = KResourceIdInvalid;
+    CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone;
+    TInt numberOfNetworksConfigured = 0;
+    if ( iIsConnectionNeeded )
+        {
+        // we have one network configured if we are here
+        numberOfNetworksConfigured = 1;
+        }
+    else
+        {
+        numberOfNetworksConfigured = iCmArray.Count();
+        }
+        
+    
+    //more than one = multiple
+    if ( numberOfNetworksConfigured > KSettingsConfOne) 
+        {
+        numberOfNetworksConfigured = KSettingsConfMulti;
+        }
+    switch ( numberOfNetworksConfigured )
+        {
+        case KSettingsConfOne :
+            {
+            CLOG_WRITE( "Show one network configured note " );
+            HBufC* name;
+            if ( iIsConnectionNeeded )
+                {
+                // We have to convert the 8-bit SSID to 16-bit 
+                HBufC* ssid16 = HBufC::NewLC( (*iIapParametersArray)
+                    [iAvailableNetworks[
+                            iSelectedNetworkIndex]].iSsid.Length()+1 );
+                TPtr ssid16Ptr( ssid16->Des() );
+                CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr,
+                    (*iIapParametersArray)[iAvailableNetworks[
+                                        iSelectedNetworkIndex]].iSsid );
+                ssid16Ptr.ZeroTerminate();
+                name = ssid16Ptr.AllocL();
+                CleanupStack::PopAndDestroy( ssid16 );             
+                }
+            else
+                {
+                RCmConnectionMethodExt cm =
+                     iCmManagerExt->ConnectionMethodL(
+                                    iCmArray[0]->GetIntAttributeL( ECmId ) );
+                CleanupClosePushL( cm );
+                name =  cm.GetStringAttributeL( EWlanSSID );
+                CleanupStack::PopAndDestroy( &cm );
+                }
+            CleanupStack::PushL( name );
+            text = StringLoader::LoadL(
+                 R_QTN_NETW_CONSET_CONF_WPS_ONE_NETWORK_CONFIGURED , *name);
+            CleanupStack::PopAndDestroy( name );
+            CleanupStack::PushL( text );
+            resId = R_WIFIPROT_OK_NOTE;
+            tone = CAknNoteDialog::EConfirmationTone;
+            break;
+            }
+        case KSettingsConfMulti:
+            {
+            CLOG_WRITE( "Show multiple networks configured note " );
+            text = StringLoader::LoadLC(
+                 R_QTN_NETW_CONSET_CONF_WPS_MULTIPLE_NETWORKS_CONFIG );
+            resId = R_WIFIPROT_OK_NOTE;
+            tone = CAknNoteDialog::EConfirmationTone;
+            break;
+            }
+        case KSettingsConfNone :
+            {
+            CLOG_WRITE( "Show no networks configured note " );
+            text = StringLoader::LoadLC(
+                 R_QTN_NETW_CONSET_CONF_WPS_NO_NETWORKS_CONFIGURED );
+            resId = R_WIFIPROT_INFO_NOTE;
+            break;
+            }
+        default:
+            {
+            //should not ever get here
+            CLOG_WRITE( "Unhandled Final Note!!!" );
+            User::Leave( KErrGeneral );
+            break;            
+            }
+        }
+
+    CAknNoteDialog* dlg = new (ELeave) CAknNoteDialog(
+                             tone,
+                             CAknNoteDialog::ELongTimeout );
+    dlg->SetTextL( *text );
+    CleanupStack::PopAndDestroy( text );   
+    iStatus = KRequestPending; //should be set by service provider
+    SetActive( );
+    dlg->ExecuteLD( resId  ); 
+    SetNextStateAndComplete( EWiFiProtFinished );
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowFinalNoteL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::DialogDismissedL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DialogDismissedL( TInt aButtonId )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::DialogDismissedL" );
+    
+    //wait dialog cancelled
+    if ( aButtonId == EAknSoftkeyCancel )
+        {    
+        CLOG_WRITE( "Cancel pressed!" );
+        if (iWaitDlg)
+            {
+            iWaitDlgCancelled = ETrue;
+            }
+        iUserCancelled = ETrue;   
+        CancelOngoingRequest();        
+        }
+    // iWaitDlg is destroyed, so we can null it
+    iWaitDlg = NULL; 
+ 
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::DialogDismissedL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CreateTempIapL
+// --------------------------------------------------------------------------
+//
+TUint32 CWiFiProtActiveRunner::CreateTempIapL( TUint32& aTempServId )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::CreateTempIapL" );
+    
+    RCmConnectionMethodExt cm;
+    cm = iCmManagerExt->CreateConnectionMethodL( KUidWlanBearerType );
+    CleanupClosePushL(cm);
+
+    // We have to convert the 8-bit SSID to 16-bit for CommsDat.
+    HBufC* ssid16 = HBufC::NewLC( iSsid.Length() );
+    TPtr ssid16Ptr( ssid16->Des() );
+    CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr , iSsid ); 
+    cm.SetStringAttributeL( EWlanSSID, *ssid16 ); 
+    cm.SetStringAttributeL( ECmName, *ssid16 ); 
+    CLOG_WRITEF( _L("SSid: ") );
+    CLOG_WRITEF( *ssid16 );
+    CleanupStack::PopAndDestroy( ssid16 ); 
+    
+    
+    cm.SetIntAttributeL( EWlanSecurityMode, EWlanSecModeWpa2 );
+    cm.UpdateL();
+    
+    aTempServId = cm.GetIntAttributeL( ECmIapServiceId );
+    TInt32 iapID = cm.GetIntAttributeL( ECmId );
+    
+    CommsDat::CMDBSession* db =
+       CommsDat::CMDBSession::NewL( CommsDat::CMDBSession::LatestVersion() );
+    CleanupStack::PushL( db );
+    CWPASecuritySettings* wpaSecSettings =
+         CWPASecuritySettings::NewL( ESecurityModeWpa );
+    CleanupStack::PushL( wpaSecSettings );      
+    User::LeaveIfError( wpaSecSettings->SetWPAEnabledEAPPlugin( KEapWsc ) );
+    CLOG_WRITEF( _L("Enabled EAP plugin set: EAP WSC"));
+    if (iPIN != KNullDesC)
+        { 
+        User::LeaveIfError( wpaSecSettings->SetWPAPreSharedKey( iPIN ) );
+        CLOG_WRITEF( _L("Pin set as WPA key: "));
+        CLOG_WRITEF( iPIN );
+        }    
+
+    CLOG_WRITEF( _L("WPA settings save - ECmIapServiceId in aTempServId %d"), aTempServId );
+    wpaSecSettings->SaveL( aTempServId , *db, ESavingBrandNewAP, 0 );
+    CLOG_WRITEF( _L("WPA settings saved!"));
+    CleanupStack::PopAndDestroy( wpaSecSettings );         
+    db->Close();
+    CleanupStack::PopAndDestroy( db ); 
+    CleanupStack::PopAndDestroy( &cm ); 
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::CreateTempIapL" );
+    
+    return iapID;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::RunProtectedSetup
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::RunProtectedSetup ( const TInt32 aIapId )
+    {
+    
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::RunProtectedSetup" );
+    
+    iNextWiFiProtState = EWiFiProtWlanMgmtEngineReturned;
+    if ( iWlanMgmtEngine ) 
+        {
+        CLOG_WRITEF(_L(
+         "We have a wlanmgmt engine, calling RunProtectedSetup with uid %d")
+         , aIapId );
+        iWlanMgmtEngine->RunProtectedSetup( iStatus, aIapId,
+                                            *iIapParametersArray );
+        iORequest = EWiFiProtReqWPS;
+        SetActive( );
+        }
+    else
+        {
+        // we complete ourselves after creating these cms synchronously
+        //just for wins testing
+        //add 1 conneciton method;
+#ifdef __WINS__
+        CLOG_WRITE( "No wlanmgmt engine, simulating... " );
+        TWlanProtectedSetupCredentialAttribute tmpCred;
+        tmpCred.iOperatingMode = EWlanOperatingModeInfrastructure;
+        tmpCred.iAuthenticationMode = EWlanAuthenticationModeOpen;
+        tmpCred.iSecurityMode = EWlanIapSecurityModeAllowUnsecure;
+        tmpCred.iSsid = _L8("Available Network");
+       
+        TRAP_IGNORE( iIapParametersArray->AppendL(tmpCred) );
+
+        tmpCred.iOperatingMode = EWlanOperatingModeInfrastructure;
+        tmpCred.iAuthenticationMode = EWlanAuthenticationModeOpen;
+        tmpCred.iSecurityMode = EWlanIapSecurityModeAllowUnsecure;
+        tmpCred.iSsid = _L8("Available Network 2");
+        
+        TRAP_IGNORE( iIapParametersArray->AppendL(tmpCred) );
+        
+        tmpCred.iOperatingMode = EWlanOperatingModeInfrastructure;
+        tmpCred.iAuthenticationMode = EWlanAuthenticationModeOpen;
+        tmpCred.iSecurityMode = EWlanIapSecurityModeAllowUnsecure;
+        tmpCred.iSsid = _L8("Unavailable Network");
+        
+        TRAP_IGNORE( iIapParametersArray->AppendL(tmpCred) );
+        
+        iStatus = KRequestPending;
+        SetActive( );
+        SetNextStateAndComplete(EWiFiProtWlanMgmtEngineReturned );
+#else
+        //no engine in hardware, should not ever get here!
+        User::Panic( KWiFiPanic , KErrNotFound );
+#endif
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::RunProtectedSetup" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CWiFiProtActiveRunner
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveRunner::CWiFiProtActiveRunner( 
+                    CWiFiProtDlgsPlugin* aParent,  TInt aPriority ) 
+                    : CActive( aPriority ),
+                    iParent( aParent ),
+                    iIsConnectionNeeded( EFalse ),
+                    iWaitDlgCancelled( EFalse ),
+                    iSsid( KNullDesC8 ),
+                    iPIN( KNullDesC ),
+                    iNextWiFiProtState( EWiFiProtAskConfigureAutomatically ),
+                    iReturn( EWiFiCancel ),
+                    iUsePin( EFalse ),
+                    iError( KErrNone ),
+                    iPinQueryActive( EFalse ),
+                    iWaitNoteNeeded( EFalse ),
+                    iInitDialog( NULL ),
+                    iClientCancelled( EFalse )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::CWiFiProtActiveRunner" );
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::CWiFiProtActiveRunner" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ConstructL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ConstructL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ConstructL" );   
+    
+    CActiveScheduler::Add( this );
+#ifndef __WINS__
+    iWlanMgmtEngine = CWlanMgmtClient::NewL();
+    iScanInfo = CWlanScanInfo::NewL();
+#endif // !__WINS__    
+    iIapParametersArray = new (ELeave)
+     CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>
+                                    ( KArrayGranularity );
+
+    User::LeaveIfError(iNotifier.Connect()); // Connects to the extended notifier server
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ConstructL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::DoCancel
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DoCancel()
+    { 
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::DoCancel" );
+    
+    CancelOngoingRequest();
+               
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::DoCancel" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::RunL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::RunL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::RunL" );
+    
+    // reset the async request id
+    iORequest = EWiFiProtReqNone;
+    
+    if ( iClientCancelled )
+        {
+        // no further actions needed here, message completion taken care of
+        // in the notifier
+        return;
+        }
+    
+    CLOG_WRITEF(  _L(" iNextWiFiProtState: %d"), iNextWiFiProtState );
+    if ( iNextWiFiProtState == EWiFiProtWlanMgmtEngineReturned ) 
+        {
+        iORequest = EWiFiProtReqNone;
+        //if we have a dialog and configuration is finished,
+        // store error code for destroying dialog         
+        iError = iStatus.Int();
+        CleanupTempIapL();
+        }
+    else if ( iNextWiFiProtState == EWiFiProtDestroyWaitNote )         
+        {
+        DestroyWaitDialog();
+        }
+    else
+        {
+        if ( iUserCancelled )        
+            {
+            iStatus = KErrCancel;
+            }
+            
+        if ( iStatus.Int() == KErrNone ) //no error
+            {
+            HandleNoErrorL();
+            } 
+         // error or cancel           
+         // try to handle error, if can't, just cancel 
+         else if ( !HandleErrorL( iStatus.Int() ) )  
+                {
+                if ( (iStatus.Int() != KErrAbort) && 
+                     (iNextWiFiProtState == EWifiProtOfflineQuery || iNextWiFiProtState == EWiFiProtInitiateEasySetup) )
+                    {
+                    // Use WPS to configure or connect in offline mode? -> No -> Continue the traditional way without WPS
+                    iReturn = EWifiNoAuto;
+                    }
+                 else
+                    {
+                    iReturn = EWiFiCancel;
+                    }
+                
+                if ( iSyncMode )
+                    {
+                    if ( iWait.IsStarted() )
+                        {
+                        iWait.AsyncStop();
+                        }
+                    }
+                else
+                    {
+                    iParent->CompleteProcessL( iReturn );
+                    }
+                }
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::RunL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::SetNextStateAndComplete
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::SetNextStateAndComplete(
+                                                 TWiFiProtStates aNextState,
+                                                            TInt aError )
+    { 
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::SetNextStateAndComplete" );
+    
+    iNextWiFiProtState = aNextState;
+    CLOG_WRITEF(  _L(" aNextState: %d"), aNextState );
+    TRequestStatus* pS = &iStatus;                
+    User::RequestComplete( pS, aError ); 
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::SetNextStateAndComplete" );
+
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ConfigureL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ConfigureL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ConfigureL" );
+    iWaitNoteNeeded = ETrue;
+    iTempIapId = CreateTempIapL( iTempServId );
+    CLOG_WRITEF( _L("Temp Iap created! Id: %d"), iTempIapId );
+    RunProtectedSetup( iTempServId );
+    // do not complete self, waiting for engine or user cancel to complete us 
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ConfigureL" );
+    
+    }        
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::EvaluateResult
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::EvaluateResult()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::EvaluateResult" );
+    if (iError == KErrNone)
+        {
+        if ( iIsConnectionNeeded )
+            {
+            TRAPD(err, CheckNetworkAvailabilityL());
+            if (err)
+                {
+                CLOG_WRITE(
+                     "LEAVE: CheckNetworkAvailabilityL" );
+                }
+            }
+        else
+            {
+            CLOG_WRITE(
+                 "SetNextStateAndComplete( EWiFiProtSettingsConfNote );" );
+            SetNextStateAndComplete( EWiFiProtSettingsConfNote );
+            }
+        }
+    else
+        { //now we complete with the error code as dialog is finished
+        CLOG_WRITE( "SetNextStateAndComplete( EWiFiProtFinished, iError );" );
+        SetNextStateAndComplete( EWiFiProtFinished , iError );
+        }
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::EvaluateResult" );
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::DestroyWaitDialog
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DestroyWaitDialog()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::DestroyWaitDialog" );
+    
+    CLOG_WRITE( "SetActive();" );
+    SetActive();    
+    iStatus = KRequestPending; //should be set by service provider
+    iWaitNoteNeeded = EFalse;
+    if( !iWaitDlgCancelled )
+        {
+        // iWaitDlg possibly wasn't even shown...
+        if ( iWaitDlg )
+            {
+            CLOG_WRITE( "iWaitDlg->SetCallback( NULL );" );
+            iWaitDlg->SetCallback( NULL );
+            CLOG_WRITE( "iWaitDlg->ProcessFinishedL( );" );
+            
+            TRAPD(err, iWaitDlg->ProcessFinishedL());
+            if (err)
+                {
+                CLOG_WRITE( "LEAVE: iWaitDlg->ProcessFinishedL( );" );
+                }
+            
+            CLOG_WRITE( "delete iWaitDlg;" );
+            delete iWaitDlg;
+            iWaitDlg = NULL;
+            }
+        if ( iPinQueryActive )   //waiting for PIN Query
+            {
+            CLOG_WRITE(
+             "SetNextStateAndComplete( EWiFiProtWaitForPINQuery );" );
+            // if pin query is still active, remove the cancel...
+            if ( iPinQueryActive && iPinDlg)
+                {
+                iPinDlg->RemoveCancel();
+                }            
+            iNextWiFiProtState = EWiFiProtWaitForPINQuery;
+            }
+        else
+            {
+            EvaluateResult();
+            }
+        }
+    else
+        {
+        CLOG_WRITE(
+         "SetNextStateAndComplete( EWiFiProtFinished, KErrCancel );" );
+        SetNextStateAndComplete( EWiFiProtFinished , KErrCancel );
+        }
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::DestroyWaitDialog" );
+    
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ComputeChecksum
+// --------------------------------------------------------------------------
+//
+TInt CWiFiProtActiveRunner::ComputeChecksum(TInt aPin)
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ComputeChecksum" );
+    
+    TInt accum = 0;
+    aPin *= 10;
+    accum += 3 * ((aPin / 10000000) % 10);
+    accum += 1 * ((aPin / 1000000) % 10);
+    accum += 3 * ((aPin / 100000) % 10);
+    accum += 1 * ((aPin / 10000) % 10);
+    accum += 3 * ((aPin / 1000) % 10);
+    accum += 1 * ((aPin / 100) % 10);
+    accum += 3 * ((aPin / 10) % 10);
+    TInt digit = (accum % 10);
+        
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ComputeChecksum" );
+    
+    return (10 - digit) % 10;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CreateAllIapsL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::CreateAllIapsL()
+    {
+    CreateIapL(0);
+    iStatus = KRequestPending; //should be set by service provider
+    SetActive();   
+    if ( iIapParametersArray->Count() )
+        {
+        //another cm, another round
+        SetNextStateAndComplete( EWiFiProtCreateAllIaps ); 
+        }
+     else
+        {
+        //cm creation finished
+        SetNextStateAndComplete( EWiFiProtDestroyWaitNote ); 
+        }    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CreateIapL
+// --------------------------------------------------------------------------
+//
+TUint32 CWiFiProtActiveRunner::CreateIapL( const TInt aIndex )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::CreateIapL" );
+    
+    TInt32 iapID = 0;
+    if ( iIapParametersArray->Count() )
+        {
+        RCmConnectionMethodExt cm;
+        cm = iCmManagerExt->CreateConnectionMethodL( KUidWlanBearerType );
+        CleanupClosePushL(cm);
+        iapID = SetIapDataL( aIndex, cm );
+        CleanupStack::Pop( &cm ); 
+        
+        RCmConnectionMethodExt* cmToAppend =
+                 new (ELeave) RCmConnectionMethodExt(cm);
+        CleanupStack::PushL(cmToAppend);
+        iCmArray.Append( cmToAppend ); //ownership transferred
+        CleanupStack::Pop( cmToAppend ); 
+        CLOG_WRITEF( _L("Cm appended to array: ") );
+
+
+        (*iIapParametersArray).Delete(aIndex);
+        }
+    
+       
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::CreateIapL" );
+    
+    return iapID;
+    }
+
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::SetIapDataL
+// --------------------------------------------------------------------------
+//
+TUint32 CWiFiProtActiveRunner::SetIapDataL( const TInt aIndex,
+                                           RCmConnectionMethodExt& aCmToSet )
+    {
+            // We have to convert the 8-bit SSID to 16-bit for CommsDat.
+        HBufC* ssid16 =
+             HBufC::NewLC( ( *iIapParametersArray)[aIndex].iSsid.Length() );
+        TPtr ssid16Ptr( ssid16->Des() );
+        CnvUtfConverter::ConvertToUnicodeFromUtf8(
+                 ssid16Ptr , (*iIapParametersArray)[aIndex].iSsid ); 
+        
+        aCmToSet.SetStringAttributeL( ECmName, *ssid16 );
+        aCmToSet.SetStringAttributeL( EWlanSSID, *ssid16 );
+        CLOG_WRITEF( _L("Parameters from wlan mgmt engine: ") );
+        CLOG_WRITEF( _L("SSid: ") );
+        CLOG_WRITEF( *ssid16 );
+        CleanupStack::PopAndDestroy( ssid16 );
+
+        TInt connMode = EAdhoc;
+        switch ( (*iIapParametersArray)[aIndex].iOperatingMode )
+            {
+            case EWlanOperatingModeAdhoc:
+                {
+                CLOG_WRITEF( _L("Operating Mode: Adhoc") );
+                break;
+                }
+            case EWlanOperatingModeInfrastructure:
+                {
+                CLOG_WRITEF( _L("Operating Mode: Infra") );
+                connMode = EInfra;
+                break;
+                }
+            default:
+                {
+                CLOG_WRITEF( _L("Operating Mode: Not Supported") );
+                User::Leave( KErrNotSupported );            
+                break;
+                }
+            }
+        aCmToSet.SetIntAttributeL( EWlanConnectionMode, connMode );
+
+        CMManager::TWlanSecMode secMode = EWlanSecModeOpen;
+        switch( (*iIapParametersArray)[aIndex].iSecurityMode )
+            {
+            case EWlanIapSecurityModeAllowUnsecure:
+                {
+                CLOG_WRITEF( _L("Security Mode: Open") );
+                secMode = EWlanSecModeOpen;
+                break;
+                }
+            
+            case EWlanIapSecurityModeWep:
+                {
+                CLOG_WRITEF( _L("Security Mode: Wep") );
+                secMode = EWlanSecModeWep;
+                break;
+                }
+            
+            case EWlanIapSecurityMode802d1x:
+                {
+                CLOG_WRITEF( _L("Security Mode: 802_1x") );
+                secMode = EWlanSecMode802_1x;
+                break;
+                }
+                
+            // EWlanIapSecurityModeWpa and 
+            // EWlanIapSecurityModeWpa2Only are handled as wpa            
+            case EWlanIapSecurityModeWpa: 
+            case EWlanIapSecurityModeWpa2Only:
+                {
+                CLOG_WRITEF( _L("Security Mode: wpa") );
+                secMode = EWlanSecModeWpa;
+                break;
+                }
+            
+            default:
+                {
+                User::Leave( KErrNotSupported );
+                }
+            }
+
+        aCmToSet.SetIntAttributeL( EWlanSecurityMode, secMode );
+
+        aCmToSet.UpdateL();
+        TInt32 wlanServId = aCmToSet.GetIntAttributeL( ECmIapServiceId );
+        TInt32 iapID = aCmToSet.GetIntAttributeL( ECmId );
+
+        CommsDat::CMDBSession* db =
+             CommsDat::CMDBSession::NewL(
+                     CommsDat::CMDBSession::LatestVersion() );
+        CleanupStack::PushL( db );
+
+        switch( (*iIapParametersArray)[aIndex].iSecurityMode )
+            {
+            case EWlanIapSecurityModeWep:
+                {
+                SaveWepSecuritySettingsL(
+                         ( *iIapParametersArray )[aIndex], wlanServId, *db );
+                break;
+                }
+            // EWlanIapSecurityModeWpa and 
+            // EWlanIapSecurityModeWpa2Only are handled as wpa                
+            case EWlanIapSecurityModeWpa:
+            case EWlanIapSecurityModeWpa2Only:        
+                {
+                CWPASecuritySettings* wpaSecSettings =
+                     CWPASecuritySettings::NewL( ESecurityModeWpa );
+                CleanupStack::PushL( wpaSecSettings );    
+                if ((*iIapParametersArray)
+                        [aIndex].iWpaPreSharedKey != KNullDesC8)
+                    {
+                    TBuf<KWlanWpaPskMaxLength> wpaBuf16;
+                    wpaBuf16.Copy((*iIapParametersArray)
+                        [aIndex].iWpaPreSharedKey);           
+                    User::LeaveIfError(
+                            wpaSecSettings->SetWPAPreSharedKey( wpaBuf16 ) );
+                    CLOG_WRITEF( _L("wpa psk set: ") );
+                    CLOG_WRITEF( wpaBuf16 );
+                    
+                    }
+                
+                TTypeOfSaving typeOfSaving = ESavingBrandNewAP;
+                    
+                if ( iapID == iCmManagerExt->EasyWlanIdL() )
+                    {
+                    typeOfSaving = ESavingEditedAP;
+                    }
+                    
+                wpaSecSettings->SaveL( wlanServId, *db,
+                                         typeOfSaving, 0 ) ;    
+                
+                CleanupStack::PopAndDestroy( wpaSecSettings );         
+                break;
+                }
+            // EWlanIapSecurityMode802d1x and 
+            // EWlanConnectionSecurityOpen - no key needs to be saved                
+            case EWlanIapSecurityMode802d1x:
+            case EWlanConnectionSecurityOpen:
+            default:
+                {
+                break;
+                }
+            }
+
+        db->Close();
+        CleanupStack::PopAndDestroy( db ); 
+    return iapID;
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CleanupTempIapL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::CleanupTempIapL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::CleanupTempIapL" );
+    
+    //we don't need the temp iap anymore, delete it
+    //shouldn't be any errors, because nobody else knows about our temp iap
+    DeleteTempIapL();
+    SetActive();    
+    iStatus = KRequestPending; //should be set by service provider
+    if ( iError == KErrNone )
+        {
+        if ( iIsConnectionNeeded )
+            {
+            StartWlanScan(); //scan wlan before we close the wait dialog
+            }
+         else
+            {
+            //start creating iaps
+            SetNextStateAndComplete( EWiFiProtCreateAllIaps ); 
+            }
+        }
+    else
+       {
+       //don't create iaps or scan wlan, we had an error!
+       SetNextStateAndComplete( EWiFiProtDestroyWaitNote ); 
+       }
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::CleanupTempIapL" );
+    
+    } 
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::DeleteTempIapL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DeleteTempIapL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::DeleteTempIapL" );
+    
+    if ( iTempIapId )
+        {
+        const TInt KInvalidUid = 0;
+        
+        CLOG_WRITE( "Calling iCmManagerExt->ConnectionMethodL" );
+        
+        RCmConnectionMethodExt cm =
+                             iCmManagerExt->ConnectionMethodL(iTempIapId);
+        
+        CLOG_WRITE( "Calling cm.DeleteL" );
+        
+        TRAPD(err, cm.DeleteL());
+        CLOG_WRITEF( _L("Temp Iap deleted! Error code: %d"), err );
+        cm.Close();
+        iTempIapId = KInvalidUid;
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::DeleteTempIapL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::IsWepFormatHexL
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtActiveRunner::IsWepFormatHexL( TInt aLength )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::IsWepFormatHexL" );
+
+    if ( ( aLength == KConnUiUtilsWepLengthASCII5 ) ||
+        ( aLength == KConnUiUtilsWepLengthASCII13 ) ||
+        ( aLength == KConnUiUtilsWepLengthASCII29 ) )
+        {
+        return EFalse;
+        }
+    else if ( ( aLength == KConnUiUtilsWepLengthHEX10 ) ||
+        ( aLength == KConnUiUtilsWepLengthHEX26 ) ||
+        ( aLength == KConnUiUtilsWepLengthHEX58 ) )
+        {
+        return ETrue;
+        }
+    else
+        {
+        User::Leave( KErrNotSupported );
+        }
+
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::IsWepFormatHexL" );
+            
+    return EFalse;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::SaveWepSecuritySettingsL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::SaveWepSecuritySettingsL(
+                                 TWlanProtectedSetupCredentialAttribute
+                                         aCredentialAttribute, 
+                                 TUint32 aWlanServiceId,
+                                 CommsDat::CMDBSession& aDb )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::SaveWepSecuritySettingsL" );
+    
+    CWEPSecuritySettings* wepSecSettings = CWEPSecuritySettings::NewL( );
+    CleanupStack::PushL( wepSecSettings );    
+    TInt keyIndex = 0;
+    // wep key 1
+    SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey1, keyIndex );
+    keyIndex++;
+    // wep key 2
+    SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey2, keyIndex );
+    keyIndex++;
+    // wep key 3
+    SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey3, keyIndex );
+    keyIndex++;
+    // wep key 4
+    SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey4, keyIndex );
+       
+    //should be the same enum       
+    wepSecSettings->SetKeyInUse( (CWEPSecuritySettings::TWEPKeyInUse)
+                                 aCredentialAttribute.iWepDefaultKey );
+    CLOG_WRITEF( _L("Wep key in use %d:"),
+             aCredentialAttribute.iWepDefaultKey );
+                                 
+    CWEPSecuritySettings::TWEPAuthentication auth =
+             CWEPSecuritySettings::EAuthOpen;
+                                    
+    switch( aCredentialAttribute.iAuthenticationMode )
+        {
+        case EWlanAuthenticationModeOpen:
+            {
+            CLOG_WRITEF( _L("Authentication mode: open") );
+            break;
+            }
+        case EWlanAuthenticationModeShared:
+            {
+            CLOG_WRITEF( _L("Authentication mode: shared") );
+            auth = CWEPSecuritySettings::EAuthShared;
+            break;
+            }
+        default:
+            {
+            break;
+            }
+        }
+                    
+    //should be the same enum                    
+    wepSecSettings->SetAuthentication(
+         (CWEPSecuritySettings::TWEPAuthentication) auth );
+    wepSecSettings->SaveL( aWlanServiceId, aDb ) ;    
+    CleanupStack::PopAndDestroy( wepSecSettings );         
+
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::SaveWepSecuritySettingsL" );
+
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::HandleErrorL()
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtActiveRunner::HandleErrorL( TInt aErrorCode )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::HandleErrorL" );
+    
+    CLOG_WRITEF( _L("Error code: %d"), aErrorCode );
+    if (iWaitDlg) //close dialog first
+        {
+        TInt error = iStatus.Int();
+        iStatus = KRequestPending; //should be set by service provider
+        SetActive( );
+        SetNextStateAndComplete( EWiFiProtDestroyWaitNote , error );    
+        
+        CLOG_LEAVEFN( "CWiFiProtActiveRunner::HandleErrorL" );    
+        
+        return ETrue;    
+        }
+    else
+        {
+        TWiFiProtStates nextState = EWiFiProtFinished;
+        TInt textResId = 0;
+        TInt status = KErrCancel;
+        TBool ret = ETrue;
+        switch (aErrorCode)
+            {
+            // Error codes are in the original order
+            case KErrWlanProtectedSetupOOBInterfaceReadError:
+            case KErrWlanProtectedSetupDecryptionCRCFailure:
+            // the same handling here for this error code too
+                {
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN;  
+                break;
+                }
+            case KErrWlanProtectedSetup5_0ChannelNotSupported:
+            case KErrWlanProtectedSetup2_4ChannelNotSupported:
+            // the same handling here for this error code too
+                {
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED;  
+                break;
+                }
+            case KErrWlanSignalTooWeak:
+                {
+                textResId = R_QTN_ERR_WLAN_SIGNAL_TOO_WEAK;  
+                break;
+                }
+            case KErrWlanProtectedSetupNetworkAuthFailure:
+                {
+                status = KErrNone;
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN;
+                if ( iUsePin )
+                    {
+                    // ...pin code dialog if pin code was used
+                    nextState = EWiFiProtUsePinCode;
+                    }
+                else
+                    {
+                    // ... or initiate WPS dialog if push button was used
+                    nextState = EWiFiProtInitiateEasySetup;
+                    } 
+                break;
+                }
+            case KErrWlanProtectedSetupNetworkAssociationFailure:
+                {
+                textResId = R_QTN_ERR_WLAN_NETWORK_NOT_FOUND;  
+                break;
+                }
+            case KErrWlanProtectedSetupNoDHCPResponse:
+            case KErrWlanProtectedSetupFailedDHCPConfig:
+            // the same handling here for this error code too
+            case KErrWlanProtectedSetupIPAddressConflict:
+            // the same handling here for this error code too
+            case KErrWlanProtectedSetupCouldNotConnectToRegistrar:
+            // the same handling here for this error code too
+                {
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED;  
+                break;
+                }
+            case KErrWlanProtectedSetupMultiplePBCSessionsDetected:
+                {
+                nextState = EWiFiProtInitiateEasySetup;
+                status = KErrNone;
+                textResId =
+                 R_QTN_ERR_WLAN_SC_CONFIG_FAILED_MULTIPLE_PB_SESSIONS;  
+                break;
+                }
+            case KErrWlanProtectedSetupRogueActivitySuspected:
+                {
+                nextState = EWiFiProtUsePinCode;
+                iUsePin = ETrue;
+                status = KErrNone;
+                textResId =
+                 R_QTN_ERR_WLAN_SC_CONFIG_FAILED_ROGUE_ACTIVITY;  
+                break;
+                }            
+            case KErrWlanProtectedSetupDeviceBusy:
+            case KErrWlanProtectedSetupSetupLocked:
+            // the same handling here for this error code too
+            case KErrWlanProtectedSetupMessageTimeout:
+            // the same handling here for this error code too
+                {
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN;  
+                break;
+                }
+            case KErrWlanProtectedSetupRegistrationSessionTimeout:
+                {
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN;  
+                status = KErrNone;
+                // Registration session timeout, return to ...
+                if ( iUsePin )
+                    {
+                    // ...pin code dialog if pin code was used
+                    nextState = EWiFiProtUsePinCode;
+                    }
+                else
+                    {
+                    // ... or initiate WPS dialog if push button was used
+                    nextState = EWiFiProtInitiateEasySetup;
+                    }
+                break;
+                }
+            case KErrWlanProtectedSetupDevicePasswordAuthFailure:
+                {
+                status = KErrNone;
+                textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN;
+                if ( iUsePin )
+                    {
+                    // ...pin code dialog if pin code was used
+                    nextState = EWiFiProtUsePinCode;
+                    }
+                else
+                    {
+                    // ... or initiate WPS dialog if push button was used
+                    nextState = EWiFiProtInitiateEasySetup;
+                    } 
+                break;
+                }
+            case KErrWlanProtectedSetupPINMethodNotSupported:
+                {
+                textResId =
+                 R_QTN_ERR_WLAN_SC_CONFIG_FAILED_PIN_NOT_SUPPORTED;  
+                break;
+                }
+            case KErrWlanProtectedSetupPBMethodNotSupported:
+                {
+                textResId =
+                 R_QTN_ERR_WLAN_SC_CONFIG_FAILED_PB_NOT_SUPPORTED;  
+                break;
+                } 
+            case KErrWlanConnAlreadyActive:
+                {
+                textResId = R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE;  
+                break;
+                }
+            default:
+                {
+                ret = EFalse;
+                }
+            }
+        if (ret)    
+            {
+            HBufC* text = StringLoader::LoadLC( textResId );
+            CLOG_WRITEF( *text );
+            CAknNoteDialog* dlg = new (ELeave) CAknNoteDialog(
+                                     CAknNoteDialog::EErrorTone,
+                                     CAknNoteDialog::ELongTimeout );
+            dlg->SetTextL( *text );
+            CleanupStack::PopAndDestroy( text );   
+            iStatus = KRequestPending; //should be set by service provider
+            SetActive( );
+            dlg->ExecuteLD( R_WIFIPROT_ERROR_NOTE  ); 
+            SetNextStateAndComplete( nextState , status );
+            }
+            
+        CLOG_LEAVEFN( "CWiFiProtActiveRunner::HandleErrorL" );    
+        
+        return ret;
+        }
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::ShowOfflineQuery
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowOfflineQuery()
+    {
+    iNextWiFiProtState = EWiFiProtInitiateEasySetup;
+
+    iNotifier.StartNotifierAndGetResponse(iStatus,KUidCOfflineWlanNoteDlg, 
+                                           KNullDesC8(), 
+                                           iOfflineReply );
+    SetActive();
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::HandleNoErrorL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::HandleNoErrorL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::HandleNoErrorL" );
+    
+    switch (iNextWiFiProtState)
+        {
+        case EWifiProtOfflineQuery :
+            {
+            ShowOfflineQuery();
+            break;
+            }
+        case EWiFiProtInitiateEasySetup :
+            {
+            ShowInitiateEasySetupDialogL();
+            break;
+            }
+        case EWiFiProtUsePinCode :
+            {
+            if ( iUsePin )
+                {
+                // dismiss the link dialog now
+                if ( iDestroyInitDialogLater )
+                    {
+                    iInitDialog->TryExitL( EAknSoftkeyView );
+                    iDestroyInitDialogLater = EFalse;
+                    }
+                ShowEnterPinOnStationDialogL();
+                }
+            else
+                {
+                iStatus = KRequestPending;
+                SetActive( );
+                SetNextStateAndComplete( EWiFiProtStartingWaitDlg );
+                }
+            break;                
+            }
+        case EWiFiProtStartingWaitDlg :
+            {
+            ShowWaitingDialogAndProceedL( );
+            break;
+            }
+        case EWiFiProtConfiguring :
+            {
+            ConfigureL();
+            break;
+            }
+        case EWiFiProtCreateAllIaps :
+            {
+            CreateAllIapsL();
+            break;
+            }
+
+        // when we are here, wlan scan is finished                    
+        case EWiFiProtWlanScan :              
+            {
+            iORequest = EWiFiProtReqNone;
+            iStatus = KRequestPending;
+            SetActive( );
+            SetNextStateAndComplete( EWiFiProtDestroyWaitNote );
+            break;
+            }
+        case EWiFiProtSelectConnection :                   
+            {
+            SelectConnectionL();                   
+            break;
+            }
+            
+        case EWiFiProtSettingsConfNote  :
+            {
+            ShowFinalNoteL( );
+            break;
+            }
+        case EWiFiProtFinished  :
+            {
+            iReturn = EWiFiOK;
+
+            if ( iIsConnectionNeeded )
+                {
+                *iNetworkSettings = (*iIapParametersArray)[
+                    iAvailableNetworks[iSelectedNetworkIndex] ];
+                }
+            else
+                {
+                // Copy the results into the output array
+                for (TInt i = 0; i< iCmArray.Count();i++ )
+                    {
+                    CLOG_WRITEF( _L(
+                  "Copy the results into the output array, i == %d"), i );
+                    if ( iUids == NULL)
+                        {
+                        User::Panic( KWiFiPanic, KErrNotSupported );
+                        }
+                    iUids->Append( iCmArray[i]->GetIntAttributeL( ECmId ) );
+                    }
+                }
+            
+            if ( iSyncMode )
+                {
+                if (iWait.IsStarted() )
+                    {
+                    iWait.AsyncStop();
+                    }
+                }
+            else
+                {
+                iParent->CompleteProcessL( iReturn );
+                }
+            break;
+            }
+        default:
+            {
+            //should not ever get here
+            CLOG_WRITE( "Unhandled WiFiProtState!!!" );
+            User::Leave( KErrGeneral );
+            break;
+            }
+        }
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::HandleNoErrorL" );
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::PinQueryExitL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::PinQueryExitL( TInt aResponse )
+    {
+    iPinQueryActive = EFalse;
+    iPinDlg = NULL;
+    if ( aResponse  == KErrNone )
+        {
+            
+        if ( iWaitNoteNeeded )
+            {
+            ShowWaitingDialogL();
+            }
+        else
+            {
+            EvaluateResult(); //we were just waiting for PIN query to exit
+            }
+        }
+    else
+        {
+        iUserCancelled = ETrue;
+        CancelOngoingRequest();        
+        }
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL" );
+    if ( !iDestroyInitDialogLater )
+        {
+        iUsePin = ETrue;
+        TRequestStatus* pS = &iStatus;                
+        User::RequestComplete( pS, KErrNone );
+        iDestroyInitDialogLater = ETrue;
+        }
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL" );
+    }
+    
+// --------------------------------------------------------------------------
+// void CWiFiProtActiveRunner::StartWlanScan()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::StartWlanScan()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::StartWlanScan" );
+    // this flag is needed to store the cancel because we cannot
+    // cancel wlan scan itself
+#ifdef __WINS__
+    SetNextStateAndComplete( EWiFiProtWlanScan );
+#else
+    iORequest = EWiFiProtReqWlanScan;
+    iNextWiFiProtState = EWiFiProtWlanScan;
+    iWlanMgmtEngine->GetScanResults( iStatus, *iScanInfo );
+#endif
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartWlanScan" );
+    }
+    
+// --------------------------------------------------------------------------
+// void CWiFiProtActiveRunner::CheckNetworkAvailabilityL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::CheckNetworkAvailabilityL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::CheckNetworkAvailabilityL" );
+ 
+    iAvailableNetworks.Reset();
+    TBool found = EFalse;
+    for (TInt i = 0; i < iIapParametersArray->Count(); i++ )
+        {  
+        found = EFalse;
+#ifdef __WINS__        
+        for (TInt j = 0; j<KNumberOfEmulatedAvailableNetworks; j++)
+#else
+        for ( iScanInfo->First(); (!iScanInfo->IsDone())
+                        && (!found); iScanInfo->Next() )
+#endif        
+            {
+            TUint8 ieLen( 0 );
+            const TUint8* ieData;
+            TBuf8<KWlanMaxSsidLength> ssid8;
+#ifdef __WINS__        
+            TBuf8<KWlanMaxSsidLength> ssidData;
+            ieData = ssidData.PtrZ();
+            switch (j)
+                {
+                case KIndexOfFirstEmulatedAvailableNetwork:
+                    {
+                    ssidData = _L8("Available Network");
+                    break;
+                    }
+                case KIndexOfSecondEmulatedAvailableNetwork:
+                    {
+                    ssidData = _L8("Available Network 2");
+                    break;
+                    }
+                default:
+                    {
+                    User::Panic( KWiFiPanic , KErrNotFound );
+                    break;
+                    }
+                }
+            ieLen = ssidData.Length();     
+            TInt ret = KErrNone;
+#else
+            TInt ret = iScanInfo->InformationElement( E802Dot11SsidIE, ieLen,
+                                                     &ieData );
+#endif        
+            User::LeaveIfError( ret );
+            if ( ieLen )
+                {
+                CLOG_WRITE( "Starting copying ssid" );  
+                // get the ssid
+                ssid8.Copy( ieData, ieLen );
+                CLOG_WRITE( "SSID copied" );  
+                if ( !(*iIapParametersArray)[i].iSsid.Compare( ssid8 ) )
+                    {
+                    iAvailableNetworks.Append(i);
+                    found = ETrue;
+                    }
+                }
+            }
+        }
+            
+        if (iAvailableNetworks.Count() == 1)
+            {
+            // only one network available, go to confirmation note
+            iSelectedNetworkIndex = 0;
+            SetNextStateAndComplete( EWiFiProtSettingsConfNote );
+            }
+        else if (iAvailableNetworks.Count() > 1)
+            {
+            // more are available, select connection dialog
+            SetNextStateAndComplete( EWiFiProtSelectConnection );
+            }
+        else
+            {
+            // no wlan networks found note
+            ShowNoWlanNetworksNoteL();
+            }
+
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::CheckNetworkAvailabilityL" );
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::SelectConnection
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::SelectConnectionL( )
+    {
+    CDesCArrayFlat* items =
+         new ( ELeave ) CDesCArrayFlat( KArrayGranularity );
+    CleanupStack::PushL( items );
+    
+    _LIT( KListBoxItemFormat, "%d\t%s\t" );
+    const TInt KListBoxItemFormatLength = 4;
+    TBuf<KWlanMaxSsidLength+KListBoxItemFormatLength+1> buf;
+    for (TInt i = 0; i < iAvailableNetworks.Count(); i++ )
+        {
+        // We have to convert the 8-bit SSID to 16-bit 
+        HBufC* ssid16 = HBufC::NewLC( (*iIapParametersArray)
+            [iAvailableNetworks[i]].iSsid.Length()+1 );
+        TPtr ssid16Ptr( ssid16->Des() );
+        CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr,
+            (*iIapParametersArray)[iAvailableNetworks[i]].iSsid );
+        ssid16Ptr.ZeroTerminate();
+        buf.Format( KListBoxItemFormat,
+             0/*we use only one icon*/, ssid16->Ptr() ); 
+        CleanupStack::PopAndDestroy( ssid16 );        
+        items->AppendL(buf);
+        }
+    CAknIconArray* icons = new( ELeave ) CAknIconArray( KIconsGranularity );
+    CleanupStack::PushL( icons );
+    //creating icon    
+    TAknsItemID id;
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+           
+    TParse mbmFile;
+    User::LeaveIfError( mbmFile.Set( KWiFiFileIcons, 
+                        &KDC_BITMAP_DIR,
+                        NULL ) );
+    
+    CGulIcon* icon = AknsUtils::CreateGulIconL( 
+                        skinInstance, 
+                        id,
+                        mbmFile.FullName(), 
+                        EMbmWifiprotQgn_prop_wlan_bearer, 
+                        EMbmWifiprotQgn_prop_wlan_bearer_mask );
+    ///                                
+    
+    CleanupStack::PushL(icon);
+    icons->AppendL( icon );
+    CleanupStack::Pop();  //icon array takes ownership
+    // we are finished, don't create any iaps in connection mode!
+    iNextWiFiProtState = EWiFiProtFinished;
+    CWiFiProtSelectNetworkDlg* dlg =
+         new ( ELeave ) CWiFiProtSelectNetworkDlg(iStatus ,
+                                                  iSelectedNetworkIndex,
+                                                  items, icons );
+    CleanupStack::Pop( icons ); // list takes ownership
+    CleanupStack::Pop( items );// list takes ownership
+    dlg->PrepareAndRunLD(  );
+    SetActive();
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL" );
+    HBufC* stringLabel = StringLoader::LoadLC( 
+                                         R_QTN_WLAN_INFO_NO_NETWORKS_FOUND );
+
+    RAknUiServer* globalNote = CAknSgcClient::AknSrv();
+    if ( globalNote->Handle() )
+        {
+        globalNote->ShowGlobalNoteL( *stringLabel, 
+                                    EAknGlobalInformationNote );
+        }
+    CleanupStack::PopAndDestroy( stringLabel );
+    SetNextStateAndComplete( EWiFiProtFinished );
+
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::CancelOngoingRequest
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::CancelOngoingRequest()
+    {
+    
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::CancelOngoingRequest" );
+    
+    switch ( iORequest )
+        {
+        case EWiFiProtReqConfirmDialog:
+            {
+            // Remove the showing dialog and cancel the request
+            delete iConfirmationDialog;
+            iConfirmationDialog = NULL;
+            TRequestStatus* pS = &iStatus;                
+            User::RequestComplete( pS, KErrCancel );
+            break;
+            }
+        case EWiFiProtReqInitDialog:
+            {
+            // Remove the showing dialog and cancel the request
+            delete iInitDialog;
+            iInitDialog = NULL;
+            TRequestStatus* pS = &iStatus;                
+            User::RequestComplete( pS, KErrCancel );
+            break;
+            }       
+        case EWiFiProtReqWPS :
+            {
+            if ( iPinQueryActive )
+                {
+                delete iPinDlg;
+                iPinDlg = NULL;
+                }           
+            if ( iWlanMgmtEngine )
+                {
+                CLOG_WRITE( "Calling WPS cancel!" );
+                iWlanMgmtEngine->CancelProtectedSetup();
+                CLOG_WRITE( "WPS cancel called!" );
+                }
+            break;
+            }
+        case EWiFiProtReqWlanScan :
+            {
+            iWlanMgmtEngine->CancelGetScanResults();
+            break;
+            }    
+        case EWiFiProtReqNone :
+            {
+            // it is possible, especially in emulator, that the pin dialog
+            // is still visible at this point
+            if ( iPinQueryActive )
+                {
+                delete iPinDlg;
+                iPinDlg = NULL;
+                TRequestStatus* pS = &iStatus;                
+                User::RequestComplete( pS, KErrCancel );
+                }
+            // set CancelCalled flag to make RunL start shutdown next time
+            iUserCancelled = ETrue;
+            break;
+            }
+            
+        default:
+            {
+            // should not ever get here
+            }
+        }
+    
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::CancelOngoingRequest" );
+    
+    } 
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::SetWepKeyL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::SetWepKeyL( CWEPSecuritySettings&
+                                            aWepSecSettings,
+                                        TWlanWepKey& aWepKey,
+                                        TInt aKeyNumber )
+    {
+    if ( aWepKey != KNullDesC8)
+        {
+        TBool wepKeyInAsciiFormat = IsWepFormatHexL( aWepKey.Length() );
+        TBuf<KWlanWepKeyMaxLength> wepBuf16;
+        wepBuf16.Copy( aWepKey );           
+        User::LeaveIfError(aWepSecSettings.SetKeyDataL( aKeyNumber, wepBuf16,
+                                         wepKeyInAsciiFormat ) );
+        CLOG_WRITEF( _L("Wep key: %d"), aKeyNumber );
+        CLOG_WRITEF( wepBuf16 );
+        }
+    }
+    
+// --------------------------------------------------------------------------
+// TInt CWiFiProtActiveRunner::UsePinCodeLinkSelectedL()
+// --------------------------------------------------------------------------
+//
+TInt CWiFiProtActiveRunner::UsePinCodeLinkSelectedL( TAny* aObject )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveRunner::UsePinCodeLinkSelectedL" );
+    CWiFiProtActiveRunner* myself =
+                            static_cast<CWiFiProtActiveRunner*>( aObject );
+    myself->DoUsePinCodeLinkSelectedL();
+    CLOG_LEAVEFN( "CWiFiProtActiveRunner::UsePinCodeLinkSelectedL" );
+
+    return 1;
+    }    
+// End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotconfirmationnotedlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtConfirmationNoteDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#6 %
+*/
+
+// INCLUDE FILES
+//system includes
+#include <uikon/eiksrvui.h>
+
+//user includes
+#include "wifiprotconfirmationnotedlg.h"
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotplugin.hrh"
+
+// ========================== MEMBER FUNCTIONS ==============================
+//
+// --------------------------------------------------------------------------
+// CWiFiProtConfirmationNoteDlg::CWiFiProtConfirmationNoteDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtConfirmationNoteDlg::CWiFiProtConfirmationNoteDlg(
+                                                   TRequestStatus& aStatus ):
+                                                    iRequestStatus( aStatus )
+    {
+    iRequestStatus = KRequestPending;
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtConfirmationNoteDlg::~CWiFiProtConfirmationNoteDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtConfirmationNoteDlg::~CWiFiProtConfirmationNoteDlg()
+    {
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse );
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::ProcessCommandL()
+// --------------------------------------------------------------------------
+//    
+void CWiFiProtConfirmationNoteDlg::ProcessCommandL( TInt aCommandId )
+    {
+    switch ( aCommandId )
+        {
+        case EWiFiSoftkeyContinue: //should use callback but it doesn't work
+            {
+            TryExitL(aCommandId);           
+            break;              
+            }
+        default:
+            {
+            CAknQueryDialog::ProcessCommandL( aCommandId );
+            break;
+            }
+        }    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtConfirmationNoteDlg::OkToExitL
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtConfirmationNoteDlg::OkToExitL( TInt aButtonId )
+    {
+    TInt status = KErrCancel;
+    if (aButtonId == EAknSoftkeyOk
+         || aButtonId == EAknSoftkeyYes
+         || aButtonId == EAknSoftkeyDone 
+         || aButtonId == EWiFiSoftkeyContinue )
+        {
+        status = KErrNone;
+        }
+    else if ( aButtonId == EAknSoftkeyNo )
+        {
+        status = KErrCancel; // no selected
+        }
+    else
+        {
+        status = KErrAbort; // end key pressed
+        }
+     
+    TRequestStatus* pS = &iRequestStatus;                
+    User::RequestComplete( pS, status ); 
+    return ETrue;
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtConfirmationNoteDlg::PreLayoutDynInitL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtConfirmationNoteDlg::PreLayoutDynInitL()
+    {
+    CAknQueryDialog::PreLayoutDynInitL();
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue );
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotdlgsplugin.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,461 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of CWiFiProtDlgsPlugin.
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+// INCLUDE FILES
+#include <e32property.h>         // For RProperty 
+#include <wifiprotuiddefs.h>
+#include <bautils.h>
+#include <eikenv.h>
+#include <data_caging_path_literals.hrh>
+
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotplugin.h"
+#include "wifiprotlogger.h"
+#include "wifiprotactiverunner.h"
+
+
+
+using namespace WiFiProt;
+
+// CONSTS
+_LIT( KDriveZ, "z:" );
+
+// ============================ MEMBER FUNCTIONS ============================
+    
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL()
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( 
+                             const TBool aResourceFileResponsible,
+                                      RCmManagerExt* aCmManagerExt )
+
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::NewL" );
+    
+    CWiFiProtDlgsPlugin* self = new ( ELeave ) CWiFiProtDlgsPlugin();
+    CleanupStack::PushL( self );
+    self->ConstructL( KResourceFileName,
+                      aResourceFileResponsible, aCmManagerExt );
+    CleanupStack::Pop( self );
+    
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::NewL" );
+    
+    return self;
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL()
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( 
+                                       const TBool aResourceFileResponsible )
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::NewL (without passed CmManager)" );
+    
+    CWiFiProtDlgsPlugin* ret =  NewL( aResourceFileResponsible, NULL );
+    
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::NewL (without passed CmManager)" );
+    
+    return ret;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin( )
+
+    {    
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin" );
+    
+    delete iRunner;
+
+    //we didn't get a cmManager from the client, so use our own
+    if (iPassedCmManagerExt == NULL)
+        {
+        iCmManagerExt.Close();
+        }    
+
+    iUids.Close();
+
+    if ( iResource )
+        {
+        CCoeEnv::Static()->DeleteResourceFile( iResource );        
+        }
+
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin" );
+    
+    }  
+
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::TNotifierInfo 
+//                                  CWiFiProtDlgsPlugin::Info() const
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::Info() const
+    {
+    return iInfo;
+    }
+
+// --------------------------------------------------------------------------
+// TPtrC8 CWiFiProtDlgsPlugin::StartL()
+// --------------------------------------------------------------------------
+//
+TPtrC8 CWiFiProtDlgsPlugin::StartL( const TDesC8& /*aBuffer*/ )
+    {
+    CLOG_WRITE( "CWiFiProtDlgsPlugin::StartL" );
+    return KNullDesC8().Ptr();
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::Cancel()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::Cancel()
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::Cancel" );
+    
+    if ( !iCancelled )
+        {
+        if ( iRunner && !iCancelledFromInside )
+            {
+            iClientCancelled = ETrue;
+            iRunner->CancelByClient();
+            }
+        iCancelled = ETrue;
+        if ( !iMessage.IsNull() )
+            {
+            if ( iConnMode )
+                {
+                TRAP_IGNORE( iMessage.WriteL( iReplySlot,
+                         TPckg<WiFiProt::TWiFiConnOutputParams>( 
+                                TWlanProtectedSetupCredentialAttribute() )
+                         ));
+                }
+            else
+                {
+                TRAP_IGNORE( iMessage.WriteL( iReplySlot,
+                         TPckg<WiFiProt::TWiFiOutputParams>( KNullDesC8() )
+                         ));
+                }
+            iMessage.Complete( KErrCancel );
+            }
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::Cancel" );
+    
+    }
+    
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::Release()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::Release()
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::Release" );
+
+    delete this;
+
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::Release" );
+    }
+
+// --------------------------------------------------------------------------
+// TPtrC8 CWiFiProtDlgsPlugin::UpdateL()
+// --------------------------------------------------------------------------
+//
+TPtrC8 CWiFiProtDlgsPlugin::UpdateL(const TDesC8& /*aBuffer*/)
+    {
+    return KNullDesC8().Ptr();
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::CompleteL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::CompleteL( TInt aStatus )
+    {    
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::CompleteL" );
+    
+    CLOG_WRITEF( _L( "aStatus:" ), aStatus );
+    iCancelled = ETrue;
+    if ( !iMessage.IsNull() )
+        {
+        if ( iConnMode )
+            {
+            // return a different kind of message
+            // for connection creation 
+            WiFiProt::TWiFiConnOutputParams connOutputParams =
+            WiFiProt::TWiFiConnOutputParams( iNetworkSettings );
+            connOutputParams.iReturn = iReturn;            
+            iMessage.WriteL( iReplySlot,
+                            TPckg<WiFiProt::TWiFiConnOutputParams>( connOutputParams ) );            
+            }
+        else
+            {
+            // ... or iap(s) creation
+            const TInt elementSize = sizeof(TUint32);
+            TBuf8<(KMaxNumberOfUids * elementSize)> buf;
+            TInt uidsCount = iUids.Count();
+            if ( uidsCount > KMaxNumberOfUids )
+                {
+                uidsCount = KMaxNumberOfUids;
+                }
+            // copy data from the array to iIapIds in TWiFiOutputParams
+            buf.Append((const TUint8 *)(&iUids[0]), uidsCount *elementSize);
+            //append return value
+            WiFiProt::TWiFiOutputParams outputParams =
+                WiFiProt::TWiFiOutputParams(buf);
+            outputParams.iReturn = iReturn;
+            iMessage.WriteL( iReplySlot,
+                            TPckg<WiFiProt::TWiFiOutputParams>( outputParams ) );
+            }
+        iMessage.Complete( aStatus );
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CompleteL" );
+    
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::SetCancelledFlag
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::SetCancelledFlag( TBool aCancelled )
+    { 
+    iCancelled = aCancelled; 
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL()
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL()
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::RegisterL" );
+
+    iInfo.iUid = KUidWiFiProtSetup;
+    iInfo.iPriority = ENotifierPriorityHigh;
+    iInfo.iChannel = KUidWiFiProtSetup;
+    
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::RegisterL" );
+    
+    return iInfo;
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::StartL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::StartL( const TDesC8& aBuffer, 
+                                  TInt aReplySlot,
+                                  const RMessagePtr2& aMessage )
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::StartL" );
+    
+    TPckgBuf<TWiFiInputParams> pckgParams(
+                    TPckgBuf<TWiFiInputParams>(TWiFiInputParams(KNullDesC8(),
+                    EFalse))); 
+    pckgParams.Copy( *((TPckgBuf<TWiFiInputParams>*) (&aBuffer)));
+    TWiFiInputParams params((pckgParams)());
+    iConnMode = params.iConnectionNeeded;
+    TWlanSsid ssid;
+    ssid.Copy( params.iSSid );
+    
+    iCancelled = EFalse;
+
+    iReplySlot = aReplySlot;
+    iMessage = aMessage;
+
+    if ( iConnMode )
+        {
+        // no need for uid array to return, but we need a single network 
+        // settings struct
+        iRunner->StartProtectedSetupConnL( ssid, iNetworkSettings,
+                                                       CmManagerToUse());
+        }
+    else
+        {
+        iRunner->StartProtectedSetupAsyncL( ssid, iUids, CmManagerToUse() );
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::StartL" );
+    }
+
+// --------------------------------------------------------------------------
+// WiFiProt::TWiFiReturn CWiFiProtDlgsPlugin::CompleteProcessL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::CompleteProcessL( WiFiProt::TWiFiReturn aReturnValue )
+    {
+    CLOG_ENTERFN( "WiFiProtDlgsPlugin::CompleteProcessL" );
+    iReturn = aReturnValue;
+    switch ( aReturnValue )
+        {
+        case EWiFiOK:
+            {
+            CLOG_WRITE("StartProtectedSetupL returned EWiFiOK");
+            CompleteL( KErrNone );
+            break;
+            }
+        case EWifiNoAuto:
+            {
+            CLOG_WRITE("StartProtectedSetupL returned EWifiNoAuto");
+            CompleteL( KErrNone );
+            break;
+            }
+        case EWiFiCancel:
+            {
+            CLOG_WRITE("StartProtectedSetupL returned EWiFiCancel");
+            iCancelledFromInside = ETrue;
+            Cancel();
+            break;
+            }
+        default:
+            {
+            //should never happen
+            CLOG_WRITE("Unhandled exit value, leaving...");
+            User::Leave( KErrGeneral );
+            break;
+            }
+        }
+    CLOG_WRITEF( _L( "Uids returned:" ), iUids.Count() );
+    for ( TInt i = 0;i<iUids.Count();i++ )
+        {
+        CLOG_WRITEF( _L( "Uid:" ), iUids[i] );
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CompleteProcessL" );
+    }
+
+    
+// --------------------------------------------------------------------------
+// WiFiProt::TWiFiReturn CWiFiProtDlgsPlugin::StartFromUiL
+// --------------------------------------------------------------------------
+//
+
+WiFiProt::TWiFiReturn CWiFiProtDlgsPlugin::StartFromUiL(
+                                        const TWlanSsid& aSSid,
+                                       TBool aConnectionNeeded,
+                                RArray<TUint32>& aUidsReturned)
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::StartFromUiL" );
+    
+    CLOG_WRITE("Input params:");
+    CLOG_WRITE("SSid:");
+    
+    TBuf<KWlanMaxSsidLength> buf;
+    buf.Copy(aSSid); 
+    CLOG_WRITEF( buf );
+    CLOG_WRITE("Connection needed:");
+    if ( aConnectionNeeded )
+        {
+        CLOG_WRITE("ETrue");
+        }
+     else
+        {
+        CLOG_WRITE("EFalse");
+        }
+    //use passed CmManager if present
+    WiFiProt::TWiFiReturn ret = iRunner->StartProtectedSetupL( 
+                  aSSid, aUidsReturned, CmManagerToUse());
+    
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::StartFromUiL" );
+    return ret;
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::CmManagerToUse()
+// --------------------------------------------------------------------------
+//
+RCmManagerExt& CWiFiProtDlgsPlugin::CmManagerToUse()
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::CmManagerToUse" );
+    
+    if (iPassedCmManagerExt == NULL )
+        {
+        CLOG_WRITE("Own CmManagerExt used");
+        
+        CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CmManagerToUse" );
+        
+        return iCmManagerExt;
+        }
+     else
+        {
+        CLOG_WRITE("Passed CmManagerExt used");
+        
+        CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CmManagerToUse" );
+        
+        return *iPassedCmManagerExt;
+        }
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::CWiFiProtDlgsPlugin()
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::CWiFiProtDlgsPlugin()
+: iCancelled( EFalse ),
+  iResource( 0 ),
+  iCancelledFromInside( EFalse )
+
+    {
+    CLOG_WRITE("CWiFiProtDlgsPlugin::CWiFiProtDlgsPlugin");
+    }
+    
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::ConstructL( )
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::ConstructL(const TDesC& aResourceFileName,
+                                     const TBool aResourceFileResponsible,
+                                     RCmManagerExt* aCmManagerExt )
+    {
+    CLOG_ENTERFN( "CWiFiProtDlgsPlugin::ConstructL" );
+    
+    if ( aResourceFileResponsible )
+        {
+        // Since this is a .DLL, resource files that are to be used by the
+        // notifier aren't added automatically so we do that here.
+        TFileName fileName;
+
+        fileName.Append( KDriveZ );
+        fileName.Append( KDC_RESOURCE_FILES_DIR );   
+        fileName.Append( aResourceFileName );
+
+        BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(),
+                                        fileName );
+        iResource = CCoeEnv::Static()->AddResourceFileL( fileName );
+        }
+    
+    iPassedCmManagerExt = aCmManagerExt;
+    //we didn't get a cmManager from the client, so use our own
+    if (iPassedCmManagerExt == NULL)
+        {
+        iCmManagerExt.OpenL();
+        }
+    iRunner = CWiFiProtActiveRunner::NewL( this );
+    
+    CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::ConstructL" );
+    
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotenterpindlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtEnterPinDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+// INCLUDE FILES
+//system includes
+#include <uikon/eiksrvui.h>
+
+//user includes
+#include "wifiprotenterpindlg.h"
+#include "wifiprotactiverunnercallback.h"
+#include "wifiprotplugin.hrh"
+
+
+// FORWARD DECLARATIONS
+//class MActiveRunnerCallback;
+
+// ================= MEMBER FUNCTIONS =======================
+//
+// --------------------------------------------------------------------------
+// CWiFiProtEnterPinDlg::CWiFiProtEnterPinDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtEnterPinDlg::CWiFiProtEnterPinDlg(
+                              MActiveRunnerCallback& aActiveRunnerCallback ):
+                              iActiveRunnerCallback ( aActiveRunnerCallback )
+    {
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtEnterPinDlg::~CWiFiProtEnterPinDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtEnterPinDlg::~CWiFiProtEnterPinDlg()
+    {
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse );
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::ProcessCommandL()
+// --------------------------------------------------------------------------
+//    
+void CWiFiProtEnterPinDlg::ProcessCommandL( TInt aCommandId )
+    {
+    switch ( aCommandId )
+        {
+        case EWiFiSoftkeyContinue: 
+            {
+            TryExitL(aCommandId);           
+            break;              
+            }
+        default:
+            {
+            CAknQueryDialog::ProcessCommandL( aCommandId );
+            break;
+            }
+        }    
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtEnterPinDlg::OkToExitL
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtEnterPinDlg::OkToExitL( TInt aButtonId )
+    {
+    if (aButtonId == EAknSoftkeyEmpty)
+        {
+        return EFalse;
+        }
+    else
+        {
+        TInt status = KErrCancel;
+        if (   aButtonId == EAknSoftkeyOk
+            || aButtonId == EAknSoftkeyYes
+            || aButtonId == EAknSoftkeyDone
+            || aButtonId == EWiFiSoftkeyContinue )
+            {
+            status = KErrNone;
+            }
+        iActiveRunnerCallback.PinQueryExitL( status );
+        return ETrue;
+        }
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtEnterPinDlg::PreLayoutDynInitL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtEnterPinDlg::PreLayoutDynInitL()
+    {
+    CAknQueryDialog::PreLayoutDynInitL();
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue );
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtEnterPinDlg::RemoveCancel
+// --------------------------------------------------------------------------
+//
+void CWiFiProtEnterPinDlg::RemoveCancel()
+    {
+    CEikButtonGroupContainer& cba = ButtonGroupContainer();
+    TRAP_IGNORE( cba.SetCommandL( CEikButtonGroupContainer::ERightSoftkeyPosition,
+                     EAknSoftkeyEmpty, KNullDesC) );
+    cba.DrawNow();                           
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotinitiateeasysetupdlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,230 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtInitiateEasySetupDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+// INCLUDE FILES
+//system includes
+#include <uikon/eiksrvui.h>
+#include <StringLoader.h>
+#include <wifiprotplugin.rsg>
+
+//user includes
+#include "wifiprotinitiateeasysetupdlg.h"
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotplugin.hrh"
+#include "wifiprotlogger.h"
+
+// ========================= MEMBER FUNCTIONS ===============================
+//
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg(
+                                                   TRequestStatus& aStatus ):
+                                     iButtonGroupPreviouslyChanged( EFalse ),
+                                     iRequestStatus( aStatus )
+    {
+    CLOG_ENTERFN(
+     "CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg" );
+    
+    iRequestStatus = KRequestPending;
+    
+    CLOG_LEAVEFN(
+     "CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg" );
+    
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg()
+    {
+    CLOG_ENTERFN(
+     "CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg" );
+  
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse );
+    CLOG_LEAVEFN(
+     "CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg" );
+    
+    }
+
+
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::OkToExitL
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtInitiateEasySetupDlg::OkToExitL( TInt aButtonId )
+    {
+    CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::OkToExitL" );
+    
+    TInt status = KErrCancel;
+    if ( aButtonId == EAknSoftkeyOk
+         || aButtonId == EAknSoftkeyYes
+         || aButtonId == EAknSoftkeyDone
+         || aButtonId == EWiFiSoftkeyContinue
+         || aButtonId == EAknSoftkeySelect )
+        {
+        status = KErrNone;
+        }
+    // if aButtonId == EAknSoftkeyView then we have to destroy the dialog
+    // afterwards, not from the callback. In this case we do not complete
+    // the client, it was completed before, just exit
+        
+    if ( !(aButtonId == EAknSoftkeyView ))    
+        {
+        // this is called when we can destroy the dialog
+        // and complete the client (activerunner) the same time
+        TRequestStatus* pS = &iRequestStatus;                
+        User::RequestComplete( pS, status ); 
+        }
+    CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::OkToExitL" );
+    return ETrue;
+    }
+
+    
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::TryExitL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtInitiateEasySetupDlg::TryExitL( TInt aButtonId )
+    {
+    CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::TryExitL" );
+    
+    CAknMessageQueryDialog::TryExitL( aButtonId );
+
+    CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::TryExitL" );
+
+    }      
+    
+// --------------------------------------------------------------------------
+// CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL()
+    {
+    CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL" );
+   
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue );
+    CAknMessageQueryDialog::PreLayoutDynInitL();
+    
+    CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL" );
+    
+    }
+
+// --------------------------------------------------------------------------
+// CConfirmationQuery::OfferKeyEventL()
+// --------------------------------------------------------------------------
+//
+TKeyResponse CWiFiProtInitiateEasySetupDlg::OfferKeyEventL(
+                                                 const TKeyEvent& aKeyEvent, 
+                                                 TEventCode aModifiers )
+    {
+    CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::OfferKeyEventL" );
+    TKeyResponse answer = EKeyWasNotConsumed;
+    TInt code = aKeyEvent.iCode;
+    switch ( code )
+        {
+        // both keys are handled the same way
+        // they mean 'movement in the list'
+        case EKeyUpArrow: 
+        case EKeyDownArrow:
+            {
+            CAknMessageQueryControl* messageQueryControl = STATIC_CAST( 
+                                    CAknMessageQueryControl*, 
+                                    Control( EAknMessageQueryContentId ) );
+            if ( messageQueryControl )
+                {
+                answer = messageQueryControl->OfferKeyEventL( 
+                                                    aKeyEvent, aModifiers );
+                if ( answer == EKeyWasConsumed )
+                    {
+                    if ( messageQueryControl->LinkHighLighted() ) 
+                        {
+                        if ( !iButtonGroupPreviouslyChanged )
+                            {
+                            CEikButtonGroupContainer& cba = 
+                                                     ButtonGroupContainer();
+
+                            ButtonGroupContainer().AddCommandSetToStackL( 
+                                          R_SOFTKEYS_SELECT_CANCEL__SELECT );
+                            cba.UpdateCommandObserverL( 
+                              CEikButtonGroupContainer::ELeftSoftkeyPosition,
+                                                                     *this );
+
+                            cba.UpdateCommandObserverL( 
+                            CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+                                                                     *this );
+
+                            cba.DrawNow();
+ 
+                            iButtonGroupPreviouslyChanged = ETrue;
+                            }
+                        }
+                    else if ( iButtonGroupPreviouslyChanged )
+                        {                            
+                        CEikButtonGroupContainer& cba =
+                             ButtonGroupContainer();
+
+                        cba.RemoveCommandObserver( 
+                            CEikButtonGroupContainer::ELeftSoftkeyPosition );
+
+                        cba.RemoveCommandObserver( 
+                          CEikButtonGroupContainer::EMiddleSoftkeyPosition );
+
+                        cba.RemoveCommandFromStack( 
+                            CEikButtonGroupContainer::ELeftSoftkeyPosition,
+                            EAknSoftkeyView );
+
+                        cba.RemoveCommandFromStack( 
+                            CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
+                            EAknSoftkeyView );
+
+                        cba.RemoveCommandFromStack( 
+                            CEikButtonGroupContainer::ERightSoftkeyPosition, 
+                            EAknSoftkeyNo );
+
+                        cba.DrawNow();
+
+                        iButtonGroupPreviouslyChanged = EFalse;
+                        }
+                    }
+                }
+            break;      
+            }
+
+        default:
+            {
+            answer = CAknMessageQueryDialog::OfferKeyEventL( aKeyEvent,
+                                                             aModifiers );
+            break; 
+            }
+        }
+        
+    CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::OfferKeyEventL" );
+        
+    return answer;
+    }
+  
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotplugin.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of base plugin.
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+// INCLUDE FILES
+
+#include "wifiprotplugin.h"
+#include "wifiprotdlgsplugin.h"
+
+
+// CONSTANTS
+
+LOCAL_D const TInt KPluginGranularity = 4;
+
+// FORWARD DECLARATIONS
+
+LOCAL_C void CreateNotifiersL( 
+                           CArrayPtrFlat<MEikSrvNotifierBase2>* aNotifiers );
+
+// --------------------------------------------------------------------------
+// NotifierArray()
+// Lib main entry point
+// --------------------------------------------------------------------------
+//
+EXPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
+    {
+    
+    CArrayPtrFlat<MEikSrvNotifierBase2>* array = NULL;
+    TRAPD(err, array = new (ELeave) 
+                   CArrayPtrFlat<MEikSrvNotifierBase2>( KPluginGranularity ));
+    if (err || array == NULL)
+        {
+        return array;
+        }
+    TRAPD( err1, CreateNotifiersL( array ) );
+    if( err1 )
+        {
+        TInt count = array->Count();
+        while( count-- )
+            {
+            (*array)[count]->Release();
+            }
+        delete array;
+        array = NULL;
+        }
+
+    return( array );
+    }
+
+// --------------------------------------------------------------------------
+// CreateNotifiersL()
+// --------------------------------------------------------------------------
+//
+LOCAL_C void CreateNotifiersL( 
+                            CArrayPtrFlat<MEikSrvNotifierBase2>* aNotifiers )
+    {
+    MEikSrvNotifierBase2 *serNotify;
+    TBool resourceFileResponsible = ETrue;
+
+    serNotify = CWiFiProtDlgsPlugin::NewL( resourceFileResponsible );
+    CleanupStack::PushL( serNotify );
+    aNotifiers->AppendL( serNotify );
+    CleanupStack::Pop( serNotify );
+    }
+    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotpluginstub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of wifiprotplugin for 
+*              non-WLAN products to support linking.
+*
+*/
+
+/*
+* %version: 1 %
+*/
+
+// INCLUDE FILES
+
+#include <cmmanagerext.h>
+#include <wifiprotreturn.h>
+#include <wifiprotuiinprocess.h>
+
+#include "wifiprotplugin.h"
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotactiverunner.h"
+
+using namespace WiFiProt;
+
+
+// ===================== STUB FOR wifiprotplugin.cpp ========================
+    
+// --------------------------------------------------------------------------
+// NotifierArray()
+// Lib main entry point
+// --------------------------------------------------------------------------
+//
+EXPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
+    {
+    return NULL;
+    }
+
+
+
+// =================== STUB FOR wifiprotuiinprocess.cpp =====================
+
+// --------------------------------------------------------------------------
+// CWifiProtUiInProcess* CWifiProtUiInProcess::NewL()
+// --------------------------------------------------------------------------
+//
+EXPORT_C CWifiProtUiInProcess* CWifiProtUiInProcess::NewL( RCmManagerExt*
+                                                              aCmManagerExt )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+
+// --------------------------------------------------------------------------
+// CWifiProtUiInProcess::~CWifiProtUiInProcess
+// --------------------------------------------------------------------------
+//
+CWifiProtUiInProcess::~CWifiProtUiInProcess( )
+
+    {    
+    }
+        
+// --------------------------------------------------------------------------
+// WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL
+// --------------------------------------------------------------------------
+//
+EXPORT_C WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL(
+                                             const TWlanSsid& aSSid,
+                                             TBool aConnectionNeeded,
+                                             RArray<TUint32>& aUidsReturned )
+   {
+    return EWiFiCancel;
+    }
+
+
+// =================== STUB FOR wifiprotdlgsplugin.cpp ======================
+
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL()
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( 
+                             const TBool aResourceFileResponsible,
+                                      RCmManagerExt* aCmManagerExt )
+
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( 
+                                       const TBool aResourceFileResponsible )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin( )
+
+    { 
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::TNotifierInfo 
+//                                  CWiFiProtDlgsPlugin::Info() const
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::Info() const
+    {
+    return iInfo;
+    }
+
+// --------------------------------------------------------------------------
+// TPtrC8 CWiFiProtDlgsPlugin::StartL()
+// --------------------------------------------------------------------------
+//
+TPtrC8 CWiFiProtDlgsPlugin::StartL( const TDesC8& /*aBuffer*/ )
+    {
+    return NULL;
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::Cancel()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::Cancel()
+    {
+    }
+    
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::Release()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::Release()
+    {
+    }
+
+// --------------------------------------------------------------------------
+// TPtrC8 CWiFiProtDlgsPlugin::UpdateL()
+// --------------------------------------------------------------------------
+//
+TPtrC8 CWiFiProtDlgsPlugin::UpdateL(const TDesC8& /*aBuffer*/)
+    {
+    return NULL;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL()
+// --------------------------------------------------------------------------
+//
+CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL()
+    {
+    return iInfo;
+    }
+
+// --------------------------------------------------------------------------
+// void CWiFiProtDlgsPlugin::StartL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtDlgsPlugin::StartL( const TDesC8& aBuffer, 
+                                  TInt aReplySlot,
+                                  const RMessagePtr2& aMessage )
+    {
+    }
+
+
+
+// =================== STUB FOR wifiprotactiverunner.cpp ======================
+
+CWiFiProtActiveRunner* CWiFiProtActiveRunner::NewL(
+        CWiFiProtDlgsPlugin* aParent, TInt aPriority )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::~CWiFiProtActiveRunner
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveRunner::~CWiFiProtActiveRunner()
+    {
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::DoCancel
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DoCancel()
+    { 
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::RunL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::RunL()
+    {
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::PinQueryExitL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::PinQueryExitL( TInt aResponse )
+    {
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveRunner::DialogDismissedL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveRunner::DialogDismissedL( TInt aButtonId )
+    {
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtSelectNetworkDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+// INCLUDE FILES
+//system includes
+#include <uikon/eiksrvui.h>
+#include <StringLoader.h>
+#include <wifiprotplugin.rsg>
+#include <badesca.h>
+
+//user includes
+#include "wifiprotselectnetworkdlg.h"
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotplugin.hrh"
+// ========================== MEMBER FUNCTIONS ==============================
+//
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::CWiFiProtSelectNetworkDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtSelectNetworkDlg::CWiFiProtSelectNetworkDlg(
+                                        TRequestStatus& aStatus ,
+                                        TInt& aSelected ,
+                                        CDesCArrayFlat* aItems,
+                                        CArrayPtr<CGulIcon>* aIcons ):
+                                           CAknListQueryDialog( &aSelected ),
+                                           iRequestStatus( aStatus ),
+                                           iSelected( aSelected ),
+                                           iIcons( aIcons ),
+                                           iItems( aItems )
+    {
+    iRequestStatus = KRequestPending;
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::~CWiFiProtSelectNetworkDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtSelectNetworkDlg::~CWiFiProtSelectNetworkDlg()
+    {
+  
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse );
+    delete iIcons;
+    delete iItems;
+    }
+
+// --------------------------------------------------------------------------
+// void CSelectDestinationDlg::PrepareAndRunLD
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSelectNetworkDlg::PrepareAndRunLD()
+    {
+    PrepareLC(R_CONN_LIST_QUERY);
+    // Set the description field on the query
+    HBufC* desc = StringLoader::LoadLC(
+                 R_QTN_NETW_CONSET_WPS_DETAIL_SELECT_NETWORK );
+    //ownership transferred                 
+    SetItemTextArray( iItems ); 
+    iItems = NULL;
+    //ownership transferred
+    SetIconArrayL( iIcons );
+    iIcons = NULL;
+
+    MessageBox()->SetMessageTextL( desc );
+    CleanupStack::PopAndDestroy( desc );                
+    RunLD();
+    }
+
+
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::OkToExitL
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtSelectNetworkDlg::OkToExitL( TInt aButtonId )
+    {
+    TInt status = KErrCancel;
+    if ( aButtonId == EAknSoftkeyOk
+      || aButtonId == EAknSoftkeyYes
+      || aButtonId == EAknSoftkeyDone
+      || aButtonId == EAknSoftkeySelect )
+        {
+        // This should be done automatically
+        // I have no idea why iSelected isn't updated
+        iSelected = ListBox()->CurrentItemIndex();
+        status = KErrNone;
+        }
+    TRequestStatus* pS = &iRequestStatus;                
+    User::RequestComplete( pS, status ); 
+
+    return ETrue;
+    }
+        
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::PreLayoutDynInitL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSelectNetworkDlg::PreLayoutDynInitL()
+    {
+    CAknListQueryDialog::PreLayoutDynInitL();
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue );
+                
+    }
+    
+// --------------------------------------------------------------------------
+// void CSelectDestinationDlg::HandleResourceChange
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSelectNetworkDlg::HandleResourceChange( TInt aType )
+    {
+    if ( aType == KAknsMessageSkinChange )
+        {
+        CAknListQueryDialog::HandleResourceChange( aType );
+
+        TRAP_IGNORE( SetIconArrayL( iIcons ) );
+
+        SizeChanged();
+        }
+    else
+        {
+        if ( aType == KEikDynamicLayoutVariantSwitch )
+            {
+            TRect mainPaneRect;
+            AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
+                                               mainPaneRect );
+
+            TAknLayoutRect layoutRect;
+            layoutRect.LayoutRect( TRect( TPoint( 0, 0 ), 
+                                   mainPaneRect.Size() ),
+                                   AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) );
+
+            ListBox()->SetRect( layoutRect.Rect() );
+            }
+
+        // Base call
+        CAknListQueryDialog::HandleResourceChange( aType );
+        }
+    }    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotuiinprocess.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of CWifiProtUiInProcess.
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+// INCLUDE FILES
+
+#include <cmmanagerext.h>
+#include <wifiprotreturn.h>
+#include <wifiprotuiinprocess.h>
+
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotlogger.h"
+
+using namespace WiFiProt;
+
+// =========================== MEMBER FUNCTIONS =============================
+
+// --------------------------------------------------------------------------
+// CWifiProtUiInProcess* CWifiProtUiInProcess::NewL()
+// --------------------------------------------------------------------------
+//
+EXPORT_C CWifiProtUiInProcess* CWifiProtUiInProcess::NewL( RCmManagerExt*
+                                                              aCmManagerExt )
+    {
+    CLOG_ENTERFN( "WiFiProtDlgsPlugin::NewL" );
+    
+    CWifiProtUiInProcess* self = new ( ELeave ) CWifiProtUiInProcess();
+    CleanupStack::PushL( self );
+    self->ConstructL( aCmManagerExt );
+    CleanupStack::Pop();
+    CLOG_LEAVEFN( "WiFiProtDlgsPlugin::NewL" );
+    return self;
+    }
+
+
+// --------------------------------------------------------------------------
+// CWifiProtUiInProcess::~CWifiProtUiInProcess
+// --------------------------------------------------------------------------
+//
+CWifiProtUiInProcess::~CWifiProtUiInProcess( )
+
+    {    
+    CLOG_ENTERFN( "WiFiProtDlgsPlugin::~CWifiProtUiInProcess" );
+    delete iWiFiProtDlgsPlugin; 
+    CLOG_LEAVEFN( "WiFiProtDlgsPlugin::~CWifiProtUiInProcess" );
+    }
+        
+// --------------------------------------------------------------------------
+// WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL
+// --------------------------------------------------------------------------
+//
+EXPORT_C WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL(
+                                             const TWlanSsid& aSSid,
+                                             TBool aConnectionNeeded,
+                                             RArray<TUint32>& aUidsReturned )
+   {
+    CLOG_ENTERFN( "WiFiProtDlgsPlugin::StartFromUiL" );
+    
+    WiFiProt::TWiFiReturn ret =
+         iWiFiProtDlgsPlugin->StartFromUiL( aSSid,
+                                            aConnectionNeeded,
+                                            aUidsReturned );
+    
+    CLOG_LEAVEFN( "WiFiProtDlgsPlugin::StartFromUiL" );
+    
+    return ret;
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWifiProtUiInProcess::CWifiProtUiInProcess
+// --------------------------------------------------------------------------
+//
+CWifiProtUiInProcess::CWifiProtUiInProcess( ):
+                                iWiFiProtDlgsPlugin(NULL)
+    {    
+    CLOG_ENTERFN( "WiFiProtDlgsPlugin::CWifiProtUiInProcess" );
+    CLOG_LEAVEFN( "WiFiProtDlgsPlugin::CWifiProtUiInProcess" );
+    }
+
+// --------------------------------------------------------------------------
+// void CWifiProtUiInProcess::ConstructL( )
+// --------------------------------------------------------------------------
+//
+void CWifiProtUiInProcess::ConstructL( RCmManagerExt* aCmManagerExt )
+    {
+    CLOG_ENTERFN( "WiFiProtDlgsPlugin::ConstructL" );
+    
+    iWiFiProtDlgsPlugin = CWiFiProtDlgsPlugin::NewL( ETrue, aCmManagerExt );
+    
+    CLOG_LEAVEFN( "WiFiProtDlgsPlugin::ConstructL" );
+    
+    }    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/rom/WiFiProt.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for WifiProtectedSetup
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+#ifndef __WIFIPROT_IBY__
+#define __WIFIPROT_IBY__
+
+#ifdef __PROTOCOL_WLAN
+
+REM Wi-Fi Protected Setup
+
+file=ABI_DIR\BUILD_DIR\WIFIPROTCLIENT.DLL		SHARED_LIB_DIR\WIFIPROTCLIENT.DLL
+file=ABI_DIR\BUILD_DIR\WIFIPROTPLUGIN.DLL		SHARED_LIB_DIR\WIFIPROTPLUGIN.DLL
+#else
+//stub for non-WLAN products
+file=ABI_DIR\BUILD_DIR\wifiprotclientstub.dll		SHARED_LIB_DIR\WIFIPROTCLIENT.DLL
+file=ABI_DIR\BUILD_DIR\wifiprotpluginstub.dll		SHARED_LIB_DIR\WIFIPROTPLUGIN.DLL
+
+#endif // __PROTOCOL_WLAN
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/rom/WiFiProtResources.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for WifiProtectedSetup
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef __WIFIPROTRESOURCES_IBY__
+#define __WIFIPROTRESOURCES_IBY__
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_\RESOURCE_FILES_DIR\WiFiProtPlugin.rsc	RESOURCE_FILES_DIR\WiFiProtPlugin.rsc
+
+#endif // __PROTOCOL_WLAN
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotactiveresp.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,243 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of CWiFiProtActiveResp class
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+// INCLUDE FILES
+#include "wifiprotactiveresp.h"
+#include "wifiprotlogger.h"
+
+//CONSTS
+_LIT( KActiveRespPanic , "WPS Active Resp");
+// ================= MEMBER FUNCTIONS =======================
+
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::NewL
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveResp* CWiFiProtActiveResp::NewL(  const TWlanSsid& aSSid,
+                                         TBool aConnectionNeeded,
+                                         RArray<TUint32>& aUidsReturned,
+                                         WiFiProt::TWiFiReturn&
+                                         aReturnValue )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveResp::NewL" );
+    CWiFiProtActiveResp* self =
+     new( ELeave )CWiFiProtActiveResp( aSSid , aConnectionNeeded,
+                                       aUidsReturned,
+                                       aReturnValue );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    CLOG_LEAVEFN( "CWiFiProtActiveResp::NewL" );
+    return self;
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::NewL
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveResp* CWiFiProtActiveResp::NewL(  const TWlanSsid& aSSid,
+                                     TWlanProtectedSetupCredentialAttribute&
+                                                            aNetworkSettings,
+                                         WiFiProt::TWiFiReturn&
+                                         aReturnValue )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveResp::NewL" );
+    CWiFiProtActiveResp* self =
+     new( ELeave )CWiFiProtActiveResp( aSSid , 
+                                       aNetworkSettings,
+                                       aReturnValue );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    CLOG_LEAVEFN( "CWiFiProtActiveResp::NewL" );
+    return self;
+    }
+    
+// ----------------------------------------------------
+// CWiFiProtActiveResp::~CWiFiProtActiveResp()
+// ----------------------------------------------------
+//
+CWiFiProtActiveResp::~CWiFiProtActiveResp()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveResp::~CWiFiProtActiveResp" );
+    Cancel();
+    CLOG_LEAVEFN( "CWiFiProtActiveResp::~CWiFiProtActiveResp" );
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::RunL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveResp::RunL()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveResp::RunL");
+
+    if ( iWiFiInputParams().iConnectionNeeded )
+        {
+        *iNetworkSettings = iWiFiConnOutputParams().iNetworkSettings;
+        iReturnValue = iWiFiConnOutputParams().iReturn;
+        }
+    else
+        {
+        if ( iStatus.Int() == KErrNone )
+            {            
+            //CM creation mode (WPS phase 1), return iap id array    
+            const TInt elementSize = sizeof( TUint32 );
+            const TInt elementCount = iWiFiOutputParams().iIapIds.Length()
+                                                            / elementSize;
+            const TUint8* ptr = iWiFiOutputParams().iIapIds.Ptr();
+            
+            for ( TInt i = 0; i < elementCount; i++)
+                {
+                iIapIds->Append( *( (TUint32*) &( ptr[elementSize*i] ) ) );
+                }
+            }
+        iReturnValue = iWiFiOutputParams().iReturn;
+        }
+
+    TRequestStatus* pS = iRequestStatus;
+    User::RequestComplete( pS, iStatus.Int() );
+
+    CLOG_LEAVEFN( "CWiFiProtActiveResp::RunL");
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::DoCancel
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveResp::DoCancel()
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveResp:DoCancel");
+    TRequestStatus* pS = iRequestStatus;
+    User::RequestComplete( pS, KErrCancel );
+    CLOG_LEAVEFN( "CWiFiProtActiveResp::DoCancel");
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::Observe
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveResp::Observe( TRequestStatus &aStatus )
+    {
+    CLOG_ENTERFN( "CWiFiProtActiveResp::Observe");
+    CActiveScheduler::Add( this );
+
+    iRequestStatus = &aStatus;
+    *iRequestStatus = KRequestPending;
+
+    SetActive();
+    CLOG_LEAVEFN( "CWiFiProtActiveResp::Observe");
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::InputBuffer
+// --------------------------------------------------------------------------
+//
+TPckgBuf<WiFiProt::TWiFiInputParams>* CWiFiProtActiveResp::InputBuffer() 
+    { 
+    return &iWiFiInputParams; 
+    }
+        
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::OutputBuffer
+// --------------------------------------------------------------------------
+//
+TPckgBuf<WiFiProt::TWiFiOutputParams>* CWiFiProtActiveResp::OutputBuffer() 
+    {
+    if ( iWiFiInputParams().iConnectionNeeded )
+        {
+        // Should use ConnOutputBuffer() if configuring a connection!
+        User::Panic( KActiveRespPanic , KErrNotSupported);
+        }
+    return &iWiFiOutputParams; 
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::ConnOutputBuffer
+// --------------------------------------------------------------------------
+//
+TPckgBuf<WiFiProt::TWiFiConnOutputParams>* CWiFiProtActiveResp::ConnOutputBuffer() 
+    { 
+    if ( !(iWiFiInputParams().iConnectionNeeded) )
+        {
+        // Should use OutputBuffer() if not configuring a connection!
+        User::Panic( KActiveRespPanic , KErrNotSupported);
+        }
+    return &iWiFiConnOutputParams; 
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::CWiFiProtActiveResp
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveResp::CWiFiProtActiveResp(
+                     const TWlanSsid& aSSid, TBool aConnectionNeeded,
+                     RArray<TUint32>& aUidsReturned,
+                     WiFiProt::TWiFiReturn& aReturnValue )
+                     : CActive( CActive::EPriorityUserInput ),
+                     iIapIds( &aUidsReturned ),
+                     iReturnValue( aReturnValue ),
+                     iWiFiOutputParams( KNullDesC8() ),
+                     iWiFiInputParams( TPckgBuf<WiFiProt::TWiFiInputParams>
+                     ( WiFiProt::TWiFiInputParams( aSSid, 
+                                                   aConnectionNeeded ) ) ),
+              iWiFiConnOutputParams(TPckgBuf<WiFiProt::TWiFiConnOutputParams>
+                     ( WiFiProt::TWiFiConnOutputParams(
+                      TWlanProtectedSetupCredentialAttribute() ) )  )
+    {
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::CWiFiProtActiveResp
+// --------------------------------------------------------------------------
+//
+CWiFiProtActiveResp::CWiFiProtActiveResp(
+                     const TWlanSsid& aSSid,
+                     TWlanProtectedSetupCredentialAttribute&
+                                              aNetworkSettings,
+                     WiFiProt::TWiFiReturn& aReturnValue )
+                     : CActive( CActive::EPriorityUserInput ),
+                     iIapIds( NULL ),
+                     iReturnValue( aReturnValue ),
+                     iWiFiOutputParams( KNullDesC8() ),
+                     iWiFiInputParams( TPckgBuf<WiFiProt::TWiFiInputParams>
+                     ( WiFiProt::TWiFiInputParams( aSSid, 
+                                                   ETrue ) ) ),
+              iWiFiConnOutputParams(TPckgBuf<WiFiProt::TWiFiConnOutputParams>
+                     ( WiFiProt::TWiFiConnOutputParams(
+                      TWlanProtectedSetupCredentialAttribute() ) ) ),
+                     iNetworkSettings( &aNetworkSettings )
+                                                   
+    {
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtActiveResp::ConstructL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtActiveResp::ConstructL()
+    {
+    }
+    
+// End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotsession.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of RWiFiProtSession
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+// INCLUDE FILES
+#include "wifiprotsession.h"
+#include "e32ver.h"
+#include <wifiprotuiddefs.h>
+#include "wifiprotlogger.h"
+
+using namespace WiFiProt;
+
+// --------------------------------------------------------------------------
+// RWiFiProtSession::RWiFiProtSession()
+// --------------------------------------------------------------------------
+//
+RWiFiProtSession::RWiFiProtSession() :
+                        RSessionBase(),
+                        iNotifier( NULL ),
+                        iWiFiProtActiveResp( NULL )
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::RWiFiProtSession" );
+    CLOG_LEAVEFN( "RWiFiProtSession::RWiFiProtSession" );
+    }
+
+
+// --------------------------------------------------------------------------
+// ~RWiFiProtSession
+// --------------------------------------------------------------------------
+//
+RWiFiProtSession::~RWiFiProtSession()
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::~RWiFiProtSession" );
+    Close();
+    CLOG_LEAVEFN( "RWiFiProtSession::~RWiFiProtSession" );
+    }
+
+
+// --------------------------------------------------------------------------
+// Connect
+//
+// Create a session to the extended notifier framework
+// --------------------------------------------------------------------------
+//
+TInt RWiFiProtSession::Connect()
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::Connect" );
+
+    TInt error( KErrNone );
+    if ( !iNotifier )
+        {
+        TRAP( error, iNotifier = new (ELeave) RNotifier() );
+        }
+    if ( !error && iNotifier )
+        {
+        error = iNotifier->Connect();
+        }
+    CLOG_LEAVEFN( "RWiFiProtSession::Connect" ); 
+    return error;
+    }
+    
+// --------------------------------------------------------------------------
+// Close
+// --------------------------------------------------------------------------
+//
+void RWiFiProtSession::Close()
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::Close" );
+
+    RSessionBase::Close();
+    
+    if (iWiFiProtActiveResp)
+        {
+        iWiFiProtActiveResp->Cancel();
+        delete iWiFiProtActiveResp;  
+        iWiFiProtActiveResp = NULL;
+        }
+    if ( iNotifier ) 
+        {
+        iNotifier->Close();
+        delete iNotifier;    
+        iNotifier = NULL;
+        }
+
+    CLOG_LEAVEFN( "RWiFiProtSession::Close" );
+    }
+    
+// --------------------------------------------------------------------------
+// StartWiFiProtL
+// --------------------------------------------------------------------------
+//
+void RWiFiProtSession::StartWiFiProtL( const TWlanSsid& aSSid,
+                                       TBool aConnectionNeeded,
+                                       RArray<TUint32>& aUidsReturned,
+                                       WiFiProt::TWiFiReturn& aReturnValue,
+                                       TRequestStatus& aStatus )
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::StartWiFiProtL" );
+
+    aConnectionNeeded = EFalse; // this parameter is not supported anymore
+                                // to be set from the API, but it is used
+                                // internally from StartWiFiProtConnL
+    TRAPD( err, iWiFiProtActiveResp =
+     CWiFiProtActiveResp::NewL( aSSid,
+                                aConnectionNeeded,
+                                aUidsReturned,
+                                aReturnValue ) );
+
+    
+    if ( err != KErrNone )
+        {
+        TRequestStatus* pS = &aStatus;
+        User::RequestComplete( pS, err );
+        }
+    else
+        {
+        iWiFiProtActiveResp->Observe( aStatus );
+
+        TPckgBuf<TWiFiOutputParams>* outputParams =
+             iWiFiProtActiveResp->OutputBuffer();
+        TPckgBuf<TWiFiInputParams>* inputParams = 
+             iWiFiProtActiveResp->InputBuffer();
+
+        if ( iNotifier )
+            {
+            TRequestStatus& status = iWiFiProtActiveResp->iStatus;
+            iNotifier->StartNotifierAndGetResponse( status,
+                                                    KUidWiFiProtSetup,
+                                                    *inputParams,
+                                                    *outputParams );
+            }
+        }
+
+    CLOG_LEAVEFN( "RWiFiProtSession::StartWiFiProtL" );
+    }
+
+// --------------------------------------------------------------------------
+// StartWiFiProtConnL
+// --------------------------------------------------------------------------
+//
+void RWiFiProtSession::StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus )
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::StartWiFiProtConnL" );
+
+    TRAPD( err, iWiFiProtActiveResp =
+     CWiFiProtActiveResp::NewL( aSSid,
+                                aNetworkSettings,
+                                aReturnValue ) );
+
+    
+    if ( err != KErrNone )
+        {
+        TRequestStatus* pS = &aStatus;
+        User::RequestComplete( pS, err );
+        }
+    else
+        {
+        iWiFiProtActiveResp->Observe( aStatus );
+
+        TPckgBuf<TWiFiConnOutputParams>* connoutputParams =
+             iWiFiProtActiveResp->ConnOutputBuffer();
+        TPckgBuf<TWiFiInputParams>* inputParams = 
+             iWiFiProtActiveResp->InputBuffer();
+
+        if ( iNotifier )
+            {
+            TRequestStatus& status = iWiFiProtActiveResp->iStatus;
+            iNotifier->StartNotifierAndGetResponse( status,
+                                                    KUidWiFiProtSetup,
+                                                    *inputParams,
+                                                    *connoutputParams );
+            }
+        }
+
+    CLOG_LEAVEFN( "RWiFiProtSession::StartWiFiProtConnL" );
+    }    
+    
+// --------------------------------------------------------------------------
+// CancelWiFiProt
+// --------------------------------------------------------------------------
+//
+void RWiFiProtSession::CancelWiFiProt()
+    {
+    CLOG_ENTERFN( "RWiFiProtSession::CancelWiFiProt()" );
+    iNotifier->CancelNotifier( KUidWiFiProtSetup );
+    iWiFiProtActiveResp->Cancel();
+    delete iWiFiProtActiveResp ; 
+    iWiFiProtActiveResp = NULL; 
+    CLOG_LEAVEFN( "RWiFiProtSession::CancelWiFiProt()" );
+    }    
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotsyncclient.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtSyncClient.
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+// INCLUDE FILES
+#include "wifiprotsyncclient.h"
+#include "wifiprotlogger.h"
+
+//
+// WiFiProtSyncClient definitions
+//
+// --------------------------------------------------------------------------
+// NewL
+// --------------------------------------------------------------------------
+//
+CWiFiProtSyncClient* CWiFiProtSyncClient::NewL( RWiFiProtSession& aClient,
+                    TInt aPriority )
+    {
+    CWiFiProtSyncClient* self = new(ELeave) CWiFiProtSyncClient( aClient,
+                                                                aPriority );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop(); // self
+    return self;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtSyncClient
+// --------------------------------------------------------------------------
+//
+CWiFiProtSyncClient::CWiFiProtSyncClient( RWiFiProtSession& aClient,
+                                          TInt aPriority ) 
+                                         : CActive( aPriority ),
+                                           iClient( aClient )
+    {
+    }
+
+// --------------------------------------------------------------------------
+// ConstructL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSyncClient::ConstructL()
+    {
+    CActiveScheduler::Add( this );
+    iState = ENoState;
+    }
+
+// --------------------------------------------------------------------------
+// ~CWiFiProtSyncClient
+// --------------------------------------------------------------------------
+//
+CWiFiProtSyncClient::~CWiFiProtSyncClient()
+    {
+    Cancel();
+    }
+
+// --------------------------------------------------------------------------
+// StartWiFiProtL
+// --------------------------------------------------------------------------
+//
+WiFiProt::TWiFiReturn
+    CWiFiProtSyncClient::StartWiFiProtL( const TWlanSsid& aSSid, 
+                                         TBool aConnectionNeeded,
+                                         RArray<TUint32>& aUidsReturned )
+    {
+    WiFiProt::TWiFiReturn ret;
+    iClient.StartWiFiProtL( aSSid, aConnectionNeeded, aUidsReturned, ret,
+                            iStatus );
+    SetActive( ERunWiFiProt );
+    iWait.Start(); //wait for request to complete
+    return ret;
+    }
+
+
+    
+// --------------------------------------------------------------------------
+// SetActive
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSyncClient::SetActive( TWiFiState aState )
+    {
+    iState = aState;
+    CActive::SetActive();
+    }
+
+// --------------------------------------------------------------------------
+// RunL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSyncClient::RunL()
+    {
+    const TWiFiState state = iState;
+    iState = ENoState;
+
+    switch (state)
+        {
+        case ERunWiFiProt:
+            {
+            iWait.AsyncStop();
+            break;
+            }
+        default:
+            {
+            User::Leave(KErrGeneral);
+            break;
+            }
+        }
+    }
+
+// --------------------------------------------------------------------------
+// DoCancel
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSyncClient::DoCancel()
+    { 
+    switch (iState)
+        {
+        case ERunWiFiProt:
+            {
+            CLOG_WRITE( "CWiFiProtSyncClient::DoCancel()" );
+            iClient.CancelWiFiProt();
+            break;
+            }
+        default:
+            {
+            break;
+            }
+        }
+    iState = ENoState;
+    }
+// End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclient.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtUiClient.  
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+// INCLUDE FILES
+
+#include <wifiprotuiclient.h>
+
+#include "wifiprotuiclientimpl.h"
+#include "wifiprotlogger.h"
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWiFiProtUiClient* CWiFiProtUiClient::NewL()
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClient::NewL" );
+    CWiFiProtUiClient* wifi = new ( ELeave ) CWiFiProtUiClient();
+    CleanupStack::PushL( wifi );
+    wifi->iImpl = CWiFiProtUiClientImpl::NewL();
+    CleanupStack::Pop( wifi );
+    CLOG_LEAVEFN( "CWiFiProtUiClient::NewL" ); 
+    return wifi;
+    }
+
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::~CWiFiProtUiClient
+// ---------------------------------------------------------
+//
+EXPORT_C CWiFiProtUiClient::~CWiFiProtUiClient()
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClient::~CWiFiProtUiClient" );
+    delete iImpl;
+    CLOG_LEAVEFN( "CWiFiProtUiClient::~CWiFiProtUiClient" );
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::StartWiFiProtL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWiFiProtUiClient::StartWiFiProtL( const TWlanSsid& aSSid,
+                                                 TBool aConnectionNeeded,
+                                                 RArray<TUint32>& aUidsReturned,
+                                                 WiFiProt::TWiFiReturn& aReturnValue,
+                                                 TRequestStatus& aStatus )
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClient::StartWiFiProtL" );
+    iImpl->StartWiFiProtL( aSSid, aConnectionNeeded, aUidsReturned, aReturnValue, aStatus );
+    CLOG_LEAVEFN( "CWiFiProtUiClient::StartWiFiProtL" );
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::StartWiFiProtL
+// ---------------------------------------------------------
+//
+EXPORT_C WiFiProt::TWiFiReturn CWiFiProtUiClient::StartWiFiProtSyncL(
+ const TWlanSsid& aSSid, TBool aConnectionNeeded,RArray<TUint32>& aUidsReturned )
+    {
+    CLOG_WRITE( "CWiFiProtUiClient::StartWiFiProtSyncL" );
+    return iImpl->StartWiFiProtSyncL( aSSid, aConnectionNeeded, aUidsReturned );
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::CancelWiFiProt
+// ---------------------------------------------------------
+//
+EXPORT_C void CWiFiProtUiClient::CancelWiFiProt()
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClient::CancelWiFiProt" );
+    iImpl->CancelWiFiProt();
+    CLOG_LEAVEFN( "CWiFiProtUiClient::CancelWiFiProt" );
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::StartWiFiProtConnL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWiFiProtUiClient::StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus )
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClient::StartWiFiProtConnL" );
+    iImpl->StartWiFiProtConnL( aSSid, aNetworkSettings, aReturnValue, aStatus );
+    CLOG_LEAVEFN( "CWiFiProtUiClient::StartWiFiProtConnL" );
+    }
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientimpl.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtUiClientImpl.     
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+// INCLUDE FILES
+
+#include <bautils.h>
+#include <StringLoader.h>
+#include <commdb.h>
+#include <aknnotewrappers.h>
+#include <wifiprotuiclient.h>
+#include <AknsUtils.h>
+
+#ifndef __WINS__
+#include <wlanmgmtclient.h>
+#include <WlanCdbCols.h>
+#endif  // ! __WINS__
+#include <data_caging_path_literals.hrh>
+
+#include "wifiprotuiclientimpl.h"
+#include "wifiprotlogger.h"
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::NewL
+// --------------------------------------------------------------------------
+//
+CWiFiProtUiClientImpl* CWiFiProtUiClientImpl::NewL()
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClientImpl::NewL" );
+    CWiFiProtUiClientImpl* clientImpl = 
+                                new ( ELeave ) CWiFiProtUiClientImpl();
+    CleanupStack::PushL( clientImpl );
+    clientImpl->ConstructL();
+    CleanupStack::Pop( clientImpl );
+    CLOG_LEAVEFN( "CWiFiProtUiClientImpl::NewL" );
+    return clientImpl;
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl
+// --------------------------------------------------------------------------
+//
+CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl()
+    {  
+    CLOG_ENTERFN( "CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl" );  
+    delete iWiFiProtSyncClient;
+    iNotif.Close();
+    CLOG_LEAVEFN( "CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl" );
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::StartWiFiProtL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtUiClientImpl::StartWiFiProtL( const TWlanSsid& aSSid,
+                                         TBool aConnectionNeeded,
+                                         RArray<TUint32>& aUidsReturned,
+                                         WiFiProt::TWiFiReturn& aReturnValue,
+                                         TRequestStatus& aStatus )
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClientImpl::StartWiFiProtL" );
+    iNotif.StartWiFiProtL( aSSid, aConnectionNeeded,
+                           aUidsReturned, aReturnValue, aStatus );
+    CLOG_LEAVEFN( "CWiFiProtUiClientImpl::StartWiFiProtL" );        
+    }
+    
+ // --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::StartWiFiProtSyncL
+// --------------------------------------------------------------------------
+//
+WiFiProt::TWiFiReturn 
+CWiFiProtUiClientImpl::StartWiFiProtSyncL( const TWlanSsid& aSSid,
+                                         TBool aConnectionNeeded,
+                                         RArray<TUint32>& aUidsReturned )
+    {
+    CLOG_WRITE( "CWiFiProtUiClientImpl::StartWiFiProtSyncL" );
+    if (iWiFiProtSyncClient == NULL)
+        {
+        iWiFiProtSyncClient = CWiFiProtSyncClient::NewL( iNotif );
+        }
+    return iWiFiProtSyncClient->StartWiFiProtL( aSSid,
+                                         aConnectionNeeded, aUidsReturned );
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClientImpl::StartWiFiProtConnL
+// ---------------------------------------------------------
+//
+void CWiFiProtUiClientImpl::StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus )
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClientImpl::StartWiFiProtConnL" );
+    iNotif.StartWiFiProtConnL( aSSid, aNetworkSettings, aReturnValue, aStatus );
+    CLOG_LEAVEFN( "CWiFiProtUiClientImpl::StartWiFiProtConnL" );
+    }
+    
+// --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::CancelWiFiProt
+// --------------------------------------------------------------------------
+//
+void CWiFiProtUiClientImpl::CancelWiFiProt(  )
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClientImpl::CancelWiFiProt()" );
+    iNotif.CancelWiFiProt( );
+    CLOG_LEAVEFN( "CWiFiProtUiClientImpl::CancelWiFiProt()" );        
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::CWiFiProtUiClientImpl
+// --------------------------------------------------------------------------
+//
+CWiFiProtUiClientImpl::CWiFiProtUiClientImpl()
+    {
+    }
+
+// --------------------------------------------------------------------------
+// CWiFiProtUiClientImpl::ConstructL
+// --------------------------------------------------------------------------
+//
+void CWiFiProtUiClientImpl::ConstructL()
+    {
+    CLOG_ENTERFN( "CWiFiProtUiClientImpl::ConstructL" );
+    User::LeaveIfError( iNotif.Connect() );
+    CLOG_LEAVEFN( "CWiFiProtUiClientImpl::ConstructL" ); 
+    }    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientstub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of class CWiFiProtUiClient for 
+*              non-WLAN products to support linking.  
+*
+*/
+
+/*
+* %version: 1 %
+*/
+
+// INCLUDE FILES
+
+#include <wifiprotuiclient.h>
+#include "wifiprotsyncclient.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWiFiProtUiClient* CWiFiProtUiClient::NewL()
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::~CWiFiProtUiClient
+// ---------------------------------------------------------
+//
+EXPORT_C CWiFiProtUiClient::~CWiFiProtUiClient()
+    {
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::StartWiFiProtL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWiFiProtUiClient::StartWiFiProtL( const TWlanSsid& aSSid,
+                                                 TBool aConnectionNeeded,
+                                                 RArray<TUint32>& aUidsReturned,
+                                                 WiFiProt::TWiFiReturn& aReturnValue,
+                                                 TRequestStatus& aStatus )
+    {
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::StartWiFiProtL
+// ---------------------------------------------------------
+//
+EXPORT_C WiFiProt::TWiFiReturn CWiFiProtUiClient::StartWiFiProtSyncL(
+ const TWlanSsid& aSSid, TBool aConnectionNeeded,RArray<TUint32>& aUidsReturned )
+    {
+    return WiFiProt::TWiFiReturn(EWiFiCancel);
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::CancelWiFiProt
+// ---------------------------------------------------------
+//
+EXPORT_C void CWiFiProtUiClient::CancelWiFiProt()
+    {
+    }
+
+// ---------------------------------------------------------
+// CWiFiProtUiClient::StartWiFiProtConnL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWiFiProtUiClient::StartWiFiProtConnL( const TWlanSsid& aSSid,
+                                      TWlanProtectedSetupCredentialAttribute&
+                                        aNetworkSettings,
+                                      WiFiProt::TWiFiReturn& aReturnValue,
+                                      TRequestStatus& aStatus )
+    {
+    }
+    
+// ---------------------------------------------------------
+// Stubs for CWiFiProtSyncClient
+// ---------------------------------------------------------
+//
+
+CWiFiProtSyncClient* CWiFiProtSyncClient::NewL( RWiFiProtSession& aClient,
+                    TInt aPriority )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+    
+    CWiFiProtSyncClient::CWiFiProtSyncClient( RWiFiProtSession& aClient,
+                                          TInt aPriority ) 
+                                         : CActive( aPriority ),
+                                           iClient( aClient )
+    {
+    }
+
+CWiFiProtSyncClient::~CWiFiProtSyncClient()
+    {
+    }
+    
+
+void CWiFiProtSyncClient::RunL()
+    {
+    }
+    
+void CWiFiProtSyncClient::DoCancel()
+    {
+    }
+    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/data/EapAkaUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,253 @@
+/*
+* Copyright (c) 2001-2009 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: EAP AKA UI resource file
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME EPAK
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapAkaUi.hrh"   // Enums for these resources
+#include <eapakaui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+#define KEdwinWidth	9
+#define KEdwinLines	5
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf = ""; }
+
+RESOURCE CBA r_aka_softkeys_options_back_change
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EAkaUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+
+RESOURCE DIALOG r_aka_setting_dialog
+    {
+    flags = EAknDialogSelectionList | EEikDialogFlagWait;
+    buttons = r_aka_softkeys_options_back_change;
+    items = 
+        { 
+        DLG_LINE
+            {
+            id = EAkaSettingsListBox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        }; 
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_aka_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_aka_setting_edwin;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_aka_realm_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm;
+    type = EEikCtEdwin;
+    editor_resource_id = r_aka_setting_edwin;
+    }
+
+
+RESOURCE EDWIN r_aka_setting_edwin 
+    {
+    width = KEdwinWidth;
+    lines = KEdwinLines;
+    maxlength = KUsernameMaxNameLength;
+    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
+    default_input_mode = EAknEditorTextInputMode;
+    default_case = EAknEditorLowerCase;
+    avkon_flags = EAknEditorFlagLatinInputModesOnly;
+    flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks;
+    }
+
+
+RESOURCE MENU_BAR r_aka_menubar
+    {
+    titles =
+        {
+        MENU_TITLE { menu_pane = r_aka_menu_pane; txt = ""; }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_aka_menu_pane
+    {
+    items=
+        {
+        MENU_ITEM 
+            { 
+            command = EAkaUiCmdChange;
+            txt = qtn_options_change;
+            flags = EEikMenuItemAction;
+            },
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp;
+            txt = qtn_options_help;
+            },
+        MENU_ITEM 
+            {
+            command = EAknCmdExit;
+            txt = qtn_options_exit;
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_aka_settings_title            \
+                                           { buf = qtn_wlan_eap_aka_title; }
+RESOURCE TBUF r_aka_username_inusestring      \
+                                 { buf = qtn_wlan_eap_sett_username_inuse; }
+RESOURCE TBUF r_aka_username_inusestring_auto \
+                        { buf = qtn_wlan_eap_sett_username_inuse_from_sim; }
+RESOURCE TBUF r_aka_username_inusestring_conf \
+                            { buf = qtn_wlan_eap_sett_username_inuse_user; }
+RESOURCE TBUF r_aka_username_string           \
+                                       { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_aka_realm_inusestring         \
+                                    { buf = qtn_wlan_eap_sett_realm_inuse; }
+RESOURCE TBUF r_aka_realm_inusestring_auto    \
+                           { buf = qtn_wlan_eap_sett_realm_inuse_from_sim; }
+RESOURCE TBUF r_aka_realm_inusestring_conf    \
+                               { buf = qtn_wlan_eap_sett_realm_inuse_user; }
+RESOURCE TBUF r_aka_realm_string              \
+                                          { buf = qtn_wlan_eap_sett_realm; }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_aka_username_autouseconf_texts
+    {
+    setting_texts_resource = r_aka_username_autouseconf_texts_resource;
+    popped_up_texts_resource = r_aka_username_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_aka_username_autouseconf_texts_resource
+    {
+    items =
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_username_inuse_from_sim; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_username_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_aka_username_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_sim; },
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_aka_realm_autouseconf_texts
+    {
+    setting_texts_resource = r_aka_realm_autouseconf_texts_resource;
+    popped_up_texts_resource = r_aka_realm_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_aka_realm_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_realm_inuse_from_sim;
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_realm_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_aka_realm_automatic_useconfigured_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_sim; },
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_aka_display_autouseconf_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm_inuse;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_aka_setting_enumerated_popup;
+    }
+
+
+RESOURCE POPUP_SETTING_LIST r_aka_setting_enumerated_popup
+    {
+    flags=EAknPopupSettingListFlagInitialised;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUi.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2001-2009 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: EAP AKA UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPAKAUI_HRH_
+#define _EAPAKAUI_HRH_
+
+
+enum TEapAKaUiMenuCommands
+    {
+    EAkaUiCmdUndefined = 6000,
+    EAkaUiCmdChange
+    };
+
+enum TEapAkaUiNotes
+    {
+    TEapAkaUiGeneralError = 6100
+    };
+
+enum TEapAkaUiLines
+	{
+	EAkaSettingsListBox = 6200
+	};
+
+enum TEapAkaUiSettingIds
+	{
+	EAkaSettingUsernameinUseSettingId=6300,
+	EAkaSettingUsernameSettingId,
+	EAkaSettingPageRealminUseSettingId,
+	EAkaSettingRealmSettingId
+	};
+
+enum TEapAkaUiSettingPageIds
+	{
+	EAkaSettingPageUsernameinUse=6400,
+	EAkaSettingPageUsername,
+	EAkaSettingPageRealminUse,
+	EAkaSettingPageRealm
+	};
+
+
+#endif  //_EAPAKAUI_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP AKA UI settings array
+*
+*/
+
+/*
+* %version: 12 %
+*/
+
+#ifndef _EAPAKAUISETTINGARRAY_H_
+#define _EAPAKAUISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapAkaUi.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapAkaSettingItemArray : public CBase
+    {
+    public:
+        static CEapAkaSettingItemArray* NewL();
+
+        virtual ~CEapAkaSettingItemArray();
+
+        CAknSettingItem* Item(TEapAkaUiSettingPageIds aItem);
+
+        CAknSettingItemArray* Array();
+
+        void StoreSettingsL();
+
+        void AddTextItemL( TDes& aBuffer,
+                            TInt aId, 
+                            TInt aTitleResource, 
+                            TInt aSettingPageResource, 
+                            TInt aAssociatedResource, 
+                            TInt aOrdinal);
+
+        void AddBinarySettingItemL( TInt aSettingPageResourceId,
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue);
+
+    protected:
+        CEapAkaSettingItemArray();
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPAKAUISETTINGARRAY_H_
+
+//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP AKA UI setting dialog
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+#ifndef _EAPAKAUIVIEW_H_
+#define _EAPAKAUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>
+#include <eikspane.h> 
+#include <akntitle.h>
+#include <aknsettingitemlist.h>
+#include <aknnavide.h>
+#include <eiklbo.h>
+#include "EapAkaUi.hrh"
+
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapAkaSettingItemArray;
+class CEapAkaUiConnection;
+class CEapAkaUiDataConnection;
+class CEapAkaUiAkaData;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapAkaUiDialog : public CAknDialog,
+                        public MEikListBoxObserver
+    {
+    public:
+        CEapAkaUiDialog( CEapAkaUiConnection* aConnection, 
+                         TInt& aButtonId ); 
+
+        ~CEapAkaUiDialog();
+ 
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
+        
+
+    protected:
+        void PreLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+
+    private:
+        void InitializeSettingsL();
+        void DrawSettingsListL();
+        void ChangeTitleL( TBool aIsStarted );
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        void ProcessCommandL( TInt aCommand );
+        void SaveSettings();
+
+    private:
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    private:
+        CEapAkaUiConnection* iConnection; 
+        CEapAkaUiDataConnection* iDataConnection;
+        CEapAkaUiAkaData* iUiData;
+        CEapAkaSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CSettingsListBoxItemDrawer* iSettingListItemDrawer;
+        CAknNavigationControlContainer* iNaviPane;
+        CAknNavigationDecorator* iNaviDecorator;
+        HBufC* iPreviousText;
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+    };
+
+
+#endif  // _EAPAKAUIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/loc/eapakaui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-AKA authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_aka_title  "EAP-AKA settings"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUi.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,137 @@
+/*
+* 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: Implementation of EAP AKA UI class
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// INCLUDE FILES
+#include "EapAkaUi.h"
+#include "EapAkaUiView.h"
+#include <eapakaui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eapAkaui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    };
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapAkaUi::CEapAkaUi
+// -----------------------------------------------------------------------------
+//
+CEapAkaUi::CEapAkaUi( CEapAkaUiConnection* aConnection ) 
+: iConnection( aConnection )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUi::NewL
+// -----------------------------------------------------------------------------
+//
+CEapAkaUi* CEapAkaUi::NewL( CEapAkaUiConnection* aConnection )
+    {
+    CEapAkaUi* self = new ( ELeave ) CEapAkaUi( aConnection );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUi::ConstructL()
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUi::~CEapAkaUi
+// -----------------------------------------------------------------------------
+//
+CEapAkaUi::~CEapAkaUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapAkaUi::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapAkaUiDialog* settingsDlg = new( ELeave ) CEapAkaUiDialog( iConnection, 
+                                                                  buttonId );
+    settingsDlg->ConstructAndRunLD( R_AKA_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP AKA UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+// INCLUDE FILES
+#include "EapAkaUiSettingArray.h"
+#include "EapAkaUi.hrh"
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::CEapAkaSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapAkaSettingItemArray::CEapAkaSettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapAkaSettingItemArray* CEapAkaSettingItemArray::NewL() 
+    {
+    CEapAkaSettingItemArray* self = new( ELeave ) CEapAkaSettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); 
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::~CEapAkaSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapAkaSettingItemArray::~CEapAkaSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapAkaSettingItemArray::Item( TEapAkaUiSettingPageIds aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapAkaSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i( 0 ); i < iArray->Count(); ++i ) 
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaSettingItemArray::ConstructL() 
+    {
+    iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                          TInt aId, 
+                                          TInt aTitleResource, 
+                                          TInt aSettingPageResource, 
+                                          TInt aAssociatedResource, 
+                                          TInt aOrdinal )
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = new( ELeave ) CAknTextSettingItem( aId,
+                                                                    aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResource );
+
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+
+    CleanupStack::PopAndDestroy( itemTitle );
+
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaSettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaSettingItemArray::AddBinarySettingItemL( 
+                                                TInt aSettingPageResourceId,
+                                                TInt aTitleResourceId, 
+                                                TInt aAssociatedResourceId,
+                                                TInt aOrdinal, 
+                                                TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = new ( ELeave ) 
+    CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+
+    iArray->AppendL( settingItem );
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,463 @@
+/*
+* 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: Implementation of EAP AKA UI settings dialog
+*
+*/
+
+/*
+* %version: 29 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include "EapAkaUiView.h"
+#include "EapAkaUi.hrh"
+#include <eapakaui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include "EapAkaUiSettingArray.h"
+#include <EapAkaUiConnection.h>
+#include <EapAkaUiDataConnection.h>
+#include <EapAkaUiAkaData.h> 
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// LOCAL CONSTANTS AND MACROS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+_LIT( KEmptyString, "" );
+
+
+// MODULE DATA STRUCTURES
+enum 
+    {
+    EUsernameInUseItem = 0,
+    EUsernameItem,
+    ERealmInUseItem,
+    ERealmItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::CEapAkaUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapAkaUiDialog::CEapAkaUiDialog( CEapAkaUiConnection* aConnection, 
+								  TInt& aButtonId ) 
+: CAknDialog(),
+  iConnection( aConnection ),
+  iDataConnection( 0 ), 
+  iUiData( 0 ), 
+  iSettingArray( 0 ), 
+  iSettingListBox( 0 ), 
+  iSettingListItemDrawer( 0 ), 
+  iNaviPane( 0 ), 
+  iNaviDecorator( 0 ), 
+  iPreviousText( 0 ),
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CEapAkaUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapAkaUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CEapAkaSettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+
+    FeatureManager::InitializeLibL();
+
+    ConstructL( R_AKA_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::~CEapAkaUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapAkaUiDialog::~CEapAkaUiDialog()
+    {
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        delete iSettingArray;
+        }
+
+    delete iNaviDecorator;
+    iNaviDecorator = NULL;
+
+    iSettingListBox = 0;
+    iSettingListItemDrawer = 0;
+
+    iDataConnection->Close();
+    delete iDataConnection;
+    iConnection->Close();
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+    
+// ---------------------------------------------------------
+// CEapAkaUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapAkaUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            OkToExitL( EAkaUiCmdChange );         
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }    
+
+    
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::PreLayoutDynInitL()
+    {
+    ChangeTitleL( ETrue );
+
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        iNaviPane = static_cast<CAknNavigationControlContainer*>( 
+                                        statusPane->ControlL( naviPaneUid ) );
+
+        // Set empty text to hide tabs.
+        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString );
+        iNaviPane->PushL( *iNaviDecorator );
+        }
+    
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                        ControlOrNull( EAkaSettingsListBox ) );
+    iSettingListItemDrawer=static_cast<CSettingsListBoxItemDrawer*>( 
+                                        iSettingListBox->ItemDrawer() ); 
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                
+    DrawSettingsListL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+    CAknSettingItem* item = iSettingArray->Array()->At( index );
+    item->EditItemL( aCalledFromMenu );
+    item->StoreL();
+    DrawNow();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapAkaUiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                if ( iSettingListBox->IsFocused() )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapAkaUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                iDataConnection->Update();
+                ChangeTitleL( EFalse );
+                ret = ETrue;
+                }
+            break;
+            }
+        case EAkaUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+			    {
+				ShowSettingPageL( EFalse );
+			    }
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapAkaUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+    iSettingArray->AddBinarySettingItemL( R_AKA_DISPLAY_AUTOUSECONF_PAGE,
+                                            R_AKA_USERNAME_INUSESTRING, 
+                                            R_AKA_USERNAME_AUTOUSECONF_TEXTS,
+                                            ordinal++,
+                                            *iUiData->GetUseManualUsername() );
+
+    iSettingArray->AddTextItemL( iUiData->GetManualUsername(),
+                                EAkaSettingPageUsername,
+                                R_AKA_USERNAME_STRING,
+                                R_AKA_USERNAME_PAGE,
+                                NULL,
+                                ordinal++ );
+
+
+    iSettingArray->AddBinarySettingItemL( R_AKA_DISPLAY_AUTOUSECONF_PAGE, 
+                                            R_AKA_REALM_INUSESTRING, 
+                                            R_AKA_REALM_AUTOUSECONF_TEXTS,
+                                            ordinal++,
+                                            *iUiData->GetUseManualRealm() );
+
+    iSettingArray->AddTextItemL( iUiData->GetManualRealm(),
+                                EAkaSettingUsernameSettingId,
+                                R_AKA_REALM_STRING,
+                                R_AKA_REALM_PAGE,
+                                NULL,
+                                ordinal++ );
+
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid=EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( 
+                                        statusPane->ControlL( titlePaneUid ) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();  
+
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_AKA_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );  
+
+            // pop navidecorator when exiting
+            iNaviPane->Pop( iNaviDecorator );   
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                         CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aResourceId == R_AKA_MENU_PANE )
+        {
+        if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EAkaUiCmdChange:
+            {
+			if( iIsUIConstructionCompleted )
+			    {
+				ShowSettingPageL( ETrue );
+			    }
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapAkaUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapAkaUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapAkaUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    aContext.iContext = KSET_HLP_WLAN_EAP_AKA;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/data/EapGtcUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2001-2009 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: EAP GTC UI resource file
+*
+*/
+
+/*
+* %version: 14 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME EPGT
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapGtcUi.hrh"   // Enums for these resources
+#include <eapgtcui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf=""; }
+
+RESOURCE CBA r_gtc_ui_softkeys_options_back_change
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EGtcUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+
+
+RESOURCE DIALOG r_gtc_setting_dialog
+    {
+    flags = EAknDialogSelectionList|EEikDialogFlagWait;
+    buttons = r_gtc_ui_softkeys_options_back_change;
+    items= 
+        { 
+        DLG_LINE
+            {
+            id = EGtcSettingsListBox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        }; 
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_gtc_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_gtc_setting_edwin;
+    }
+
+
+RESOURCE EDWIN r_gtc_setting_edwin 
+    {
+    width = 9;
+    lines = 5;
+    maxlength = 255;
+    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
+    default_input_mode = EAknEditorTextInputMode;
+    flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks;
+    }
+
+
+RESOURCE MENU_BAR r_gtc_menubar
+    {
+    titles =
+        {
+        MENU_TITLE { menu_pane = r_gtc_menu_pane; txt=""; }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_gtc_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM
+            {
+            command = EGtcUiCmdChange;
+            txt = qtn_options_change;
+            flags = EEikMenuItemAction;
+            },
+        MENU_ITEM
+            {
+            command = EAknCmdHelp;
+            txt = qtn_options_help;
+            },
+        MENU_ITEM
+            {
+            command = EAknCmdExit;
+            txt = qtn_options_exit;
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_gtc_settings_title      { buf = qtn_wlan_eap_gtc_title; }
+RESOURCE TBUF r_gtc_username_string     { buf = qtn_wlan_eap_sett_username; }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUi.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2001-2009 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: EAP GTC UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPGTCUI_HRH_
+#define _EAPGTCUI_HRH_
+
+enum TEapGtcUiMenuCommands
+    {
+    EGtcUiCmdUndefined = 6000,
+    EGtcUiCmdChange
+    };
+
+enum TEapGtcUiNotes
+    {
+    TEapGtcUiGeneralError = 6100
+    };
+
+enum TEapGtcUiLines
+	{
+	EGtcSettingsListBox = 6200
+	};
+
+enum TEapGtcUiSettingIds
+	{
+	EGtcSettingUsernameinUseSettingId=6300,
+	EGtcSettingUsernameSettingId,
+	EGtcSettingPageRealminUseSettingId,
+	EGtcSettingRealmSettingId
+	};
+
+enum TEapGtcUiSettingPageIds
+	{
+	EGtcSettingPageUsernameinUse=6400,
+	EGtcSettingPageUsername,
+	EGtcSettingPageRealminUse,
+	EGtcSettingPageRealm
+	};
+
+
+#endif  //_EAPGTCUI_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP GTC UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPGTCUISETTINGARRAY_H_
+#define _EAPGTCUISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapGtcUi.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapGtcSettingItemArray : public CBase
+    {
+    public:
+        static CEapGtcSettingItemArray* NewL();
+
+        virtual ~CEapGtcSettingItemArray();
+
+        CAknSettingItem* Item( TEapGtcUiSettingPageIds aItem );
+
+        CAknSettingItemArray* Array();
+
+        void StoreSettingsL();
+
+        void AddTextItemL( TDes& aBuffer, 
+                            TInt aId, 
+                            TInt aTitleResource, 
+                            TInt aSettingPageResource, 
+                            TInt aAssociatedResource, 
+                            TInt aOrdinal);
+
+    protected:
+        CEapGtcSettingItemArray();
+
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPGTCUISETTINGARRAY_H_
+
+//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP GTC UI setting dialog
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+#ifndef _EAPGTCUIVIEW_H_
+#define _EAPGTCUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>        
+#include <eikspane.h>
+#include <akntitle.h>
+#include <aknsettingitemlist.h>
+#include "EapGtcUi.hrh"
+#include <aknnavi.h>
+#include <eiklbo.h>
+
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapGtcSettingItemArray;
+class CEapGtcUiConnection;
+class CEapGtcUiGtcData;
+class CEapGtcUiDataConnection;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapGtcUiDialog : public CAknDialog,
+                        public MEikListBoxObserver
+    {
+    public:
+        CEapGtcUiDialog( CEapGtcUiConnection* aConnection, 
+                         TInt& aButtonId );
+
+        ~CEapGtcUiDialog();
+ 
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+                
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );                
+
+
+    protected:
+        void PreLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+
+    private:
+        void InitializeSettingsL();
+        void DrawSettingsListL();
+        void ChangeTitleL( TBool aIsStarted );
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        void ProcessCommandL( TInt aCommand );
+        void SaveSettings();
+
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    private:
+        CEapGtcUiConnection* iConnection;
+        CEapGtcUiGtcData* iUiData;
+        CEapGtcUiDataConnection* iDataConnection;
+        CEapGtcSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CSettingsListBoxItemDrawer* iSettingListItemDrawer;
+        CAknNavigationControlContainer* iNaviPane;
+        CAknNavigationDecorator* iNaviDecorator;
+        HBufC* iPreviousText;
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+    };
+
+#endif // _EAPGTCUIVIEW_H_
+
+//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/loc/eapgtcui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-GTC authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_gtc_title  "EAP-GTC settings"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUi.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* 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: Implementation of EAP GTC UI class
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// INCLUDE FILES
+#include <EapGtcUiConnection.h>
+#include <eapgtcui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+#include "EapGtcUi.h"
+#include "EapGtcUiView.h"
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eapgtcui.rsc");
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*,aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapGtcUi::CEapGtcUi
+// -----------------------------------------------------------------------------
+//
+CEapGtcUi::CEapGtcUi( CEapGtcUiConnection* aConnection ) 
+: iConnection( aConnection )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUi::NewL
+// -----------------------------------------------------------------------------
+//
+CEapGtcUi* CEapGtcUi::NewL( CEapGtcUiConnection* aConnection )
+    {
+    CEapGtcUi* self = new ( ELeave ) CEapGtcUi( aConnection );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUi::~CEapGtcUi
+// -----------------------------------------------------------------------------
+//
+CEapGtcUi::~CEapGtcUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapGtcUi::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+     item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapGtcUiDialog* settingsDlg = new( ELeave ) CEapGtcUiDialog( iConnection,
+                                                                  buttonId );
+    settingsDlg->ConstructAndRunLD( R_GTC_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP GTC UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+// INCLUDE FILES
+#include "EapGtcUiSettingArray.h"
+#include "EapGtcUi.hrh"
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::CEapGtcSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapGtcSettingItemArray::CEapGtcSettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapGtcSettingItemArray* CEapGtcSettingItemArray::NewL() 
+    {
+    CEapGtcSettingItemArray* self = new (ELeave) CEapGtcSettingItemArray();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop( self ); 
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::~CEapGtcSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapGtcSettingItemArray::~CEapGtcSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapGtcSettingItemArray::Item( TEapGtcUiSettingPageIds aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapGtcSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i(0); i < iArray->Count(); ++i )
+        {
+        iArray->At(i)->StoreL();
+       }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcSettingItemArray::ConstructL() 
+    {
+    iArray = new ( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                            TInt aId, 
+                                            TInt aTitleResource, 
+                                            TInt aSettingPageResource,
+                                            TInt aAssociatedResource, 
+                                            TInt aOrdinal)
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = new ( ELeave ) CAknTextSettingItem( aId,
+                                                                    aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList,
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,457 @@
+/*
+* 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: Implementation of EAP GTC UI settings dialog
+*
+*/
+
+/*
+* %version: 28 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include <eapgtcui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include <aknnavide.h>
+#include <aknnotewrappers.h> // TEMPORARY, for info message...
+#include <EapGtcUiConnection.h>
+#include <EapGtcUiDataConnection.h>
+#include <EapGtcUiGtcData.h>
+
+#include "EapGtcUiView.h"
+#include "EapGtcUi.hrh"
+#include "EapGtcUiSettingArray.h"
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+_LIT( KEmptyString, "" );
+
+// MODULE DATA STRUCTURES
+enum 
+    {
+    EUsernameItem = 0
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::CEapGtcUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapGtcUiDialog::CEapGtcUiDialog( CEapGtcUiConnection* aConnection, 
+								  TInt& aButtonId ) 
+: CAknDialog(),
+  iConnection( aConnection ),
+  iDataConnection( 0 ), 
+  iSettingArray( 0 ), 
+  iSettingListBox( 0 ), 
+  iSettingListItemDrawer( 0 ), 
+  iNaviPane( 0 ), 
+  iNaviDecorator( 0 ), 
+  iPreviousText( 0 ), 
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CEapGtcUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapGtcUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+    iSettingArray = CEapGtcSettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+
+    FeatureManager::InitializeLibL();
+
+    ConstructL( R_GTC_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::~CEapGtcUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapGtcUiDialog::~CEapGtcUiDialog()
+    {
+    if ( iNaviDecorator )
+        {
+        delete iNaviDecorator;
+        iNaviDecorator = NULL;
+        }
+
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        delete iSettingArray;
+        }
+
+    if ( iSettingListBox )
+        {
+        iSettingListBox = 0;
+        }
+
+    if ( iSettingListItemDrawer )
+        {
+        iSettingListItemDrawer = 0;
+        }
+
+    if ( iDataConnection )
+        {
+        iDataConnection->Close();
+        delete iDataConnection;
+        }
+
+    if ( iConnection )
+        {
+        iConnection->Close();
+        }
+
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+    
+// ---------------------------------------------------------
+// CEapGtcUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapGtcUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            OkToExitL( EGtcUiCmdChange );         
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }    
+
+    
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::PreLayoutDynInitL()
+    {
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        iNaviPane = static_cast<CAknNavigationControlContainer*>( 
+                                        statusPane->ControlL( naviPaneUid ) );
+
+        // Set empty text to hide tabs.
+        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString );   
+        iNaviPane->PushL( *iNaviDecorator );
+        }
+
+    // Change title
+    ChangeTitleL( ETrue );
+
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                        ControlOrNull( EGtcSettingsListBox ) );
+    iSettingListItemDrawer = static_cast<CSettingsListBoxItemDrawer*>( 
+                                        iSettingListBox->ItemDrawer() ); 
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff, 
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                
+    DrawSettingsListL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+    CAknSettingItem* item = iSettingArray->Array()->At( index );
+    item->EditItemL( aCalledFromMenu );
+    item->StoreL();
+    DrawSettingsListL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapGtcUiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                if ( iSettingListBox->IsFocused() )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapGtcUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                iDataConnection->Update();
+                ChangeTitleL( EFalse );
+                ret = ETrue;
+                }
+            break;
+            }
+            
+        case EGtcUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+				{
+    			ShowSettingPageL( EFalse );
+				}
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapGtcUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+    iSettingArray->AddTextItemL( iUiData->GetIdentity(),
+                                EGtcSettingPageUsername,
+                                R_GTC_USERNAME_STRING,
+                                R_GTC_USERNAME_PAGE,
+                                NULL,
+                                ordinal++ );
+
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );    
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+
+    if (subPane.IsPresent()&&subPane.IsAppOwned())
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( 
+                                        statusPane->ControlL( titlePaneUid ) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();  
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_GTC_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );  
+            iNaviPane->Pop( iNaviDecorator );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                         CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aResourceId == R_GTC_MENU_PANE )
+        {
+        if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EGtcUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+				{
+    			ShowSettingPageL( ETrue );
+				}
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapGtcUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapGtcUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapGtcUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    aContext.iContext = KSET_HLP_WLAN_EAP_GTC;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/data/GtcNotifDlgUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2001-2009 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: Resorce file of GtcNotif.
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+// RESOURCE IDENTIFIER
+NAME EGTC
+
+
+// INCLUDES
+#include <eikon.rh>
+#include <eikon.rsg>
+
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <apsettings.mbg>
+
+#include <avkon.hrh>
+#include <avkon.loc>
+
+#include <gtcnotifdlg.loc>
+
+
+// RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE CBA r_gtcnotif_softkeys_ok_cancel_select
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; },
+        CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; },
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; }
+        };
+    }
+    
+
+RESOURCE DIALOG r_gtc_password_query
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
+            EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
+    buttons = r_gtcnotif_softkeys_ok_cancel_select;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control= AVKON_DATA_QUERY 
+                { 
+                layout = ECodeLayout;
+                label = "";
+                control = SECRETED 
+                    {
+                    num_letters = 255;
+                    };
+                };
+            }
+        };
+    }
+    
+
+RESOURCE CBA r_gtcnotif_softkeys_ok___select
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; },
+        CBA_BUTTON { },
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; }
+        };
+    }
+
+
+RESOURCE DIALOG r_message_query
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
+            EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
+    buttons = r_gtcnotif_softkeys_ok___select;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtPopupHeadingPane;
+            id = EAknMessageQueryHeaderId;
+            control = AVKON_HEADING
+                {
+                label = qtn_wlan_eap_gtc_notif_message;
+                };
+            },
+
+        DLG_LINE
+            {
+            type = EAknCtMessageQuery;
+            id = EAknMessageQueryContentId;
+            control = AVKON_MESSAGE_QUERY
+                {
+                };
+            }
+        };
+    }
+
+
+RESOURCE TBUF r_gtc_response    { buf = qtn_wlan_eap_gtc_notif_response; }
+RESOURCE TBUF r_gtc_message     { buf = qtn_wlan_eap_gtc_notif_message; }
+RESOURCE TBUF r_gtc_username    { buf = qtn_wlan_eap_gtc_notif_username; }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCMessageDisplayDialog.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of Gtc Message Display Dialog
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+#ifndef __GTCMESSAGEDISPLAYDIALOG_H__
+#define __GTCMESSAGEDISPLAYDIALOG_H__
+
+// INCLUDES
+#include <aknmessagequerydialog.h>
+
+
+class CGTCMessageDisplayDialog : public CAknMessageQueryDialog
+    {
+    public:
+        static CGTCMessageDisplayDialog* NewL( const TDesC& aMessage, 
+                                               CGtcDialogPlugin* aPlugin );
+        ~CGTCMessageDisplayDialog();
+  
+    private:
+        CGTCMessageDisplayDialog( CGtcDialogPlugin* aPlugin );
+
+        virtual TBool OkToExitL( TInt aButtonId );
+        void HandleResourceChange( TInt aType );
+        
+    private:
+        CGtcDialogPlugin* iPlugin;     // Pointer to the notifier plugin
+    };
+
+#endif  // __GTCMESSAGEDISPLAYDIALOG_H__
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCResponseQueryDialog.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of Gtc Response Query Dialog
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+#ifndef __GTCRESPONSEQUERYDIALOG_H__
+#define __GTCRESPONSEQUERYDIALOG_H__
+
+// INCLUDES
+#include <AknQueryDialog.h>
+
+
+class CGTCResponseQueryDialog : public CAknTextQueryDialog
+    {
+    public:
+        static CGTCResponseQueryDialog* NewL( TDes& aResponse, 
+                                              CGtcDialogPlugin* aPlugin );
+        ~CGTCResponseQueryDialog();
+  
+    private:
+        CGTCResponseQueryDialog( TDes& aResponse, CGtcDialogPlugin* aPlugin );
+
+        virtual TBool OkToExitL( TInt aButtonId );
+        void HandleResourceChange( TInt aType );
+        
+    private:
+        CGtcDialogPlugin* iPlugin;     // Pointer to the notifier plugin
+    };
+
+
+#endif  // __GTCMESSAGEDISPLAYDIALOG_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GtcNotifDlgPlugin.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of GtcNotifDlg Dialog Plugins
+*
+*/
+
+/*
+* %version: 11.1.7 %
+*/
+
+#ifndef __GTCNOTIFDLGPLUGIN_H__
+#define __GTCNOTIFDLGPLUGIN_H__
+
+
+// INCLUDES
+#include <eikdialg.h>
+#include <e32std.h>
+#include <e32base.h>
+#include <cdblen.h>
+#include <eiknotapi.h>
+#include <AknForm.h>
+#include <AknQueryDialog.h>
+#include <AknGlobalMsgQuery.h>
+#include <aknPopup.h>
+
+
+// CONSTANTS
+
+// UIDs for dialogs
+
+// ID of GTC username & password dialog
+const TUid KUidGtcDialog        = { 0x101f8e7f };
+
+// Channel used for screen   
+const TUid KScreenOutputChannel = { 0x00000123 };
+
+// Number of dialogs in this plugin
+const TInt KPluginGranularity   = 1;
+
+// ROM folder
+_LIT( KDriveZ, "z:" );
+
+// RSC file name.
+_LIT( KResourceFileName, "GtcNotifDlgUi.rsc" );
+
+
+// GLOBAL FUNCTIONS
+//
+
+/**
+* Array of connection dialog plugins.
+* @return A CArray of MEikSrvNotifierBase2 based classes.
+*/
+IMPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray();
+
+
+// CLASS DECLARATION
+
+class CGTCResponseQueryDialog;
+class CGTCMessageDisplayDialog;
+
+
+struct TEapGtcUsernamePasswordInfo
+    {
+    TBool iIsFirstQuery;
+    TBuf16<128> iIdentity;
+    TBuf16<256> iPasscode;
+    TPassword iPincode;
+    };
+
+
+/**
+ * Gtc dialog plugin class
+ */
+class CGtcDialogPlugin : public CBase,
+                         public MEikSrvNotifierBase2
+    {
+    public:
+        static CGtcDialogPlugin* NewL();
+
+        ~CGtcDialogPlugin();
+
+        TNotifierInfo RegisterL();
+        TNotifierInfo Info() const;
+
+        TPtrC8 StartL( const TDesC8& aBuffer );
+        void StartL( const TDesC8& aBuffer, TInt aReplySlot,
+                     const RMessagePtr2& aMessage );
+
+        TPtrC8 UpdateL( const TDesC8& aBuffer );
+        void Cancel();
+        void CompleteL( TInt aStatus );
+        void Release();
+        void CompleteMessageDisplayL( TInt aStatus );
+
+    protected:
+        CGtcDialogPlugin();
+
+        void ConstructL();
+        
+    protected:
+        TNotifierInfo iInfo;        // Notifier info
+        RMessagePtr2 iMessage;      // Message
+        TInt iReplySlot;            // Reply slot
+        TBool iCancelled;           // ETrue if dialog cancelled. For Query dialog.	    
+        TBool iGtcMessageCancelled; // ETrue if message dialog is cancelled.
+
+    private:
+        CGTCResponseQueryDialog* iGTCResponseQueryDlg;
+        CGTCMessageDisplayDialog* iGTCMessageDisplayDlg;
+
+        TEapGtcUsernamePasswordInfo* iDataPtr;
+        TPckg<TEapGtcUsernamePasswordInfo>* iDataPckgPtr;
+        TInt iResource;             // Resource
+    };
+
+
+#endif  // __GTCNOTIFDLGPLUGIN_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/loc/gtcnotifdlg.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-GTC Notifier
+*
+*/
+
+/*
+* %version: %
+*/
+
+//  LOCALISATION STRINGS
+
+
+//d:Message in query used to send GTC output.
+//l:popup_query_code_window
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_gtc_notif_response     "EAP-GTC response:"
+
+
+//d:Title of the message query.
+//l:heading_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_gtc_notif_message      "EAP-GTC message:"
+
+
+//d:Username query string
+//l:popup_query_code_window
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_gtc_notif_username     "EAP-GTC user name:"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCMessageDisplayDialog.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of Gtc Message Display Dialog.
+*
+*/
+
+/*
+* %version: tr1cfwln#13 %
+*/
+
+// INCLUDE FILES
+#include "GtcNotifDlgPlugin.h"
+#include "GTCMessageDisplayDialog.h"
+
+
+// -----------------------------------------------------------------------------
+// CGTCMessageDisplayDialog::CGTCMessageDisplayDialog
+// -----------------------------------------------------------------------------
+//
+CGTCMessageDisplayDialog::CGTCMessageDisplayDialog( CGtcDialogPlugin* aPlugin )
+: CAknMessageQueryDialog( ENoTone ), 
+  iPlugin( aPlugin )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCMessageDisplayDialog::~CGTCMessageDisplayDialog
+// -----------------------------------------------------------------------------
+//
+CGTCMessageDisplayDialog::~CGTCMessageDisplayDialog()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCMessageDisplayDialog::NewL
+// -----------------------------------------------------------------------------
+//
+CGTCMessageDisplayDialog* CGTCMessageDisplayDialog::NewL( const TDesC& aMessage, 
+                                                    CGtcDialogPlugin* aPlugin )
+    {
+    CGTCMessageDisplayDialog* self = new( ELeave ) CGTCMessageDisplayDialog( 
+                                                                    aPlugin );
+
+    CleanupStack::PushL( self );
+    if ( aMessage.Length() )
+        {
+        self->SetMessageTextL( aMessage );
+        }
+
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCMessageDisplayDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CGTCMessageDisplayDialog::OkToExitL( TInt aButtonId )
+    {
+    if ( CAknMessageQueryDialog::OkToExitL( aButtonId ) )
+        {
+        if ( aButtonId == EAknSoftkeyOk )
+            {
+            iPlugin->CompleteMessageDisplayL( KErrNone );
+            }
+        else
+            {
+            // Some cancel.
+            iPlugin->CompleteMessageDisplayL( KErrCancel );
+            }
+
+        return( ETrue );
+        }
+
+    return( EFalse ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCMessageDisplayDialog::HandleResourceChange
+// -----------------------------------------------------------------------------
+//
+void CGTCMessageDisplayDialog::HandleResourceChange( TInt aType )
+    {
+    CAknMessageQueryDialog::HandleResourceChange( aType );
+    if ( aType == KAknsMessageSkinChange )
+        {
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCResponseQueryDialog.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of Gtc Response Query Dialog.
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+// INCLUDE FILES
+#include "GtcNotifDlgPlugin.h"
+#include "GTCResponseQueryDialog.h"
+
+
+// -----------------------------------------------------------------------------
+// CGTCResponseQueryDialog::CGTCResponseQueryDialog
+// -----------------------------------------------------------------------------
+//
+CGTCResponseQueryDialog::CGTCResponseQueryDialog( TDes& aResponse, 
+                                                  CGtcDialogPlugin* aPlugin )
+: CAknTextQueryDialog( aResponse ), 
+  iPlugin( aPlugin )
+    {    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCResponseQueryDialog::~CGTCResponseQueryDialog
+// -----------------------------------------------------------------------------
+//
+CGTCResponseQueryDialog::~CGTCResponseQueryDialog()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCResponseQueryDialog::NewL
+// -----------------------------------------------------------------------------
+//
+CGTCResponseQueryDialog* CGTCResponseQueryDialog::NewL( TDes& aResponse, 
+                                                    CGtcDialogPlugin* aPlugin )
+    {
+    CGTCResponseQueryDialog* self = new( ELeave ) CGTCResponseQueryDialog( 
+                                                        aResponse, aPlugin );
+    return self;
+}
+
+
+// -----------------------------------------------------------------------------
+// CGTCResponseQueryDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CGTCResponseQueryDialog::OkToExitL( TInt aButtonId )
+    {
+    if ( CAknTextQueryDialog::OkToExitL( aButtonId ) )
+       {
+        // This will be the case always since there is no "cancel" in this dialog.
+        if ( aButtonId==EAknSoftkeyOk )
+            {
+            iPlugin->CompleteL( KErrNone );
+            }
+        else
+            {
+            // Everything else is for cancel.
+            iPlugin->CompleteL( KErrCancel );
+            }
+
+        return( ETrue );
+        }
+
+    return( EFalse ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGTCResponseQueryDialog::HandleResourceChange
+// -----------------------------------------------------------------------------
+//
+void CGTCResponseQueryDialog::HandleResourceChange( TInt aType )
+    {
+    CAknTextQueryDialog::HandleResourceChange( aType );
+    if ( aType == KAknsMessageSkinChange )
+        {
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,403 @@
+/*
+* 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: Implementation of GtcNotif dialog plugin.
+*
+*/
+
+/*
+* %version: 12.1.9 %
+*/
+
+// INCLUDE FILES
+#include <coemain.h>
+#include <eikenv.h>
+#include <bautils.h>
+#include <data_caging_path_literals.hrh>
+#include <gtcnotifdlgui.rsg>
+#include <e32base.h>
+#include <StringLoader.h>
+
+#include <e32property.h>            // For RProperty 
+#include <UikonInternalPSKeys.h>    // For KPSUidUikon and KUikGlobalNotesAllowed.
+
+#include "GtcNotifDlgPlugin.h"
+#include "GTCResponseQueryDialog.h"
+#include "GTCMessageDisplayDialog.h"
+
+
+// CONSTANTS
+static const TInt KMaxLengthOfGtcResponse = 256;
+
+// Ratio between ascii and unicode character sizes
+static const TUint KAsciiUnicodeRatio = 2;
+
+
+
+// ================= OTHER EXPORTED FUNCTIONS ==============
+
+// -----------------------------------------------------------------------------
+// CreateNotifiersL
+// -----------------------------------------------------------------------------
+//
+LOCAL_C void CreateNotifiersL( 
+                          CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers )
+    {
+    MEikSrvNotifierBase2 *serNotify;
+
+    serNotify = CGtcDialogPlugin::NewL();
+    CleanupStack::PushL( serNotify );
+    aNotifiers->AppendL( serNotify );
+    CleanupStack::Pop( serNotify );
+    }
+
+
+// -----------------------------------------------------------------------------
+// NotifierArray
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray()
+    {
+    // NotifierArray() can't leave
+    CArrayPtrFlat< MEikSrvNotifierBase2 >* array = 
+            new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity );
+
+    if ( array )
+        {
+        TRAPD( err, CreateNotifiersL( array ) );
+        
+        if( err )
+            {
+            TInt count = array->Count();
+
+            while( count-- )
+                {
+                ( *array )[ count ]->Release();
+                }
+
+            delete array;
+            array = NULL;
+            }
+        }
+
+    return( array );
+    }
+
+
+//////////////////////////////////////////////////////////////
+// Gtc dialog plugin
+/////////////////////////////////////////////////////////////
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::CGtcDialogPlugin
+// -----------------------------------------------------------------------------
+//
+CGtcDialogPlugin::CGtcDialogPlugin()
+: iCancelled( EFalse ), 
+  iGtcMessageCancelled( EFalse )
+    {
+    iManager = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::~CGtcDialogPlugin
+// -----------------------------------------------------------------------------
+//
+CGtcDialogPlugin::~CGtcDialogPlugin()
+    {
+    CCoeEnv::Static()->DeleteResourceFile( iResource );
+
+    if ( !iGtcMessageCancelled )
+        {
+        delete iGTCMessageDisplayDlg;
+        }
+
+    if ( !iCancelled )
+        {
+        delete iGTCResponseQueryDlg;
+        }
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::RegisterL
+// -----------------------------------------------------------------------------
+//
+CGtcDialogPlugin::TNotifierInfo CGtcDialogPlugin::RegisterL()
+    {
+    iInfo.iUid      = KUidGtcDialog;
+    iInfo.iPriority = ENotifierPriorityHigh;
+    iInfo.iChannel  = KUidGtcDialog;
+    return iInfo;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::NewL
+// -----------------------------------------------------------------------------
+//
+CGtcDialogPlugin* CGtcDialogPlugin::NewL()
+    {
+    CGtcDialogPlugin* self = new ( ELeave ) CGtcDialogPlugin();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CGtcDialogPlugin::ConstructL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName );
+    iResource = CCoeEnv::Static()->AddResourceFileL( fileName );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::StartL
+// -----------------------------------------------------------------------------
+//
+TPtrC8 CGtcDialogPlugin::StartL( const TDesC8& /*aBuffer*/ )
+    {
+    return KNullDesC8().Ptr();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::StartL
+// -----------------------------------------------------------------------------
+//
+void CGtcDialogPlugin::StartL( const TDesC8&  aBuffer, 
+                               TInt aReplySlot, 
+                               const RMessagePtr2& aMessage )
+    {
+    iCancelled = EFalse;
+    iReplySlot = aReplySlot;
+    iMessage   = aMessage;
+     
+    // This object gets constructed only once where as this gets called many 
+    // times, if user is not answering the query. 
+    // So initialize everything here itself.
+    iGTCResponseQueryDlg = NULL;
+    iGTCMessageDisplayDlg = NULL;
+    iDataPtr = NULL;
+    iDataPckgPtr = NULL;
+    iGtcMessageCancelled = EFalse;
+
+    // We are about to display the password prompt.
+    // Since this part of the code can be executed during the bootup, check if
+    // the UI has really started up to display notes/dialogs.
+    TInt notesAllowed = 0;
+    TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, 
+                                 notesAllowed );
+
+    // The above call can return error. Don't care the error. What we care is
+    // if notesAllowed has turned to 1 from 0.
+    if ( notesAllowed )
+        {
+        // Display EAP-GTC message if there's one...
+        if ( aBuffer.Length() != 0 )
+            {
+            HBufC16* buffer = HBufC16::NewLC( aBuffer.Size() /
+                                                        KAsciiUnicodeRatio );
+            TPtr16 text = buffer->Des();
+            text.Copy( reinterpret_cast<TUint16 *>( const_cast<TUint8 *> (
+                                        aBuffer.Ptr() ) ), aBuffer.Size() /
+                                                        KAsciiUnicodeRatio );
+
+            iGTCMessageDisplayDlg = CGTCMessageDisplayDialog::NewL( text, 
+                                                                    this );
+            iGTCMessageDisplayDlg->ExecuteLD( R_MESSAGE_QUERY );
+
+            // Do not set iGTCMessageDisplayDlg to NULL here, because then
+            // a timeout cancel will cause a crash. Prevent double deletion
+            // by checking iGtcMessageCancelled in the destructor.
+
+            CleanupStack::PopAndDestroy( buffer );
+            }
+        else
+            {
+            // Show the data query directly since there is no message to display.
+            CompleteMessageDisplayL( KErrNone );
+            }
+        }
+
+    // In case if the notes are not allowed, this message gets completed when 
+    // EAPOL time out occurs and a subsequent call to cancel from 
+    // eap_am_type_securid_symbian_c::DoCancel().
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::UpdateL
+// -----------------------------------------------------------------------------
+//
+TPtrC8 CGtcDialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ )
+    {
+    return KNullDesC8().Ptr();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::Cancel
+// -----------------------------------------------------------------------------
+//
+void CGtcDialogPlugin::Cancel()
+    {
+    if ( !iCancelled )
+        {
+        iCancelled = ETrue;
+
+        if ( !iMessage.IsNull() )
+            {
+            iMessage.Complete( KErrCancel );
+            }
+
+        if ( iGTCResponseQueryDlg )
+            {
+            delete iGTCResponseQueryDlg;
+            iGTCResponseQueryDlg = NULL;
+            }
+
+        if ( !iGtcMessageCancelled && iGTCMessageDisplayDlg )
+            {
+            iGtcMessageCancelled = ETrue;
+            delete iGTCMessageDisplayDlg;
+            iGTCMessageDisplayDlg = NULL;
+            }
+        }
+
+    if( iDataPtr ) 
+        {
+        delete iDataPtr;
+        iDataPtr = NULL;
+        }
+
+    if( iDataPckgPtr ) 
+        {
+        delete iDataPckgPtr;
+        iDataPckgPtr = NULL;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::CompleteL
+// -----------------------------------------------------------------------------
+//
+void CGtcDialogPlugin::CompleteL( TInt aStatus )
+    { 
+    if ( aStatus == KErrNone  && !iMessage.IsNull() )
+        {
+        iMessage.WriteL( iReplySlot, *iDataPckgPtr);
+        }
+
+    iCancelled = ETrue;
+    
+    if ( !iMessage.IsNull() )
+        {
+        iMessage.Complete( aStatus );
+        }
+
+    if( iDataPtr ) 
+        {
+        delete iDataPtr;
+        iDataPtr = NULL;
+    }
+
+    if( iDataPckgPtr ) 
+        {
+        delete iDataPckgPtr;
+        iDataPckgPtr = NULL;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::Release
+// -----------------------------------------------------------------------------
+//
+void CGtcDialogPlugin::Release()
+    {
+    delete this;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::Info
+// -----------------------------------------------------------------------------
+//
+CGtcDialogPlugin::TNotifierInfo CGtcDialogPlugin::Info() const
+    {
+    return iInfo;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CGtcDialogPlugin::CompleteMessageDisplayL
+// -----------------------------------------------------------------------------
+//
+void CGtcDialogPlugin::CompleteMessageDisplayL( TInt aStatus )
+    {
+    iGtcMessageCancelled = ETrue;
+
+    if ( aStatus == KErrNone )
+        {
+        // Now user has acknowledged the GTC message.
+        // Show the response query to enter the password.
+
+        iDataPtr = new( ELeave ) TEapGtcUsernamePasswordInfo;
+        iDataPckgPtr = new( ELeave ) TPckg<TEapGtcUsernamePasswordInfo>( 
+                                                                *iDataPtr );
+
+        TBuf16<KMaxLengthOfGtcResponse> response;
+
+        iGTCResponseQueryDlg = CGTCResponseQueryDialog::NewL( 
+                                                iDataPtr->iPasscode, this );
+
+        HBufC* text = StringLoader::LoadLC( R_GTC_RESPONSE );
+        iGTCResponseQueryDlg->SetPromptL( *text );
+        CleanupStack::PopAndDestroy( text );
+
+        iGTCResponseQueryDlg->ExecuteLD( R_GTC_PASSWORD_QUERY);
+
+        // Do not set iGTCResponseQueryDlg to NULL here, because then
+        // a timeout cancel will cause a crash. Prevent double deletion
+        // by checking iCancelled in the destructor.
+        }
+    else
+        {
+        // User probably cancelled the message, some how.
+        // Can not continue to show the password query.
+        if ( !iMessage.IsNull() )
+            {
+            iMessage.Complete( aStatus );
+            }
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/data/EapMschapv2Ui.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,212 @@
+/*
+* Copyright (c) 2001-2009 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: EAP MsChapv2 UI resource file
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME EPLM
+
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapMschapv2Ui.hrh"   // Enums for these resources
+#include <eapmschapv2ui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf = ""; }
+
+RESOURCE CBA r_mschap_ui_softkeys_options_back_edit
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EMschapv2UiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+
+RESOURCE DIALOG r_mschapv2_setting_dialog
+    {
+    flags = EAknDialogSelectionList | EEikDialogFlagWait;
+    buttons = r_mschap_ui_softkeys_options_back_edit;
+    items = 
+        { 
+        DLG_LINE
+            {
+            id = EMschapv2SettingsListBox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        }; 
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_mschapv2_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_mschapv2_setting_edwin;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_mschapv2_password_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_password;
+    type = EEikCtSecretEd;
+    editor_resource_id = r_mschapv2_setting_password;
+    }
+
+
+RESOURCE SECRETED r_mschapv2_setting_password 
+    {
+    num_letters = KUsernameMaxNameLength;
+    }
+
+
+RESOURCE EDWIN r_mschapv2_setting_edwin 
+    {
+    width = 9;
+    lines = 5;
+    maxlength=KUsernameMaxNameLength;
+    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
+    default_input_mode = EAknEditorTextInputMode;
+    flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks;
+    }
+
+
+RESOURCE MENU_BAR r_mschapv2_menubar
+    {
+    titles =
+        {
+        MENU_TITLE { menu_pane = r_mschapv2_menu_pane; txt = ""; }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_mschapv2_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM 
+            { 
+            command = EMschapv2UiCmdChange;  
+            txt = qtn_options_change; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp; 
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit;
+            txt = qtn_options_exit; 
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_mschapv2_settings_title       { buf = qtn_wlan_eap_mschapv2_title; }
+RESOURCE TBUF r_plain_mschapv2_settings_title { buf = qtn_wlan_eap_plain_mschapv2_title; }
+RESOURCE TBUF r_mschapv2_username_string      { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_mschapv2_passprompt_string    { buf = qtn_wlan_eap_sett_passprompt; }
+RESOURCE TBUF r_mschapv2_password_string      { buf = qtn_wlan_eap_sett_password; }
+RESOURCE TBUF r_mschapv2_passprompt_on        { buf = qtn_wlan_eap_sett_passprompt_on; }
+RESOURCE TBUF r_mschapv2_passprompt_off       { buf = qtn_wlan_eap_sett_passprompt_off; }
+
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_mschapv2_yesno_texts
+    {
+    setting_texts_resource = r_mschapv2_yes_no_texts_resource;
+    popped_up_texts_resource = r_mschapv2_yes_no_array;
+    }
+
+
+RESOURCE ARRAY r_mschapv2_yes_no_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_passprompt_off; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_passprompt_on; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_mschapv2_yes_no_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_passprompt_off; },
+        LBUF { txt = qtn_wlan_eap_sett_passprompt_on; }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_mschapv2_display_yesno_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_passprompt;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_mschapv2_setting_enumerated_popup;
+    }
+
+
+RESOURCE POPUP_SETTING_LIST r_mschapv2_setting_enumerated_popup
+    {
+    flags = EAknPopupSettingListFlagInitialised;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2Ui.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2009 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: EAP Mschapv2 UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPMSCHAPV2UI_HRH_
+#define _EAPMSCHAPV2UI_HRH_
+
+enum TEAPMschapv2UIMenuCommands
+    {
+    EMschapv2UiCmdUndefined = 6000,
+    EMschapv2UiCmdChange
+    };
+
+enum TEAPMschapv2UINotes
+    {
+    EEAPMschapv2UIGeneralError = 6100
+    };
+
+enum TEapMschapv2IiLines
+	{
+	EMschapv2SettingsListBox = 6200
+	};
+
+enum TEapMschapv2SettingIds
+	{
+	EMschapv2SettingUsernameSettingId=6300,
+	EMschapv2SettingPassPromptSettingId,
+	EMschapv2SettingPasswordSettingId
+	};
+
+enum TEapMschapv2SettingItemId
+	{
+	EMschapv2SettingPageUserName=6400,
+	EMschapv2SettingPagePasswordPrompt,
+	EMschapv2SettingPagePassword
+	};
+
+
+#endif  //_EAPMSCHAPV2UI_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP MsChapv2 UI settings array
+*
+*/
+
+/*
+* %version: 12 %
+*/
+
+#ifndef _EAPMSCHAPV2UISETTINGARRAY_H_
+#define _EAPMSCHAPV2UISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapMschapv2Ui.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapMsChapV2SettingItemArray : public CBase
+    {
+    public:
+        static CEapMsChapV2SettingItemArray* NewL();
+
+        virtual ~CEapMsChapV2SettingItemArray();
+
+        CAknSettingItem* Item( TEapMschapv2SettingItemId aItem );
+
+        CAknSettingItemArray* Array();
+
+        void StoreSettingsL();
+
+        void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource,
+                           TInt aSettingPageResource, TInt aAssociatedResource,
+                           TInt aOrdinal);
+
+        void AddPasswordItemL( TDes& aPassword, TInt aId, TInt aTitleResource,
+                               TInt aSettingPageResource, 
+                               TInt aAssociatedResource, TInt aOrdinal);
+
+        void AddBinarySettingItemL( TInt aSettingPageResourceId,
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue);
+
+    protected:
+        CEapMsChapV2SettingItemArray();
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPMSCHAPV2UISETTINGARRAY_H_
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP MsChapv2 UI setting dialog
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+#ifndef _EAPMSCHAPV2UIVIEW_H_
+#define _EAPMSCHAPV2UIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>        
+#include <eikspane.h> 
+#include <akntitle.h>
+#include <aknsettingitemlist.h>
+#include <aknnavi.h>
+#include <eiklbo.h>
+#include "EapMschapv2Ui.hrh"
+
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapMsChapV2SettingItemArray;
+class CEapMsChapV2UiConnection;
+class CEapMsChapV2UiMsChapV2Data;
+class CEapMsChapV2UiDataConnection;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapMsChapV2UiDialog : public CAknDialog,
+                             public MEikListBoxObserver
+    {
+    public:
+        CEapMsChapV2UiDialog( CEapMsChapV2UiConnection* aConnection, 
+                              TInt& aButtonId );
+
+        ~CEapMsChapV2UiDialog();
+     
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+        
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );                
+
+
+    protected:
+        void PreLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+
+    private:
+        void InitializeSettingsL();
+        void DrawSettingsListL();
+        void ChangeTitleL( TBool aIsStarted );
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        void ProcessCommandL( TInt aCommand );
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    private:
+        CEapMsChapV2UiConnection* iConnection;
+        CEapMsChapV2UiMsChapV2Data* iUiData;
+        CEapMsChapV2UiDataConnection* iDataConnection;
+        CEapMsChapV2SettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CSettingsListBoxItemDrawer* iSettingListItemDrawer;
+        TBool iPassPrompt;
+        CAknNavigationControlContainer* iNaviPane;
+        CAknNavigationDecorator* iNaviDecorator;
+        HBufC* iPreviousText;            
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+    };
+
+
+#endif //_EAPMSCHAPV2UIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-MsChapV2 authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view (EAP-MSCHAPv2)
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_mschapv2_title         "EAP-MSCHAPv2 settings"
+
+//d:UI title for main view (MSCHAPv2)
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_plain_mschapv2_title   "MSCHAPv2 settings"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2Ui.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,137 @@
+/*
+* 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: Implementation of EAP MsChapv2 UI class
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+// INCLUDE FILES
+#include "EapMschapv2Ui.h"
+#include <EapMsChapV2UiConnection.h>
+#include "EapMschapv2UiView.h"
+#include <eapmschapv2ui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eapmschapv2ui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2Ui::CEapMsChapV2Ui
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2Ui::CEapMsChapV2Ui( CEapMsChapV2UiConnection* aConnection ) 
+: iConnection( aConnection )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2Ui::NewL
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2Ui* CEapMsChapV2Ui::NewL( CEapMsChapV2UiConnection* aConnection )
+    {
+    CEapMsChapV2Ui* self = new ( ELeave ) CEapMsChapV2Ui( aConnection );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2Ui::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2Ui::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2Ui::~CEapMsChapV2Ui
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2Ui::~CEapMsChapV2Ui()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2Ui::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapMsChapV2Ui::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapMsChapV2UiDialog* settingsDlg = new( ELeave ) CEapMsChapV2UiDialog(
+                                                    iConnection, buttonId );
+    settingsDlg->ConstructAndRunLD( R_MSCHAPV2_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+
+    return buttonId;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,227 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP MsChapv2 UI settings array
+*
+*/
+
+/*
+* %version: 14 %
+*/
+
+// INCLUDE FILES
+#include "EapMschapv2UiSettingArray.h"
+#include "EapMschapv2Ui.hrh"
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+// CONSTANTS
+
+// String representing an empty password field on the UI
+_LIT( KEmptyPassword, "****" );
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::CEapMsChapV2SettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2SettingItemArray::CEapMsChapV2SettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2SettingItemArray* CEapMsChapV2SettingItemArray::NewL() 
+    {
+    CEapMsChapV2SettingItemArray* self = 
+                                new( ELeave ) CEapMsChapV2SettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); 
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2SettingItemArray::ConstructL() 
+    {
+    iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::~CEapMsChapV2SettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2SettingItemArray::~CEapMsChapV2SettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapMsChapV2SettingItemArray::Item( 
+                                                TEapMschapv2SettingItemId aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+    {
+    if( iArray->At( i )->Identifier() == aId )
+        {
+        return iArray->At( i );
+        }
+    }
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapMsChapV2SettingItemArray::Array()
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2SettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i( 0 ); i < iArray->Count(); ++i )
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2SettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                                 TInt aId, 
+                                                 TInt aTitleResource, 
+                                                 TInt aSettingPageResource,
+                                                 TInt aAssociatedResource, 
+                                                 TInt aOrdinal)
+    {
+    // Create new setting item
+    CAknSettingItem* settingItem = 
+                            new( ELeave ) CAknTextSettingItem( aId,  aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+    
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::AddPasswordItemL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2SettingItemArray::AddPasswordItemL( TDes& aPassword, 
+                                                     TInt aId, 
+                                                     TInt aTitleResource, 
+                                                     TInt aSettingPageResource,
+                                                     TInt aAssociatedResource, 
+                                                     TInt aOrdinal)
+    {
+    // Create new setting item
+    CAknSettingItem* settingItem = new ( ELeave ) CAknPasswordSettingItem( aId,
+                                            CAknPasswordSettingItem::EAlpha,
+                                            aPassword );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KEmptyPassword );
+    
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+   
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }     
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2SettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2SettingItemArray::AddBinarySettingItemL( 
+                                                TInt aSettingPageResourceId,
+                                                TInt aTitleResourceId, 
+                                                TInt aAssociatedResourceId,
+                                                TInt aOrdinal, 
+                                                TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = 
+                new( ELeave ) CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+    iArray->AppendL( settingItem );
+
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,518 @@
+/*
+* 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: Implementation of EAP Mschapv2 UI settings dialog
+*
+*/
+
+/*
+* %version: 29 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include "EapMschapv2UiView.h"
+#include "EapMschapv2Ui.hrh"
+#include <eapmschapv2ui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include "EapMschapv2UiSettingArray.h"
+#include <aknnavide.h>
+#include <aknnotewrappers.h> 
+#include <EapMsChapV2UiConnection.h>
+#include <EapMsChapV2UiDataConnection.h>
+#include <EapMsChapV2UiMsChapV2Data.h>
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+_LIT( KEmptyString, "" );
+
+static const TInt KEapMsChapv2Id = 26;
+
+// MODULE DATA STRUCTURES
+enum 
+    {
+    EUsernameItem=0,
+    EPasswordPromptItem,
+    EPasswordItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::CEapMsChapV2UiDialog
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2UiDialog::CEapMsChapV2UiDialog( 
+                                        CEapMsChapV2UiConnection* aConnection,
+								        TInt& aButtonId )
+: CAknDialog(),
+  iConnection( aConnection ),
+  iUiData( 0 ), 
+  iDataConnection( 0 ), 
+  iSettingArray( 0 ), 
+  iSettingListBox( 0 ), 
+  iSettingListItemDrawer( 0 ), 
+  iPassPrompt( EFalse ),
+  iNaviPane( 0 ), 
+  iNaviDecorator( 0 ), 
+  iPreviousText( 0 ), 
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse )
+    {
+    }
+
+
+// --------------------------------------------------z-------
+// CEapMsChapV2UiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapMsChapV2UiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CEapMsChapV2SettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+
+    FeatureManager::InitializeLibL();
+
+    ConstructL( R_MSCHAPV2_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::~CEapMsChapV2UiDialog
+// -----------------------------------------------------------------------------
+//
+CEapMsChapV2UiDialog::~CEapMsChapV2UiDialog()
+    {
+    if ( iNaviDecorator )
+        {
+        delete iNaviDecorator;
+        iNaviDecorator = NULL;
+        }
+
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        delete iSettingArray;
+        }
+
+    if ( iSettingListBox )
+        {
+        iSettingListBox = 0;
+        }
+
+    if ( iSettingListItemDrawer )
+        {
+        iSettingListItemDrawer = 0;
+        }
+
+    if ( iDataConnection )
+        {
+        iDataConnection->Close();
+        delete iDataConnection;
+        }
+
+    if ( iConnection )
+        {
+        iConnection->Close();
+        }
+
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// ---------------------------------------------------------
+// CEapMsChapV2UiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            OkToExitL( EMschapv2UiCmdChange );         
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }    
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::PreLayoutDynInitL()
+    {
+    ChangeTitleL( ETrue );
+    
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        iNaviPane = static_cast<CAknNavigationControlContainer*>( 
+                                        statusPane->ControlL(naviPaneUid) );
+        // Set empty text to hide tabs.
+        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString );
+        iNaviPane->PushL( *iNaviDecorator );
+        }            
+            
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>(
+                                    ControlOrNull( EMschapv2SettingsListBox) );
+    iSettingListItemDrawer = static_cast<CSettingsListBoxItemDrawer*>( 
+                                    iSettingListBox->ItemDrawer() ); 
+
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                                                                
+    DrawSettingsListL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+
+    CAknSettingItem* item = iSettingArray->Array()->At( index );
+    item->EditItemL( aCalledFromMenu );
+    item->StoreL();
+
+    if ( index == EPasswordPromptItem )
+        {
+        if ( !iPassPrompt )
+            *iUiData->GetPasswordPrompt() = EFalse;
+        else
+            *iUiData->GetPasswordPrompt() = ETrue;
+        }
+
+    DrawNow();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapMsChapV2UiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                if ( iSettingListBox->IsFocused() )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapMsChapV2UiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                iDataConnection->Update();
+                ChangeTitleL( EFalse );
+                ret = ETrue;
+                }
+            break;
+            }
+        
+        case EMschapv2UiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+				{
+    			ShowSettingPageL( EFalse );
+				}
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapMsChapV2UiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+
+    TInt ordinal = 0;
+    iSettingArray->AddTextItemL( iUiData->GetUsername(), 
+                                EMschapv2SettingPageUserName,
+                                R_MSCHAPV2_USERNAME_STRING,
+                                R_MSCHAPV2_USERNAME_PAGE,
+                                NULL,
+                                ordinal++ );
+    
+    if ( *iUiData->GetPasswordPrompt() )
+        {
+        iPassPrompt = ETrue;
+        }
+    else{
+        iPassPrompt = EFalse;
+        }
+
+    iSettingArray->AddBinarySettingItemL( R_MSCHAPV2_DISPLAY_YESNO_PAGE,
+                                          R_MSCHAPV2_PASSPROMPT_STRING, 
+                                          R_MSCHAPV2_YESNO_TEXTS,
+                                          ordinal++,
+                                          iPassPrompt );    
+
+    iSettingArray->AddPasswordItemL( iUiData->GetPassword(), 
+                                     EMschapv2SettingPagePassword,
+                                     R_MSCHAPV2_PASSWORD_STRING,
+                                     R_MSCHAPV2_PASSWORD_PAGE,
+                                     NULL,
+                                     ordinal++ );
+
+
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );    
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+    
+    if ( subPane.IsPresent() && subPane.IsAppOwned())
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( 
+                                        statusPane->ControlL( titlePaneUid ) );
+        if ( aIsStarted )
+            { 
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();    
+
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+
+            // EAGN-6QZD6U
+            // Loadd different titles for plain MSCHAPv2 and EAP-MSCHAPv2
+            TDesC* titleText;
+            if( iConnection->GetBearerEAPType() == KEapMsChapv2Id )
+                {
+                titleText = iEikonEnv->AllocReadResourceLC( 
+                                                R_MSCHAPV2_SETTINGS_TITLE );
+                }
+            else
+                {
+                titleText = iEikonEnv->AllocReadResourceLC( 
+                                                R_PLAIN_MSCHAPV2_SETTINGS_TITLE );
+                }
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );    
+            // pop navidecorator when exiting
+            iNaviPane->Pop( iNaviDecorator );    
+            }    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                             CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aResourceId == R_MSCHAPV2_MENU_PANE )
+        {
+        if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EMschapv2UiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+				{
+    			ShowSettingPageL( ETrue );
+				}
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapMsChapV2UiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapMsChapV2UiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapMsChapV2UiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    if( iConnection->GetBearerEAPType() == KEapMsChapv2Id )
+        {
+        aContext.iContext = KSET_HLP_WLAN_EAP_MSCHAPV2;
+        }
+    else
+        {
+        aContext.iContext = KSET_HLP_WLAN_EAP_PLAIN_MSCHAP;
+        }
+    }
+    
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/data/MsChapv2NotifDlgUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2001-2009 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: Resource file of MsChapv2Notif.
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// RESOURCE IDENTIFIER
+NAME MSCN
+
+
+// INCLUDES
+#include <eikon.rh>
+#include <eikon.rsg>
+
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <apsettings.mbg>
+
+#include <avkon.hrh>
+
+#include <mschapv2notifdlg.loc>
+
+
+// RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE DIALOG r_mschapv2notif_username_password_query
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
+            EEikDialogFlagCbaButtons|EEikDialogFlagNotifyEsc;
+    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtMultilineQuery;
+            id = EMultilineFirstLine;
+            control = AVERELL_DATA_QUERY
+                { 
+                layout = EMultiDataFirstEdwin;
+                label = qtn_wlan_eap_mschapv2_notif_username;
+                control = EDWIN
+                    {
+                    flags = 0;
+                    width = 5;
+                    lines = 1;
+                    maxlength = 255;
+                    default_case = EAknEditorLowerCase;
+                    allowed_case_modes = EAknEditorAllCaseModes;
+                    allowed_input_modes = EAknEditorAlphaInputMode | 
+                                          EAknEditorNumericInputMode |
+                                          EAknEditorPredictiveInputMode;
+                    default_input_mode = EAknEditorPredictiveInputMode;
+                    };
+                };
+            },
+
+        DLG_LINE
+            {
+            type = EAknCtMultilineQuery;
+            id = EMultilineSecondLine;
+            control = AVERELL_DATA_QUERY 
+                { 
+                layout = EMultiDataSecondSecEd;
+                label = qtn_wlan_eap_mschapv2_notif_password;
+                control = SECRETED
+                    {
+                    num_letters=255;
+                    };
+                };
+            }
+        };
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDialog.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of dialog class of MsChapv2NotifDialog.
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+#ifndef __MSCHAPV2DIALOG_H__
+#define __MSCHAPV2DIALOG_H__
+
+// INCLUDES
+#include <eikdialg.h>
+#include <badesca.h>
+#include <e32cons.h>
+#include <AknForm.h>
+#include <AknQueryDialog.h>
+#include "MsChapv2NotifDlgPlugin.h"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CMsChapv2Dialog : public CAknMultiLineDataQueryDialog
+    {
+    protected:
+        CMsChapv2Dialog( CMsChapv2DialogPlugin* aPlugin, 
+                         TBool aUsernameExists );
+        void ConstructL();
+
+    public:
+        static CMsChapv2Dialog* NewL( TDes& aUsername, TDes& aPassword, 
+                                      CMsChapv2DialogPlugin*  aPlugin );
+        ~CMsChapv2Dialog();
+
+    private:
+        virtual TBool OkToExitL( TInt aButtonId );
+        void HandleResourceChange( TInt aType );
+        
+    private:
+        CMsChapv2DialogPlugin* iPlugin;     // Pointer to the notifier plugin
+        TBool iUsernameExists;
+    };
+
+#endif  // __MSCHAPV2DIALOG_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of MsChapv2Notif Dialog Plugins
+*
+*/
+
+/*
+* %version: 11.1.7 %
+*/
+
+#ifndef __MSCHAPV2NOTIFDLGPLUGIN_H__
+#define __MSCHAPV2NOTIFDLGPLUGIN_H__
+
+
+// INCLUDES
+#include <eikdialg.h>
+#include <e32std.h>
+#include <e32base.h>
+#include <cdblen.h>
+#include <eiknotapi.h>
+#include <AknForm.h>
+#include <AknQueryDialog.h>
+#include <aknPopup.h>
+
+
+// CONSTANTS
+
+// UIDs for dialogs
+
+// ID of MsChapv2 username & password dialog
+const TUid KUidMsChapv2Dialog   = { 0x101f8e69 };  
+
+// Channel used for screen 
+const TUid KScreenOutputChannel = { 0x00000123 };  
+
+// Number of dialogs in this plugin
+const TInt KPluginGranularity   = 1;
+
+// ROM folder
+_LIT( KDriveZ, "z:" );
+
+// RSC file name.
+_LIT( KResourceFileName, "MsChapv2NotifDlgUi.rsc" );
+
+
+// GLOBAL FUNCTIONS
+
+/**
+* Array of connection dialog plugins.
+* @return A CArray of MEikSrvNotifierBase2 based classes.
+*/
+IMPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray();
+
+
+// CLASS DECLARATION
+
+struct TEapMsChapv2UsernamePasswordInfo
+    {
+    TBool iIsIdentityQuery;
+    TBool iPasswordPromptEnabled;
+    TBuf16<256> iUsername;
+    TBuf16<256> iPassword;
+    TBuf16<256> iOldPassword;
+    };
+
+class CMsChapv2Dialog;
+
+/**
+ * MsChapv2 dialog plugin class
+ */
+class CMsChapv2DialogPlugin : public CBase,
+                              public MEikSrvNotifierBase2
+    {
+    public:
+        static CMsChapv2DialogPlugin* NewL();
+
+        ~CMsChapv2DialogPlugin();
+
+        TNotifierInfo RegisterL();
+        TNotifierInfo Info() const;
+
+        TPtrC8 StartL( const TDesC8& aBuffer );
+        void StartL( const TDesC8& aBuffer, TInt aReplySlot,
+                     const RMessagePtr2& aMessage );
+
+        TPtrC8 UpdateL( const TDesC8& aBuffer );
+        void Cancel();
+        void CompleteL( TInt aStatus );
+        void Release();
+
+        inline TDes& GetUsername();
+        inline TDes& GetPassword();
+        inline void SetOldPassword( const TDesC& aOldPwd );
+
+    protected:
+        CMsChapv2DialogPlugin();
+
+        void ConstructL();
+
+    protected:
+        TNotifierInfo iInfo;        // Notifier info
+        RMessagePtr2 iMessage;      // Message
+        TInt iReplySlot;            // Reply slot
+        TBool iCancelled;           // ETrue if dialog cancelled
+
+    private:
+		CMsChapv2Dialog* iMSCHAPV2Dialog;
+        TEapMsChapv2UsernamePasswordInfo* iDataPtr;
+        TPckg<TEapMsChapv2UsernamePasswordInfo>* iDataPckgPtr;
+        TInt iResource;             // Resource
+    };
+
+// Include inline functions
+#include "MsChapv2NotifDlgPlugin.inl"
+
+
+#endif  // __MSCHAPV2NOTIFDLGPLUGIN_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2001-2009 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: Inline functions of MsChapv2Notif Dialog Plugins
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef __MSCHAPV2NOTIFDLGPLUGIN_INL__
+#define __MSCHAPV2NOTIFDLGPLUGIN_INL__
+
+
+// ---------------------------------------------------------
+// CMsChapv2DialogPlugin::GetUsername
+// ---------------------------------------------------------
+//
+inline TDes& CMsChapv2DialogPlugin::GetUsername() 
+    { 
+    return iDataPtr->iUsername;
+    }
+
+
+// ---------------------------------------------------------
+// CMsChapv2DialogPlugin::GetPassword
+// ---------------------------------------------------------
+//
+inline TDes& CMsChapv2DialogPlugin::GetPassword() 
+    { 
+    return iDataPtr->iPassword;
+    }
+
+
+// ---------------------------------------------------------
+// CMsChapv2DialogPlugin::SetOldPassword
+// ---------------------------------------------------------
+//
+inline void CMsChapv2DialogPlugin::SetOldPassword( const TDesC& aOldPwd ) 
+    { 
+    iDataPtr->iOldPassword = aOldPwd; 
+    }
+
+#endif  // __MSCHAPV2NOTIFDLGPLUGIN_INL__
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-MsChapV2 Notifier
+*
+*/
+
+/*
+* %version: %
+*/
+
+//  LOCALISATION STRINGS
+
+
+//d:Username query string.
+//l:popup_query_data_code_window
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_mschapv2_notif_username    "EAP-MSCHAPv2 user name:"
+
+
+//d:Password query string.
+//l:popup_query_data_code_window/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_mschapv2_notif_password    "Password:"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDialog.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,128 @@
+/*
+* 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: Implementation of dialog class of MsChapv2NotifDlg
+*
+*/
+
+/*
+* %version: 18 %
+*/
+
+// INCLUDE FILES
+#include <mschapv2notifdlgui.rsg>
+#include "MsChapv2NotifDlgPlugin.h"
+#include "MsChapv2NotifDialog.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMsChapv2Dialog::CMsChapv2Dialog
+// -----------------------------------------------------------------------------
+//
+CMsChapv2Dialog::CMsChapv2Dialog( CMsChapv2DialogPlugin* aPlugin, TBool aUsernameExists )
+: CAknMultiLineDataQueryDialog( ENoTone ), 
+  iPlugin( aPlugin ),
+  iUsernameExists( aUsernameExists )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2Dialog::NewL
+// -----------------------------------------------------------------------------
+//
+CMsChapv2Dialog* CMsChapv2Dialog::NewL( TDes& aUsername, TDes& aPassword,
+                                        CMsChapv2DialogPlugin* aPlugin )
+    {
+    CMsChapv2Dialog* self = new( ELeave ) CMsChapv2Dialog( aPlugin, aUsername.Length() > 0 );
+    CleanupStack::PushL( self );
+    if ( aUsername.Length() )
+        {
+        self->SetDataL( aUsername, aPassword );
+        }
+
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2Dialog::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2Dialog::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2Dialog::~CMsChapv2Dialog
+// -----------------------------------------------------------------------------
+//
+CMsChapv2Dialog::~CMsChapv2Dialog()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2Dialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CMsChapv2Dialog::OkToExitL( TInt aButtonId )
+    {
+    if ( CAknMultiLineDataQueryDialog::OkToExitL( aButtonId ) )
+        {
+        if ( aButtonId == EAknSoftkeyOk )
+            {
+            CAknMultilineQueryControl* firstControl = FirstControl();
+            firstControl->GetText( iPlugin->GetUsername() );
+
+            CAknMultilineQueryControl* secondControl = SecondControl();
+            secondControl->GetText( iPlugin->GetPassword() );
+        
+            _LIT( KEmpty, "" );     // Empty string
+
+            // Empty when we are not changing password
+            iPlugin->SetOldPassword( KEmpty );
+                  
+            iPlugin->CompleteL( KErrNone );
+            return( ETrue );
+            }
+        else
+            {
+            iPlugin->CompleteL( KErrCancel );
+            return( ETrue );
+            }
+        }
+
+    return( EFalse );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2Dialog::HandleResourceChange
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2Dialog::HandleResourceChange( TInt aType )
+    {
+    CAknMultiLineDataQueryDialog::HandleResourceChange( aType );
+
+    if ( aType == KAknsMessageSkinChange )
+        {
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDlgPlugin.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,313 @@
+/*
+* 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: Implementation of MsChapv2NotifDlg dialog plugin.
+*
+*/
+
+/*
+* %version: 12.1.8 %
+*/
+
+// INCLUDE FILES
+#include <coemain.h>
+#include <eikenv.h>
+#include <bautils.h>
+#include <data_caging_path_literals.hrh>
+#include <mschapv2notifdlgui.rsg>
+
+#include <e32property.h>		// For RProperty 
+#include <UikonInternalPSKeys.h> // For KPSUidUikon and KUikGlobalNotesAllowed.
+
+#include "MsChapv2NotifDlgPlugin.h"
+#include "MsChapv2NotifDialog.h"
+
+
+
+// ================= OTHER EXPORTED FUNCTIONS ==============
+
+// -----------------------------------------------------------------------------
+// CreateNotifiersL
+// -----------------------------------------------------------------------------
+//
+LOCAL_C void CreateNotifiersL( 
+                          CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers )
+    {
+    MEikSrvNotifierBase2 *serNotify;
+    serNotify = CMsChapv2DialogPlugin::NewL();
+    CleanupStack::PushL( serNotify );
+    aNotifiers->AppendL( serNotify );
+    CleanupStack::Pop( serNotify );
+    }
+
+
+// -----------------------------------------------------------------------------
+// NotifierArray
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray()
+    {
+    // NotifierArray() can't leave
+    CArrayPtrFlat< MEikSrvNotifierBase2 >* array = 
+                new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity );
+
+    if ( array )
+        {
+        TRAPD( err, CreateNotifiersL( array ) );
+        
+        if( err )
+            {
+            TInt count = array->Count();
+
+            while( count-- )
+                {
+                ( *array )[ count ]->Release();
+                }
+
+            delete array;
+            array = NULL;
+            }
+        }
+
+    return( array );
+    }
+
+
+//////////////////////////////////////////////////////////////
+// MsChapv2 dialog plugin
+/////////////////////////////////////////////////////////////
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::CMsChapv2DialogPlugin
+// -----------------------------------------------------------------------------
+//
+CMsChapv2DialogPlugin::CMsChapv2DialogPlugin()
+: iCancelled( EFalse )
+    {
+    iManager = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::~CMsChapv2DialogPlugin
+// -----------------------------------------------------------------------------
+//
+CMsChapv2DialogPlugin::~CMsChapv2DialogPlugin()
+    {
+    CCoeEnv::Static()->DeleteResourceFile( iResource );
+
+    if ( !iCancelled )
+        {
+        delete iMSCHAPV2Dialog;
+        }
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::RegisterL
+// -----------------------------------------------------------------------------
+//
+CMsChapv2DialogPlugin::TNotifierInfo CMsChapv2DialogPlugin::RegisterL()
+    {
+    iInfo.iUid      = KUidMsChapv2Dialog;
+    iInfo.iPriority = ENotifierPriorityHigh;
+    iInfo.iChannel  = KUidMsChapv2Dialog;
+    return iInfo;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::NewL
+// -----------------------------------------------------------------------------
+//
+CMsChapv2DialogPlugin* CMsChapv2DialogPlugin::NewL()
+    {
+    CMsChapv2DialogPlugin* self = new( ELeave ) CMsChapv2DialogPlugin();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2DialogPlugin::ConstructL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );   
+    fileName.Append( KResourceFileName );
+
+    BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName );
+    iResource = CCoeEnv::Static()->AddResourceFileL( fileName );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::StartL
+// -----------------------------------------------------------------------------
+//
+TPtrC8 CMsChapv2DialogPlugin::StartL( const TDesC8& /*aBuffer*/ )
+    {
+    return KNullDesC8().Ptr();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::StartL
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2DialogPlugin::StartL( const TDesC8& aBuffer, 
+                                    TInt aReplySlot, 
+                                    const RMessagePtr2& aMessage )
+    {
+    iCancelled = EFalse;
+    iReplySlot = aReplySlot;
+    iMessage   = aMessage;
+     
+    // This object gets constructed only once where as this gets called many 
+    // times, if user is not answering the query. 
+    // So initialize everything here itself.
+    iMSCHAPV2Dialog = NULL;
+    iDataPtr = NULL;
+    iDataPckgPtr = NULL;
+    
+    // We are about to display the password prompt.
+    // Since this part of the code can be executed during the bootup, check if 
+    // the UI has really started up to display notes/dialogs.
+    TInt notesAllowed = 0;
+    TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, 
+                                 notesAllowed );
+
+    // The above call can return error. Don't care the error. What we care is 
+    // if notesAllowed has turned to 1 from 0.
+    if ( notesAllowed )
+        {    
+        iDataPtr = new( ELeave ) TEapMsChapv2UsernamePasswordInfo;
+        iDataPtr->iIsIdentityQuery = ETrue;
+        iDataPtr->iPasswordPromptEnabled = ETrue;    
+        iDataPckgPtr = new( ELeave ) TPckg<TEapMsChapv2UsernamePasswordInfo>(
+                                                                *iDataPtr );
+        iDataPckgPtr->Copy(aBuffer);    
+    
+        iMSCHAPV2Dialog = CMsChapv2Dialog::NewL( iDataPtr->iUsername, 
+                                                 iDataPtr->iPassword, this );
+        iMSCHAPV2Dialog->ExecuteLD( R_MSCHAPV2NOTIF_USERNAME_PASSWORD_QUERY );
+        }
+
+    // In case if the notes are not allowed, this message gets completed when
+    // EAPOL time out occurs and a subsequent call to cancel from 
+    // eap_am_type_mschapv2_symbian_c::DoCancel().
+    }
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::UpdateL
+// -----------------------------------------------------------------------------
+//
+TPtrC8 CMsChapv2DialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ )
+    {
+    return KNullDesC8().Ptr();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::Cancel
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2DialogPlugin::Cancel()
+    {
+    if ( !iCancelled )
+        {
+        iCancelled = ETrue;
+        if ( !iMessage.IsNull() )
+            {
+            iMessage.Complete( KErrCancel );
+            }
+
+        if ( iMSCHAPV2Dialog )
+            {
+            delete iMSCHAPV2Dialog;
+            iMSCHAPV2Dialog = NULL;
+            }
+        }
+
+    if ( iDataPtr )
+        {
+        delete iDataPtr;
+        iDataPtr = NULL;
+        }
+
+    if ( iDataPckgPtr )
+        {
+        delete iDataPckgPtr;
+        iDataPckgPtr = NULL;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::CompleteL
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2DialogPlugin::CompleteL( TInt aStatus )
+    { 
+    if ( aStatus == KErrNone && !iMessage.IsNull() )
+        {
+        iMessage.WriteL( iReplySlot, *iDataPckgPtr );
+        }
+    iCancelled = ETrue;
+    if ( !iMessage.IsNull() )
+        {
+        iMessage.Complete( aStatus );
+        }
+
+    if ( iDataPtr ) 
+        {
+        delete iDataPtr;
+        iDataPtr = NULL;		
+        }
+
+    if ( iDataPckgPtr )
+        {
+        delete iDataPckgPtr;
+        iDataPckgPtr = NULL;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::Release
+// -----------------------------------------------------------------------------
+//
+void CMsChapv2DialogPlugin::Release()
+    {
+    delete this;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMsChapv2DialogPlugin::Info
+// -----------------------------------------------------------------------------
+//
+CMsChapv2DialogPlugin::TNotifierInfo CMsChapv2DialogPlugin::Info() const
+    {
+    return iInfo;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/data/EapPeapUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,557 @@
+/*
+* Copyright (c) 2001-2009 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: EAP PEAP UI resource file
+*
+*/
+
+/*
+* %version: 18 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME EPEP
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapPeapUi.hrh"   // Enums for these resources
+#include <eappeapui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf=""; }
+
+
+RESOURCE CBA r_peap_ui_softkeys_options_back_edit
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EPeapUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+    
+
+RESOURCE CBA r_peap_ui_softkeys_options_back_configure
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EPeapUiCmdConfigure; txt = qtn_msk_wlan_eap_configure; }
+        };
+    }
+
+
+RESOURCE CBA r_peap_ui_softkeys_options_back_enable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EPeapUiCmdEnable; txt = qtn_msk_wlan_eap_cs_enable; }
+        };
+    }
+
+
+RESOURCE CBA r_peap_ui_softkeys_options_back_disable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EPeapUiCmdDisable; txt = qtn_msk_wlan_eap_cs_disable; }
+        };
+    }
+    
+
+RESOURCE DIALOG r_peap_setting_dialog
+    {
+    flags = EEikDialogFlagFillAppClientRect | 
+            EEikDialogFlagCbaButtons | 
+            EEikDialogFlagWait | 
+            EEikDialogFlagNotifyEsc;
+    buttons = r_peap_ui_softkeys_options_back_edit;
+    pages = r_peap_pages;
+    }
+
+
+RESOURCE ARRAY r_peap_pages
+    {
+    items=
+        {
+        PAGE 
+            {
+            id = KEAPPEAPSETTINGSPAGE;
+            text = qtn_wlan_eap_tab_settings;
+            lines = r_peap_tab_settings; 
+            },
+
+        PAGE 
+            {
+            id = KEAPPEAPEAPPAGE;
+            text = qtn_wlan_eap_tab_eap_types; 
+            lines = r_peap_tab_eap_types; 
+            },
+
+        PAGE 
+            {
+            id = KEAPPEAPCIPHERPAGE;
+            text = qtn_wlan_eap_tab_cipher_suites; 
+            lines = r_peap_tab_cipher_suites; 
+            }
+        };
+    }
+
+
+// ******* PAGES ************
+// ******* 1st page *********
+RESOURCE ARRAY r_peap_tab_settings
+    {
+    items =
+         {
+            DLG_LINE
+                {
+                id = EPeapSettingsListbox;
+                type = EAknCtSettingListBox;
+                control = LISTBOX 
+                    {
+                    flags = EAknListBoxMenuList;
+                    };
+                }
+          };
+    }
+
+
+// ******* 2nd page *********
+RESOURCE ARRAY r_peap_tab_eap_types
+    {
+    items =
+        {
+        DLG_LINE
+            {
+            id = EPeapSettingsEapTypeListbox;
+            type = EAknCtSingleNumberListBox;
+            control = LISTBOX 
+                {
+                flags = EAknGenericListBoxFlags;
+                array_id = r_peap_eap_types_array;
+                };
+            }
+        };
+    }
+
+
+// ******* 3rd page *********
+RESOURCE ARRAY r_peap_tab_cipher_suites
+    {
+    items =
+        {
+        DLG_LINE
+            {
+            id = EPeapSettingsCipherSuiteListbox;
+            type = EAknCtSingleNumberListBox;
+            control = LISTBOX 
+                {
+                flags = EAknGenericListBoxFlags;
+                };
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_peap_eap_types_array
+    {
+    items =
+        {
+        LBUF { txt = "1\tEAP-TLS"; },
+        LBUF { txt = "2\tEAP-MSCHAPv2"; },
+        LBUF { txt = "3\tEAP-SIM"; },
+        LBUF { txt = "4\tEAP-GTC"; }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_peap_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label= qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_peap_setting_edwin;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_peap_realm_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm;
+    type = EEikCtEdwin;
+    editor_resource_id = r_peap_setting_edwin;
+    }
+
+
+RESOURCE EDWIN r_peap_setting_edwin 
+    {
+    flags = 0;
+    width = 9;
+    lines = 5;
+    maxlength = 255;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    type = EAknSetListBox;
+    editor_resource_id= r_setting_listbox;
+    }
+
+
+RESOURCE LISTBOX r_setting_listbox 
+    {
+    flags = EEikListBoxMultipleSelection;
+    }
+
+
+
+RESOURCE MENU_BAR r_peap_menubar
+    {
+    titles =
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_peap_menu_pane; 
+            txt = ""; 
+            }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_peap_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM 
+            { 
+            command = EPeapUiCmdConfigure;
+            txt = qtn_wlan_options_eap_plugin_configure; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EPeapUiCmdEnable;
+            txt = qtn_wlan_options_eap_plugin_enable; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EPeapUiCmdDisable;
+            txt = qtn_wlan_options_eap_plugin_disable; 
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EPeapUiCmdMoveUp;
+            txt = qtn_wlan_options_eap_plugin_priority_up;
+            flags = EEikMenuItemSpecific; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EPeapUiCmdMoveDown;
+            txt = qtn_wlan_options_eap_plugin_priority_down; 
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EPeapUiCmdChange;
+            txt = qtn_options_change; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp;
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit;
+            txt = qtn_options_exit; 
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_peap_settings_title        { buf = qtn_wlan_eap_peap_title; }
+RESOURCE TBUF r_peap_username_inusestring      \
+                                  { buf = qtn_wlan_eap_sett_username_inuse; }
+RESOURCE TBUF r_peap_username_inusestring_auto \
+                        { buf = qtn_wlan_eap_sett_username_inuse_from_cert; }
+RESOURCE TBUF r_peap_username_inusestring_conf \
+                             { buf = qtn_wlan_eap_sett_username_inuse_user; }
+RESOURCE TBUF r_peap_username_string    { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_peap_realm_inusestring         \
+                                     { buf = qtn_wlan_eap_sett_realm_inuse; }
+RESOURCE TBUF r_peap_realm_inusestring_auto    \
+                           { buf = qtn_wlan_eap_sett_realm_inuse_from_cert; }
+RESOURCE TBUF r_peap_realm_inusestring_conf    \
+                                { buf = qtn_wlan_eap_sett_realm_inuse_user; }
+RESOURCE TBUF r_peap_realm_string          { buf = qtn_wlan_eap_sett_realm; }
+RESOURCE TBUF r_peap_user_cert_string          \
+                                { buf = qtn_wlan_eap_sett_user_certificate; }
+RESOURCE TBUF r_peap_ca_cert_string            \
+                                  { buf = qtn_wlan_eap_sett_ca_certificate; }
+RESOURCE TBUF r_peap_not_defined     { buf = qtn_wlan_eap_cert_not_defined; }
+RESOURCE TBUF r_peap_none_selection            \
+                                  { buf = qtn_wlan_eap_cert_none_selection; }
+
+RESOURCE TBUF r_peap_suite_rsarc4md5 { buf = qtn_wlan_eap_cipher_rsarc4md5; }
+RESOURCE TBUF r_peap_suite_rsarc4sha { buf = qtn_wlan_eap_cipher_rsarc4sha; }
+RESOURCE TBUF r_peap_suite_rsa3dessha          \
+                                    { buf = qtn_wlan_eap_cipher_rsa3dessha; }
+RESOURCE TBUF r_peap_suite_dhersa3dessha       \
+                                 { buf = qtn_wlan_eap_cipher_dhersa3dessha; }
+RESOURCE TBUF r_peap_suite_dhedss3dessha       \
+                                 { buf = qtn_wlan_eap_cipher_dhedss3dessha; }
+RESOURCE TBUF r_peap_suite_rsaaessha { buf = qtn_wlan_eap_cipher_rsaaessha; }
+RESOURCE TBUF r_peap_suite_dhersaaessha        \
+                                  { buf = qtn_wlan_eap_cipher_dhersaaessha; }
+RESOURCE TBUF r_peap_suite_dhedssaessha        \
+                                  { buf = qtn_wlan_eap_cipher_dhedssaessha; }
+
+RESOURCE TBUF r_peap_allow_peapv0   { buf = qtn_wlan_eap_sett_allow_peapv0; }
+RESOURCE TBUF r_peap_allow_peapv1   { buf = qtn_wlan_eap_sett_allow_peapv1; }
+RESOURCE TBUF r_peap_allow_peapv2   { buf = qtn_wlan_eap_sett_allow_peapv2; }
+RESOURCE TBUF r_peap_allow_yes    { buf = qtn_wlan_eap_sett_allow_peap_yes; }
+RESOURCE TBUF r_peap_allow_no      { buf = qtn_wlan_eap_sett_allow_peap_no; }
+RESOURCE TBUF r_peap_info_cannot_disable_all_eap_plugins \
+                      { buf = qtn_wlan_info_cannot_disable_all_eap_plugins; }
+RESOURCE TBUF r_peap_tls_privacy_string
+                                  { buf = qtn_wlan_eap_sett_tls_privacy; }
+
+
+// ********************************************
+// USERNAME IN USE AND REALM POPUP DEFINITION
+// ********************************************
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_username_autouseconf_texts
+    {
+    setting_texts_resource = r_peap_username_autouseconf_texts_resource;
+    popped_up_texts_resource = r_peap_username_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_peap_username_autouseconf_texts_resource
+    {
+    items =
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_username_inuse_from_cert; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_username_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_peap_username_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_cert; },
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_realm_autouseconf_texts
+    {
+    setting_texts_resource = r_peap_realm_autouseconf_texts_resource;
+    popped_up_texts_resource = r_peap_realm_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_peap_realm_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_realm_inuse_from_cert; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_realm_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_peap_realm_automatic_useconfigured_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_cert; },
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; }
+        };
+    }
+
+RESOURCE ARRAY r_peap_tls_privacy_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_tls_privacy_off; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_tls_privacy_on; 
+            }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_tls_privacy_autouseconf_texts
+    {
+    setting_texts_resource = r_peap_tls_privacy_autouseconf_texts_resource;
+    popped_up_texts_resource = r_peap_tls_privacy_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_peap_tls_privacy_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_tls_privacy_off; },
+        LBUF { txt = qtn_wlan_eap_sett_tls_privacy_on; }
+        };
+    }
+
+RESOURCE AVKON_SETTING_PAGE r_peap_display_autouseconf_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm_inuse;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_peap_setting_enumerated_popup;
+    }
+
+
+RESOURCE POPUP_SETTING_LIST r_peap_setting_enumerated_popup
+    {
+    flags = EAknPopupSettingListFlagInitialised;
+    }
+
+
+// ********************************************
+// ALLOW PEAP VERSIONS POPUP DEFINITION
+// ********************************************
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_allow_version_texts
+    {
+    setting_texts_resource = r_peap_allow_version_texts_resource;
+    popped_up_texts_resource = r_peap_allow_version_array;
+    }
+
+
+RESOURCE ARRAY r_peap_allow_version_texts_resource
+    {
+    items =
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_allow_peap_no; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_allow_peap_yes; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_peap_allow_version_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_allow_peap_no; },
+        LBUF { txt = qtn_wlan_eap_sett_allow_peap_yes; }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_peap_allow_version_0
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_allow_peapv0;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_peap_setting_enumerated_popup;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_peap_allow_version_1
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_allow_peapv1;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_peap_setting_enumerated_popup;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_peap_allow_version_2
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_allow_peapv2;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_peap_setting_enumerated_popup;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUi.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2001-2009 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: EAP PEAP UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPPEAPUI_HRH_
+#define _EAPPEAPUI_HRH_
+
+enum TEapPeapUiMenuCommands
+    {
+    EPeapUiCmdUndefined = 6000,
+    EPeapUiCmdChange,
+    EPeapUiCmdEnable,
+    EPeapUiCmdDisable,
+    EPeapUiCmdConfigure,
+	EPeapUiCmdMoveUp,
+    EPeapUiCmdMoveDown,
+	EPeapUiCmdViewDetails
+    };
+
+enum TEapPeapUiNotes
+    {
+    TEapPeapUiGeneralError = 6100
+    };
+
+enum TEapPeapUiLines
+	{
+	EPeapSettingsListBox = 6200
+	};
+
+enum TEapPeapUiSettingIds
+	{
+	EPeapSettingUserCert=6300,
+	EPeapSettingCaCert,
+	EPeapSettingUsernameInUseId,
+	EPeapSettingUsernameId,
+	EPeapSettingRealmInUseId,
+	EPeapSettingRealmId,
+	EPeapSettingTlsPrivacyId
+	};
+
+enum TEapPeapUiSettingPageIds
+	{
+	EPeapSettingPageUserCertificates=6400,
+	EPeapSettingPageCaCertificates,
+	EPeapSettingPageCipherSuites,
+	EPeapSettingPageEapTypes,
+	EPeapSettingPageSettings
+	};
+
+enum TEapPeapUiListBoxes
+	{
+	EPeapSettingsUserCertListbox=6500,
+	EPeapSettingsCaCertListbox,
+	EPeapSettingsCipherSuiteListbox,
+	EPeapSettingsEapTypeListbox,
+	EPeapSettingsListbox
+	};
+
+enum TEapPeapSettingItems
+	{
+	EPeapTabSheetSettingsUsernameInUse=6600,
+	EPeapTabSheetSettingsUsername,
+	EPeapTabSheetSettingsRealmInUse,
+	EPeapTabSheetSettingsRealm
+	};
+	
+// Constants that are used as page ids
+// TEapPeapUiSettingPageIds does not work for this purpose
+#define KEAPPEAPSETTINGSPAGE 1
+#define KEAPPEAPEAPPAGE      2
+#define KEAPPEAPCIPHERPAGE   3
+
+
+
+#endif  //_EAPPEAPUI_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP PEAP UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPPEAPUISETTINGARRAY_H_
+#define _EAPPEAPUISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapPeapUi.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapPeapSettingItemArray : public CBase
+    {
+    public:
+        static CEapPeapSettingItemArray* NewL();
+        virtual ~CEapPeapSettingItemArray();
+        CAknSettingItem* Item( TEapPeapUiSettingPageIds aItem );
+        CAknSettingItemArray* Array();
+        void StoreSettingsL();
+        void AddTextItemL( TDes& aBuffer, 
+                           TInt aId, 
+                           TInt aTitleResource, 
+                           TInt aSettingPageResource, 
+                           TInt aAssociatedResource, 
+                           TInt aOrdinal );
+        void AddBinarySettingItemL( TInt aSettingPageResourceId,
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue);
+
+    protected:
+        CEapPeapSettingItemArray();
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPPEAPUISETTINGARRAY_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP PEAP UI setting dialog
+*
+*/
+
+/*
+* %version: 21 %
+*/
+
+#ifndef _EAPPEAPUIVIEW_H_
+#define _EAPPEAPUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>        // AVKON components
+#include <eikspane.h> // For changing status pane 
+#include <akntitle.h>
+#include <aknsettingitemlist.h>
+#include <aknlists.h>
+#include <aknselectionlist.h>
+#include <eiklbo.h>
+#include "EapPeapUi.hrh"
+#include <EapTlsPeapUiCipherSuite.h>
+#include <EapTlsPeapUiEapType.h>
+#include <EapTlsPeapUiCertificate.h>
+#include <AbsEapTlsPeapUiCertificates.h>
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsPeapUiDataConnection.h>
+#include <EapTlsPeapUiTlsPeapData.h>
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapPeapSettingItemArray;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapPeapUiDialog : public CAknDialog, 
+                         public MEapTlsPeapUiCertificates,
+                         public MEikListBoxObserver
+    {
+    public:
+        CEapPeapUiDialog( CEapTlsPeapUiConnection* aConnection, 
+                          TIndexType aIndexType, TInt aIndex, 
+                          TInt& aButtonId );
+
+        ~CEapPeapUiDialog();
+
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+        /**
+        * Chain into key event handler.
+        * @param aKeyEvent The event.
+        * @param aType The type of key event.
+        * @return Was the key consumed or not.
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+                                          TEventCode aType);
+                                          
+        
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
+        
+    
+    public: // From CEikDialog
+            
+        /**
+        * @see CEikDialog
+        */
+        void HandleDialogPageEventL( TInt aEventID );
+                                          
+
+    protected:
+        void PreLayoutDynInitL();
+        void PostLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+        void ProcessCommandL( TInt aCommand );
+        void PageChangedL( TInt aPageId );
+
+    private:
+        void ChangeTitleL( TBool aIsStarted );
+        void DrawSettingsListL();
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        void MoveEapTypeL( TInt aOldPos, TInt aNewPos );
+        void DrawEapListL(TInt aWantedIndex);
+        TInt ShowRadioButtonSettingPageL( TInt aTitle, CDesCArrayFlat* aValues,
+                                          TInt aCurrentItem );
+        void DrawCipherSuitesL();
+        void CompleteReadCertificates( const TInt aResult );
+        void CompleteUiConstructionL();
+        TInt CheckActiveUserCertificate();
+        TInt CheckActiveCaCertificate();
+        void UserCertificateHouseKeeping( TInt aSelected );
+        void CaCertificateHouseKeeping( TInt aSelected );
+        void CreateEapTypeDataBaseL();    
+        void SetCipherIconsL();
+        void SetEapIconsL();
+        TUint GetEnabledEapTypeCount();
+        void GetHelpContext(TCoeHelpContext& aContext) const;
+            
+        void GetFullCertLabelL( const SCertEntry& aCert, TDes& aFullLabel );
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+        void ConfigureL( TBool aQuick );
+        
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        CEapTlsPeapUiDataConnection* iDataConnection;
+        CEapTlsPeapUiCipherSuites* iCipherSuites;
+        CEapTlsPeapUiCertificates* iCertificates;
+        
+        CEapTlsPeapUiTlsPeapData* iUiData;
+        CArrayFixFlat<TEapTlsPeapUiCipherSuite>* iUiCipherSuites;
+        CArrayFixFlat<TEapTlsPeapUiCertificate>* iUiUserCertificates;
+        CArrayFixFlat<TEapTlsPeapUiCertificate>* iUiCACertificates;
+        CArrayFixFlat<TEapTlsPeapUiEapType>* iUiEapTypes;
+                                
+        CAknSingleNumberStyleListBox* iUserCertificateListBox;
+        CAknSingleNumberStyleListBox* iCaCertificateListBox;
+        CAknSingleNumberStyleListBox* iCipherSuiteListBox;
+        CAknSingleNumberStyleListBox* iEapTypesListBox;
+        CEapPeapSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CDesCArray* iEapTypeViewArray;
+        CDesCArray* iCipherSuitesViewArray;
+        CEapTlsPeapUiEapTypes* iEapTypes;
+        TIndexType iIndexType; 
+        TInt iIndex;
+        HBufC* iPreviousText;
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+		
+		// For exiting dialog
+		TBool iExiting;
+    };
+
+
+#endif // _EAPPEAPUIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/loc/eappeapui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-PEAP authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_peap_title             "EAP-PEAP settings"
+
+
+//d:Setting list item, static part. User is able to define the settings for 
+//d:the usage of different PEAP versions in WLAN authentication.
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_allow_peapv0      "Allow PEAPv0"
+
+
+//d:Setting list item, static part. User is able to define the settings for 
+//d:the usage of different PEAP versions in WLAN authentication.
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_allow_peapv1      "Allow PEAPv1"
+
+
+//d:Setting list item, static part. User is able to define the settings for 
+//d:the usage of different PEAP versions in WLAN authentication.
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_allow_peapv2      "Allow PEAPv2"
+
+
+//d:Setting list item, dynamic part. Displayed below one of the texts 
+//d:"Allow PEAPv0" (qtn_wlan_eap_sett_allow_peapv0), "Allow PEAPv1" 
+//d:(qtn_wlan_eap_sett_allow_peapv1) or "Allow PEAPv2" 
+//d:(qtn_wlan_eap_sett_allow_peapv2). 
+//d:Allows the usage of a different version of PEAP.
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_allow_peap_yes    "Yes"
+
+
+//d:Setting list item, dynamic part. Displayed below one of the texts 
+//d:"Allow PEAPv0" (qtn_wlan_eap_sett_allow_peapv0), "Allow PEAPv1" 
+//d:(qtn_wlan_eap_sett_allow_peapv1) or "Allow PEAPv2" 
+//d:(qtn_wlan_eap_sett_allow_peapv2). 
+//d: Denies the usage of a different version of PEAP.
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_allow_peap_no     "No"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUi.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,145 @@
+/*
+* 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: Implementation of EAP PEAP UI class
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// INCLUDE FILES
+#include "EapPeapUi.h"
+#include "EapTlsPeapUiConnection.h"
+#include "EapPeapUiView.h"
+#include <eappeapui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eappeapui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapPeapUi::CEapPeapUi
+// -----------------------------------------------------------------------------
+//
+CEapPeapUi::CEapPeapUi( CEapTlsPeapUiConnection* aConnection, 
+                        TIndexType aIndexType, 
+                        TInt aIndex ) 
+: iConnection( aConnection ), 
+  iIndexType( aIndexType ), 
+  iIndex( aIndex ) 
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUi::NewL
+// -----------------------------------------------------------------------------
+//
+CEapPeapUi* CEapPeapUi::NewL( CEapTlsPeapUiConnection* aConnection, 
+                              TIndexType aIndexType, 
+                              TInt aIndex )
+    {
+    CEapPeapUi* self = 
+                new( ELeave ) CEapPeapUi( aConnection, aIndexType, aIndex );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUi::~CEapPeapUi
+// -----------------------------------------------------------------------------
+//
+CEapPeapUi::~CEapPeapUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapPeapUi::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapPeapUiDialog* settingsDlg = new( ELeave ) CEapPeapUiDialog( 
+                                iConnection, iIndexType, iIndex, buttonId );
+    settingsDlg->ConstructAndRunLD( R_PEAP_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP PEAP UI settings array
+*
+*/
+
+/*
+* %version: 13 %
+*/
+
+// INCLUDE FILES
+#include "EapPeapUiSettingArray.h"
+#include "EapPeapUi.hrh"
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::CEapPeapSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapPeapSettingItemArray::CEapPeapSettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapPeapSettingItemArray* CEapPeapSettingItemArray::NewL() 
+    {
+    CEapPeapSettingItemArray* self = new( ELeave ) CEapPeapSettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::~CEapPeapSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapPeapSettingItemArray::~CEapPeapSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapPeapSettingItemArray::Item( TEapPeapUiSettingPageIds aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapPeapSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i( 0 ); i < iArray->Count(); ++i ) 
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapSettingItemArray::ConstructL() 
+    {
+    iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                             TInt aId, 
+                                             TInt aTitleResource, 
+                                             TInt aSettingPageResource, 
+                                             TInt aAssociatedResource, 
+                                             TInt aOrdinal)
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = 
+                            new( ELeave ) CAknTextSettingItem( aId, aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList,
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapSettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapSettingItemArray::AddBinarySettingItemL( 
+                                                TInt aSettingPageResourceId,
+                                                TInt aTitleResourceId, 
+                                                TInt aAssociatedResourceId,
+                                                TInt aOrdinal, 
+                                                TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = new ( ELeave ) 
+    CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+    iArray->AppendL( settingItem );
+
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,1880 @@
+/*
+* 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: Implementation of EAP PEAP UI settings dialog
+*
+*/
+
+/*
+* %version: 37.1.8.1.1 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include "EapPeapUiView.h"
+#include "EapPeapUi.hrh"
+#include <eappeapui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include "EapPeapUiSettingArray.h"
+#include <aknnavi.h>
+#include <akntabgrp.h>
+#include <aknnavide.h>
+#include <aknnotewrappers.h>
+#include <aknradiobuttonsettingpage.h>
+#include <StringLoader.h>
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsPeapUiDataConnection.h>
+#include <EapTlsPeapUiTlsPeapData.h>
+#include <EapTlsPeapUiCipherSuites.h>
+#include <EapTlsPeapUiEapTypes.h>
+#include <EapTlsPeapUiCertificates.h>
+#include <EapType.h>
+#include <EapTypeInfo.h> // For EAP type info query
+#include <AknIconArray.h>
+#include <AknsUtils.h>
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+
+static const TInt KSettingArrayGranularity = 4;    
+static const TInt KSuiteArrayGranularity = 5;
+static const TInt KMaxLengthOfEapLine = 270;
+static const TInt KCertificateArrayGranularity = 5;
+static const TInt KMaxLengthOfSuiteName = 255;
+static const TInt KEapPeapId = 25;
+
+_LIT( KNameSeparator, " " );
+_LIT( KEmptyString, "" );
+const TUint KFirstElement = 0;
+const TUint KSecondElement = 1;
+const TUint KMinEnabledCount = 1;
+
+/* This is the maximum length of a certificate's full name, includes
+label, primary and secondary names */
+const TUint32 KMaxFullCertLabelLength = KMaxCertLabelLength + 2 * 
+                                    KMaxNameLength + 1; // 1 is for separator.
+
+
+// MODULE DATA STRUCTURES
+enum TPageIds
+    {
+    ESettingsPage=0,
+    EEapTypePage,
+    ECipherSuitePage
+    };
+
+
+enum TSettingIds
+    {
+    EUserCertificateItem=0,
+    ECaCertificateItem,
+    EUsernameInUseItem,
+    EUsernameItem,
+    ERealmInUseItem,
+    ERealmItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CEapPeapUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapPeapUiDialog::CEapPeapUiDialog( CEapTlsPeapUiConnection* aConnection,
+                                    TIndexType aIndexType, 
+                                    TInt aIndex, 
+								    TInt& aButtonId ) 
+: CAknDialog(),
+  iConnection( aConnection ),
+  iIndexType( aIndexType ), 
+  iIndex( aIndex ), 
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse ),
+  iExiting( EFalse )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CEapPeapUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapPeapUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CEapPeapSettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+
+    // Basic data
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+    
+    // Cipher suites
+    iCipherSuites = iConnection->GetCipherSuiteConnection();
+    if ( iCipherSuites == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+
+    User::LeaveIfError( iCipherSuites->Open() );
+    User::LeaveIfError( iCipherSuites->GetCipherSuites( &iUiCipherSuites ) );
+
+    iCipherSuitesViewArray = new( ELeave ) CDesCArrayFlat( 
+                                                    KSuiteArrayGranularity );
+
+    //EAP types 
+    iEapTypes = iConnection->GetEapTypeConnection();
+    if ( iEapTypes == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iEapTypes->Open() );
+    User::LeaveIfError( iEapTypes->GetEapTypes( &iUiEapTypes ) );
+
+    if ( iUiEapTypes->Count() == 0 )
+        {
+        CreateEapTypeDataBaseL();
+        }
+    iEapTypeViewArray = new( ELeave ) CDesCArrayFlat( 
+                                                    KSettingArrayGranularity );
+
+    FeatureManager::InitializeLibL();
+    
+    ConstructL( R_PEAP_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::OfferKeyEventL
+// -----------------------------------------------------------------------------
+//
+TKeyResponse CEapPeapUiDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                                     TEventCode aType )
+    {
+    TKeyResponse result( EKeyWasNotConsumed );
+    
+    // gently handle impatient users
+    if ( !iIsUIConstructionCompleted )
+        {
+        return CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+        }
+        
+    TInt pageId = ActivePageId();
+    
+    if ( aType == EEventKey && pageId == KEAPPEAPCIPHERPAGE )
+        {
+        
+        TInt indexBefore = iCipherSuiteListBox->CurrentItemIndex();
+        
+        // Handle Enter key here, since it doesn't seem to convert into
+        // the proper command id via the normal route
+        // (maybe some Avkon support for Enter key is still missing in
+        // S60 3.2 2008_wk22)
+        if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            if ( ( *iUiCipherSuites )[indexBefore].iIsEnabled )
+                {
+                OkToExitL( EPeapUiCmdDisable );
+                }
+            else
+                {
+                OkToExitL( EPeapUiCmdEnable );
+                }
+                
+            result = EKeyWasConsumed;
+            }
+        else
+            {
+            result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+        TInt indexAfter = iCipherSuiteListBox->CurrentItemIndex();
+
+        if ( indexBefore != indexAfter )
+            {
+            CEikButtonGroupContainer& cba = ButtonGroupContainer();
+            if( ( *iUiCipherSuites )[indexAfter].iIsEnabled )
+                {
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+                }
+            else
+                {
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                }
+            
+            cba.DrawDeferred();
+            }
+        }
+    else if ( aType == EEventKey && pageId == KEAPPEAPEAPPAGE )
+        {
+        TInt indexBefore = iEapTypesListBox->CurrentItemIndex();
+        // Handle Enter key here, since it doesn't seem to convert into
+        // the proper command id via the normal route
+        // (maybe some Avkon support for Enter key is still missing in
+        // S60 3.2 2008_wk22)
+        if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            if ( ( *iUiEapTypes )[indexBefore].iIsEnabled )
+                {
+                OkToExitL( EPeapUiCmdConfigure );
+                }
+            else
+                {
+                OkToExitL( EPeapUiCmdEnable );
+                }
+                
+            result = EKeyWasConsumed;
+            }
+        else
+            {
+            result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+
+                
+        TInt indexAfter = iEapTypesListBox->CurrentItemIndex();
+
+        if ( indexBefore != indexAfter )
+            {
+            CEikButtonGroupContainer& cba = ButtonGroupContainer();
+            if( ( *iUiEapTypes )[indexAfter].iIsEnabled )
+                {
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE );
+                }
+            else
+                {
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                }
+            
+            cba.DrawDeferred();
+            }        
+        }
+    else
+        {
+        result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+        }
+
+    return result;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::~CEapPeapUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapPeapUiDialog::~CEapPeapUiDialog()
+    {
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        }
+
+    delete iSettingArray;
+    iSettingListBox = NULL;
+    
+    iDataConnection->Close();
+    delete iDataConnection;
+
+    iCipherSuitesViewArray->Reset();
+    delete iCipherSuitesViewArray;    
+
+    iEapTypeViewArray->Reset();
+    delete iEapTypeViewArray;
+
+    iCertificates->Close();
+    delete iCertificates;
+    
+    iCipherSuites->Close();
+    delete iCipherSuites;
+        
+    iEapTypes->Close();
+    delete iEapTypes;
+
+    iConnection->Close();
+    
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// ---------------------------------------------------------
+// CEapPeapUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapPeapUiDialog::HandleListBoxEventL( CEikListBox* aListBox,
+                                            TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            if ( aListBox == iSettingListBox )
+                {
+                OkToExitL( EPeapUiCmdChange );                    
+                }
+                
+            else if ( aListBox == iEapTypesListBox )
+                {
+                TInt index = iEapTypesListBox->CurrentItemIndex();
+                if ( iUiEapTypes->At( index ).iIsEnabled )
+                    {
+                    ConfigureL( ETrue );    
+                    }
+                else
+                    {
+                    OkToExitL( EPeapUiCmdEnable );
+                    }                    
+                }
+                                     
+            else if ( aListBox == iCipherSuiteListBox )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                if ( iUiCipherSuites->At( index ).iIsEnabled )
+                    {
+                    OkToExitL( EPeapUiCmdDisable );
+                    }
+                else
+                    {
+                    OkToExitL( EPeapUiCmdEnable );
+                    }
+                }
+                
+            else
+                {
+                // Do nothing; we should never end up here
+                }
+                            
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }   
+
+
+// ---------------------------------------------------------
+// CEapPeapUiDialog::HandleDialogPageEventL
+// ---------------------------------------------------------
+//
+void CEapPeapUiDialog::HandleDialogPageEventL( TInt aEventID )
+    {
+     CAknDialog::HandleDialogPageEventL( aEventID );
+         if( iExiting )
+             {        
+             // Exit requested. 
+             TryExitL( EAknCmdExit );
+             }   
+     }
+
+
+// -----------------------------------------------------------------------------
+// CleanupImplArray
+// -----------------------------------------------------------------------------
+//
+static void CleanupResetAndDestroy( TAny* aAny )
+{
+	RImplInfoPtrArray* implArray = 
+		reinterpret_cast<RImplInfoPtrArray*>( aAny );
+
+	implArray->ResetAndDestroy();
+	implArray->Close();
+}
+
+// ---------------------------------------------------------
+// CEapPeapUiDialog::ConfigureL
+// ---------------------------------------------------------
+//
+void CEapPeapUiDialog::ConfigureL( TBool aQuick )
+    {
+    RImplInfoPtrArray eapArray;
+    eapArray.Reset();
+
+	CleanupStack::PushL( TCleanupItem( CleanupResetAndDestroy, &eapArray ) );
+
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, 
+                                        eapArray );
+
+    TInt itemIndex = iEapTypesListBox->CurrentItemIndex();    
+    TInt eapIndex( 0 );
+    for ( TInt i = 0; i < eapArray.Count(); i++ )
+        {
+        CImplementationInformation* tempInfo = eapArray[i];
+        if ( iUiEapTypes->At( itemIndex ).iEapType == 
+                                            tempInfo->DataType() )
+            {
+            eapIndex = i;
+            break;            
+            }
+        }        
+
+    CEapType* eapType;
+    eapType = CEapType::NewL( eapArray[eapIndex]->DataType(), 
+                              iIndexType, iIndex );
+
+	CleanupStack::PopAndDestroy(); // eapArray
+
+    eapType->SetTunnelingType( KEapPeapId );
+    CleanupStack::PushL( eapType );
+    TInt buttonId = eapType->InvokeUiL();
+    CleanupStack::PopAndDestroy( eapType );
+
+    if ( buttonId == EAknCmdExit || buttonId == EEikCmdExit )
+        {
+        if (aQuick == EFalse)
+            {
+            TryExitL( buttonId );
+            }
+        else
+            {
+            iExiting = ETrue;
+            // Don't exit here. Framework command chain will
+            // cause a KERN-EXEC 3 panic. Handle the exit in 
+            // HandleDialogPageEventL(). 
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::PreLayoutDynInitL()
+    {
+    // Change title
+    ChangeTitleL( ETrue );
+    
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                    ControlOrNull( EPeapSettingsListbox ) );
+    iSettingListBox->SetComponentsToInheritVisibility( ETrue );
+
+    iEapTypesListBox = static_cast<CAknSingleNumberStyleListBox*>(
+                                ControlOrNull( EPeapSettingsEapTypeListbox ) );
+    iEapTypesListBox->SetComponentsToInheritVisibility( ETrue );
+
+    iCipherSuiteListBox = static_cast<CAknSingleNumberStyleListBox*>(
+                            ControlOrNull( EPeapSettingsCipherSuiteListbox ) );
+    iCipherSuiteListBox->SetComponentsToInheritVisibility( ETrue );
+    
+    // Get certificates before building the UI. 
+    // Will continue when certificates are received
+    iCertificates = iConnection->GetCertificateConnection( this );
+    User::LeaveIfError( iCertificates->Open() );
+    iCertificates->GetCertificates( &iUiUserCertificates, &iUiCACertificates );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CompleteReadCertificates
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::CompleteReadCertificates( const TInt aResult )
+    {
+    if ( aResult == KErrNone ) // Certificates are received from core
+        {
+        TRAPD( err, CompleteUiConstructionL() );
+        if ( err != KErrNone )
+            {
+            TRAP_IGNORE( TryExitL( KErrCancel ) );        
+            }        
+        }
+    else
+        {
+        TRAP_IGNORE( TryExitL( KErrCancel ) );
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CompleteUiConstructionL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::CompleteUiConstructionL()
+    {
+    // Initialize setting page 
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                    ControlOrNull( EPeapSettingsListbox ) );
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                                                                
+    DrawSettingsListL();
+
+    // Initialize EAP types page
+    iEapTypesListBox = static_cast<CAknSingleNumberStyleListBox*>(
+                                ControlOrNull( EPeapSettingsEapTypeListbox ) );
+    iEapTypesListBox->SetMopParent( this );
+    iEapTypesListBox->CreateScrollBarFrameL( ETrue );
+    iEapTypesListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iEapTypesListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iEapTypesListBox->SetListBoxObserver( this );                                                    
+    
+    // Following deletes internal array created from resources. 
+    // To prevent memory leak.
+    MDesCArray* internalArray1 = iEapTypesListBox->Model()->ItemTextArray();
+    delete internalArray1;
+
+    // Initialize cipher suites page
+    iCipherSuiteListBox = static_cast<CAknSingleNumberStyleListBox*>(
+                            ControlOrNull( EPeapSettingsCipherSuiteListbox ) );
+    iCipherSuiteListBox->CreateScrollBarFrameL( ETrue );
+    iCipherSuiteListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iCipherSuiteListBox->UpdateScrollBarsL();
+    iCipherSuiteListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iCipherSuiteListBox->SetListBoxObserver( this );     
+        
+    //Following deletes internal array created from resources. 
+    // To prevent memory leak.
+    MDesCArray* internalArray2 = iCipherSuiteListBox->Model()->ItemTextArray();
+    delete internalArray2;
+
+    SetEapIconsL();
+    DrawEapListL( 0 );
+
+    SetCipherIconsL();
+    DrawCipherSuitesL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::PostLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::PostLayoutDynInitL()
+    {
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent()&&subPane.IsAppOwned() )
+        {
+        CAknNavigationControlContainer* naviPane = 
+                                static_cast<CAknNavigationControlContainer*>(
+                                        statusPane->ControlL( naviPaneUid ) );
+        CAknNavigationDecorator* naviDecorator = naviPane->ResourceDecorator();
+        if ( naviDecorator )
+            {
+            CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(
+                                        naviDecorator->DecoratedControl() );
+            tabGroup->SetActiveTabById( 0 ); 
+            tabGroup->SetTabFixedWidthL( KTabWidthWithOneTab );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+    
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>(
+                                        statusPane->ControlL( titlePaneUid) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();    
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_PEAP_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );    
+            }    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapPeapUiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+                if ( index == ESettingsPage )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }    
+                else if ( index == EEapTypePage )
+                    {
+                    ProcessCommandL( EPeapUiCmdConfigure );
+                    }    
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapPeapUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+                
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                iDataConnection->Update();
+                ChangeTitleL( EFalse );
+                ret = ETrue;
+                }
+            break;
+            }
+        
+        case EPeapUiCmdChange:
+            {
+            TInt pageId = ActivePageId();
+            if ( pageId == KEAPPEAPSETTINGSPAGE )
+                {
+                if( iIsUIConstructionCompleted )
+    				{
+        			ShowSettingPageL( EFalse );
+    				}
+    			else
+    			    {
+    				#if defined(_DEBUG) || defined(DEBUG)
+    				RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    				#endif
+    			    }
+                }
+            break;
+            }
+        case EPeapUiCmdConfigure:
+        case EPeapUiCmdEnable:
+        case EPeapUiCmdDisable:
+            {
+            ProcessCommandL( aButtonId );
+            ret = EFalse;
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+    TInt activeUserCertificate = CheckActiveUserCertificate();
+	TBuf<KMaxFullCertLabelLength> aActiveuserCertificateName = KEmptyString();
+    if ( activeUserCertificate != KErrNotFound )
+        {
+		TBuf<KMaxFullCertLabelLength> text;
+		GetFullCertLabelL( 
+                iUiUserCertificates->At( activeUserCertificate ).iCertEntry,
+                text );
+		aActiveuserCertificateName.Copy( text );		
+        }
+    else
+        {
+        TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_PEAP_NOT_DEFINED );
+        aActiveuserCertificateName.Copy( *notDefinedText );
+        CleanupStack::PopAndDestroy( notDefinedText );
+        }
+
+    iSettingArray->AddTextItemL( aActiveuserCertificateName,
+                                 EPeapSettingUserCert,
+                                 R_PEAP_USER_CERT_STRING,
+                                 R_PEAP_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    TInt activeCaCertificate = CheckActiveCaCertificate();
+    TBuf<KMaxFullCertLabelLength> aActiveCaCertificateName = KEmptyString();
+    if ( activeCaCertificate != KErrNotFound )
+        {
+		TBuf<KMaxFullCertLabelLength> text;
+		GetFullCertLabelL(
+                    iUiCACertificates->At( activeCaCertificate ).iCertEntry,
+                    text );
+		aActiveCaCertificateName.Copy( text );				
+        }
+    else
+        {
+        TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_PEAP_NOT_DEFINED );
+        aActiveCaCertificateName.Copy( *notDefinedText );
+        CleanupStack::PopAndDestroy( notDefinedText );                
+        }
+
+    iSettingArray->AddTextItemL( aActiveCaCertificateName,
+                                 EPeapSettingCaCert,
+                                 R_PEAP_CA_CERT_STRING,
+                                 R_PEAP_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+      
+    iSettingArray->AddBinarySettingItemL( R_PEAP_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_PEAP_USERNAME_INUSESTRING, 
+                                          R_PEAP_USERNAME_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualUsername() );
+
+    iSettingArray->AddTextItemL( iUiData->GetManualUsername(),
+                                 EPeapTabSheetSettingsUsername,
+                                 R_PEAP_USERNAME_STRING,
+                                 R_PEAP_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingArray->AddBinarySettingItemL( R_PEAP_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_PEAP_REALM_INUSESTRING, 
+                                          R_PEAP_REALM_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualRealm() );    
+
+    iSettingArray->AddTextItemL( iUiData->GetManualRealm(),
+                                 EPeapTabSheetSettingsRealm,
+                                 R_PEAP_REALM_STRING,
+                                 R_PEAP_REALM_PAGE,
+                                 NULL,
+                                 ordinal++ );
+    
+    iSettingArray->AddBinarySettingItemL( R_PEAP_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_PEAP_TLS_PRIVACY_STRING, 
+                                          R_PEAP_TLS_PRIVACY_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetTlsPrivacy() );
+    
+
+    iSettingArray->AddBinarySettingItemL( R_PEAP_ALLOW_VERSION_0, 
+                                          R_PEAP_ALLOW_PEAPV0, 
+                                          R_PEAP_ALLOW_VERSION_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetAllowVersion0() );
+
+    iSettingArray->AddBinarySettingItemL( R_PEAP_ALLOW_VERSION_1, 
+                                          R_PEAP_ALLOW_PEAPV1, 
+                                          R_PEAP_ALLOW_VERSION_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetAllowVersion1() );
+                                
+    iSettingArray->AddBinarySettingItemL( R_PEAP_ALLOW_VERSION_2,
+                                          R_PEAP_ALLOW_PEAPV2, 
+                                          R_PEAP_ALLOW_VERSION_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetAllowVersion2() );
+
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );    
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                         CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aMenuPane && aResourceId == R_PEAP_MENU_PANE )
+        {
+        if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+
+        TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+        if ( index == ESettingsPage )
+            {
+            aMenuPane->SetItemDimmed( EPeapUiCmdEnable,    ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdDisable,   ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp,    ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown,  ETrue );
+            }
+        else if ( index == EEapTypePage )
+            {
+            aMenuPane->SetItemDimmed( EPeapUiCmdChange, ETrue );
+
+            if ( iEapTypeViewArray->Count() > 0 )
+                {
+                TInt currentIndex = iEapTypesListBox->CurrentItemIndex();
+                TBool enabled = iUiEapTypes->At( currentIndex ).iIsEnabled;
+
+                // Hide either "Enable" or "Disable", as appropriate.
+                aMenuPane->SetItemDimmed( EPeapUiCmdEnable,  enabled );
+                aMenuPane->SetItemDimmed( EPeapUiCmdDisable, !enabled );
+
+                // Don't display "Configure" for disabled items
+                aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, !enabled );
+
+                // Don't display "Raise priority" nor "Lower priority" for 
+                // disabled items
+                aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, !enabled );
+                aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, !enabled );
+
+                if ( enabled )
+                    {
+                    
+                    if ( currentIndex == 0 )
+                        {
+                        // Can't go higher than top.
+                        aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, ETrue );
+                        }
+                    
+                    if ( currentIndex == iEapTypeViewArray->Count()-1 ||
+                         ( currentIndex < iEapTypeViewArray->Count()-1 && 
+                         !iUiEapTypes->At( currentIndex + 1 ).iIsEnabled ) ) 
+                        {
+                        // Can't go lower than the last enabled item
+                        aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, ETrue );
+                        }
+
+                    }
+
+                }
+            else
+                {
+                aMenuPane->SetItemDimmed( EPeapUiCmdEnable,    ETrue );
+                aMenuPane->SetItemDimmed( EPeapUiCmdDisable,   ETrue );
+                aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, ETrue );
+                aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp,    ETrue );
+                aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown,  ETrue );
+                aMenuPane->SetItemDimmed( EPeapUiCmdChange,    ETrue );
+                }
+            }
+        else if ( index == ECipherSuitePage )
+            {
+            aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp,    ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown,  ETrue );
+            aMenuPane->SetItemDimmed( EPeapUiCmdChange,    ETrue );
+
+            if ( iCipherSuitesViewArray->Count() > 0 )
+                {
+                TInt currIndex = iCipherSuiteListBox->CurrentItemIndex();
+                TBool enabled = iUiCipherSuites->At( currIndex ).iIsEnabled;
+
+                // Hide either "Enable" or "Disable", as appropriate.
+                aMenuPane->SetItemDimmed( EPeapUiCmdEnable,  enabled );
+                aMenuPane->SetItemDimmed( EPeapUiCmdDisable, !enabled );
+                }
+            else
+                {
+                aMenuPane->SetItemDimmed( EPeapUiCmdEnable,  ETrue );
+                aMenuPane->SetItemDimmed( EPeapUiCmdDisable, ETrue );
+                }
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    TPageIds pageIndex = static_cast<TPageIds>( ActivePageIndex() );
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EPeapUiCmdChange:
+            {
+            if ( pageIndex == ESettingsPage )
+                {
+                if( iIsUIConstructionCompleted )
+    				{
+        			ShowSettingPageL( ETrue );
+    				}
+    			else
+    			    {
+    				#if defined(_DEBUG) || defined(DEBUG)
+    				RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    				#endif
+    			    }
+                }
+            break;
+            }
+
+        case EPeapUiCmdMoveUp:
+            {
+            if ( pageIndex == EEapTypePage )
+                {
+                TInt cur = iEapTypesListBox->CurrentItemIndex();
+                MoveEapTypeL( cur, cur - 1 );
+                }
+            break;
+            }
+
+        case EPeapUiCmdMoveDown:
+            {
+            if ( pageIndex == EEapTypePage )
+                {
+                TInt cur = iEapTypesListBox->CurrentItemIndex();
+                MoveEapTypeL( cur, cur + 1 );
+                }
+            break;
+            }
+
+        case EPeapUiCmdEnable:
+            {
+            if ( pageIndex == ECipherSuitePage )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                iUiCipherSuites->At( index ).iIsEnabled = ETrue;
+                iCipherSuites->Update();
+                DrawCipherSuitesL();
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+                cba.DrawDeferred();
+                }
+            else if ( pageIndex == EEapTypePage )
+                {
+                TInt cur = iEapTypesListBox->CurrentItemIndex();
+                iUiEapTypes->At( cur ).iIsEnabled = ETrue;
+
+                iEapTypes->Update();                
+
+                // enabling moves item to the top of the list
+                MoveEapTypeL( cur, 0 );                
+
+                // load the new CBA from resource
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();                
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE );
+                cba.DrawDeferred();
+                }                
+            break;
+            }
+
+        case EPeapUiCmdDisable:
+            {
+            if ( pageIndex == ECipherSuitePage )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                iUiCipherSuites->At( index ).iIsEnabled = EFalse;
+                iCipherSuites->Update();
+                DrawCipherSuitesL();
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                cba.DrawDeferred();
+                }            
+            else if ( pageIndex == EEapTypePage )
+                {
+                TInt itemIndex = iEapTypesListBox->CurrentItemIndex();
+                
+                if( GetEnabledEapTypeCount() > KMinEnabledCount )
+                    {
+                    // disabling moves item just after the last enabled one,
+                    // so find that position
+                    TInt next = itemIndex;
+                    
+                    while ( next < iUiEapTypes->Count() - 1 && 
+                            iUiEapTypes->At( next ).iIsEnabled )
+                        {
+                        ++next;
+                        }
+
+                    if ( next > itemIndex && 
+                         !iUiEapTypes->At( next ).iIsEnabled ) 
+                        {
+                        --next;
+                        }
+
+
+                    iUiEapTypes->At( itemIndex ).iIsEnabled = EFalse;
+
+                    // move item if needed
+                    MoveEapTypeL( itemIndex, next );
+                    iEapTypes->Update();                
+
+                    // Highlight follows movement.
+                    //iEapTypesListBox->SetCurrentItemIndex( next );
+                    
+                    // load the new CBA from resource
+                    CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                    cba.SetCommandSetL( 
+                                     R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                    
+                    cba.DrawDeferred();
+                    }
+                else
+                    {
+                    HBufC* stringLabel;
+                    stringLabel = StringLoader::LoadL(
+                                R_PEAP_INFO_CANNOT_DISABLE_ALL_EAP_PLUGINS,
+                                                       iEikonEnv );
+                    CleanupStack::PushL( stringLabel );
+                    CAknInformationNote* dialog = new ( ELeave )
+                                                CAknInformationNote( ETrue );
+                    dialog->ExecuteLD( *stringLabel );
+                    CleanupStack::PopAndDestroy( stringLabel );
+                    }
+                }
+            break;
+            }
+            
+        case EPeapUiCmdConfigure:
+            {
+            if ( pageIndex == EEapTypePage )
+                {
+                ConfigureL(EFalse);
+                }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::PageChangedL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::PageChangedL( TInt aPageId )
+    {
+    if ( !iIsUIConstructionCompleted )
+        {
+        return;
+        }
+        
+    if ( aPageId == KEAPPEAPSETTINGSPAGE )
+				{
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        if (iEapTypesListBox->ScrollBarFrame())
+            {
+            iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        }
+     else if ( aPageId == KEAPPEAPEAPPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iEapTypesListBox->ScrollBarFrame())
+            {
+            iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        }
+    else if ( aPageId == KEAPPEAPCIPHERPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iEapTypesListBox->ScrollBarFrame())
+            {
+            iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        }
+        
+    CEikButtonGroupContainer& cba = ButtonGroupContainer();
+    if( aPageId == KEAPPEAPSETTINGSPAGE )
+        {
+        cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_EDIT );
+        }
+    else if( aPageId == KEAPPEAPEAPPAGE )
+        {
+        TInt index = iEapTypesListBox->CurrentItemIndex();
+        if ( ( *iUiEapTypes )[index].iIsEnabled )
+            {
+            cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE );    
+            }
+        else
+            {
+            cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+            }
+        
+        }
+    else if( aPageId == KEAPPEAPCIPHERPAGE )
+        {
+        TInt index = iCipherSuiteListBox->CurrentItemIndex();
+        if( ( *iUiCipherSuites )[ index ].iIsEnabled )
+            {
+            cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+            }
+        else
+            {
+            cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+            }
+        }
+    cba.DrawDeferred();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+    if ( index == EUserCertificateItem )
+        {
+        TInt activeUserCertificate = CheckActiveUserCertificate();
+        CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( 
+                                                KCertificateArrayGranularity );
+        CleanupStack::PushL( tempArray );
+
+        TDesC* noneText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_PEAP_NONE_SELECTION );
+        tempArray->InsertL( 0, *noneText );
+        CleanupStack::PopAndDestroy( noneText );
+
+        for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+            {
+            TEapTlsPeapUiCertificate certificate = 
+                                                iUiUserCertificates->At( i );
+            SCertEntry entry = certificate.iCertEntry;
+			TBuf<KMaxFullCertLabelLength> text;
+			GetFullCertLabelL( entry, text);
+			tempArray->InsertL( i+1, text );
+            }
+
+        TInt selected( 0 );    
+        if ( activeUserCertificate == KErrNotFound )
+            {
+            selected = ShowRadioButtonSettingPageL( R_PEAP_USER_CERT_STRING, 
+                                                    tempArray, 0 );
+            }
+        else 
+            {
+            selected = ShowRadioButtonSettingPageL( R_PEAP_USER_CERT_STRING, 
+                                                    tempArray, 
+                                                    activeUserCertificate+1 );
+                                    //Plus 1 cause we added 'none' selection
+            }
+
+        CleanupStack::PopAndDestroy( tempArray );
+        UserCertificateHouseKeeping( selected );    
+        iCertificates->Update();
+        DrawSettingsListL(); // List must be drawn again at this stage
+        }
+    else if ( index == ECaCertificateItem )
+        {
+        TInt activeCaCertificate = CheckActiveCaCertificate();
+
+        CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( 
+                                                KCertificateArrayGranularity );
+        CleanupStack::PushL( tempArray);
+
+        TDesC* noneText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_PEAP_NONE_SELECTION );
+        tempArray->InsertL( 0, *noneText);
+        CleanupStack::PopAndDestroy( noneText);
+
+        for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+            {
+            TEapTlsPeapUiCertificate certificate = iUiCACertificates->At( i );
+            SCertEntry entry = certificate.iCertEntry;
+            TBuf<KMaxFullCertLabelLength> text;
+			GetFullCertLabelL( entry, text );
+			tempArray->InsertL( i+1, text );
+            }
+
+        TInt selected( 0 );
+        if ( activeCaCertificate == KErrNotFound )
+            {
+            selected = ShowRadioButtonSettingPageL( R_PEAP_CA_CERT_STRING, 
+                                                    tempArray, 0 );
+            }
+        else
+            {
+            selected = ShowRadioButtonSettingPageL( R_PEAP_CA_CERT_STRING, 
+                                                    tempArray, 
+                                                    activeCaCertificate+1 ); 
+                                    //Plus 1 cause we added 'none' selection
+            }
+        CleanupStack::PopAndDestroy( tempArray );
+        CaCertificateHouseKeeping( selected );
+        iCertificates->Update();
+        DrawSettingsListL(); // List must be drawn again at this stage
+        }
+    else
+        {
+        CAknSettingItem* item = iSettingArray->Array()->At( index );
+        item->EditItemL( aCalledFromMenu );
+        item->StoreL();
+        }
+
+    DrawNow();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::MoveEapTypeL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::MoveEapTypeL( TInt aOldPos, TInt aNewPos )
+    {
+    TEapTlsPeapUiEapType originalUpper = iUiEapTypes->At( aOldPos );
+    iUiEapTypes->Delete( aOldPos );
+    iUiEapTypes->InsertL( aNewPos, originalUpper );
+    iUiEapTypes->Compress();    // Might not be needed
+    iEapTypes->Update();
+    DrawEapListL( aNewPos );
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::DrawEapListL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::DrawEapListL( TInt aWantedIndex )
+    {    
+    iEapTypeViewArray->Reset();
+
+    RImplInfoPtrArray eapArray;
+    eapArray.Reset();
+
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray );
+    for ( TInt i = 0; i < iUiEapTypes->Count(); i++ )
+        {
+        TBuf<KMaxLengthOfEapLine> tempLine;
+        
+        if ( iUiEapTypes->At( i ).iIsEnabled )
+            {
+            _LIT( KNumTab, "%d\t" );
+            tempLine.AppendFormat( KNumTab, i+1 );
+            }
+        else
+            {
+            _LIT( KTab, "\t" );
+            tempLine.Append( KTab );
+            }
+        
+        for ( TInt index = 0; index < eapArray.Count(); index++ )
+            {
+            TBuf8<100> egyik( eapArray[index]->DataType() );
+            TBuf8<100> masik( iUiEapTypes->At( i ).iEapType );
+            if ( eapArray[index]->DataType() == iUiEapTypes->At( i ).iEapType )
+                {
+                tempLine.Append( eapArray[ index ]->DisplayName() );
+                break;
+                }
+            }
+        if ( iUiEapTypes->At( i ).iIsEnabled )
+            {   // Add mark icon to indicate that the eap type is enabled
+            _LIT( KTab0, "\t0" );
+            tempLine.Append( KTab0 );
+            }
+        iEapTypeViewArray->InsertL( i, tempLine );
+        }
+
+    eapArray.ResetAndDestroy();
+    iEapTypesListBox->Model()->SetItemTextArray( iEapTypeViewArray );
+    iEapTypesListBox->HandleItemAdditionL();
+    iEapTypesListBox->SetCurrentItemIndex( aWantedIndex );
+    iEapTypesListBox->DrawDeferred();
+    iEapTypesListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::ShowRadioButtonSettingPageL
+// -----------------------------------------------------------------------------
+//
+TInt CEapPeapUiDialog::ShowRadioButtonSettingPageL( TInt aTitle, 
+                                                    CDesCArrayFlat* aValues,
+                                                    TInt aCurrentItem )
+    {
+    // title of the dialog
+    HBufC* title = iCoeEnv->AllocReadResourceLC( aTitle );
+    // We have everything to create dialog
+    CAknRadioButtonSettingPage* dlg = new( ELeave )CAknRadioButtonSettingPage(
+                                                R_RADIO_BUTTON_SETTING_PAGE,
+                                                aCurrentItem, 
+                                                aValues );
+    CleanupStack::PushL( dlg );
+    dlg->SetSettingTextL( *title ); 
+    CleanupStack::Pop( dlg ); 
+    dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged );
+    CleanupStack::PopAndDestroy( title ); 
+    // index must be re-turned upside down, because options list is upside down
+    return aCurrentItem;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::DrawCipherSuitesL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::DrawCipherSuitesL()
+    {
+    iCipherSuitesViewArray->Reset();
+    TInt listCount( 0 );
+    TBuf<KMaxLengthOfSuiteName> temp;
+    for ( TInt i = 0; i < iUiCipherSuites->Count(); i++ )
+        {
+        temp.Zero();
+        _LIT( KTab, "\t" );
+        temp.Append( KTab ); 
+        TEapTlsPeapUiCipherSuite suite = iUiCipherSuites->At( i );
+        TUint32 suiteId = suite.iCipherSuite;
+        switch ( suiteId )
+            {
+            case 0x0004:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_RSARC4MD5 );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0005:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_RSARC4SHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x000a:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_RSA3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0016:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_DHERSA3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );            
+                break;
+                }
+
+            case 0x0013:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_DHEDSS3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );        
+                break;
+                }
+
+            case 0x002F:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_RSAAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );                
+                break;
+                }
+
+            case 0x0032:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_DHERSAAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0033:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_PEAP_SUITE_DHEDSSAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );                     
+                break;
+                }
+
+            default:
+                {
+                temp.Append( KEmptyString );                                    
+                break;
+                }
+            }
+
+        if ( iUiCipherSuites->At( i ).iIsEnabled )
+            {   // Add mark icon to indicate that the suite is enabled
+            _LIT( KTab0, "\t0" );
+            temp.Append( KTab0 );
+            }
+
+        iCipherSuitesViewArray->InsertL( listCount, temp );
+        listCount++;                
+        }
+
+    iCipherSuiteListBox->Model()->SetItemTextArray( iCipherSuitesViewArray );
+    iCipherSuiteListBox->HandleItemAdditionL();
+    iCipherSuiteListBox->DrawDeferred();
+    iCipherSuiteListBox->UpdateScrollBarsL();        
+}
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CheckActiveUserCertificate
+// -----------------------------------------------------------------------------
+//
+TInt CEapPeapUiDialog::CheckActiveUserCertificate()
+    {
+    for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+        {
+        if ( iUiUserCertificates->At( i ).iIsEnabled )
+            {
+            return i;
+            }
+        }
+
+    return KErrNotFound;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CheckActiveCaCertificate
+// -----------------------------------------------------------------------------
+//
+TInt CEapPeapUiDialog::CheckActiveCaCertificate()
+    {
+    for ( TInt i = 0; i<iUiCACertificates->Count(); i++ )
+        {
+        if ( iUiCACertificates->At( i ).iIsEnabled )
+            {
+            return i;
+            }
+        }
+
+    return KErrNotFound;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::UserCertificateHouseKeeping
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::UserCertificateHouseKeeping( TInt aSelected )
+    {
+    for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+        {
+        iUiUserCertificates->At( i ).iIsEnabled = EFalse;
+        }
+
+    if ( aSelected != 0 )   // Zero index is none
+        {
+        iUiUserCertificates->At( aSelected-1 ).iIsEnabled = ETrue;
+        } 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CaCertificateHouseKeeping
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::CaCertificateHouseKeeping( TInt aSelected )
+    {
+    for ( TInt i = 0; i<iUiCACertificates->Count() ; i++ )
+        {
+        iUiCACertificates->At( i ).iIsEnabled = EFalse;
+        }
+
+    if ( aSelected != 0 )   // Zero index is none
+        {        
+        iUiCACertificates->At( aSelected-1 ).iIsEnabled = ETrue;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::CreateEapTypeDataBaseL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::CreateEapTypeDataBaseL()
+    {
+    RImplInfoPtrArray eapArray;
+    eapArray.Reset();
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray );
+    TInt allowedInPeapCount( 0 );
+    for ( TInt i = 0; i < eapArray.Count(); i++ )
+        {
+        if ( !CEapType::IsDisallowedInsidePEAP( *eapArray[i] ) )
+            {
+            CImplementationInformation* info = eapArray[i];
+            TEapTlsPeapUiEapType tempEapType;
+            tempEapType.iEapType = info->DataType();
+            
+            // MNOL-6RNHEX
+            // Only EAP-SIM and EAP-AKA should be enabled, in that order
+
+            // BINARY RESOURCE DATA
+            
+            // [FE] [00 00 00] [TEapType_bigendian]
+            _LIT8( KExpEapFirstQuad, "\xFE\0\0\0" );
+            TPtrC8 firstQuad( tempEapType.iEapType.Ptr(), 4 );
+            // TUint32 dataType = BigEndian::Get32( tempEapType.iEapType.Ptr()+4 );
+
+            TUint32 dataType = ( tempEapType.iEapType[4] << 24 ) |
+                               ( tempEapType.iEapType[5] << 16 ) |
+                               ( tempEapType.iEapType[6] << 8 ) |
+                               tempEapType.iEapType[7];
+    
+            if ( !firstQuad.Compare( KExpEapFirstQuad ) && 
+                 ( dataType == EAPSettings::EEapSim || 
+                   dataType == EAPSettings::EEapAka ) )
+                {
+                tempEapType.iIsEnabled = ETrue;
+                iUiEapTypes->InsertL( KFirstElement, tempEapType );
+                }
+            else
+                {
+                tempEapType.iIsEnabled = EFalse;
+                iUiEapTypes->InsertL( allowedInPeapCount, tempEapType );
+                }
+
+            allowedInPeapCount++;
+            }
+        }
+    
+    __ASSERT_DEBUG( iUiEapTypes->Count() >= 2, User::Panic( _L("EAP-SIM/AKA missing"), 1) );
+
+    // Check if EAP-SIM and EAP-AKA are in correct order
+
+    // BINARY RESOURCE DATA
+    
+    const TDesC8& firstEap = iUiEapTypes->At( KFirstElement ).iEapType;
+    const TDesC8& secondEap = iUiEapTypes->At( KSecondElement ).iEapType;
+    
+    TUint32 dataTypeFirst = ( firstEap[4] << 24 ) |
+                            ( firstEap[5] << 16 ) |
+                            ( firstEap[6] << 8 ) |
+                            firstEap[7];
+    TUint32 dataTypeSecond = ( secondEap[4] << 24 ) |
+                             ( secondEap[5] << 16 ) |
+                             ( secondEap[6] << 8 ) |
+                             secondEap[7];
+
+    // If not, switch them
+    if ( dataTypeFirst == EAPSettings::EEapAka &&
+        dataTypeSecond == EAPSettings::EEapSim )
+        {
+        TEapTlsPeapUiEapType tempEapType = iUiEapTypes->At( KFirstElement );
+        iUiEapTypes->Delete( KFirstElement );
+        iUiEapTypes->InsertL( KSecondElement, tempEapType );
+        }
+
+    iEapTypes->Update();        
+    eapArray.ResetAndDestroy();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::SetCipherIconsL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::SetCipherIconsL()
+    {
+    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 );
+    CleanupStack::PushL( icons );
+
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
+/*    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, 
+                                        KAknsIIDQgnIndiMarkedAdd,
+                                        AknIconUtils::AvkonIconFileName(),
+                                        EMbmAvkonQgn_indi_marked_add, 
+                                        EMbmAvkonQgn_indi_marked_add_mask ) );
+*/
+
+    CGulIcon* icon = CGulIcon::NewLC();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;    
+    AknsUtils::CreateColorIconL( skinInstance,
+                                 KAknsIIDQgnIndiMarkedAdd, 
+                                 KAknsIIDQsnIconColors, 
+                                 EAknsCIQsnIconColorsCG13, 
+                                 bitmap, 
+                                 mask, 
+                                 AknIconUtils::AvkonIconFileName(),
+                                 EMbmAvkonQgn_indi_marked_add, 
+                                 EMbmAvkonQgn_indi_marked_add_mask,
+                                 KRgbBlack );
+    icon->SetBitmap( bitmap );
+    icon->SetMask( mask );    
+    icons->AppendL( icon );
+                
+    CleanupStack::Pop( icon ); 
+    CleanupStack::Pop( icons ); 
+
+    iCipherSuiteListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::SetEapIconsL
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::SetEapIconsL()
+    {
+    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 );
+    CleanupStack::PushL( icons );
+
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
+/*    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, 
+                                        KAknsIIDQgnIndiMarkedAdd,
+                                        AknIconUtils::AvkonIconFileName(),
+                                        EMbmAvkonQgn_indi_marked_add, 
+                                        EMbmAvkonQgn_indi_marked_add_mask ) );
+*/
+
+    CGulIcon* icon = CGulIcon::NewLC();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;    
+    AknsUtils::CreateColorIconL( skinInstance,
+                                 KAknsIIDQgnIndiMarkedAdd, 
+                                 KAknsIIDQsnIconColors, 
+                                 EAknsCIQsnIconColorsCG13, 
+                                 bitmap, 
+                                 mask, 
+                                 AknIconUtils::AvkonIconFileName(),
+                                 EMbmAvkonQgn_indi_marked_add, 
+                                 EMbmAvkonQgn_indi_marked_add_mask,
+                                 KRgbBlack );
+    icon->SetBitmap( bitmap );
+    icon->SetMask( mask );    
+    icons->AppendL( icon );
+                
+    CleanupStack::Pop( icon ); 
+    CleanupStack::Pop( icons ); 
+
+    iEapTypesListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::GetEnabledEapTypeCount
+// -----------------------------------------------------------------------------
+//
+TUint CEapPeapUiDialog::GetEnabledEapTypeCount()
+    {
+    TUint itemCount( 0 );
+    for( TInt i( 0 ); i < iUiEapTypes->Count(); ++i )
+        {
+        if( iUiEapTypes->At( i ).iIsEnabled )
+            {
+            ++itemCount;
+            }
+        }
+    return itemCount;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapPeapUiDialog::GetHelpContext(TCoeHelpContext& aContext) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    TPageIds index = static_cast< TPageIds >( ActivePageIndex() );
+    switch ( index )
+        {
+        case EEapTypePage:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_PEAP_TYPES;
+            break;
+            }
+
+        case ECipherSuitePage:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_PEAP_SUITES;
+            break;
+            }
+
+        default:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_PEAP_SETT;
+            break;
+            }
+        }
+    }
+
+
+
+void CEapPeapUiDialog::GetFullCertLabelL( const SCertEntry& aCert, 
+                                         TDes& aFullLabel )
+    {
+    TInt length = 0;
+
+	// For label.
+    length += aCert.iLabel.Length();
+
+	// For separator between label and primary name.    
+    length += KNameSeparator.iTypeLength;    
+    
+    // For primary name.
+    length += aCert.iPrimaryName.Length();
+
+    if ( !( aCert.iLabel.Length() ) )
+        {	
+    	// For secondary name.
+	    length += aCert.iSecondaryName.Length();
+        }
+    
+    if( length > aFullLabel.MaxLength() )
+        {
+#if defined(_DEBUG) || defined(DEBUG)
+		RDebug::Print(_L("CEapTtlsUiDialog::GetFullCertLabel - ERROR! Length Mismatch in Certificate's full name\n") );
+#endif
+        }
+
+    HBufC* label = HBufC::NewL( length );
+    label->Des().Append( aCert.iLabel );
+
+    label->Des().Append( KNameSeparator );
+    label->Des().Append( aCert.iPrimaryName );
+
+    if ( !( aCert.iLabel.Length() ) )
+        {
+    	// Secondary name, only if no label. Certificate manager does the same way.
+	    label->Des().Append( aCert.iSecondaryName );
+        }
+            
+	aFullLabel.Copy( label->Des().Left( aFullLabel.MaxLength() ) );   
+    
+    delete label;
+    label = NULL;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/102072bb.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2001-2009 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: ECom resource definition for EAPPluginConfiguration.
+*
+*/
+
+/*
+* %version: 12 %
+*/
+
+//  INCLUDES
+#include <ecom/registryinfo.rh>
+#include "EAPPluginConfigUid.h"
+
+
+//  RESOURCE DEFINITIONS 
+
+// ---------------------------------------------------------------------------
+//   
+//    theInfo
+//    Contains the ECom registration information for EAP Plugin Configuration
+//
+// ---------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO theInfo
+    {
+    dll_uid = EAP_PLUGIN_CONFIG_DLL_UID;
+    interfaces = 
+        {
+        INTERFACE_INFO
+		    {		
+            interface_uid = EAP_PLUGIN_CONFIG_INTERFACE_UID;
+            implementations = 
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = EAP_PLUGIN_CONFIG_IMPLEMENTATION_UID;
+                    version_no = 1;
+                    display_name = EAP_PL_CONFIG_NAME;
+                    default_data = "EAPPConfig";
+                    opaque_data = "";
+                    }         
+                };
+            }
+	    };
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/EAPPluginConfigRes.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2001-2009 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: UI resources for the EAPPluginConfig module.
+*
+*/
+
+/*
+* %version: 17 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  INCLUDES
+#include <eikon.rh>
+#include <eikon.rsg>
+#include <avkon.rh>
+#include <avkon.rsg>
+
+#include "EAPPluginConfig.hrh"
+#include <wlaneapsettingsui.loc>
+#include <avkon.loc>
+
+
+//  RESOURCE IDENTIFIER
+NAME EPCG
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF { buf = "EAPPluginConfiguration"; }
+
+
+RESOURCE MENU_BAR r_wpa_eap_plugin_menubar
+    {
+    titles =
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_wpa_eap_plugin_menu;
+            }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_wpa_eap_plugin_menu
+    {
+    items =
+        {
+        MENU_ITEM 
+            { 
+            command = EWPAEAPPluginCmdConfigure; 
+            txt = qtn_wlan_options_eap_plugin_configure;
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EWPAEAPPluginCmdEnable; 
+            txt = qtn_wlan_options_eap_plugin_enable; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EWPAEAPPluginCmdDisable; 
+            txt = qtn_wlan_options_eap_plugin_disable; 
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EWPAEAPPluginCmdPriorityUp; 
+            txt = qtn_wlan_options_eap_plugin_priority_up; 
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EWPAEAPPluginCmdPriorityDown; 
+            txt = qtn_wlan_options_eap_plugin_priority_down; 
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp; 
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM
+            {
+            command = EAknCmdExit;
+            txt = qtn_options_exit;
+            }
+        };
+    }
+
+
+RESOURCE CBA r_wpa_eap_config_softkeys_options_back_configure
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EWPAEAPPluginCmdConfigure; txt = \
+                                            qtn_msk_wlan_eap_configure; }
+        };
+    }
+    
+
+RESOURCE CBA r_wpa_eap_config_softkeys_options_back_enable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EWPAEAPPluginCmdEnable; txt = \
+                                            qtn_msk_wlan_eap_cs_enable; }
+        };
+    }
+
+
+RESOURCE DIALOG r_wpa_eap_config_dialog
+    {
+    flags = EAknDialogSelectionList;
+    buttons = r_wpa_eap_config_softkeys_options_back_configure;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtSingleNumberListBox;
+            id = ESelectionListControl;
+            control = LISTBOX
+                {
+                flags = EAknListBoxSelectionList;
+                };
+            }
+        };
+    }
+
+
+RESOURCE TBUF r_info_cannot_disable
+    {
+    buf = qtn_wlan_info_cannot_disable_all_eap_plugins;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPlugInConfigurationDlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2001-2009 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: Declares dialog
+*
+*/
+
+/*
+* %version: 17 %
+*/
+
+#ifndef __EAPPLUGINCONFIGURATIONDLG_H__
+#define __EAPPLUGINCONFIGURATIONDLG_H__
+
+
+// INCLUDES
+#include <aknselectionlist.h>
+#include <commdb.h>
+
+#include "EAPPluginList.h"
+
+
+// FORWARD DECLARATIONS
+class CAknTitlePane;
+class CEAPPluginConfigurationModel;
+
+
+// CONSTANTS
+/**
+* Maximum length of a SSID in BYTES
+*/
+const TUint8 KMaxSSIDLength = 32;
+
+
+// CLASS DECLARATION
+/**
+* CEAPPluginConfigurationDlg dialog class
+*/
+class CEAPPluginConfigurationDlg : public CAknSelectionListDialog
+    {
+    public: // Constructors and destructor
+
+        /**
+        * Constructor.
+        * @param aButtonId Button used to close the dialog
+        * @param aModel UI model.
+        */
+        CEAPPluginConfigurationDlg( TInt& aButtonId,
+                                 CEAPPluginConfigurationModel& aModel,
+                                 const TUint32 iIapId );
+        /**
+        * Create and launch dialog.
+        * @param aPlugins   Plugin list
+        * @param aTitle Title of the dialog
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( const REAPPluginList& aPlugins,
+                                const TDesC& aTitle );
+
+
+        /**
+        * Destructor.
+        */
+        ~CEAPPluginConfigurationDlg();
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
+
+
+    private:
+
+        /**
+        * This function is called by the dialog framework before the dialog is 
+        * sized and laid out.
+        */
+        virtual void PreLayoutDynInitL();
+
+
+        /**
+        * Handles a dialog button press for the specified button 
+        * @param aButtonId  The ID of the button that was activated.
+        * @return   ETrue to validate and exit the dialog, 
+        *           EFalse to keep the dialog active
+        */
+        TBool OkToExitL( TInt aButtonId );
+
+
+        /**
+        * Processes user commands.
+        * @param aCommandId ID of the command to respond to. 
+        */
+        virtual void ProcessCommandL( TInt aCommandId );
+
+
+        /**
+        * Get help context.
+        * @param aContext Help context is returned here.
+        */
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param aMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+        /**
+        * Catch offered key events.
+        * @param aKeyEvent Key event
+        * @param aModifiers Modifiers
+        * @return EKeyWasConsumed or EKeyWasNotConsumed, appropriately.
+        */
+        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
+                                     TEventCode aModifiers );
+
+        void SetIconsL();
+        void HandleResourceChange( TInt aType );
+        
+        /**
+        * @see CEikDialog
+        */
+        void HandleDialogPageEventL( TInt aEventID );
+        
+        void ConfigureL( TBool aQuick );
+
+    private: //data
+
+        // Stores the name of the connection, to be showed as the title.
+        TBuf<KMaxSSIDLength> iConnectionName;
+
+        // Title pane. Not owned.
+        CAknTitlePane* iTitlePane;
+
+        // Pointer to the old title. Owned.
+        HBufC* iOldTitleText;
+
+        REAPPluginList iPlugins;
+        
+        TInt* iButtonId;
+
+        // For base class, unused.
+        TInt iDummy;
+
+        // UI model. Not owned.
+        CEAPPluginConfigurationModel* iModel;
+        
+        TUint32 iIapId;
+        
+        // For exiting dialog
+        TBool iExiting;
+        
+    };
+
+
+#endif      // __EAPPLUGINCONFIGURATIONDLG_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfig.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2001-2009 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: EAP Plugin Configuration UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPPLUGINCONFIG_HRH_
+#define _EAPPLUGINCONFIG_HRH_
+
+enum TEapPluginConfigMenuCommands
+    {
+    EWPAEAPPluginCmdConfigure = 1000,
+    EWPAEAPPluginCmdEnable,
+    EWPAEAPPluginCmdDisable,
+    EWPAEAPPluginCmdPriorityUp,
+    EWPAEAPPluginCmdPriorityDown 
+    };
+
+
+#endif  //_EAPPLUGINCONFIG_HRH_
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigUid.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2001-2009 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: UIDs 
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPPLUGINCONFIGUID_H_
+#define _EAPPLUGINCONFIGUID_H_
+
+
+// CONSTANTS
+#define EAP_PLUGIN_CONFIG_DLL_UID               0x102072BB
+
+#define EAP_PLUGIN_CONFIG_INTERFACE_UID         0x102072CA
+
+#define EAP_PLUGIN_CONFIG_IMPLEMENTATION_UID    0x102072C9
+
+
+#endif // _EAPPLUGINCONFIGUID_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfiguration.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP Plugin Configuration
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+#ifndef __EAPPLUGINCONFIGURATION_H__
+#define __EAPPLUGINCONFIGURATION_H__
+
+
+// INCLUDES
+#include <e32base.h>
+
+#include "EAPPluginConfigurationIf.h"
+#include "EAPPluginConfigUid.h"
+#include "EAPPluginList.h"
+#include "EapSettings.h"
+
+
+// CLASS DECLARATION
+/**
+* CEAPPluginConfiguration class
+*/
+class CEAPPluginConfiguration : public CEAPPluginConfigurationIf
+    {
+    public:
+        static CEAPPluginConfiguration* NewL();
+        static CEAPPluginConfiguration* NewLC();
+    
+        ~CEAPPluginConfiguration();
+    
+        /**
+        * Load the EAP Plugin configuration
+        * @param    aWPAEAPPlugin   The list of EAPs in use as it was read from
+        *                           WlanEapList column of WLANServiceTable. In 
+        *                           output it contains the new list as it has 
+        *                           to be written in the same column of 
+        *                           database.
+        * @param    aConnectionName The name of the connection.
+        * @return   The ID of the button pressed to close configuration: 
+        *           typically EAknSoftkeyBack for back, EAknCmdExit for a 
+        *           request of exit or EEikCmdExit for a request of shutdown
+        */
+        TInt EAPPluginConfigurationL( TDes& aWPAEAPPlugin, 
+                                      const TUint32 aIapID, 
+                                      const TDes& aConnectionName );    
+    
+        /**
+        * Load the EAP Plugin configuration (with expanded EAP types)
+        * @param    aWPAEnabledEAPPlugin   The list of enabled EAPs in use as 
+        *                           it was read from WlanEnabledEapList column 
+        *                           of WLANServiceTable. In output it contains 
+        *                           the new list as it has to be written in the 
+        *                           same column of database.
+        * @param    aWPADisabledEAPPlugin   The list of disabled EAPs in use as
+        *                           it was read from WlanDisabledEapList column 
+        *                           of WLANServiceTable. In output it contains 
+        *                           the new list as it has to be written in the 
+        *                           same column of database.
+        * @param    aConnectionName The name of the connection.
+        * @return   The ID of the button pressed to close configuration: 
+        *           typically EAknSoftkeyBack for back, EAknCmdExit for a 
+        *           request of exit or EEikCmdExit for a request of shutdown
+        */
+        TInt EAPPluginConfigurationL( TDes8& aWPAEnabledEAPPlugin, 
+                                      TDes8& aWPADisabledEAPPlugin, 
+                                      const TUint32 aIapID, 
+                                      const TDes& aConnectionName );
+    
+        /**
+        * Shows the EAP type info.
+        */
+        void ShowEAPTypeInfo();    
+
+        /**
+        * Deletes all EAP types' settings for
+        * the given IAP.
+        */
+        void DeleteSettingsL( const TUint32 aIapID );
+    
+        /**
+        * Changes the index of the EAP settings for all EAP types    
+        */
+        void ChangeIapIDL( const TUint32 aOldIapID, const TUint32 aNewIapID );
+    
+        /**
+        * Copies the EAP type settings to another ID
+        */
+        void CopySettingsL( const TUint32 aSourceIapID, 
+                            const TUint32 aDestinationIapID );
+
+    private:
+        void ConstructL();
+        CEAPPluginConfiguration();
+        void LoadPluginInfoL( TDes& aWPAEAPPlugin, REAPPluginList& aPlugins );
+        void LoadPluginInfoL( TDes8& aWPAEnabledEAPPlugin, 
+                              TDes8& aWPADisabledEAPPlugin, 
+                              REAPPluginList& aPlugins );
+        
+        void SavePluginInfoL( TDes& aWPAEAPPlugin, REAPPluginList& aPlugins );
+        void SavePluginInfoL( TDes8& aWPAEnabledEAPPlugin, 
+                              TDes8& aWPADisabledEAPPlugin, 
+                              REAPPluginList& aPlugins );
+                              
+
+        TInt MoveEAPType( EAPSettings::TEapType aEapType, TInt aPos );
+
+        TInt MoveEAPType( const TDesC8& aEapType, TInt aPos );
+		
+    private: // Data
+            // Resource file offset.
+        TInt        iResOffset; 
+        TUint32        iIapId;
+        RImplInfoPtrArray iEapArray;
+    };
+    
+    
+#endif      // __EAPPLUGINCONFIGURATION_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CEAPPluginConfigurationModel.
+*
+*/
+
+/*
+* %version: 12 %
+*/
+
+#ifndef __EAPPLUGINCONFIGURATIONMODEL_H__
+#define __EAPPLUGINCONFIGURATIONMODEL_H__
+
+// INCLUDES
+#include <e32base.h>
+#include <bamdesca.h>
+
+
+// FORWARD DECLARATION
+class REAPPluginList;
+
+
+// CLASS DECLARATION
+
+/**
+* UI model for WPA Security Settings UI.
+* This class formats real data so it can be displayed in the listbox.
+*/
+class CEAPPluginConfigurationModel : public CBase,
+                                     public MDesCArray
+    {
+    public:     // Constructors and destructor
+        /**
+        * Constructor.
+        * @param aPlugins Plugin list.
+        */
+        inline CEAPPluginConfigurationModel( const REAPPluginList& aPlugins );
+
+
+    public:     // from MDesCArray
+        /**
+        * Get number of elements in the descriptor array.
+        * @return The number of elements in the descriptor array.
+        */
+        TInt MdcaCount() const;
+
+        /**
+        * Index into the descriptor array.
+        * @param aIndex Index.
+        * @return Descriptor at position aIndex.
+        */
+        TPtrC16 MdcaPoint( TInt aIndex ) const;
+
+
+    public:     // new functions
+        TInt MdcaEnabledCount() const;
+
+
+    private:    // types
+        enum
+            {
+            EBufSize = 128  ///< Formatting buffer size.
+            };
+
+    private:    // data
+        const REAPPluginList& iPlugins;   ///< Plugins.
+        __MUTABLE TBuf<EBufSize> iBuf;    ///< Formatting buffer.
+
+    };
+
+#include "EAPPluginConfigurationModel.inl"
+
+#endif  // __EAPPLUGINCONFIGURATIONMODEL_H__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2001-2009 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: Inline method definitions of CEAPPluginConfigurationModel.
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef __EAPPLUGINCONFIGURATIONMODEL_INL__
+#define __EAPPLUGINCONFIGURATIONMODEL_INL__
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationModel::CEAPPluginConfigurationModel
+// ---------------------------------------------------------
+//
+CEAPPluginConfigurationModel::CEAPPluginConfigurationModel(
+                                            const REAPPluginList& aPlugins )
+: iPlugins( aPlugins )
+    {
+    }
+
+
+#endif  // __EAPPLUGINCONFIGURATIONMODEL_INL__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginInfo.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class TEAPPluginInfo.
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef __EAPPLUGININFO_H__
+#define __EAPPLUGININFO_H__
+
+// INCLUDES
+#include <e32base.h>
+
+
+// FORWARD DECLARATIONS
+class CImplementationInformation;
+
+
+// CLASS DECLARATION
+
+/**
+* Information for EAP plug-ins.
+*/
+struct TEAPPluginInfo
+    {
+    public:     // Data 
+        const CImplementationInformation* iInfo;    ///< Impl. info. Not own.
+        TBool iEnabled;                             ///< ETrue if enabled.
+    };
+
+#endif  // __EAPPLUGININFO_H__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginList.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class REAPPluginList.
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef __EAP_PLUGIN_LIST_H__
+#define __EAP_PLUGIN_LIST_H__
+
+// INCLUDES
+#include <e32base.h>
+#include "EAPPluginInfo.h"
+
+
+// CLASS DECLARATION
+
+/**
+* Plugin info list.
+*/
+class REAPPluginList: public RArray<TEAPPluginInfo>
+    {
+    public:     // New methods
+        /**
+        * Change plugin position (reorder).
+        * @param aOldPos Current position of plugin. Must be a valid index.
+        * @param aOldPos New position of plugin. Must be a valid index.
+        */
+        void MovePos( TInt aOldPos, TInt aNewPos );
+    };
+
+#endif  // __EAP_PLUGIN_LIST_H__
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationDlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,617 @@
+/*
+* 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: Implementation of EAP Plugin Configuration dialog
+*
+*/
+
+/*
+* %version: 20.1.15 %
+*/
+
+// INCLUDE FILES
+#include <akntitle.h>
+#include <eikspane.h>
+#include <aknmfnesettingpage.h>
+#include <AknIconArray.h>
+#include <AknsUtils.h>
+#include <StringLoader.h>
+#include <aknnotewrappers.h>
+#include <EapType.h>
+
+#include <eappluginconfigres.rsg>
+#include "EAPPluginConfig.hrh"
+
+#include <avkon.mbg>
+
+#include "EAPPluginList.h"
+#include "EAPPlugInConfigurationDlg.h"
+#include "EAPPluginConfigurationModel.h"
+
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <eikappui.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::CEAPPluginConfigurationDlg
+// ---------------------------------------------------------
+//
+CEAPPluginConfigurationDlg::CEAPPluginConfigurationDlg( TInt& aButtonId,
+                                        CEAPPluginConfigurationModel& aModel,
+                                        const TUint32 aIapId )
+: CAknSelectionListDialog( iDummy, &aModel, NULL ),
+  iButtonId( &aButtonId ),
+  iModel( &aModel ),
+  iIapId( aIapId ),
+  iExiting( EFalse )
+    {
+    // Passing a dummy (iDummy) for selection index.
+    // Base class was made for 'select and dismiss' behaviour only, and does
+    // not work properly in our case (when only "Back" press dismissed the
+    // dialog and more selections are possible).
+    //
+    // iModel (the UI model) should really be owned by this dialog, but
+    // can't do that due to the malformed API of CAknSelectionListDialog.
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::~CEAPPluginConfigurationDlg
+// ---------------------------------------------------------
+//
+CEAPPluginConfigurationDlg::~CEAPPluginConfigurationDlg()
+    {
+    if ( iTitlePane )
+        {
+        // set old text back, if we have it...
+        if ( iOldTitleText )
+            {
+            TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) );
+            delete iOldTitleText;
+            }
+        }
+        
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfigurationDlg::ConstructAndRunLD( 
+                                               const REAPPluginList& aPlugins,
+                                               const TDesC& aTitle )
+    {
+    CleanupStack::PushL( this );
+
+    iPlugins = aPlugins;
+    iConnectionName = aTitle;
+
+    FeatureManager::InitializeLibL();
+    
+    ConstructL( R_WPA_EAP_PLUGIN_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknSelectionListDialog::ExecuteLD( R_WPA_EAP_CONFIG_DIALOG );
+    }
+
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::OkToExitL
+// ---------------------------------------------------------
+//
+TBool CEAPPluginConfigurationDlg::OkToExitL( TInt aButtonId )
+    {
+    // Translate the button presses into commands for the appui & current
+    // view to handle
+    TBool retval( EFalse );
+    if ( aButtonId == EAknSoftkeyOptions )
+        {
+        DisplayMenuL();
+        }
+    else if ( aButtonId == EEikCmdExit || 
+              aButtonId == EAknCmdExit ||
+              aButtonId == EAknSoftkeyBack )
+        {
+        *iButtonId = aButtonId;
+        retval = ETrue;
+        }
+    else if( aButtonId == EWPAEAPPluginCmdConfigure )
+        {
+        ProcessCommandL( aButtonId );
+        }
+    else if( aButtonId == EWPAEAPPluginCmdEnable )
+        {
+        ProcessCommandL( aButtonId );
+        }
+        
+
+    return retval;
+    }
+    
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            TInt current = ListBox()->CurrentItemIndex();
+            if ( iPlugins[current].iEnabled )            
+                {
+                ConfigureL(ETrue);
+                }
+            else
+                {
+                ProcessCommandL( EWPAEAPPluginCmdEnable );
+                }                
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }   
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::HandleDialogPageEventL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::HandleDialogPageEventL( TInt aEventID )
+    {
+     CAknDialog::HandleDialogPageEventL( aEventID );
+         if( iExiting )
+             {        
+             // Exit requested, exit with ok. 
+             TryExitL( EAknCmdExit );
+             }   
+
+     }
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::ConfigureL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::ConfigureL( TBool aQuick )
+    {
+    CEapType* eapType = CEapType::NewL( 
+            iPlugins[ListBox()->CurrentItemIndex()].iInfo->DataType(), 
+            ELan, 
+            iIapId );
+
+    CleanupStack::PushL( eapType );
+
+    TInt buttonId = eapType->InvokeUiL();
+    CleanupStack::PopAndDestroy( eapType );
+
+    if ( buttonId == EAknCmdExit || buttonId == EEikCmdExit )
+        {
+        if (aQuick == EFalse)
+            {
+            TryExitL( buttonId );
+            }
+        else
+            {
+            iExiting = ETrue;
+            // Don't exit here. Framework command chain will
+            // cause a KERN-EXEC 3 panic. Handle the exit in 
+            // HandleDialogPageEventL(). 
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::ProcessCommandL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::ProcessCommandL( TInt aCommandId )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch ( aCommandId )
+        {
+        case EAknCmdOpen:
+        case EWPAEAPPluginCmdConfigure:
+            {
+            ConfigureL(EFalse);
+            break;
+            }
+
+        case EWPAEAPPluginCmdEnable:
+            {
+            TInt cur = ListBox()->CurrentItemIndex();
+            iPlugins[cur].iEnabled = ETrue;
+
+            // enabling moves item to the top of the list
+            iPlugins.MovePos( cur, 0 );
+
+            // Highlight follows movement.
+            ListBox()->SetCurrentItemIndex( 0 );
+
+            // load the new CBA from resource
+            ButtonGroupContainer().SetCommandSetL( 
+                            R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_CONFIGURE );                            
+            ButtonGroupContainer().DrawDeferred();
+            DrawNow();
+            break;
+            }
+
+        case EWPAEAPPluginCmdDisable:
+            {
+            if ( iModel->MdcaEnabledCount() > 1 )
+                {
+                TInt cur = ListBox()->CurrentItemIndex();
+
+                // disabling moves item just after the last enabled one,
+                // so find that position
+                TInt next = cur;
+                
+                while ( next < iModel->MdcaCount() - 1 &&
+                        iPlugins[next].iEnabled )
+                    {
+                    ++next;
+                    }
+
+                if ( next > cur && !iPlugins[next].iEnabled ) 
+                    {
+                    --next;
+                    }
+
+
+                iPlugins[cur].iEnabled = EFalse;
+
+                // move item if needed
+                iPlugins.MovePos( cur, next );
+
+                // Highlight follows movement.
+                ListBox()->SetCurrentItemIndex( next );
+                
+                // load the new CBA from resource
+                ButtonGroupContainer().SetCommandSetL( 
+                               R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                ButtonGroupContainer().DrawDeferred();
+                DrawNow();
+                }
+            else
+                {
+                HBufC* stringLabel;
+                
+                stringLabel = StringLoader::LoadL( R_INFO_CANNOT_DISABLE,
+                                                   iEikonEnv );
+
+                CleanupStack::PushL( stringLabel );
+
+                CAknInformationNote* dialog = new ( ELeave )
+                                                CAknInformationNote( ETrue );
+                dialog->ExecuteLD( *stringLabel );
+
+                CleanupStack::PopAndDestroy( stringLabel );
+                }
+
+            break;
+            }
+
+        case EWPAEAPPluginCmdPriorityUp:
+            {
+            TInt cur = ListBox()->CurrentItemIndex();
+            iPlugins.MovePos( cur, cur - 1 );
+
+            // Highlight follows movement.
+            ListBox()->SetCurrentItemIndexAndDraw( cur - 1 );
+            break;
+            }
+
+        case EWPAEAPPluginCmdPriorityDown:
+            {
+            TInt cur = ListBox()->CurrentItemIndex();
+
+            iPlugins.MovePos( cur, cur + 1 );
+            // Highlight follows movement.
+            ListBox()->SetCurrentItemIndexAndDraw( cur + 1 );
+
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+        case EEikCmdExit:
+            {
+            TryExitL( aCommandId );
+            break;
+            }
+
+        default:
+            {
+            CAknSelectionListDialog::ProcessCommandL( aCommandId );
+            break;
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::PreLayoutDynInitL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::PreLayoutDynInitL()
+    {
+    CAknSelectionListDialog::PreLayoutDynInitL();
+
+    // first get StatusPane
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+
+    // then get TitlePane
+    iTitlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( 
+                                                    EEikStatusPaneUidTitle ) );
+    // if not already stored, store it for restoring
+    if ( !iOldTitleText )
+        {
+        iOldTitleText = iTitlePane->Text()->AllocL();
+        }
+
+    // set new titlepane text
+    iTitlePane->SetTextL( iConnectionName );
+
+    SetIconsL();
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::SetIconsL()
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::SetIconsL()
+    {
+    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 );
+    CleanupStack::PushL( icons );
+
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
+    CGulIcon* icon = CGulIcon::NewLC();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;    
+    AknsUtils::CreateColorIconL( skinInstance,
+                                 KAknsIIDQgnIndiMarkedAdd, 
+                                 KAknsIIDQsnIconColors, 
+                                 EAknsCIQsnIconColorsCG13, 
+                                 bitmap, 
+                                 mask, 
+                                 AknIconUtils::AvkonIconFileName(),
+                                 EMbmAvkonQgn_indi_marked_add, 
+                                 EMbmAvkonQgn_indi_marked_add_mask,
+                                 KRgbBlack );
+    icon->SetBitmap( bitmap );
+    icon->SetMask( mask );    
+    icons->AppendL( icon );
+                
+    CleanupStack::Pop( icon ); 
+
+    SetIconArrayL( icons );
+
+    CleanupStack::Pop( icons );
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::DynInitMenuPaneL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::DynInitMenuPaneL( TInt aResourceId, 
+                                                CEikMenuPane* aMenuPane )
+    {
+    CAknSelectionListDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+    if ( aMenuPane && aResourceId == R_WPA_EAP_PLUGIN_MENU )
+        {
+        if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        if ( !iModel->MdcaCount() )
+            {
+            // if no plug-ins then dim the whole menu.
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdConfigure, ETrue );
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdEnable, ETrue );
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdDisable, ETrue );
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityUp, ETrue );
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityDown, ETrue );
+            }
+        else
+            {
+            TInt current = ListBox()->CurrentItemIndex();
+            TBool enabled = iPlugins[current].iEnabled;
+            
+            // Hide either "Enable" or "Disable", as appropriate.
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdEnable, enabled );
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdDisable, !enabled );
+            
+            // Don't display "Configure" for disabled items
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdConfigure, !enabled );
+            
+            // Don't display "Raise priority" nor "Lower priority" for 
+            // disabled items
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityUp, !enabled );
+            aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityDown, !enabled );
+            
+            
+            if ( enabled )
+                {
+                if ( current == 0 )
+                    {
+                    // Can't go higher than top.
+                    aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityUp, 
+                                              ETrue );
+                    }
+                
+                if ( current == iModel->MdcaCount() - 1 || 
+                        ( current < iModel->MdcaCount() - 1 && 
+                        !iPlugins[current + 1].iEnabled ) )
+                    {
+                    // Can't go lower than the last enabled item
+                    aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityDown, 
+                                              ETrue );
+                    }
+                }            
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::OfferKeyEventL
+// ---------------------------------------------------------
+//
+TKeyResponse CEAPPluginConfigurationDlg::OfferKeyEventL( 
+                                                const TKeyEvent& aKeyEvent, 
+                                                TEventCode aType )
+    {
+    TKeyResponse result( EKeyWasNotConsumed );
+    
+    if ( aType == EEventKey )
+        {
+        
+        // Exit handling 
+        if ( aKeyEvent.iCode == EKeyEscape )
+            {
+            TryExitL( EEikCmdExit );
+            return EKeyWasConsumed;
+            }
+        
+        TInt current = ListBox()->CurrentItemIndex();
+        
+        // Handle Enter key here, since it doesn't seem to convert into
+        // the proper command id via the normal route
+        // (maybe some Avkon support for Enter key is still missing in
+        // S60 3.2 2008_wk22)
+        if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            if ( iPlugins[current].iEnabled )
+                {
+                OkToExitL( EWPAEAPPluginCmdConfigure );
+                }
+            else
+                {
+                OkToExitL( EWPAEAPPluginCmdEnable );
+                }
+                
+            result = EKeyWasConsumed;
+            }
+        else
+            {
+            result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+                
+        TInt next = ListBox()->CurrentItemIndex();
+
+        if ( current != next &&
+             ( iPlugins[current].iEnabled && !iPlugins[next].iEnabled ||
+               !iPlugins[current].iEnabled && iPlugins[next].iEnabled ) )
+            {
+            // status is different, the CBA must be changed
+            CEikButtonGroupContainer& cba = ButtonGroupContainer();
+
+            // load the new set from resource
+            if ( iPlugins[next].iEnabled )
+                {
+                cba.SetCommandSetL(  
+                            R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_CONFIGURE );                           
+                }
+            else
+                {
+                cba.SetCommandSetL(  
+                            R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                }
+
+            cba.DrawDeferred();
+            }
+        }
+    else
+        {
+        // pass event up the hierarchy
+        result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );        
+        }
+        
+    
+   
+    return result;
+    }
+
+
+// ----------------------------------------------------------------------------
+// CEAPPluginConfigurationDlg::HandleResourceChange
+// ----------------------------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::HandleResourceChange( TInt aType )
+    {
+    CAknSelectionListDialog::HandleResourceChange( aType );
+
+    if ( aType == KAknsMessageSkinChange )
+        {
+        TRAP_IGNORE( SetIconsL() );
+        SizeChanged();
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationDlg::GetHelpContext
+// ---------------------------------------------------------
+//
+void CEAPPluginConfigurationDlg::GetHelpContext( 
+                                            TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    aContext.iContext = KSET_HLP_WLAN_EAP_PLUGINS_IAP;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationModel.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CEAPPlugInConfigurationModel
+*
+*/
+
+/*
+* %version: 14 %
+*/
+
+// INCLUDE FILES
+#include "EAPPluginConfigurationModel.h"
+#include "EAPPluginList.h"
+#include <ecom/ecom.h>
+
+
+// CONSTANTS
+
+// Format text for MdcaPoint when Enabled
+_LIT( KFormatEnabled, "%d\t%S\t%d\t" );
+
+// Format text for MdcaPoint when Disabled
+_LIT( KFormatDisabled, "\t%S\t\t" );
+
+
+/**
+* Maximum length of the formatted text excluding the name.
+* (I.e. if the name is trimmed to this length, there will not be overflow.)
+* Includes the formatting tabs (3), the icon index length (1) plus maximum
+* length of an integer (11).
+*/
+LOCAL_D const TInt KMaxLenForEmptyName = 15;
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationModel::MdcaCount
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfigurationModel::MdcaCount() const
+    {
+    return iPlugins.Count();
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationModel::MdcaPoint
+// ---------------------------------------------------------
+//
+TPtrC16 CEAPPluginConfigurationModel::MdcaPoint( TInt aIndex ) const
+    {
+    // Oddly enough, MdcaPoint is const. We need to use MUTABLE_CAST.
+    TInt maxName = EBufSize - KMaxLenForEmptyName;
+    TPtrC name( iPlugins[aIndex].iInfo->DisplayName() );
+    if ( name.Length() > maxName )
+        {
+        name.Set( name.Left( maxName ) );
+        }
+
+    if ( iPlugins[aIndex].iEnabled )
+        {
+        MUTABLE_CAST( TBuf<EBufSize>&, iBuf ).Format( KFormatEnabled, 
+                                                      aIndex+1, &name, 0 );
+        }
+    else
+        {
+        MUTABLE_CAST( TBuf<EBufSize>&, iBuf ).Format( KFormatDisabled, &name );
+        }
+
+    return iBuf;
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfigurationModel::MdcaEnabledCount
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfigurationModel::MdcaEnabledCount() const
+    {
+    TInt index;
+    TInt nPlugins = MdcaCount();
+    TInt numEnabled = 0;
+
+    for ( index = 0; index < nPlugins; index++ )
+        {
+        if ( iPlugins[index].iEnabled )
+            {
+            numEnabled++;
+            }
+        }
+
+    return numEnabled;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfiguration.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,836 @@
+/*
+* 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: Implementation of EAP Plugin Configuration
+*
+*/
+
+/*
+* %version: 24 %
+*/
+
+// INCLUDE FILES
+#include "EAPPluginConfiguration.h"
+#include "EAPPlugInConfigurationDlg.h"
+#include "EAPPluginConfigurationModel.h"
+#include <bautils.h>
+#include <EapType.h>
+#include "EAPPluginList.h"
+
+#include <ecom/ecom.h>
+#include <data_caging_path_literals.hrh>
+#include <eappluginconfigres.rsg>
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "EAPPluginConfigRes.rsc" );   // RSC file name.
+_LIT( KSpace, " " );
+_LIT( KPlusSign, "+" );
+_LIT( KMinusSign, "-" );
+_LIT( KComma, "," );
+
+
+// Length of the UID
+static const TInt KLengthOfImplUid = 3;
+
+// Length of expanded EAP type (RFC 3748)
+static const TInt KLengthOfExpEapType = 8; 
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEAPPluginConfiguration::CEAPPluginConfiguration
+// -----------------------------------------------------------------------------
+//
+CEAPPluginConfiguration::CEAPPluginConfiguration()
+: iIapId( 0 )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEAPPluginConfiguration::NewL
+// -----------------------------------------------------------------------------
+//
+CEAPPluginConfiguration* CEAPPluginConfiguration::NewL() 
+    {
+    CEAPPluginConfiguration* self = NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+    
+// -----------------------------------------------------------------------------
+// CEAPPluginConfiguration::NewLC
+// -----------------------------------------------------------------------------
+//
+CEAPPluginConfiguration* CEAPPluginConfiguration::NewLC()
+    {
+    CEAPPluginConfiguration* self = new( ELeave )CEAPPluginConfiguration();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEAPPluginConfiguration::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEAPPluginConfiguration::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEAPPluginConfiguration::~CEAPPluginConfiguration
+// -----------------------------------------------------------------------------
+//
+CEAPPluginConfiguration::~CEAPPluginConfiguration()
+    {    
+    iEapArray.ResetAndDestroy();
+    CCoeEnv::Static()->DeleteResourceFile( iResOffset );
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::EAPPluginConfigurationL
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfiguration::EAPPluginConfigurationL( TDes& aWPAEAPPlugin,
+                                                 const TUint32 aIapId, 
+                                                 const TDes& aConnectionName )
+    {
+  	// Adding the resource file to the CoeEnv.
+    if( !iResOffset )
+        {  		
+        TFileName fileName;
+
+        fileName.Append( KDriveZ );
+        fileName.Append( KDC_RESOURCE_FILES_DIR );
+        fileName.Append( KResourceFileName );
+	    
+        BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), 
+                                        fileName );
+	    
+	    TRAP_IGNORE( iResOffset = 
+                            CCoeEnv::Static()->AddResourceFileL( fileName ); );
+  	    }       
+
+    TInt buttonId;
+    
+    REAPPluginList plugins;            ///< Plug-in infos.
+    
+    LoadPluginInfoL( aWPAEAPPlugin, plugins );
+    CEAPPluginConfigurationModel* model = new( ELeave ) 
+                                    CEAPPluginConfigurationModel( plugins );
+    CleanupStack::PushL( model );
+
+    CEAPPluginConfigurationDlg* pluginDlg = new( ELeave ) 
+                        CEAPPluginConfigurationDlg( buttonId, *model, aIapId );
+
+    pluginDlg->ConstructAndRunLD( plugins, aConnectionName );
+
+    SavePluginInfoL( aWPAEAPPlugin, plugins );
+    
+    CleanupStack::PopAndDestroy( model );
+    plugins.Close();
+    
+    iIapId = aIapId;
+
+    return buttonId;
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::EAPPluginConfigurationL
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfiguration::EAPPluginConfigurationL( 
+                                                TDes8& aWPAEnabledEAPPlugin,
+                                                TDes8& aWPADisabledEAPPlugin,
+                                                const TUint32 aIapId, 
+                                                const TDes& aConnectionName )
+    {
+  	// Adding the resource file to the CoeEnv.
+    if( !iResOffset )
+        {  		
+        TFileName fileName;
+
+        fileName.Append( KDriveZ );
+        fileName.Append( KDC_RESOURCE_FILES_DIR );
+        fileName.Append( KResourceFileName );
+	    
+        BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), 
+                                        fileName );
+	    
+	    TRAP_IGNORE( iResOffset = 
+                            CCoeEnv::Static()->AddResourceFileL( fileName ); );
+  	    }       
+
+
+    TInt buttonId;
+    
+    REAPPluginList plugins;            ///< Plug-in infos.
+    
+    LoadPluginInfoL( aWPAEnabledEAPPlugin, aWPADisabledEAPPlugin, plugins );
+    CEAPPluginConfigurationModel* model = new( ELeave ) 
+                                    CEAPPluginConfigurationModel( plugins );
+    CleanupStack::PushL( model );
+
+    CEAPPluginConfigurationDlg* pluginDlg = new( ELeave ) 
+                        CEAPPluginConfigurationDlg( buttonId, *model, aIapId );
+
+    pluginDlg->ConstructAndRunLD( plugins, aConnectionName );
+
+    SavePluginInfoL( aWPAEnabledEAPPlugin, aWPADisabledEAPPlugin, plugins );
+    
+    CleanupStack::PopAndDestroy( model );
+    plugins.Close();
+    
+    iIapId = aIapId;
+
+    return buttonId;
+    }
+    
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::LoadPluginInfoL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::LoadPluginInfoL( TDes& aWPAEAPPlugin, 
+                                               REAPPluginList& aPlugins )
+    {
+    TInt posComma = aWPAEAPPlugin.Locate( ',' );
+    while ( posComma != KErrNotFound )                // Extract the parameters
+        {
+        aWPAEAPPlugin.Replace( posComma, 1, KSpace );
+        posComma = aWPAEAPPlugin.Locate( ',' );
+        }
+
+    TLex lex( aWPAEAPPlugin );
+
+    CArrayFixFlat<TPtrC>* params;       // array of parameters
+    params = new( ELeave ) CArrayFixFlat<TPtrC>( sizeof( TPtrC ) );
+    CleanupStack::PushL( params );
+
+    while ( !lex.Eos() )                // Extract the parameters
+        {
+        params->AppendL( lex.NextToken() );
+        }
+
+    aPlugins.Reset();   // Reset this first: dependent on iEapArray.
+    iEapArray.ResetAndDestroy();
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray );
+
+    // EAP plugin interface dialog should show only the EAP types that allowed
+    // outside PEAP.
+    
+    for( TInt count = 0; count < iEapArray.Count(); count++ )
+        {
+        // Filter out the EAP types which are NOT allowed outside PEAP.
+        if( CEapType::IsDisallowedOutsidePEAP( *iEapArray[count] ) )
+            {
+            // Delete the EAP type, which isn't allowed outside PEAP, 
+            // from the array.
+            delete iEapArray[count];
+            iEapArray.Remove( count );
+            
+            // One item removed from the array. So reduce the item count.
+            count--;
+            }
+        }
+
+    TInt numParams = params->Count();
+    TBool foundDefaultEAPTypes = EFalse;
+    
+    // Rearrange the array so that EAP-SIM and EAP-AKA are on top, in that order.
+    
+    // The rearrange is needed only for the first time creation.
+    if ( numParams == 0 )
+        {
+        TInt topPos = 0; // position in the beginning of arrary.
+        TInt error( KErrNone );
+
+        // First move EAP-AKA to top, if it is present in the array.
+        error = MoveEAPType( EAPSettings::EEapAka, topPos );
+
+        if ( error != KErrNotFound )
+            {
+            // Found EAP-AKA in the array. 
+            // Doesn't matter if the move was a success or not.
+            foundDefaultEAPTypes = ETrue;
+            }
+
+        // Now move EAP-SIM to top. 
+        // EAP-SIM will be always the top most if it is present in the array.
+        // Otherwise EAP-AKA stays in the top, if it is present.
+        // The order doesn't matter if these two are not present.
+        MoveEAPType( EAPSettings::EEapSim, topPos );
+
+        if( error != KErrNotFound)
+            {
+            // Found EAP-SIM in the array. 
+            // Doesn't matter if the move was a success.
+            foundDefaultEAPTypes = ETrue;
+            }   
+        }
+
+    TInt i;
+    TInt j;
+    TInt numInfoStore = iEapArray.Count();
+    TInt eapUid;
+    
+    // just to make sure we are not given a non-empty but fully disabled list
+    TBool gotEnabled = EFalse;
+
+    CArrayFix<TInt>* usedImplInfo = new( ELeave ) CArrayFixFlat<TInt>( 4 );
+    CleanupStack::PushL( usedImplInfo );
+    usedImplInfo->AppendL( 0, numInfoStore );
+
+    for ( j = 0; j < numParams; j++ )
+        {
+        TLex lexUid( params->At( j ) );
+        if ( lexUid.Val( eapUid ) == KErrNone )
+            {
+            for ( i = 0; i < numInfoStore; i++ )
+                {
+                TLex8 lexDataType( iEapArray[i]->DataType() );
+                TInt implUID;
+
+                if ( lexDataType.Val( implUID ) == KErrNone )
+                    {
+                    if ( implUID == Abs( eapUid ) )
+                        {
+                        usedImplInfo->InsertL( i, 1 );
+                        if ( i+1 < usedImplInfo->Count() )
+                            {
+                            usedImplInfo->Delete( i+1 );
+                            }
+
+                        TEAPPluginInfo plugin;
+                        plugin.iInfo = iEapArray[i];
+
+                        plugin.iEnabled = ( eapUid > 0 || 
+                                ( eapUid == 0 && 
+                                  params->At( j ).Left( 1 ) == KPlusSign ) );
+                        User::LeaveIfError( aPlugins.Append( plugin ) );
+                        gotEnabled = gotEnabled || plugin.iEnabled;
+                        i = numInfoStore;  // to exit from cycle
+                        }
+                    }
+                }   
+            }
+        }
+
+    for ( i = 0; i < numInfoStore; i++ )
+        {
+        if ( !usedImplInfo->At( i ) )
+            {
+            TEAPPluginInfo plugin;
+            plugin.iInfo = iEapArray[i];
+            
+            // Default is enabled. 
+            // There should not be a case of all EAP types disabled.
+            TBool defaultEnableValue( ETrue ); 
+            
+            if ( numParams > 0 && gotEnabled)
+                {
+                // If there some EAP types which are already enabled/disabled,
+                // we make the new EAP types disabled.
+                defaultEnableValue = EFalse;
+                }
+            else
+                {
+                // Nothing in the string or all disabled.
+                // Should be the first time execution (creating new IAP).
+                // Only EAP-SIM and EAP-AKA are enabled in this case.
+                TLex8 lexDataType( iEapArray[i]->DataType() );
+                TInt implDataType;
+                
+                if ( lexDataType.Val( implDataType ) == KErrNone )
+                    {
+                    if( foundDefaultEAPTypes )
+                        {
+                        defaultEnableValue = 
+                                    ( implDataType == EAPSettings::EEapSim ||
+                                      implDataType == EAPSettings::EEapAka );
+                        }
+                    else
+                        {
+                        // No default EAPs (No EAP-SIM and EAP-AKA). 
+                        // So all EAP types are enabled by default.
+                        defaultEnableValue = ETrue;
+                        }
+                    }
+                }
+
+            plugin.iEnabled = defaultEnableValue;
+            User::LeaveIfError( aPlugins.Append( plugin ) );
+            }
+        }
+
+    CleanupStack::PopAndDestroy( 2, params );  // usedImplInfo, params
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::LoadPluginInfoL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::LoadPluginInfoL( TDes8& aWPAEnabledEAPPlugin, 
+                                               TDes8& aWPADisabledEAPPlugin, 
+                                               REAPPluginList& aPlugins )
+    {
+    // size of aWPAEnabledEAPPlugin and aWPADisabledEAPPlugin must be 
+    // divisible by KLengthOfExpEapType
+    __ASSERT_DEBUG( ( aWPAEnabledEAPPlugin.Size() % KLengthOfExpEapType == 0 ), 
+                    User::Panic( _L( "aWPAEnabledEAPPlugin is corrupted!" ), KErrCorrupt ) );
+                     
+    __ASSERT_DEBUG( ( aWPADisabledEAPPlugin.Size() % KLengthOfExpEapType == 0 ), 
+                    User::Panic( _L( "aWPADisabledEAPPlugin is corrupted!" ), KErrCorrupt ) );
+    
+
+    aPlugins.Reset();   // Reset this first: dependent on iEapArray.
+    iEapArray.ResetAndDestroy();
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray );
+
+    // EAP plugin interface dialog should show only the EAP types that allowed
+    // outside PEAP.
+    
+    for( TInt count = 0; count < iEapArray.Count(); count++ )
+        {
+        // Filter out the EAP types which are NOT allowed outside PEAP.
+        if( CEapType::IsDisallowedOutsidePEAP( *iEapArray[count] ) )
+            {
+            // Delete the EAP type, which isn't allowed outside PEAP, 
+            // from the array.
+            delete iEapArray[count];
+            iEapArray.Remove( count );
+            
+            // One item removed from the array. So reduce the item count.
+            count--;
+            }
+        }
+
+    TInt numEnabled = aWPAEnabledEAPPlugin.Size() / KLengthOfExpEapType;
+    TInt numDisabled = aWPADisabledEAPPlugin.Size() / KLengthOfExpEapType;
+    TBool foundDefaultEAPTypes = EFalse;
+    
+    // Rearrange the array so that EAP-SIM and EAP-AKA are on top, in that order.
+    
+    // The rearrange is needed only for the first time creation.
+    if ( !( numEnabled || numDisabled ) )
+        {
+        TInt topPos = 0; // position in the beginning of array.
+        TInt error( KErrNone );
+
+        // First move EAP-AKA to top, if it is present in the array.
+        _LIT8( KExpEapTypeFormat, "\xFE\0\0\0%c%c%c%c" );
+        TBuf8<KLengthOfExpEapType> tmpEap;
+        
+        // BigEndian::Put32( const_cast<TUint8*>( tmpEap.Ptr() ) + 4, 
+        //                  EAPSettings::EEapAka );
+        tmpEap.Format( KExpEapTypeFormat, ( EAPSettings::EEapAka >> 24 ) & 0xff, 
+                                          ( EAPSettings::EEapAka >> 16 ) & 0xff,
+                                          ( EAPSettings::EEapAka >> 8 ) & 0xff,
+                                          EAPSettings::EEapAka & 0xff );
+                                          
+        error = MoveEAPType( tmpEap, topPos );
+
+        if ( error != KErrNotFound )
+            {
+            // Found EAP-AKA in the array. 
+            // Doesn't matter if the move was a success or not.
+            foundDefaultEAPTypes = ETrue;
+            }
+
+        // Now move EAP-SIM to top. 
+        // EAP-SIM will be always the top most if it is present in the array.
+        // Otherwise EAP-AKA stays in the top, if it is present.
+        // The order doesn't matter if these two are not present.
+        // BigEndian::Put32( const_cast<TUint8*>( tmpEap.Ptr() ) + 4, 
+        //                  EAPSettings::EEapSim );
+        tmpEap.Format( KExpEapTypeFormat, ( EAPSettings::EEapSim >> 24 ) & 0xff, 
+                                          ( EAPSettings::EEapSim >> 16 ) & 0xff,
+                                          ( EAPSettings::EEapSim >> 8 ) & 0xff,
+                                          EAPSettings::EEapSim & 0xff );
+                                          
+        error = MoveEAPType( tmpEap, topPos );
+
+        if( error != KErrNotFound)
+            {
+            // Found EAP-SIM in the array. 
+            // Doesn't matter if the move was a success.
+            foundDefaultEAPTypes = ETrue;
+            }   
+        }
+
+    TInt i;
+    TInt j;
+    TInt numInfoStore = iEapArray.Count();
+
+    CArrayFix<TInt>* usedImplInfo = new( ELeave ) CArrayFixFlat<TInt>( 4 );
+    CleanupStack::PushL( usedImplInfo );
+  
+    usedImplInfo->AppendL( 0, numInfoStore );
+
+    // deal with the enabled first
+    for ( j = 0; j < numEnabled; j++ )
+        {
+    	TPtrC8 param( aWPAEnabledEAPPlugin.Ptr() + KLengthOfExpEapType * j, 
+    	              KLengthOfExpEapType );
+    	
+        for ( i = 0; i < numInfoStore; i++ )
+            {
+            if ( !param.Compare( iEapArray[i]->DataType() ) )
+                {
+                usedImplInfo->InsertL( i, 1 );
+                if ( i+1 < usedImplInfo->Count() )
+                    {
+                    usedImplInfo->Delete( i+1 );
+                    }
+
+                TEAPPluginInfo plugin;
+                plugin.iInfo = iEapArray[i];
+                plugin.iEnabled = ETrue;
+                
+                User::LeaveIfError( aPlugins.Append( plugin ) );
+                i = numInfoStore;  // to exit from cycle
+                }
+            }   
+        }
+
+
+    // now come the disabled
+    for ( j = 0; j < numDisabled; j++ )
+        {
+    	TPtrC8 param( aWPADisabledEAPPlugin.Ptr() + KLengthOfExpEapType * j, 
+    	              KLengthOfExpEapType );
+    	
+        for ( i = 0; i < numInfoStore; i++ )
+            {
+            if ( !param.Compare( iEapArray[i]->DataType() ) )
+                {
+                usedImplInfo->InsertL( i, 1 );
+                if ( i+1 < usedImplInfo->Count() )
+                    {
+                    usedImplInfo->Delete( i+1 );
+                    }
+
+                TEAPPluginInfo plugin;
+                plugin.iInfo = iEapArray[i];
+                plugin.iEnabled = EFalse;
+                
+                User::LeaveIfError( aPlugins.Append( plugin ) );
+                i = numInfoStore;  // to exit from cycle
+                }
+            }   
+        }
+        
+
+    for ( i = 0; i < numInfoStore; i++ )
+        {
+        if ( !usedImplInfo->At( i ) )
+            {
+            TEAPPluginInfo plugin;
+            plugin.iInfo = iEapArray[i];
+            
+            // Default is enabled. 
+            // There should not be a case of all EAP types disabled.
+            TBool defaultEnableValue( ETrue ); 
+            
+            if ( numEnabled > 0 )
+                {
+                // If there some EAP types which are already enabled/disabled,
+                // we make the new EAP types disabled.
+                defaultEnableValue = EFalse;
+                }
+            else
+                {
+                // No EAP types enabled. 
+                // Should be the first time execution (creating new IAP).
+                // Only EAP-SIM and EAP-AKA are enabled in this case.
+                
+                // [FE] [00 00 00] [TEapType_bigendian]
+                const TDesC8& cue = iEapArray[i]->DataType();
+                
+                TPtrC8 eapType( cue.Ptr() + 4, 4 );
+                TUint32 implDataType = ( eapType[0] << 24 ) |
+                                       ( eapType[1] << 16 ) |
+                                       ( eapType[2] << 8 ) |
+                                       eapType[3];
+
+                if( foundDefaultEAPTypes )
+                    {
+                    _LIT8( KExpEapFirstQuad, "\xFE\0\0\0" );
+                    TPtrC8 firstQuad( cue.Ptr(), 4 );
+                    
+                    defaultEnableValue = 
+                            ( !firstQuad.Compare ( KExpEapFirstQuad ) &&
+                                ( implDataType == EAPSettings::EEapSim ||
+                                  implDataType == EAPSettings::EEapAka ) );
+                    }
+                else
+                    {
+                    // No default EAPs (No EAP-SIM and EAP-AKA). 
+                    // So all EAP types are enabled by default.
+                    defaultEnableValue = ETrue;
+                    }
+                }
+
+            plugin.iEnabled = defaultEnableValue;
+            User::LeaveIfError( aPlugins.Append( plugin ) );
+            }
+        }
+    CleanupStack::PopAndDestroy( usedImplInfo );
+    
+    }
+    
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::SavePluginInfoL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::SavePluginInfoL( TDes& aWPAEAPPlugin, 
+                                               REAPPluginList& aPlugins )
+    {
+    aWPAEAPPlugin.Zero();
+    for ( TInt index = 0; index < aPlugins.Count(); index++ )
+        {
+        TBuf8<KLengthOfImplUid> cue = aPlugins[index].iInfo->DataType(); 
+
+        TLex8 lexDataType( cue );
+        TInt implUID;
+        if ( lexDataType.Val( implUID ) == KErrNone )
+            {
+            if ( aPlugins[index].iEnabled )
+                {
+                aWPAEAPPlugin.Append( KPlusSign );
+                }
+            else
+                {
+                aWPAEAPPlugin.Append( KMinusSign );
+                }
+
+            aWPAEAPPlugin.AppendNumFixedWidth( implUID, EDecimal, 
+                                               KLengthOfImplUid );
+
+            if ( index != aPlugins.Count()-1 )
+                {
+                aWPAEAPPlugin.Append( KComma );
+                }
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::SavePluginInfoL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::SavePluginInfoL( TDes8& aWPAEnabledEAPPlugin, 
+                                               TDes8& aWPADisabledEAPPlugin, 
+                                               REAPPluginList& aPlugins )
+    {
+    aWPAEnabledEAPPlugin.Zero();
+    aWPADisabledEAPPlugin.Zero();
+    
+    for ( TInt index = 0; index < aPlugins.Count(); index++ )
+        {
+        if ( aPlugins[index].iEnabled )
+            {
+            aWPAEnabledEAPPlugin.Append( aPlugins[index].iInfo->DataType() );
+            }
+        else
+            {
+            aWPADisabledEAPPlugin.Append( aPlugins[index].iInfo->DataType() );
+            }
+        } 
+    
+    }
+    
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::ShowEAPTypeInfo
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::ShowEAPTypeInfo()
+    {    
+    
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::DeleteSettingsL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::DeleteSettingsL( const TUint32 aIapID )
+    {    
+    iEapArray.ResetAndDestroy();
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray );
+        
+    for ( TInt i = 0; i < iEapArray.Count(); i++ )
+        {
+        if ( !CEapType::IsDisallowedOutsidePEAP( *iEapArray[i] ) )
+            {
+            CEapType* eapType = CEapType::NewL( iEapArray[i]->DataType(), 
+                                                ELan, 
+                                                aIapID );
+            CleanupStack::PushL( eapType );
+            
+            eapType->DeleteConfigurationL();
+            CleanupStack::PopAndDestroy( eapType );
+            }
+        }    
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::ChangeIapIDL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::ChangeIapIDL( const TUint32 aOldIapID,
+                                            const TUint32 aNewIapID )
+    {
+    iEapArray.ResetAndDestroy();
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray );
+        
+    for ( TInt i = 0; i < iEapArray.Count(); i++ )
+        {
+        if ( !CEapType::IsDisallowedOutsidePEAP( *iEapArray[i] ) )
+            {
+            CEapType* eapType = CEapType::NewL( iEapArray[i]->DataType(), 
+                                                ELan, 
+                                                aOldIapID );
+            CleanupStack::PushL( eapType );
+            
+            eapType->SetIndexL( ELan, aNewIapID );
+            CleanupStack::PopAndDestroy( eapType );
+        }
+    }    
+}
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::CopySettingsL
+// ---------------------------------------------------------
+//
+void CEAPPluginConfiguration::CopySettingsL( const TUint32 aSourceIapID,
+	                                         const TUint32 aDestinationIapID )
+    {
+	iEapArray.ResetAndDestroy();
+	REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray );
+		
+	for ( TInt i = 0; i < iEapArray.Count(); i++ )
+	    {
+		if ( !CEapType::IsDisallowedOutsidePEAP( *iEapArray[i] ) )
+		    {
+			CEapType* eapType = CEapType::NewL( iEapArray[i]->DataType(), 
+			                                    ELan, 
+			                                    aSourceIapID );
+			CleanupStack::PushL( eapType );
+			
+			eapType->CopySettingsL( ELan, aDestinationIapID );
+			CleanupStack::PopAndDestroy( eapType );
+    		}
+	    }	
+    }
+        
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::MoveEAPType
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfiguration::MoveEAPType( EAPSettings::TEapType aEapType, 
+                                           TInt aPos )
+    {
+    TInt error( KErrNotFound );
+
+    // Parse the array to find out the desired EAP type.
+    for( TInt count = 0; count < iEapArray.Count(); count++ )
+        {
+        TLex8 lexDataType( iEapArray[count]->DataType() );
+        TInt implDataType;
+        
+        if ( lexDataType.Val( implDataType ) == KErrNone )
+            {
+            if ( implDataType == aEapType )
+                {
+                // Move this to the required destination.
+                error = iEapArray.Insert( iEapArray[count], aPos );
+
+                if( KErrNone == error )
+                    {
+                    // Delete the old entry. It should be one count up now.
+                    iEapArray.Remove( count+1 );          			
+                    }
+                else
+                    {
+                    // Some problem. Couldn't move.
+                    error = KErrUnknown;
+                    }
+
+                // No need to parse further in the array. 
+                // We found the needed EAP type.
+                break; 
+                }
+            }
+        else
+            {
+            error = KErrGeneral;
+            }
+        }
+
+    return error;
+    }
+
+
+// ---------------------------------------------------------
+// CEAPPluginConfiguration::MoveEAPType
+// ---------------------------------------------------------
+//
+TInt CEAPPluginConfiguration::MoveEAPType( const TDesC8& aEapType, TInt aPos )
+    {
+    TInt error( KErrNotFound );
+
+    // Parse the array to find out the desired EAP type.
+    for( TInt count = 0; count < iEapArray.Count(); count++ )
+        {
+        if ( !iEapArray[count]->DataType().Compare( aEapType ) )
+            {
+            // Move this to the required destination.
+            error = iEapArray.Insert( iEapArray[count], aPos );
+
+            if( KErrNone == error )
+                {
+                // Delete the old entry. It should be one count up now.
+                iEapArray.Remove( count+1 );          			
+                }
+            else
+                {
+                // Some problem. Couldn't move.
+                error = KErrUnknown;
+                }
+
+            // No need to parse further in the array. 
+            // We found the needed EAP type.
+            break; 
+            }
+        }
+
+    return error;
+    }
+
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfigurationProxy.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: Some functions that ECom needs.
+*
+*/
+
+/*
+* %version: 12 %
+*/
+
+// INCLUDE FILES
+#include "EAPPluginConfiguration.h"
+#include "EAPPluginConfigUid.h"
+
+#include <e32base.h>
+#include <ecom/implementationproxy.h>
+
+
+const TImplementationProxy ImplementationTable[] = 
+    {
+    {{EAP_PLUGIN_CONFIG_IMPLEMENTATION_UID}, 
+        reinterpret_cast<TProxyNewLPtr>( CEAPPluginConfiguration::NewL ) }
+    };
+
+
+// ================= OTHER EXPORTED FUNCTIONS ==============
+
+// -----------------------------------------------------------------------------
+// ImplementationGroupProxy
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
+                                                          TInt& aTableCount )
+    {
+    aTableCount = sizeof( ImplementationTable ) / 
+                  sizeof( TImplementationProxy );
+
+    return ImplementationTable;
+    }
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginList.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class REAPPluginList.
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+// INCLUDE FILES
+#include "EAPPluginList.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// REAPPluginList::MovePos
+// ---------------------------------------------------------
+//
+void REAPPluginList::MovePos( TInt aOldPos, TInt aNewPos )
+    {
+    TEAPPluginInfo temp;
+    TInt i;
+    if ( aNewPos > aOldPos )
+        {
+        temp = (*this)[aOldPos];
+        for ( i = aOldPos; i < aNewPos; i++ )
+            {
+            (*this)[i] = (*this)[i + 1];
+            }
+        (*this)[aNewPos] = temp;
+        }
+    else if ( aNewPos < aOldPos )
+        {
+        temp = (*this)[aOldPos];
+        for ( i = aOldPos; i > aNewPos; i-- )
+            {
+            (*this)[i] = (*this)[i - 1];
+            }
+        (*this)[aNewPos] = temp;
+        }
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/data/EapSimUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,248 @@
+/*
+* Copyright (c) 2001-2009 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: EAP LEAP UI resource file
+*
+*/
+
+/*
+* %version: 17 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME EPSI
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapSimUi.hrh"   // Enums for these resources
+#include <eapsimui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf = ""; }
+
+
+RESOURCE CBA r_sim_softkeys_options_back_change
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ESimUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+
+
+RESOURCE DIALOG r_sim_setting_dialog
+    {
+    flags = EAknDialogSelectionList | EEikDialogFlagWait;
+    buttons = r_sim_softkeys_options_back_change;
+    items = 
+        { 
+        DLG_LINE
+            {
+            id = ESimSettingsListBox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        }; 
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_sim_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_sim_setting_edwin;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_sim_realm_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm;
+    type = EEikCtEdwin;
+    editor_resource_id = r_sim_setting_edwin;
+    }
+
+
+RESOURCE EDWIN r_sim_setting_edwin 
+    {
+    width = 9;
+    lines = 5;
+    maxlength = KUsernameMaxNameLength;
+    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
+    default_input_mode = EAknEditorTextInputMode;
+    flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks;
+    }
+
+
+RESOURCE MENU_BAR r_sim_menubar
+    {
+    titles =
+        {
+        MENU_TITLE { menu_pane = r_sim_menu_pane; txt = ""; }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_sim_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM
+            {
+            command = ESimUiCmdChange;
+            txt = qtn_options_change;
+            flags = EEikMenuItemAction;
+            },
+        MENU_ITEM
+            {
+            command = EAknCmdHelp;
+            txt = qtn_options_help;
+            },
+        MENU_ITEM
+            {
+            command = EAknCmdExit;
+            txt = qtn_options_exit;
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_sim_settings_title          { buf = qtn_wlan_eap_sim_title; }
+RESOURCE TBUF r_sim_username_inusestring      \
+                                  { buf = qtn_wlan_eap_sett_username_inuse; }
+RESOURCE TBUF r_sim_username_inusestring_auto \
+                         { buf = qtn_wlan_eap_sett_username_inuse_from_sim; }
+RESOURCE TBUF r_sim_username_inusestring_conf \
+                             { buf = qtn_wlan_eap_sett_username_inuse_user; }
+RESOURCE TBUF r_sim_username_string     { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_sim_realm_inusestring         \
+                                     { buf = qtn_wlan_eap_sett_realm_inuse; }
+RESOURCE TBUF r_sim_realm_inusestring_auto    \
+                            { buf = qtn_wlan_eap_sett_realm_inuse_from_sim; }
+RESOURCE TBUF r_sim_realm_inusestring_conf    \
+                                { buf = qtn_wlan_eap_sett_realm_inuse_user; }
+RESOURCE TBUF r_sim_realm_string           { buf = qtn_wlan_eap_sett_realm; }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_sim_username_autouseconf_texts
+    {
+    setting_texts_resource = r_sim_username_autouseconf_texts_resource;
+    popped_up_texts_resource = r_sim_username_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_sim_username_autouseconf_texts_resource
+    {
+    items =
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_username_inuse_from_sim; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_username_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_sim_username_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_sim; },
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_sim_realm_autouseconf_texts
+    {
+    setting_texts_resource = r_sim_realm_autouseconf_texts_resource;
+    popped_up_texts_resource = r_sim_realm_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_sim_realm_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_realm_inuse_from_sim; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_realm_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_sim_realm_automatic_useconfigured_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_sim; },
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_sim_display_autouseconf_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm_inuse;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_sim_setting_enumerated_popup;
+    }
+
+
+RESOURCE POPUP_SETTING_LIST r_sim_setting_enumerated_popup
+    {
+    flags = EAknPopupSettingListFlagInitialised;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUi.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2001-2009 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: EAP SIM UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPSIMUI_HRH_
+#define _EAPSIMUI_HRH_
+
+enum TEapSimUiMenuCommands
+    {
+    ESimUiCmdUndefined = 6000,
+    ESimUiCmdChange
+    };
+
+enum TEapSimUiNotes
+    {
+    TEapSimUiGeneralError = 6100
+    };
+
+enum TEapSimUiLines
+	{
+	ESimSettingsListBox = 6200
+	};
+
+enum TEapSimUiSettingIds
+	{
+	ESimSettingUsernameinUseSettingId=6300,
+	ESimSettingUsernameSettingId,
+	ESimSettingPageRealminUseSettingId,
+	ESimSettingRealmSettingId
+	};
+
+enum TEapSimUiSettingPageIds
+	{
+	ESimSettingPageUsernameinUse=6400,
+	ESimSettingPageUsername,
+	ESimSettingPageRealminUse,
+	ESimSettingPageRealm
+	};
+
+
+#endif  //_EAPSIMUI_HRH_
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP SIM UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPSIMUISETTINGARRAY_H_
+#define _EAPSIMUISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapSimUi.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapSimSettingItemArray : public CBase
+    {
+    public:
+        static CEapSimSettingItemArray* NewL();
+        virtual ~CEapSimSettingItemArray();
+        CAknSettingItem* Item( TEapSimUiSettingPageIds aItem );
+        CAknSettingItemArray* Array();
+        void StoreSettingsL();
+        void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource,
+                           TInt aSettingPageResource, TInt aAssociatedResource,
+                           TInt aOrdinal );
+
+        void AddPasswordItemL( TDes& aPassword, TInt aId, TInt aTitleResource,
+                               TInt aSettingPageResource, 
+                               TInt aAssociatedResource, TInt aOrdinal );
+
+        void AddBinarySettingItemL( TInt aSettingPageResourceId, 
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue );
+
+    protected:
+        CEapSimSettingItemArray();
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPSIMUISETTINGARRAY_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP SIM UI setting dialog
+*
+*/
+
+/*
+* %version: 16 %
+*/
+
+#ifndef _EAPSIMUIVIEW_H_
+#define _EAPSIMUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>
+#include <eikspane.h>
+#include <akntitle.h>
+#include <aknnavi.h>
+#include <aknsettingitemlist.h>
+#include <eiklbo.h>
+#include "EapSimUi.hrh"
+
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapSimSettingItemArray;
+class CEapSimUiConnection;
+class CEapSimUiSimData;
+class CEapSimUiDataConnection;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapSimUiDialog : public CAknDialog,
+                        public MEikListBoxObserver
+    {
+    public:
+        CEapSimUiDialog( CEapSimUiConnection* aConnection, 
+                         TInt& aButtonId );
+
+        ~CEapSimUiDialog();
+
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+
+        
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );                
+
+
+    protected:
+        void PreLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+
+    private:
+        void InitializeSettingsL();
+        void DrawSettingsListL();
+        void ChangeTitleL( TBool aIsStarted );
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        void ProcessCommandL( TInt aCommand );
+        void SaveSettings();
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    private:
+        CEapSimUiConnection* iConnection;
+        CEapSimUiSimData* iUiData;
+        CEapSimUiDataConnection* iDataConnection;
+        CEapSimSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CSettingsListBoxItemDrawer* iSettingListItemDrawer;
+        CAknNavigationControlContainer* iNaviPane;
+        CAknNavigationDecorator* iNaviDecorator;
+        HBufC* iPreviousText;        
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+    };
+
+
+#endif // _EAPSIMUIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/loc/eapsimui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-SIM authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sim_title      "EAP-SIM settings"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUi.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* 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: Implementation of EAP SIM UI class
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// INCLUDE FILES
+#include "EapSimUi.h"
+#include <EapSimUiConnection.h>
+#include "EapSimUiView.h"
+#include <eapsimui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eapsimui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapSimUi::CEapSimUi
+// -----------------------------------------------------------------------------
+//
+CEapSimUi::CEapSimUi( CEapSimUiConnection* aConnection ) 
+: iConnection( aConnection )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUi::NewL
+// -----------------------------------------------------------------------------
+//
+CEapSimUi* CEapSimUi::NewL( CEapSimUiConnection* aConnection )
+    {
+    CEapSimUi* self = new ( ELeave ) CEapSimUi( aConnection );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUi::~CEapSimUi
+// -----------------------------------------------------------------------------
+//
+CEapSimUi::~CEapSimUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapSimUi::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapSimUiDialog* settingsDlg = new( ELeave ) CEapSimUiDialog( iConnection,
+                                                                  buttonId );
+    settingsDlg->ConstructAndRunLD( R_SIM_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,187 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP SIM UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+// INCLUDE FILES
+#include "EapSimUiSettingArray.h"
+
+#include "EapSimUi.hrh"
+
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::CEapSimSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapSimSettingItemArray::CEapSimSettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapSimSettingItemArray* CEapSimSettingItemArray::NewL() 
+    {
+    CEapSimSettingItemArray* self = new ( ELeave ) CEapSimSettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); 
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapSimSettingItemArray::ConstructL() 
+    {
+    iArray = new ( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::~CEapSimSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapSimSettingItemArray::~CEapSimSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapSimSettingItemArray::Item( TEapSimUiSettingPageIds aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++)
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapSimSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapSimSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i( 0 ); i < iArray->Count(); ++i) 
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapSimSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                            TInt aId, 
+                                            TInt aTitleResource, 
+                                            TInt aSettingPageResource,
+                                            TInt aAssociatedResource, 
+                                            TInt aOrdinal )
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = new( ELeave ) CAknTextSettingItem( aId, 
+                                                                    aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+    
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList,
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    CleanupStack::PopAndDestroy( itemTitle );
+
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimSettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CEapSimSettingItemArray::AddBinarySettingItemL( 
+                                                TInt aSettingPageResourceId,
+                                                TInt aTitleResourceId, 
+                                                TInt aAssociatedResourceId,
+                                                TInt aOrdinal, 
+                                                TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = new ( ELeave ) 
+    CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+    iArray->AppendL( settingItem );
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,480 @@
+/*
+* 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: Implementation of EAP SIM UI settings dialog
+*
+*/
+
+/*
+* %version: 29 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include "EapSimUiView.h"
+#include "EapSimUi.hrh"
+#include <eapsimui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include "EapSimUiSettingArray.h"
+#include <aknnotewrappers.h> // For info message
+#include <aknnavide.h>
+#include <EapSimUiConnection.h>
+#include <EapSimUiDataConnection.h>
+#include <EapSimUiSimData.h>
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+_LIT( KEmptyString, "" );
+
+// MODULE DATA STRUCTURES
+enum 
+    {
+    EUsernameInUseItem = 0,
+    EUsernameItem,
+    ERealmInUseItem,
+    ERealmItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::CEapSimUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapSimUiDialog::CEapSimUiDialog( CEapSimUiConnection* aConnection, 
+								  TInt& aButtonId ) 
+: CAknDialog(),
+  iConnection( aConnection ),
+  iUiData( 0 ), 
+  iDataConnection( 0 ), 
+  iSettingArray( 0 ), 
+  iSettingListBox( 0 ), 
+  iSettingListItemDrawer( 0 ), 
+  iNaviPane( 0 ), 
+  iNaviDecorator( 0 ), 
+  iPreviousText( 0 ), 
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CEapSimUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapSimUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CEapSimSettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+
+    FeatureManager::InitializeLibL();
+    
+    ConstructL( R_SIM_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::~CEapSimUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapSimUiDialog::~CEapSimUiDialog()
+    {
+    if ( iNaviDecorator )
+        {
+        delete iNaviDecorator;
+        iNaviDecorator = NULL;
+        }
+
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        delete iSettingArray;
+        }
+
+    if ( iSettingListBox )
+        {
+        iSettingListBox = 0;
+        }
+
+    if ( iSettingListItemDrawer )
+        {
+        iSettingListItemDrawer = 0;
+        }
+
+    if ( iDataConnection )
+        {
+        iDataConnection->Close();
+        delete iDataConnection;
+        }
+
+    if ( iConnection )
+        {
+        iConnection->Close();
+        }
+
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+
+// ---------------------------------------------------------
+// CEapSimUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapSimUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            OkToExitL( ESimUiCmdChange );         
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }    
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::PreLayoutDynInitL()
+    {
+    ChangeTitleL( ETrue );
+    
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent()&&subPane.IsAppOwned() )
+        {
+        iNaviPane = static_cast<CAknNavigationControlContainer*>( 
+                                        statusPane->ControlL( naviPaneUid ) );
+
+        // Set empty text to hide tabs.
+        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString );
+        iNaviPane->PushL( *iNaviDecorator );
+        }            
+        
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                        ControlOrNull( ESimSettingsListBox ) );
+    iSettingListItemDrawer=static_cast<CSettingsListBoxItemDrawer*>( 
+                                            iSettingListBox->ItemDrawer() );
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                
+    DrawSettingsListL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+    CAknSettingItem* item = iSettingArray->Array()->At( index );
+    item->EditItemL( aCalledFromMenu );
+    item->StoreL();
+    DrawNow();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapSimUiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                if ( iSettingListBox->IsFocused() )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapSimUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                iDataConnection->Update();
+                ChangeTitleL( EFalse );
+                ret = ETrue;
+                }
+            break;
+            }
+        
+        case ESimUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+				{
+    			ShowSettingPageL( EFalse );
+				}
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapSimUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+    iSettingArray->AddBinarySettingItemL( R_SIM_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_SIM_USERNAME_INUSESTRING, 
+                                          R_SIM_USERNAME_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualUsername() );
+
+    iSettingArray->AddTextItemL( iUiData->GetManualUsername(),
+                                 ESimSettingPageUsername,
+                                 R_SIM_USERNAME_STRING,
+                                 R_SIM_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingArray->AddBinarySettingItemL( R_SIM_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_SIM_REALM_INUSESTRING, 
+                                          R_SIM_REALM_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualRealm() );
+
+    iSettingArray->AddTextItemL( iUiData->GetManualRealm(),
+                                 ESimSettingUsernameSettingId,
+                                 R_SIM_REALM_STRING,
+                                 R_SIM_REALM_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+    
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( 
+                                        statusPane->ControlL( titlePaneUid ) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();    
+
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_SIM_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );
+            // pop navidecorator when exiting
+            iNaviPane->Pop( iNaviDecorator );    
+            }    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                         CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aResourceId == R_SIM_MENU_PANE )
+        {
+        if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case ESimUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+				{
+    			ShowSettingPageL( ETrue );
+				}
+			else
+			    {
+				#if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapSimUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+				#endif						
+			    }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapSimUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapSimUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    aContext.iContext = KSET_HLP_WLAN_EAP_SIM;
+    }
+    
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/data/EapTlsUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,413 @@
+/*
+* Copyright (c) 2001-2009 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: EAP TLS UI resource file
+*
+*/
+
+/*
+* %version: 18 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME ETLS
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapTlsUi.hrh"   // Enums for these resources
+#include <eaptlsui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf=""; }
+
+
+RESOURCE CBA r_tls_ui_softkeys_options_back_edit
+    {
+    buttons = 
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETlsUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+    
+    
+RESOURCE CBA r_tls_ui_softkeys_options_back_enable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETlsUiCmdEnable; txt = qtn_msk_wlan_eap_cs_enable; }
+        };
+    }
+
+
+RESOURCE CBA r_tls_ui_softkeys_options_back_disable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETlsUiCmdDisable; txt = qtn_msk_wlan_eap_cs_disable; }
+        };
+    }
+
+
+RESOURCE DIALOG r_tls_setting_dialog
+    {
+    flags = EEikDialogFlagFillAppClientRect | EEikDialogFlagCbaButtons | 
+            EEikDialogFlagWait | EEikDialogFlagNotifyEsc;
+    buttons = r_tls_ui_softkeys_options_back_edit;
+    pages = r_tls_pages;
+    }
+
+
+// ******* PAGES ************
+RESOURCE ARRAY r_tls_pages
+    {
+    items=
+        {
+        PAGE 
+            {
+            id = KEAPTLSSETTINGSPAGE;
+            text = qtn_wlan_eap_tab_settings; 
+            lines = r_tls_tab_settings; 
+            },
+
+        PAGE 
+            {
+            id = KEAPTLSCIPHERPAGE;
+            text = qtn_wlan_eap_tab_cipher_suites; 
+            lines = r_tls_tab_cipher_suites; 
+            }
+        };
+    }
+
+
+// ******* 1st page *********
+RESOURCE ARRAY r_tls_tab_settings
+    {
+    items=
+        {
+        DLG_LINE
+            {
+            id = ETlsSettingsListbox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        };
+    }
+
+
+// ******* 2nd page *********
+RESOURCE ARRAY r_tls_tab_cipher_suites
+    {
+    items=
+         {
+         DLG_LINE
+            {
+            id = ETlsSettingsCipherSuiteListbox;
+            type = EAknCtSingleNumberListBox;
+            control = LISTBOX 
+                {
+                flags = EAknGenericListBoxFlags;
+                //array_id = r_tls_cipher_suite_array;
+                };
+            }
+         };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_tls_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_tls_setting_edwin;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_tls_realm_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm;
+    type = EEikCtEdwin;
+    editor_resource_id = r_tls_setting_edwin;
+    }
+
+
+RESOURCE EDWIN r_tls_setting_edwin 
+    {
+    flags = 0;
+    width = 9;
+    lines = 5;
+    maxlength = 255;
+    }
+
+
+RESOURCE MENU_BAR r_tls_menubar
+    {
+    titles =
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_tls_menu_pane;
+            txt = "";
+            }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_tls_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM 
+            { 
+            command = ETlsUiCmdEnable;  
+            txt = qtn_wlan_options_eap_plugin_enable;
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETlsUiCmdDisable;
+            txt = qtn_wlan_options_eap_plugin_disable;
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETlsUiCmdChange;
+            txt = qtn_options_change;
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp; 
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit;
+            txt = qtn_options_exit; 
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_tls_settings_title          { buf = qtn_wlan_eap_tls_title; }
+RESOURCE TBUF r_tls_username_inusestring      \
+                                  { buf = qtn_wlan_eap_sett_username_inuse; }
+RESOURCE TBUF r_tls_username_inusestring_auto \
+                        { buf = qtn_wlan_eap_sett_username_inuse_from_cert; }
+RESOURCE TBUF r_tls_username_inusestring_conf \
+                             { buf = qtn_wlan_eap_sett_username_inuse_user; }
+RESOURCE TBUF r_tls_username_string     { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_tls_realm_inusestring         \
+                                     { buf = qtn_wlan_eap_sett_realm_inuse; }
+RESOURCE TBUF r_tls_realm_inusestring_auto    \
+                           { buf = qtn_wlan_eap_sett_realm_inuse_from_cert; }
+RESOURCE TBUF r_tls_realm_inusestring_conf    \
+                                { buf = qtn_wlan_eap_sett_realm_inuse_user; }
+RESOURCE TBUF r_tls_realm_string           { buf = qtn_wlan_eap_sett_realm; }
+RESOURCE TBUF r_tls_user_cert_setting         \
+                                { buf = qtn_wlan_eap_sett_user_certificate; }
+RESOURCE TBUF r_tls_ca_cert_setting           \
+                                  { buf = qtn_wlan_eap_sett_ca_certificate; }
+RESOURCE TBUF r_tls_not_defined      { buf = qtn_wlan_eap_cert_not_defined; }
+RESOURCE TBUF r_tls_none_selection            \
+                                  { buf = qtn_wlan_eap_cert_none_selection; }
+RESOURCE TBUF r_tls_suite_rsarc4md5  { buf = qtn_wlan_eap_cipher_rsarc4md5; }
+RESOURCE TBUF r_tls_suite_rsarc4sha  { buf = qtn_wlan_eap_cipher_rsarc4sha; }
+RESOURCE TBUF r_tls_suite_rsa3dessha          \
+                                    { buf = qtn_wlan_eap_cipher_rsa3dessha; }
+RESOURCE TBUF r_tls_suite_dhersa3dessha       \
+                                 { buf = qtn_wlan_eap_cipher_dhersa3dessha; }
+RESOURCE TBUF r_tls_suite_dhedss3dessha       \
+                                 { buf = qtn_wlan_eap_cipher_dhedss3dessha; }
+RESOURCE TBUF r_tls_suite_rsaaessha  { buf = qtn_wlan_eap_cipher_rsaaessha; }
+RESOURCE TBUF r_tls_suite_dhersaaessha        \
+                                  { buf = qtn_wlan_eap_cipher_dhersaaessha; }
+RESOURCE TBUF r_tls_suite_dhedssaessha        \
+                                  { buf = qtn_wlan_eap_cipher_dhedssaessha; }
+
+RESOURCE TBUF r_tls_tls_privacy_string
+                                  { buf = qtn_wlan_eap_sett_tls_privacy; }
+
+
+// ********************************************
+// USERNAME IN USE AND REALM POPUP DEFINITION
+// ********************************************
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_tls_username_autouseconf_texts
+    {
+    setting_texts_resource = r_tls_username_autouseconf_texts_resource;
+    popped_up_texts_resource = r_tls_username_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_tls_username_autouseconf_texts_resource
+    {
+    items =
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_username_inuse_from_cert; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_username_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_tls_username_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_cert; },
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_tls_realm_autouseconf_texts
+    {
+    setting_texts_resource = r_tls_realm_autouseconf_texts_resource;
+    popped_up_texts_resource = r_tls_realm_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_tls_realm_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_realm_inuse_from_cert; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_realm_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_tls_realm_automatic_useconfigured_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_cert; },
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; }
+        };
+    }
+
+RESOURCE ARRAY r_tls_tls_privacy_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_tls_privacy_off; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_tls_privacy_on; 
+            }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_tls_tls_privacy_autouseconf_texts
+    {
+    setting_texts_resource = r_tls_tls_privacy_autouseconf_texts_resource;
+    popped_up_texts_resource = r_tls_tls_privacy_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_tls_tls_privacy_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_tls_privacy_off; },
+        LBUF { txt = qtn_wlan_eap_sett_tls_privacy_on; }
+        };
+    }
+
+RESOURCE AVKON_SETTING_PAGE r_tls_display_autouseconf_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_tls_setting_enumerated_popup;
+    }
+
+
+RESOURCE POPUP_SETTING_LIST r_tls_setting_enumerated_popup
+    {
+    flags = EAknPopupSettingListFlagInitialised;
+    }
+
+
+// ********************************************
+// USER&CA CERTIFICATES  POPUP DEFINITION
+// ********************************************
+RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    type =  EAknSetListBox;
+    editor_resource_id= r_setting_listbox;
+    }
+
+
+RESOURCE LISTBOX r_setting_listbox 
+    {
+    flags = EEikListBoxMultipleSelection;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUi.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2001-2009 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: EAP TLS UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPTLSUI_HRH_
+#define _EAPTLSUI_HRH_
+
+enum TEapTlsUiMenuCommands
+    {
+    ETlsUiCmdUndefined = 6000,
+    ETlsUiCmdChange,
+    ETlsUiCmdEnable,
+    ETlsUiCmdDisable,
+	ETlsUiCmdMoveUp,
+    ETlsUiCmdMoveDown,
+	ETlsUiCmdViewDetails
+    };
+
+enum TEapTlsUiNotes
+    {
+    TEapTlsUiGeneralError = 6100
+    };
+
+enum TEapTlsUiLines
+	{
+	ETlsSettingsListBox = 6200
+	};
+
+enum TEapTlsUiSettingIds
+	{
+	ETlsSettingUsernameInUseId=6300,
+	ETlsSettingUsernameId,
+	ETlsSettingRealmInUseId,
+	ETlsSettingRealmId,
+	ETlsSettingTlsPrivacyId
+	};
+
+enum TEapTlsUiSettingPageIds
+	{
+	ETlsSettingPageSettings=6400,
+	ETlsSettingPageCipherSuites
+	};
+
+enum TEapTlsUiListBoxes
+	{
+	ETlsSettingsUserCertListbox=6500,
+	ETlsSettingsCaCertListbox,
+	ETlsSettingsCipherSuiteListbox,
+	ETlsSettingsEapTypeListbox,
+	ETlsSettingsListbox
+	};
+
+enum TEapTlsSettingItems
+	{
+	ETlsSettingsUserCert=6600,
+	ETlsSettingsCaCert,
+	ETlsTabSheetSettingsUsernameInUse,
+	ETlsTabSheetSettingsUsername,
+	ETlsTabSheetSettingsRealmInUse,
+	ETlsTabSheetSettingsRealm
+	};
+
+
+enum TEapTlsTests
+	{
+	ETlsTabSheetTest2=6600,
+	ETlsTabSheetTest3,
+	ETlsTabSheetTest4,
+	ETlsTabSheetTest5,
+	ETlsTabSheetTest6,
+	ETlsTabSheetTest7
+	};
+	
+// Constants that are used as page ids
+// TEapTlsUiSettingPageIds does not work for this purpose
+#define KEAPTLSSETTINGSPAGE 1
+#define KEAPTLSCIPHERPAGE   2
+
+#endif  //_EAPTLSUI_HRH_
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP TLS UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPTLSUISETTINGARRAY_H_
+#define _EAPTLSUISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapTlsUi.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapTlsSettingItemArray : public CBase
+    {
+    public:
+        static CEapTlsSettingItemArray* NewL();
+        virtual ~CEapTlsSettingItemArray();
+        CAknSettingItem* Item( TEapTlsUiSettingPageIds aItem );
+        CAknSettingItemArray* Array();
+        void StoreSettingsL();
+        void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource, 
+                           TInt aSettingPageResource, TInt aAssociatedResource,
+                           TInt aOrdinal);
+
+        void AddBinarySettingItemL( TInt aSettingPageResourceId,
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue);
+
+    protected:
+        CEapTlsSettingItemArray();
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPTLSUISETTINGARRAY_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP TLS UI setting dialog
+*
+*/
+
+/*
+* %version: 17 %
+*/
+
+#ifndef _EAPTLSUIVIEW_H_
+#define _EAPTLSUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>
+#include <eikspane.h> 
+#include <akntitle.h>
+#include <aknsettingitemlist.h>
+#include <aknlists.h>
+#include <aknselectionlist.h>
+#include <eiklbo.h>
+#include "EapTlsPeapUiTlsPeapData.h"
+#include "EapTlsUi.hrh"
+#include "EapTlsPeapUiCipherSuite.h"
+#include "EapTlsPeapUiEapType.h"
+#include "EapTlsPeapUiCertificate.h"
+#include "AbsEapTlsPeapUiCertificates.h"
+
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapTlsSettingItemArray;
+class CEapTlsPeapUiConnection;
+class CEapTlsPeapUiDataConnection;
+class CEapTlsPeapUiCipherSuites;
+class CEapTlsPeapUiCertificates;
+class CEapTlsPeapUiEapTypes;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapTlsUiDialog : public CAknDialog, 
+                        public MEapTlsPeapUiCertificates,
+                        public MEikListBoxObserver
+    {
+    public:
+        CEapTlsUiDialog( CEapTlsPeapUiConnection* aConnection, 
+                         TInt& aButtonId );
+        ~CEapTlsUiDialog();
+     
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+        /**
+        * Chain into key event handler.
+        * @param aKeyEvent The event.
+        * @param aType The type of key event.
+        * @return Was the key consumed or not.
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+                                          TEventCode aType);
+
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );                
+
+
+    protected:
+        void PreLayoutDynInitL();
+        void PostLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+        void ProcessCommandL( TInt aCommand );
+        void PageChangedL( TInt aPageId );
+
+    private:
+        void ChangeTitleL( TBool aIsStarted );
+        void DrawSettingsListL();
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        TInt ShowRadioButtonSettingPageL( TInt aTitle, 
+                                          CDesCArrayFlat* aValues, 
+                                          TInt aCurrentItem );
+        void DrawCipherSuitesL();
+        void CompleteReadCertificates( const TInt aResult );
+        void CompleteUiConstructionL();
+        TInt CheckActiveUserCertificate();
+        TInt CheckActiveCaCertificate();
+        void UserCertificateHouseKeeping( TInt aSelected );
+        void CaCertificateHouseKeeping( TInt aSelected );
+        void SetIconsL();
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+        
+        void GetFullCertLabel( const SCertEntry& aCert, TDes& aFullLabel );
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        CEapTlsPeapUiDataConnection* iDataConnection;
+        CEapTlsPeapUiCipherSuites* iCipherSuites;
+        CEapTlsPeapUiCertificates* iCertificates;
+
+        CEapTlsPeapUiTlsPeapData* iUiData;
+        CArrayFixFlat<TEapTlsPeapUiCipherSuite> * iUiCipherSuites;
+        CArrayFixFlat<TEapTlsPeapUiCertificate> * iUiUserCertificates;
+        CArrayFixFlat<TEapTlsPeapUiCertificate> * iUiCACertificates;
+                
+        CAknSingleNumberStyleListBox* iUserCertificateListBox;
+        CAknSingleNumberStyleListBox* iCaCertificateListBox;
+        CAknSingleGraphicStyleListBox* iCipherSuiteListBox;
+        CEapTlsSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CDesCArray* iCipherSuitesViewArray;
+        HBufC* iPreviousText;
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+    };
+
+
+#endif //_EAPTLSUIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/loc/eaptlsui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-TLS authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_tls_title      "EAP-TLS settings"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUi.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* 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: Implementation of EAP TLS UI class
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// INCLUDE FILES
+#include "EapTlsUi.h"
+#include "EapTlsPeapUiConnection.h"
+#include "EapTlsUiView.h"
+#include <eaptlsui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eaptlsui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapTlsUi::CEapTlsUi
+// -----------------------------------------------------------------------------
+//
+CEapTlsUi::CEapTlsUi( CEapTlsPeapUiConnection* aConnection ) 
+: iConnection( aConnection )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUi::NewL
+// -----------------------------------------------------------------------------
+//
+CEapTlsUi* CEapTlsUi::NewL( CEapTlsPeapUiConnection* aConnection )
+    {
+    CEapTlsUi* self = new ( ELeave ) CEapTlsUi( aConnection );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUi::~CEapTlsUi
+// -----------------------------------------------------------------------------
+//
+CEapTlsUi::~CEapTlsUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapTlsUi::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapTlsUiDialog* settingsDlg = new( ELeave ) CEapTlsUiDialog( iConnection,
+                                                                  buttonId );
+    settingsDlg->ConstructAndRunLD( R_TLS_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP TLS UI settings array
+*
+*/
+
+/*
+* %version: 13 %
+*/
+
+// INCLUDE FILES
+#include "EapTlsUiSettingArray.h"
+#include "EapTlsUi.hrh"
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::CEapTlsSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapTlsSettingItemArray::CEapTlsSettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapTlsSettingItemArray* CEapTlsSettingItemArray::NewL() 
+    {
+    CEapTlsSettingItemArray* self = new( ELeave ) CEapTlsSettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsSettingItemArray::ConstructL() 
+    {
+    iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::~CEapTlsSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapTlsSettingItemArray::~CEapTlsSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapTlsSettingItemArray::Item( TEapTlsUiSettingPageIds aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapTlsSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for ( TInt i( 0 ); i < iArray->Count(); ++i) 
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                            TInt aId, 
+                                            TInt aTitleResource, 
+                                            TInt aSettingPageResource,
+                                            TInt aAssociatedResource, 
+                                            TInt aOrdinal )
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = new( ELeave ) CAknTextSettingItem( aId,
+                                                                    aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsSettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsSettingItemArray::AddBinarySettingItemL( 
+                                                TInt aSettingPageResourceId,
+                                                TInt aTitleResourceId, 
+                                                TInt aAssociatedResourceId,
+                                                TInt aOrdinal, 
+                                                TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = new ( ELeave ) 
+    CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+    iArray->AppendL( settingItem );
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,1267 @@
+/*
+* 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: Implementation of EAP TLS UI settings dialog
+*
+*/
+
+/*
+* %version: 41 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include "EapTlsUiView.h"
+#include "EapTlsUi.hrh"
+#include <eaptlsui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include "EapTlsUiSettingArray.h"
+#include <aknnavi.h>
+#include <akntabgrp.h>
+#include <aknnavide.h>
+#include <aknnotewrappers.h> // TEMPORARY, for info message...
+#include <aknradiobuttonsettingpage.h>
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsPeapUiDataConnection.h>
+#include <EapTlsPeapUiCipherSuites.h>
+#include <EapTlsPeapUiEapTypes.h>
+#include <EapTlsPeapUiCertificates.h>
+#include <AknIconArray.h>
+#include <AknsUtils.h>
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+static const TInt KSuiteArrayGranularity = 4;
+static const TInt KCertificateArrayGranularity = 5;
+static const TInt KMaxLengthOfSuiteName = 255;
+
+_LIT( KNameSeparator, " " );
+_LIT( KEmptyString, "" );
+
+/* This is the maximum length of a certificate's full name, includes
+label, primary and secondary names */
+const TUint32 KMaxFullCertLabelLength = KMaxCertLabelLength + 2 * 
+                                    KMaxNameLength + 1; // 1 is for separator.
+
+// MODULE DATA STRUCTURES
+enum TPageIds
+    {
+    ESettingsPage = 0,
+    ECipherSuitePage
+    };
+
+enum TSettingIds
+    {
+    EUserCertificateItem = 0,
+    ECaCertificateItem,
+    EUsernameInUseItem,
+    EUsernameItem,
+    ERealmInUseItem,
+    ERealmItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::CEapTlsUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapTlsUiDialog::CEapTlsUiDialog( CEapTlsPeapUiConnection* aConnection, 
+								  TInt& aButtonId ) 
+: CAknDialog(),
+  iConnection( aConnection ),
+  iDataConnection( 0 ), 
+  iCipherSuites( 0 ), 
+  iCertificates( 0 ),
+  iUserCertificateListBox( 0 ), 
+  iCaCertificateListBox( 0 ), 
+  iCipherSuiteListBox( 0 ), 
+  iSettingArray( 0 ), 
+  iSettingListBox( 0 ), 
+  iCipherSuitesViewArray( 0 ), 
+  iPreviousText( 0 ), 
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CEapTlsUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapTlsUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CEapTlsSettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+    
+    // Basic data
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+    
+    // Cipher suites
+    iCipherSuites = iConnection->GetCipherSuiteConnection();
+    if ( iCipherSuites == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iCipherSuites->Open() );
+    User::LeaveIfError( iCipherSuites->GetCipherSuites( &iUiCipherSuites ) );
+
+    iCipherSuitesViewArray = new( ELeave ) CDesCArrayFlat( 
+                                                    KSuiteArrayGranularity );
+
+    FeatureManager::InitializeLibL();
+    
+    ConstructL( R_TLS_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::OfferKeyEventL
+// -----------------------------------------------------------------------------
+//
+TKeyResponse CEapTlsUiDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                                    TEventCode aType )
+    {
+    TKeyResponse result( EKeyWasNotConsumed );
+    
+    TInt pageId = ActivePageId();
+    if ( aType == EEventKey && pageId == KEAPTLSCIPHERPAGE )
+        {
+        TInt indexBefore = iCipherSuiteListBox->CurrentItemIndex();
+        
+        // Handle Enter key here, since it doesn't seem to convert into
+        // the proper command id via the normal route
+        // (maybe some Avkon support for Enter key is still missing in
+        // S60 3.2 2008_wk22)
+        if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            if ( ( *iUiCipherSuites )[indexBefore].iIsEnabled )
+                {
+                OkToExitL( ETlsUiCmdDisable );
+                }
+            else
+                {
+                OkToExitL( ETlsUiCmdEnable );
+                }
+                
+            result = EKeyWasConsumed;
+            }
+        else
+            {        
+            result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+            
+        TInt indexAfter = iCipherSuiteListBox->CurrentItemIndex();
+
+        if ( indexBefore != indexAfter )
+            {
+            CEikButtonGroupContainer& cba = ButtonGroupContainer();
+            if( ( *iUiCipherSuites )[ indexAfter ].iIsEnabled )
+                {
+                cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+                }
+            else
+                {
+                cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                }
+            
+            cba.DrawDeferred();
+            }
+        }
+    else
+        {
+        result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+        }
+
+    return result;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::~CEapTlsUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapTlsUiDialog::~CEapTlsUiDialog()
+    {
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        }
+
+    delete iSettingArray;
+    iSettingListBox = 0;
+
+    iDataConnection->Close();
+    delete iDataConnection;
+
+    iCipherSuites->Close();
+    delete iCipherSuites;
+    
+    iCertificates->Close();
+    delete iCertificates;
+    
+    iConnection->Close();
+        
+    iCipherSuitesViewArray->Reset();
+    delete iCipherSuitesViewArray;
+    
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// ---------------------------------------------------------
+// CEapTlsUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapTlsUiDialog::HandleListBoxEventL( CEikListBox* aListBox,
+                                           TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            if ( aListBox == iSettingListBox )
+                {
+                OkToExitL( ETlsUiCmdChange );                 
+                }
+                
+            else if ( aListBox == iCipherSuiteListBox )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                if( iUiCipherSuites->At( index ).iIsEnabled )
+                    {
+                    OkToExitL( ETlsUiCmdDisable );
+                    }
+                else
+                    {
+                    OkToExitL( ETlsUiCmdEnable );
+                    }                 
+                }
+                
+            else
+                {
+                // Do nothing; we should never end up here
+                }
+        
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }    
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::PreLayoutDynInitL()
+    {
+    // Change title
+    ChangeTitleL( ETrue );
+    
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                    ControlOrNull( ETlsSettingsListbox ) );
+    iSettingListBox->SetComponentsToInheritVisibility( ETrue );
+
+    iCipherSuiteListBox = static_cast<CAknSingleGraphicStyleListBox*>( 
+                            ControlOrNull( ETlsSettingsCipherSuiteListbox ) );
+    iCipherSuiteListBox->SetComponentsToInheritVisibility( ETrue );
+        
+      // Certificates
+    iCertificates = iConnection->GetCertificateConnection( this );
+    User::LeaveIfError( iCertificates->Open() );
+    iCertificates->GetCertificates( &iUiUserCertificates, &iUiCACertificates );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::CompleteReadCertificates
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::CompleteReadCertificates( const TInt aResult )
+    {
+    if ( aResult == KErrNone ) // Certifiocates are received from core
+        {
+        TRAPD( err, CompleteUiConstructionL() );
+        if ( err != KErrNone)
+            {
+            TRAP_IGNORE( TryExitL( KErrCancel ) );
+            }
+        }
+    else
+        {
+        TRAP_IGNORE( TryExitL( KErrCancel ) );
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::CompleteUiConstructionL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::CompleteUiConstructionL()
+    {
+    // Initialize setting page 
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                        ControlOrNull( ETlsSettingsListbox ) );
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                
+    DrawSettingsListL();
+
+    // Initialize cipher suites page
+    iCipherSuiteListBox = static_cast<CAknSingleGraphicStyleListBox*>( 
+                            ControlOrNull( ETlsSettingsCipherSuiteListbox ) );
+    iCipherSuiteListBox->CreateScrollBarFrameL( ETrue );
+    iCipherSuiteListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iCipherSuiteListBox->UpdateScrollBarsL();
+    
+    iCipherSuiteListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iCipherSuiteListBox->SetListBoxObserver( this );    
+
+    //Following deletes internal array created from resources. 
+    // To prevent memory leak.
+    MDesCArray* internalArray = iCipherSuiteListBox->Model()->ItemTextArray();
+    delete internalArray;
+    
+    SetIconsL();
+    DrawCipherSuitesL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::PostLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::PostLayoutDynInitL()
+    {
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknNavigationControlContainer* naviPane = 
+                                static_cast<CAknNavigationControlContainer*>(
+                                        statusPane->ControlL( naviPaneUid ) );
+        CAknNavigationDecorator* naviDecorator = naviPane->ResourceDecorator();
+        if ( naviDecorator )
+            {
+            CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>( 
+                                        naviDecorator->DecoratedControl() );
+            tabGroup->SetActiveTabById( 0 ); 
+            tabGroup->SetTabFixedWidthL( KTabWidthWithOneTab );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+    
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( 
+                                        statusPane->ControlL( titlePaneUid ) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();    
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );   
+            
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TLS_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );    
+            }    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapTlsUiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+                if ( index == ESettingsPage )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapTlsUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                iDataConnection->Update();
+                ChangeTitleL( EFalse );
+                ret = ETrue;
+                }
+            break;
+            }
+            
+        case ETlsUiCmdChange:
+            {
+            TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+            if ( index == ESettingsPage )
+                {
+                if( iIsUIConstructionCompleted )
+    				{
+        			ShowSettingPageL( EFalse );
+    				}
+    			else
+    			    {
+    				#if defined(_DEBUG) || defined(DEBUG)
+    				RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    				#endif
+    			    }
+                }
+            break;
+            }
+        case ETlsUiCmdEnable:
+        case ETlsUiCmdDisable:
+            {
+            ProcessCommandL( aButtonId );
+            ret = EFalse;
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+
+    TInt activeUserCertificate = CheckActiveUserCertificate();
+    TBuf<KMaxFullCertLabelLength> aActiveuserCertificateName = KEmptyString();
+    if ( activeUserCertificate != KErrNotFound )
+        {
+		TBuf<KMaxFullCertLabelLength> text;
+		GetFullCertLabel( 
+                iUiUserCertificates->At( activeUserCertificate ).iCertEntry,
+                text );
+		aActiveuserCertificateName.Copy( text );		
+        }
+    else
+        {
+        TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TLS_NOT_DEFINED );
+        aActiveuserCertificateName.Copy( *notDefinedText );
+        CleanupStack::PopAndDestroy( notDefinedText );
+        }
+
+    iSettingArray->AddTextItemL( aActiveuserCertificateName,
+                                 ETlsSettingsUserCert,
+                                 R_TLS_USER_CERT_SETTING,
+                                 R_TLS_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    TInt activeCaCertificate = CheckActiveCaCertificate();
+    TBuf<KMaxFullCertLabelLength> aActiveCaCertificateName = KEmptyString();
+    if ( activeCaCertificate != KErrNotFound )
+        {
+		TBuf<KMaxFullCertLabelLength> text;
+		GetFullCertLabel(
+                    iUiCACertificates->At( activeCaCertificate ).iCertEntry, 
+                    text );
+		aActiveCaCertificateName.Copy( text );				
+        }
+    else
+        {
+        TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TLS_NOT_DEFINED );
+        aActiveCaCertificateName.Copy( *notDefinedText );
+        CleanupStack::PopAndDestroy( notDefinedText );                
+        }
+
+    iSettingArray->AddTextItemL( aActiveCaCertificateName,
+                                 ETlsSettingsCaCert,
+                                 R_TLS_CA_CERT_SETTING,
+                                 R_TLS_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingArray->AddBinarySettingItemL( R_TLS_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_TLS_USERNAME_INUSESTRING, 
+                                          R_TLS_USERNAME_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualUsername() );
+                                
+    iSettingArray->AddTextItemL( iUiData->GetManualUsername(),
+                                 ETlsTabSheetSettingsUsername,
+                                 R_TLS_USERNAME_STRING,
+                                 R_TLS_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingArray->AddBinarySettingItemL( R_TLS_DISPLAY_AUTOUSECONF_PAGE, 
+                                          R_TLS_REALM_INUSESTRING, 
+                                          R_TLS_REALM_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualRealm() );    
+
+    iSettingArray->AddTextItemL( iUiData->GetManualRealm(),
+                                 ETlsTabSheetSettingsRealm,
+                                 R_TLS_REALM_STRING,
+                                 R_TLS_REALM_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingArray->AddBinarySettingItemL( R_TLS_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_TLS_TLS_PRIVACY_STRING, 
+                                          R_TLS_TLS_PRIVACY_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetTlsPrivacy() );
+        
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                        CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aMenuPane && aResourceId == R_TLS_MENU_PANE )
+        {
+        if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+
+        TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+        if ( index == ESettingsPage )
+            {
+            aMenuPane->SetItemDimmed( ETlsUiCmdEnable,  ETrue );
+            aMenuPane->SetItemDimmed( ETlsUiCmdDisable, ETrue );
+            }
+        else if ( index == ECipherSuitePage )
+            {
+            aMenuPane->SetItemDimmed( ETlsUiCmdChange, ETrue );
+
+            if ( iCipherSuitesViewArray->Count() > 0 )
+                {
+                TInt currIndex = iCipherSuiteListBox->CurrentItemIndex();
+                TBool enabled = iUiCipherSuites->At( currIndex ).iIsEnabled;
+
+                // Hide either "Enable" or "Disable", as appropriate.
+                aMenuPane->SetItemDimmed( ETlsUiCmdEnable,  enabled );
+                aMenuPane->SetItemDimmed( ETlsUiCmdDisable, !enabled );
+                }
+            else
+                {
+                aMenuPane->SetItemDimmed( ETlsUiCmdEnable,  ETrue );
+                aMenuPane->SetItemDimmed( ETlsUiCmdDisable, ETrue );
+                }
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    TPageIds pageIndex = static_cast<TPageIds>( ActivePageIndex() );
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case ETlsUiCmdChange:
+            {
+            if ( pageIndex == ESettingsPage )
+                {
+                if( iIsUIConstructionCompleted )
+    				{
+        			ShowSettingPageL( ETrue );
+    				}
+    			else
+    			    {
+    				#if defined(_DEBUG) || defined(DEBUG)
+    				RDebug::Print(_L("CEapTlsUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    				#endif						
+    			    }
+                }    
+            break;
+            }
+
+        case ETlsUiCmdEnable:
+            {
+            if ( pageIndex == ECipherSuitePage )    // Safety check in tls.
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                iUiCipherSuites->At( index ).iIsEnabled = ETrue;
+                iCipherSuites->Update();
+                DrawCipherSuitesL();
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+                cba.DrawDeferred();
+                }
+            break;
+            }
+
+        case ETlsUiCmdDisable:
+            {
+            if ( pageIndex == ECipherSuitePage )    // Safety check in tls.
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                iUiCipherSuites->At( index ).iIsEnabled = EFalse;
+                iCipherSuites->Update();                
+                DrawCipherSuitesL();
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                cba.DrawDeferred();
+                }            
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::PageChangedL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::PageChangedL( TInt aPageId )
+    {
+    if ( !iIsUIConstructionCompleted )
+        {
+        return;
+        }
+    
+    if ( aPageId == KEAPTLSSETTINGSPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        }
+
+    else if ( aPageId == KEAPTLSCIPHERPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        }
+        
+    CEikButtonGroupContainer& cba = ButtonGroupContainer();
+    if( aPageId == KEAPTLSSETTINGSPAGE )
+        {
+        cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_EDIT );
+        }
+    else if( aPageId == KEAPTLSCIPHERPAGE )
+        {
+        TInt index = iCipherSuiteListBox->CurrentItemIndex();
+        if( ( *iUiCipherSuites )[ index ].iIsEnabled )
+            {
+            cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+            }
+        else
+            {
+            cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+            }
+        }
+    cba.DrawDeferred();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+    if ( index == EUserCertificateItem )
+        {
+        TInt activeUserCertificate = CheckActiveUserCertificate();
+        CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( 
+                                                KCertificateArrayGranularity );
+        CleanupStack::PushL( tempArray );
+    
+        TDesC* noneText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TLS_NONE_SELECTION );
+        tempArray->InsertL( 0, *noneText );
+        CleanupStack::PopAndDestroy( noneText );
+    
+        for ( TInt i = 0; i < iUiUserCertificates->Count() ; i++ )
+            {
+            TEapTlsPeapUiCertificate certificate = 
+                                                iUiUserCertificates->At( i );
+            SCertEntry entry = certificate.iCertEntry;
+			TBuf<KMaxFullCertLabelLength> text;
+			GetFullCertLabel( entry, text);
+			tempArray->InsertL( i+1, text );
+            }
+
+        TInt selected( 0 );    
+        if ( activeUserCertificate == KErrNotFound )
+            {
+            selected = ShowRadioButtonSettingPageL( R_TLS_USER_CERT_SETTING, 
+                                                    tempArray, 0 );
+            }
+        else 
+            {
+            selected = ShowRadioButtonSettingPageL( R_TLS_USER_CERT_SETTING, 
+                                                    tempArray, 
+                                                    activeUserCertificate+1 );
+                                    //Plus 1 cause we added 'none' selection
+            }
+
+        CleanupStack::PopAndDestroy( tempArray );
+        UserCertificateHouseKeeping( selected );    
+        iCertificates->Update();
+        DrawSettingsListL(); // List must be drawn again at this stage
+        }
+    else if ( index == ECaCertificateItem )
+        {
+        TInt activeCaCertificate = CheckActiveCaCertificate();
+
+        CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( 
+                                                KCertificateArrayGranularity );
+        CleanupStack::PushL( tempArray );
+
+        TDesC* noneText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TLS_NONE_SELECTION );
+        tempArray->InsertL( 0, *noneText );
+        CleanupStack::PopAndDestroy( noneText );
+
+        for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+            {
+            TEapTlsPeapUiCertificate certificate = iUiCACertificates->At( i );
+            SCertEntry entry = certificate.iCertEntry;
+            TBuf<KMaxFullCertLabelLength> text;
+			GetFullCertLabel( entry, text );
+			tempArray->InsertL( i+1, text );
+            }
+
+        TInt selected( 0 );
+        if ( activeCaCertificate == KErrNotFound )
+            {
+            selected = ShowRadioButtonSettingPageL( R_TLS_CA_CERT_SETTING, 
+                                                    tempArray, 0 );
+            }
+        else
+            {
+            selected = ShowRadioButtonSettingPageL( R_TLS_CA_CERT_SETTING, 
+                                                    tempArray, 
+                                                    activeCaCertificate+1 );
+                                    //Plus 1 cause we added 'none' selection
+            }
+
+        CleanupStack::PopAndDestroy( tempArray );
+        CaCertificateHouseKeeping( selected );
+        iCertificates->Update();
+        DrawSettingsListL(); // List must be drawn again at this stage
+        }
+    else
+        {
+        CAknSettingItem* item = iSettingArray->Array()->At( index );
+        item->EditItemL( aCalledFromMenu );
+        item->StoreL();
+        }
+    DrawNow();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::ShowRadioButtonSettingPageL
+// -----------------------------------------------------------------------------
+//
+TInt CEapTlsUiDialog::ShowRadioButtonSettingPageL( TInt aTitle, 
+                                                   CDesCArrayFlat* aValues,
+                                                   TInt aCurrentItem )
+    {
+    // title of the dialog
+    HBufC* title = iCoeEnv->AllocReadResourceLC( aTitle );
+
+    // We have everything to create dialog
+    CAknRadioButtonSettingPage* dlg = new( ELeave )CAknRadioButtonSettingPage(
+                                                R_RADIO_BUTTON_SETTING_PAGE,
+                                                aCurrentItem, 
+                                                aValues );
+    CleanupStack::PushL( dlg );
+    dlg->SetSettingTextL( *title ); 
+    CleanupStack::Pop( dlg ); 
+    dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged );
+    CleanupStack::PopAndDestroy( title ); 
+    // index must be re-turned upside down, because options list is upside down
+    return aCurrentItem;
+    }
+  
+ 
+  
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::DrawCipherSuitesL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::DrawCipherSuitesL()
+    {
+    iCipherSuitesViewArray->Reset();
+    TInt listCount( 0 );
+    TBuf<KMaxLengthOfSuiteName> temp;
+
+    for ( TInt i = 0; i < iUiCipherSuites->Count() ; i++ )
+        {
+        temp.Zero();
+        _LIT( KTab, "\t" );
+        temp.Append( KTab );
+        TEapTlsPeapUiCipherSuite suite = iUiCipherSuites->At( i );
+        TUint32 suiteId = suite.iCipherSuite;
+
+        switch ( suiteId )
+            {
+            case 0x0004:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_RSARC4MD5 );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0005:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_RSARC4SHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x000a:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_RSA3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0016:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_DHERSA3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );            
+                break;
+                }
+
+            case 0x0013:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_DHEDSS3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );        
+                break;
+                }
+
+            case 0x002F:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_RSAAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );                
+                break;
+                }
+
+            case 0x0032:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_DHERSAAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );        
+                break;
+                }
+
+            case 0x0033:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TLS_SUITE_DHEDSSAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );                     
+                break;
+                }
+
+            default:
+                {
+                temp.Append( KEmptyString );                                    
+                break;
+                }
+
+            }
+
+        if (iUiCipherSuites->At( i ).iIsEnabled)
+            {
+            // Add mark icon to indicate that the suite is enabled
+            _LIT( KTab0, "\t0" );
+            temp.Append( KTab0 );    
+            }
+
+        iCipherSuitesViewArray->InsertL( listCount, temp );
+        listCount++;                
+        }
+
+    iCipherSuiteListBox->Model()->SetItemTextArray( iCipherSuitesViewArray );
+    iCipherSuiteListBox->HandleItemAdditionL();
+    iCipherSuiteListBox->DrawDeferred();
+    iCipherSuiteListBox->UpdateScrollBarsL();        
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::CheckActiveUserCertificate
+// -----------------------------------------------------------------------------
+//
+TInt CEapTlsUiDialog::CheckActiveUserCertificate()
+    {
+    for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+        {
+        if ( iUiUserCertificates->At( i ).iIsEnabled )
+            {
+            return i;
+            }
+        }
+
+    return KErrNotFound;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::CheckActiveCaCertificate
+// -----------------------------------------------------------------------------
+//
+TInt CEapTlsUiDialog::CheckActiveCaCertificate()
+    {
+    for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+        {
+        if ( iUiCACertificates->At( i ).iIsEnabled )
+            {
+            return i;
+            }
+        }
+
+    return KErrNotFound;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::UserCertificateHouseKeeping
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::UserCertificateHouseKeeping( TInt aSelected )
+    {
+    for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+        {
+        iUiUserCertificates->At( i ).iIsEnabled = EFalse;
+        }
+
+    if ( aSelected != 0 ) // Zero index is none
+        {
+        iUiUserCertificates->At( aSelected-1 ).iIsEnabled = ETrue;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::CaCertificateHouseKeeping
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::CaCertificateHouseKeeping( TInt aSelected )
+    {
+    for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+        {
+        iUiCACertificates->At( i ).iIsEnabled = EFalse;
+        }
+
+    if ( aSelected != 0 ) // Zero index is none
+        {        
+        iUiCACertificates->At( aSelected-1 ).iIsEnabled = ETrue;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::SetIconsL
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::SetIconsL()
+    {
+    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 );
+    CleanupStack::PushL( icons );
+
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
+/*    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, 
+                                        KAknsIIDQgnIndiMarkedAdd,
+                                        AknIconUtils::AvkonIconFileName(),
+                                        EMbmAvkonQgn_indi_marked_add, 
+                                        EMbmAvkonQgn_indi_marked_add_mask ) );
+*/
+
+    CGulIcon* icon = CGulIcon::NewLC();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;    
+    AknsUtils::CreateColorIconL( skinInstance,
+                                 KAknsIIDQgnIndiMarkedAdd, 
+                                 KAknsIIDQsnIconColors, 
+                                 EAknsCIQsnIconColorsCG13, 
+                                 bitmap, 
+                                 mask, 
+                                 AknIconUtils::AvkonIconFileName(),
+                                 EMbmAvkonQgn_indi_marked_add, 
+                                 EMbmAvkonQgn_indi_marked_add_mask,
+                                 KRgbBlack );
+    icon->SetBitmap( bitmap );
+    icon->SetMask( mask );    
+    icons->AppendL( icon );
+                
+    CleanupStack::Pop( icon ); 
+    CleanupStack::Pop( icons ); // icons
+
+    iCipherSuiteListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTlsUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapTlsUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    TPageIds index = static_cast< TPageIds >( ActivePageIndex() );
+    switch ( index )
+        {
+        case ECipherSuitePage:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_TLS_SUITES;
+            break;
+            }
+
+        default:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_TLS_SETT;
+            break;
+            }
+        }
+    }
+
+
+
+void CEapTlsUiDialog::GetFullCertLabel( const SCertEntry& aCert, 
+                                        TDes& aFullLabel )
+    {
+    TInt length = 0;
+
+	// For label.
+    length += aCert.iLabel.Length();
+
+	// For separator between label and primary name.    
+    length += KNameSeparator.iTypeLength;    
+    
+    // For primary name.
+    length += aCert.iPrimaryName.Length();
+
+    if ( !( aCert.iLabel.Length() ) )
+        {	
+    	// For secondary name.
+	    length += aCert.iSecondaryName.Length();
+        }
+    
+    if( length > aFullLabel.MaxLength() )
+        {
+#if defined(_DEBUG) || defined(DEBUG)
+		RDebug::Print(_L("CEapTlsUiDialog::GetFullCertLabel - ERROR! Length Mismatch in Certificate's full name\n") );
+#endif
+        }
+
+    HBufC* label = NULL;
+    TRAPD(err, label = HBufC::NewL( length ));
+    if (err)
+        {
+#if defined(_DEBUG) || defined(DEBUG)
+        RDebug::Print(_L("CEapTlsUiDialog::GetFullCertLabel - ERROR! LEAVE: HBufC::NewL\n") );
+#endif
+        return;
+        }
+    label->Des().Append( aCert.iLabel );
+
+    label->Des().Append( KNameSeparator );
+    label->Des().Append( aCert.iPrimaryName );
+
+    if ( !( aCert.iLabel.Length() ) )
+        {
+    	// Secondary name, only if no label. Certificate manager does the same way.
+	    label->Des().Append( aCert.iSecondaryName );
+        }
+            
+	aFullLabel.Copy( label->Des().Left( aFullLabel.MaxLength() ) );   
+    
+    delete label;
+    label = NULL;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/data/EapTtlsUi.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,473 @@
+/*
+* Copyright (c) 2001-2009 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: EAP TTLS UI resource file
+*
+*/
+
+/*
+* %version: 20 %
+*/
+
+CHARACTER_SET   UTF8
+
+//  RESOURCE IDENTIFIER
+NAME ETTL
+
+//  INCLUDES
+#include <eikon.rh>
+#include "EapTtlsUi.hrh"   // Enums for these resources
+#include <eapttlsui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+#define KUsernameMaxNameLength 255
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf=""; }
+
+
+RESOURCE CBA r_ttls_ui_softkeys_options_back_edit
+    {
+    buttons = 
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETtlsUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+    
+    
+RESOURCE CBA r_ttls_ui_softkeys_options_back_configure
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETtlsUiCmdConfigure; txt = qtn_msk_wlan_eap_configure; }
+        };
+    }
+    
+    
+RESOURCE CBA r_ttls_ui_softkeys_options_back_enable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETtlsUiCmdEnable; txt = qtn_msk_wlan_eap_cs_enable; }
+        };
+    }
+
+
+RESOURCE CBA r_ttls_ui_softkeys_options_back_disable
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = ETtlsUiCmdDisable; txt = qtn_msk_wlan_eap_cs_disable; }
+        };
+    }
+
+
+RESOURCE DIALOG r_ttls_setting_dialog
+    {
+    flags = EEikDialogFlagFillAppClientRect | EEikDialogFlagCbaButtons | 
+            EEikDialogFlagWait | EEikDialogFlagNotifyEsc;
+    buttons = r_ttls_ui_softkeys_options_back_edit;
+    pages = r_ttls_pages;
+    }
+
+
+RESOURCE ARRAY r_ttls_pages
+    {
+    items=
+        {
+        PAGE 
+            {
+            id = KEAPTTLSSETTINGSPAGE;
+            text = qtn_wlan_eap_tab_settings; 
+            lines = r_ttls_tab_settings; 
+            },
+
+        PAGE 
+            {
+            id = KEAPTTLSEAPPAGE;
+            text = qtn_wlan_eap_tab_eap_types; 
+            lines = r_ttls_tab_eap_types; 
+            },
+
+        PAGE 
+            {
+            id = KEAPTTLSCIPHERPAGE;
+            text = qtn_wlan_eap_tab_cipher_suites; 
+            lines = r_ttls_tab_cipher_suites; 
+            }
+        };
+    }
+
+
+// ******* PAGES ************
+// ******* 1st page *********
+RESOURCE ARRAY r_ttls_tab_settings
+    {
+    items =
+        {
+        DLG_LINE
+            {
+            id = ETtlsSettingsListbox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        };
+    }
+
+
+// ******* 2nd page *********
+RESOURCE ARRAY r_ttls_tab_eap_types
+    {
+    items =
+         {
+         DLG_LINE
+            {
+            id = ETtlsSettingsEapTypeListbox;
+            type = EAknCtSingleNumberListBox;
+            control = LISTBOX 
+                {
+                flags = EAknGenericListBoxFlags;
+                };
+            }
+        };
+    }
+
+
+// ******* 3rd page *********
+RESOURCE ARRAY r_ttls_tab_cipher_suites
+    {
+    items =
+        {
+        DLG_LINE
+            {
+            id = ETtlsSettingsCipherSuiteListbox;
+            type = EAknCtSingleNumberListBox;
+            control = LISTBOX 
+                {
+                flags = EAknGenericListBoxFlags;
+                };
+            }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_ttls_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_ttls_setting_edwin;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_ttls_realm_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm;
+    type = EEikCtEdwin;
+    editor_resource_id = r_ttls_setting_edwin;
+    }
+
+
+RESOURCE EDWIN r_ttls_setting_edwin 
+    {
+    flags = 0;
+    width = 9;
+    lines = 5;
+    maxlength = 255;
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    type =  EAknSetListBox;
+    editor_resource_id = r_setting_listbox;
+    }
+
+
+RESOURCE LISTBOX r_setting_listbox 
+    {
+    flags = EEikListBoxMultipleSelection;
+    }
+
+
+
+RESOURCE MENU_BAR r_ttls_menubar
+    {
+    titles =
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_ttls_menu_pane; 
+            txt = ""; 
+            }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_ttls_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM 
+            { 
+            command = ETtlsUiCmdConfigure;
+            txt = qtn_wlan_options_eap_plugin_configure;
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETtlsUiCmdEnable;
+            txt = qtn_wlan_options_eap_plugin_enable;
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETtlsUiCmdDisable;
+            txt = qtn_wlan_options_eap_plugin_disable;
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETtlsUiCmdMoveUp;
+            txt = qtn_wlan_options_eap_plugin_priority_up;
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETtlsUiCmdMoveDown;
+            txt = qtn_wlan_options_eap_plugin_priority_down;
+            flags = EEikMenuItemSpecific;
+            },
+
+        MENU_ITEM 
+            { 
+            command = ETtlsUiCmdChange;
+            txt = qtn_options_change;
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp;
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit;
+            txt = qtn_options_exit; 
+            }
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_ttls_settings_title        { buf = qtn_wlan_eap_ttls_title; }
+RESOURCE TBUF r_ttls_username_inusestring      \
+                                  { buf = qtn_wlan_eap_sett_username_inuse; }
+RESOURCE TBUF r_ttls_username_inusestring_auto \
+                        { buf = qtn_wlan_eap_sett_username_inuse_from_cert; }
+RESOURCE TBUF r_ttls_username_inusestring_conf \
+                             { buf = qtn_wlan_eap_sett_username_inuse_user; }
+RESOURCE TBUF r_ttls_username_string    { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_ttls_realm_inusestring         \
+                                     { buf = qtn_wlan_eap_sett_realm_inuse; }
+RESOURCE TBUF r_ttls_realm_inusestring_auto    \
+                           { buf = qtn_wlan_eap_sett_realm_inuse_from_cert; }
+RESOURCE TBUF r_ttls_realm_inusestring_conf    \
+                                { buf = qtn_wlan_eap_sett_realm_inuse_user; }
+RESOURCE TBUF r_ttls_realm_string          { buf = qtn_wlan_eap_sett_realm; }
+RESOURCE TBUF r_ttls_user_cert_string          \
+                                { buf = qtn_wlan_eap_sett_user_certificate; }
+RESOURCE TBUF r_ttls_ca_cert_string            \
+                                  { buf = qtn_wlan_eap_sett_ca_certificate; }
+RESOURCE TBUF r_ttls_not_defined     { buf = qtn_wlan_eap_cert_not_defined; }
+RESOURCE TBUF r_ttls_none_selection            \
+                                  { buf = qtn_wlan_eap_cert_none_selection; }
+RESOURCE TBUF r_ttls_suite_rsarc4md5 { buf = qtn_wlan_eap_cipher_rsarc4md5; }
+RESOURCE TBUF r_ttls_suite_rsarc4sha { buf = qtn_wlan_eap_cipher_rsarc4sha; }
+RESOURCE TBUF r_ttls_suite_rsa3dessha          \
+                                    { buf = qtn_wlan_eap_cipher_rsa3dessha; }
+RESOURCE TBUF r_ttls_suite_dhersa3dessha       \
+                                 { buf = qtn_wlan_eap_cipher_dhersa3dessha; }
+RESOURCE TBUF r_ttls_suite_dhedss3dessha       \
+                                 { buf = qtn_wlan_eap_cipher_dhedss3dessha; }
+RESOURCE TBUF r_ttls_suite_rsaaessha { buf = qtn_wlan_eap_cipher_rsaaessha; }
+RESOURCE TBUF r_ttls_suite_dhersaaessha        \
+                                  { buf = qtn_wlan_eap_cipher_dhersaaessha; }
+RESOURCE TBUF r_ttls_suite_dhedssaessha        \
+                                  { buf = qtn_wlan_eap_cipher_dhedssaessha; }
+RESOURCE TBUF r_ttls_info_cannot_disable_all_eap_plugins \
+                      { buf = qtn_wlan_info_cannot_disable_all_eap_plugins; }
+RESOURCE TBUF r_ttls_info_plain_mschap_cannot_enable_along \
+                { buf = qtn_wlan_eap_info_plain_mschap_cannot_enable_along; }
+RESOURCE TBUF r_ttls_tls_privacy_string
+                                  { buf = qtn_wlan_eap_sett_tls_privacy; }
+RESOURCE TBUF r_ttls_info_pap_cannot_enable_along \
+                { buf = qtn_wlan_eap_info_pap_cannot_enable_along; }
+
+// ********************************************
+// USERNAME IN USE AND REALM POPUP DEFINITION
+// ********************************************
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_ttls_username_autouseconf_texts
+    {
+    setting_texts_resource = r_ttls_username_autouseconf_texts_resource;
+    popped_up_texts_resource = r_ttls_username_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_ttls_username_autouseconf_texts_resource
+    {
+    items =
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_username_inuse_from_cert; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_username_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_ttls_username_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_cert; },
+        LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_ttls_realm_autouseconf_texts
+    {
+    setting_texts_resource = r_ttls_realm_autouseconf_texts_resource;
+    popped_up_texts_resource = r_ttls_realm_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_ttls_realm_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_realm_inuse_from_cert; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_realm_inuse_user; 
+            }
+        };
+    }
+
+
+RESOURCE ARRAY r_ttls_realm_automatic_useconfigured_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_cert; },
+        LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; }
+        };
+    }
+
+
+RESOURCE ARRAY r_ttls_tls_privacy_autouseconf_texts_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_sett_tls_privacy_off; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_sett_tls_privacy_on; 
+            }
+        };
+    }
+
+
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_ttls_tls_privacy_autouseconf_texts
+    {
+    setting_texts_resource = r_ttls_tls_privacy_autouseconf_texts_resource;
+    popped_up_texts_resource = r_ttls_tls_privacy_automatic_useconfigured_array;
+    }
+
+
+RESOURCE ARRAY r_ttls_tls_privacy_automatic_useconfigured_array
+    {
+    items =
+        {
+        LBUF { txt = qtn_wlan_eap_sett_tls_privacy_off; },
+        LBUF { txt = qtn_wlan_eap_sett_tls_privacy_on; }
+        };
+    }
+
+
+RESOURCE AVKON_SETTING_PAGE r_ttls_display_autouseconf_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_realm_inuse;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_ttls_setting_enumerated_popup;
+    }
+
+
+RESOURCE POPUP_SETTING_LIST r_ttls_setting_enumerated_popup
+    {
+    flags = EAknPopupSettingListFlagInitialised;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUi.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2001-2009 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: EAP TTLS UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _EAPTTLSUI_HRH_
+#define _EAPTTLSUI_HRH_
+
+enum TEapTtlsUiMenuCommands
+    {
+    ETtlsUiCmdUndefined = 6000,
+    ETtlsUiCmdChange,
+    ETtlsUiCmdEnable,
+    ETtlsUiCmdDisable,
+    ETtlsUiCmdConfigure,
+	ETtlsUiCmdMoveUp,
+    ETtlsUiCmdMoveDown,
+	ETtlsUiCmdViewDetails
+    };
+
+enum TEapTtlsUiNotes
+    {
+    TEapTtlsUiGeneralError = 6100
+    };
+
+enum TEapTtlsUiLines
+	{
+	ETtlsSettingsListBox = 6200
+	};
+
+enum TEapTtlsUiSettingIds
+	{
+	ETtlsSettingUserCert=6300,
+	ETtlsSettingCaCert,
+	ETtlsSettingUsernameInUseId,
+	ETtlsSettingUsernameId,
+	ETtlsSettingRealmInUseId,
+	ETtlsSettingRealmId,
+	ETtlsSettingTlsPrivacyId
+	};
+
+enum TEapTtlsUiSettingPageIds
+	{
+	ETtlsSettingPageUserCertificates=6400,
+	ETtlsSettingPageCaCertificates,
+	ETtlsSettingPageCipherSuites,
+	ETtlsSettingPageEapTypes,
+	ETtlsSettingPageSettings
+	};
+
+enum TEapTtlsUiListBoxes
+	{
+	ETtlsSettingsUserCertListbox=6500,
+	ETtlsSettingsCaCertListbox,
+	ETtlsSettingsCipherSuiteListbox,
+	ETtlsSettingsEapTypeListbox,
+	ETtlsSettingsListbox
+	};
+
+enum TEapTtlsSettingItems
+	{
+	ETtlsTabSheetSettingsUsernameInUse=6600,
+	ETtlsTabSheetSettingsUsername,
+	ETtlsTabSheetSettingsRealmInUse,
+	ETtlsTabSheetSettingsRealm
+	};
+
+// Constants that are used as page ids
+// TEapTtlsUiSettingPageIds does not work for this purpose
+#define KEAPTTLSSETTINGSPAGE 1
+#define KEAPTTLSEAPPAGE      2
+#define KEAPTTLSCIPHERPAGE   3
+
+#endif  //_EAPTTLSUI_HRH_
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiSettingArray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP TTLS UI settings array
+*
+*/
+
+/*
+* %version: 11 %
+*/
+
+#ifndef _EAPTTLSUISETTINGARRAY_H_
+#define _EAPTTLSUISETTINGARRAY_H_
+
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "EapTtlsUi.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CEapTtlsSettingItemArray : public CBase
+    {
+    public:
+        static CEapTtlsSettingItemArray* NewL();
+        virtual ~CEapTtlsSettingItemArray();
+        CAknSettingItem* Item( TEapTtlsUiSettingPageIds aItem );
+        CAknSettingItemArray* Array();
+        void StoreSettingsL();
+
+        void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource,
+                           TInt aSettingPageResource, TInt aAssociatedResource,
+                           TInt aOrdinal);
+
+        void AddBinarySettingItemL( TInt aSettingPageResourceId, 
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue);
+
+    protected:
+        CEapTtlsSettingItemArray();
+        void ConstructL();
+
+    private:
+        CAknSettingItemArray* iArray;
+    };
+
+#endif  // _EAPTTLSUISETTINGARRAY_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiView.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of EAP TTLS UI setting dialog
+*
+*/
+
+/*
+* %version: 22 %
+*/
+
+#ifndef _EAPTTLSUIVIEW_H_
+#define _EAPTTLSUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsPeapUiDataConnection.h>
+#include <EapTlsPeapUiTlsPeapData.h>
+#include <eikspane.h>
+#include <akntitle.h>
+#include <aknsettingitemlist.h>
+#include <aknlists.h>
+#include <aknselectionlist.h>
+#include <eiklbo.h>
+#include "EapTtlsUi.hrh"
+#include <EapTlsPeapUiCipherSuite.h>
+#include <EapTlsPeapUiEapType.h>
+#include <EapTlsPeapUiCertificate.h>
+#include <AbsEapTlsPeapUiCertificates.h>
+
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CEapTtlsSettingItemArray;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CEapTtlsUiDialog : public CAknDialog, 
+                         public MEapTlsPeapUiCertificates,
+                         public MEikListBoxObserver
+    {
+    public:
+        CEapTtlsUiDialog( CEapTlsPeapUiConnection* aConnection, 
+                          TIndexType aIndexType, TInt aIndex, 
+                          TInt& aButtonId );
+
+        ~CEapTtlsUiDialog();
+
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+        /**
+        * Chain into key event handler.
+        * @param aKeyEvent The event.
+        * @param aType The type of key event.
+        * @return Was the key consumed or not.
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+                                          TEventCode aType);
+
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
+    
+    public: // From CEikDialog
+        
+        /**
+        * @see CEikDialog
+        */
+        void HandleDialogPageEventL( TInt aEventID );
+
+
+    protected:
+        void PreLayoutDynInitL();
+        void PostLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+        void ProcessCommandL( TInt aCommand );
+        void PageChangedL( TInt aPageId );
+
+    private:
+        void ChangeTitleL( TBool aIsStarted );
+        void DrawSettingsListL();
+        void ShowSettingPageL( TInt aCalledFromMenu ); 
+        void MoveEapTypeL( TInt aOldPos, TInt aNewPos );
+        void DrawEapListL( TInt aWantedIndex );
+        TInt ShowRadioButtonSettingPageL( TInt aTitle, 
+                                          CDesCArrayFlat* aValues, 
+                                          TInt aCurrentItem );
+        void DrawCipherSuitesL();
+        void CompleteReadCertificates( const TInt aResult);
+        void CompleteUiConstructionL();
+        TInt CheckActiveUserCertificate();
+        TInt CheckActiveCaCertificate();
+        void UserCertificateHouseKeeping( TInt aSelected );
+        void CaCertificateHouseKeeping( TInt aSelected );
+        void CreateEapTypeDataBaseL();    
+        void SetCipherIconsL();
+        void SetEapIconsL();
+        TUint GetEnabledEapTypeCount();
+        TBool IsPlainMschapv2Enabled();
+        TBool IsPapEnabled();
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        void GetFullCertLabelL( const SCertEntry& aCert, TDes& aFullLabel );
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+        
+        void ConfigureL( TBool aQuick );
+
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        CEapTlsPeapUiDataConnection* iDataConnection;
+        CEapTlsPeapUiCipherSuites* iCipherSuites;
+        CEapTlsPeapUiCertificates* iCertificates;
+        
+        CEapTlsPeapUiTlsPeapData* iUiData;
+        CArrayFixFlat<TEapTlsPeapUiCipherSuite>* iUiCipherSuites;
+        CArrayFixFlat<TEapTlsPeapUiCertificate>* iUiUserCertificates;
+        CArrayFixFlat<TEapTlsPeapUiCertificate>* iUiCACertificates;
+        CArrayFixFlat<TEapTlsPeapUiEapType>* iUiEapTypes;
+                                
+        CAknSingleNumberStyleListBox* iUserCertificateListBox;
+        CAknSingleNumberStyleListBox* iCaCertificateListBox;
+        CAknSingleNumberStyleListBox* iCipherSuiteListBox;
+        CAknSingleNumberStyleListBox* iEapTypesListBox;
+        CEapTtlsSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CDesCArray* iEapTypeViewArray;
+        CDesCArray* iCipherSuitesViewArray;
+        CEapTlsPeapUiEapTypes* iEapTypes;
+        TIndexType iIndexType; 
+        TInt iIndex;
+        HBufC* iPreviousText;
+        TInt* iButtonId;
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+		
+		// For exiting dialog
+		TBool iExiting;
+    };
+
+
+#endif // _EAPTTLSUIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/loc/eapttlsui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-TTLS authentication settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_ttls_title     "EAP-TTLS settings"
+
+
+//d:Popup note to signal mschapv2 can only be enabled alone
+//l:popup_note_window
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_info_plain_mschap_cannot_enable_along   "Plain MSCHAPv2 cannot be enabled along with other EAP plug-ins"
+
+//d:Popup note to signal that PAP can only be enabled alone
+//l:popup_note_window
+//w:
+//r:5.1
+//
+#define qtn_wlan_eap_info_pap_cannot_enable_along   "PAP cannot be enabled along with other EAP plug-ins"
+
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUi.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,144 @@
+/*
+* 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: Implementation of EAP TTLS UI class
+*
+*/
+
+/*
+* %version: 15 %
+*/
+
+// INCLUDE FILES
+#include "EapTtlsUi.h"
+#include "EapTtlsUiView.h"
+#include <eapttlsui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <aknnotewrappers.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "eapttlsui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUi::CEapTtlsUi
+// -----------------------------------------------------------------------------
+//
+CEapTtlsUi::CEapTtlsUi( CEapTlsPeapUiConnection* aConnection, 
+                        TIndexType aIndexType, 
+                        TInt aIndex ) 
+: iConnection( aConnection ), 
+  iIndexType( aIndexType ), 
+  iIndex( aIndex )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUi::NewL
+// -----------------------------------------------------------------------------
+//
+CEapTtlsUi* CEapTtlsUi::NewL( CEapTlsPeapUiConnection* aConnection, 
+                              TIndexType aIndexType, 
+                              TInt aIndex ) 
+    {
+    CEapTtlsUi* self = new( ELeave ) CEapTtlsUi( aConnection, aIndexType, 
+                                                 aIndex );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUi::~CEapTtlsUi
+// -----------------------------------------------------------------------------
+//
+CEapTtlsUi::~CEapTtlsUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CEapTtlsUi::InvokeUiL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CEapTtlsUiDialog* settingsDlg = new( ELeave ) CEapTtlsUiDialog( 
+                                iConnection, iIndexType, iIndex, buttonId );
+    settingsDlg->ConstructAndRunLD( R_TTLS_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // For resource file
+    
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiSettingArray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of EAP TTLS UI settings array
+*
+*/
+
+/*
+* %version: 13 %
+*/
+
+// INCLUDE FILES
+#include "EapTtlsUiSettingArray.h"
+#include "EapTtlsUi.hrh"
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::CEapTtlsSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapTtlsSettingItemArray::CEapTtlsSettingItemArray()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CEapTtlsSettingItemArray* CEapTtlsSettingItemArray::NewL() 
+    {
+    CEapTtlsSettingItemArray* self = new( ELeave ) CEapTtlsSettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsSettingItemArray::ConstructL() 
+    {
+    iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::~CEapTtlsSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CEapTtlsSettingItemArray::~CEapTtlsSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CEapTtlsSettingItemArray::Item( TEapTtlsUiSettingPageIds aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CEapTtlsSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i( 0 ); i < iArray->Count(); ++i ) 
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                             TInt aId, 
+                                             TInt aTitleResource, 
+                                             TInt aSettingPageResource,
+                                             TInt aAssociatedResource, 
+                                             TInt aOrdinal )
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = new ( ELeave ) CAknTextSettingItem( aId,
+                                                                    aBuffer );
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KNullDesC );
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList,
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsSettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsSettingItemArray::AddBinarySettingItemL( 
+                                                 TInt aSettingPageResourceId,
+                                                 TInt aTitleResourceId, 
+                                                 TInt aAssociatedResourceId,
+                                                 TInt aOrdinal, 
+                                                 TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = new( ELeave ) 
+    CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+
+    HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( 
+                                                            aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+    iArray->AppendL( settingItem );
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiView.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,1903 @@
+/*
+* 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: Implementation of EAP TTLS UI settings dialog
+*
+*/
+
+/*
+* %version: 27.1.1.1.9 %
+*/
+
+// INCLUDE FILES
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include "EapTtlsUiView.h"
+#include "EapTtlsUi.hrh"
+#include <eapttlsui.rsg>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include "EapTtlsUiSettingArray.h"
+#include <aknnavi.h>
+#include <akntabgrp.h>
+#include <aknnavide.h>
+#include <aknradiobuttonsettingpage.h>
+#include <StringLoader.h>
+#include <aknnotewrappers.h>
+#include <EapTlsPeapUiCipherSuites.h>
+#include <EapTlsPeapUiEapTypes.h>
+#include <EapTlsPeapUiCertificates.h>
+#include <EapType.h>
+#include <EapTypeInfo.h> 
+#include <AknIconArray.h>
+#include <AknsUtils.h>
+
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+
+static const TInt KSettingArrayGranularity = 4;    
+static const TInt KSuiteArrayGranularity = 5;
+static const TInt KMaxLengthOfEapLine = 270;
+static const TInt KCertificateArrayGranularity = 5;
+static const TInt KMaxLengthOfSuiteName = 255;
+static const TInt KEapTtlsId = 21;
+
+_LIT( KNameSeparator, " " );
+_LIT( KEmptyString, "" );
+const TUint KFirstElement = 0;
+const TUint KSecondElement = 1;
+const TUint KMinEnabledCount = 1;
+
+/* This is the maximum length of a certificate's full name, includes
+label, primary and secondary names */
+const TUint32 KMaxFullCertLabelLength = KMaxCertLabelLength + 2 * 
+                                    KMaxNameLength + 1; // 1 is for separator.
+
+// MODULE DATA STRUCTURES
+enum TPageIds
+    {
+    ESettingsPage = 0,
+    EEapTypePage,
+    ECipherSuitePage
+    };
+
+enum TSettingIds
+    {
+    EUserCertificateItem = 0,
+    ECaCertificateItem,
+    EUsernameInUseItem,
+    EUsernameItem,
+    ERealmInUseItem,
+    ERealmItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CEapTtlsUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapTtlsUiDialog::CEapTtlsUiDialog( CEapTlsPeapUiConnection* aConnection,
+                                    TIndexType aIndexType, TInt aIndex, 
+								    TInt& aButtonId ) 
+: CAknDialog(), 
+  iConnection( aConnection ),
+  iIndexType( aIndexType ), 
+  iIndex( aIndex ), 
+  iButtonId( &aButtonId ),
+  iIsUIConstructionCompleted( EFalse ),
+  iExiting( EFalse )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CEapTtlsUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CEapTtlsUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CEapTtlsSettingItemArray::NewL();
+
+    User::LeaveIfError( iConnection->Connect() );
+
+    // Basic data
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+    
+    // Cipher suites
+    iCipherSuites = iConnection->GetCipherSuiteConnection();
+    if ( iCipherSuites == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+
+    User::LeaveIfError( iCipherSuites->Open() );
+    User::LeaveIfError( iCipherSuites->GetCipherSuites( &iUiCipherSuites ) );
+
+    iCipherSuitesViewArray = new( ELeave ) CDesCArrayFlat( 
+                                                    KSuiteArrayGranularity );
+    //EAP types 
+    iEapTypes = iConnection->GetEapTypeConnection();
+    if ( iEapTypes == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iEapTypes->Open() );
+    User::LeaveIfError( iEapTypes->GetEapTypes( &iUiEapTypes ) );
+    if ( iUiEapTypes->Count() == 0 )
+        {
+        CreateEapTypeDataBaseL();
+        }
+
+    iEapTypeViewArray = new( ELeave ) CDesCArrayFlat( 
+                                                    KSettingArrayGranularity );
+
+    FeatureManager::InitializeLibL();
+
+    ConstructL( R_TTLS_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::OfferKeyEventL
+// -----------------------------------------------------------------------------
+//
+TKeyResponse CEapTtlsUiDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                                     TEventCode aType )
+    {
+    TKeyResponse result( EKeyWasNotConsumed );
+    
+    // gently handle impatient users
+	if ( !iIsUIConstructionCompleted )
+        {
+        return CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+        }
+    
+    TInt pageId = ActivePageId();
+    if ( aType == EEventKey && pageId == KEAPTTLSCIPHERPAGE )
+        {
+        TInt indexBefore = iCipherSuiteListBox->CurrentItemIndex();
+        
+        if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            if ( ( *iUiCipherSuites )[indexBefore].iIsEnabled )
+                {
+                OkToExitL( ETtlsUiCmdDisable );
+                }
+            else
+                {
+                OkToExitL( ETtlsUiCmdEnable );
+                }
+                
+            result = EKeyWasConsumed;
+            }
+        else
+            {        
+            result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+            
+        TInt indexAfter = iCipherSuiteListBox->CurrentItemIndex();
+
+        if ( indexBefore != indexAfter )
+            {
+            CEikButtonGroupContainer& cba = ButtonGroupContainer();
+            if( ( *iUiCipherSuites )[ indexAfter ].iIsEnabled )
+                {
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+                }
+            else
+                {
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                }
+            
+            cba.DrawDeferred();
+            }
+        }
+    else if ( aType == EEventKey && pageId == KEAPTTLSEAPPAGE )
+        {
+        TInt indexBefore = iEapTypesListBox->CurrentItemIndex();
+        
+        if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            if ( ( *iUiEapTypes )[indexBefore].iIsEnabled )
+                {
+                OkToExitL( ETtlsUiCmdConfigure );
+                }
+            else
+                {
+                OkToExitL( ETtlsUiCmdEnable );
+                }
+                
+            result = EKeyWasConsumed;
+            }
+        else
+            {        
+            result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+            
+        TInt indexAfter = iEapTypesListBox->CurrentItemIndex();
+
+        if ( indexBefore != indexAfter )
+            {
+            CEikButtonGroupContainer& cba = ButtonGroupContainer();
+            if( ( *iUiEapTypes )[indexAfter].iIsEnabled )
+                {
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE );
+                }
+            else
+                {
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                }
+            
+            cba.DrawDeferred();
+            }        
+        }
+    else
+        {
+        result = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+        }
+
+    return result;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::~CEapTtlsUiDialog
+// -----------------------------------------------------------------------------
+//
+CEapTtlsUiDialog::~CEapTtlsUiDialog()
+    {
+     if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        }
+
+    delete iSettingArray;
+
+    iSettingListBox = NULL;
+    
+    iDataConnection->Close();
+    delete iDataConnection;
+
+    iCipherSuitesViewArray->Reset();
+    delete iCipherSuitesViewArray;    
+
+    iEapTypeViewArray->Reset();
+    delete iEapTypeViewArray;
+
+	iCertificates->Close();
+	delete iCertificates;
+
+	iCipherSuites->Close();
+	delete iCipherSuites;
+
+	iEapTypes->Close();
+	delete iEapTypes;
+
+	iConnection->Close();
+    
+    delete iPreviousText;
+    
+    FeatureManager::UnInitializeLib();
+    }
+    
+    
+// ---------------------------------------------------------
+// CEapTtlsUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CEapTtlsUiDialog::HandleListBoxEventL( CEikListBox* aListBox,
+                                            TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            if ( aListBox == iSettingListBox )
+                {
+                OkToExitL( ETtlsUiCmdChange );                    
+                }
+                
+            else if ( aListBox == iEapTypesListBox )
+                {
+                TInt index = iEapTypesListBox->CurrentItemIndex();
+                if ( iUiEapTypes->At( index ).iIsEnabled )
+                    {
+                    ConfigureL(ETrue);   
+                    }
+                else
+                    {
+                    OkToExitL( ETtlsUiCmdEnable );
+                    }                    
+                }
+                                     
+            else if ( aListBox == iCipherSuiteListBox )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                if ( iUiCipherSuites->At( index ).iIsEnabled )
+                    {
+                    OkToExitL( ETtlsUiCmdDisable );
+                    }
+                else
+                    {
+                    OkToExitL( ETtlsUiCmdEnable );
+                    }
+                }
+                
+            else
+                {
+                // Do nothing; we should never end up here
+                }
+                        
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }   
+
+
+// ---------------------------------------------------------
+// CEapTtlsUiDialog::HandleDialogPageEventL
+// ---------------------------------------------------------
+//
+void CEapTtlsUiDialog::HandleDialogPageEventL( TInt aEventID )
+    {
+     CAknDialog::HandleDialogPageEventL( aEventID );
+         if( iExiting )
+             {        
+             // Exit requested. 
+             TryExitL( EAknCmdExit );
+             }   
+     }
+
+
+// ---------------------------------------------------------
+// CEapTtlsUiDialog::ConfigureL
+// ---------------------------------------------------------
+//
+void CEapTtlsUiDialog::ConfigureL( TBool aQuick )
+    {
+    RImplInfoPtrArray eapArray;
+    eapArray.Reset();
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid,
+            eapArray );
+    TInt itemIndex = iEapTypesListBox->CurrentItemIndex(); 
+    TInt eapIndex( 0 );
+    for ( TInt i = 0; i < eapArray.Count(); ++i )
+        {
+        CImplementationInformation* tempInfo = eapArray[i];
+        if ( iUiEapTypes->At( itemIndex ).iEapType == 
+        tempInfo->DataType() )
+            {
+            eapIndex = i;
+            break;            
+            }
+        }   
+
+    CEapType* eapType;
+    eapType = CEapType::NewL( eapArray[eapIndex]->DataType(), 
+            iIndexType, iIndex );
+    eapArray.ResetAndDestroy();
+    eapType->SetTunnelingType( KEapTtlsId );
+    CleanupStack::PushL( eapType );
+    TInt buttonId = eapType->InvokeUiL();
+    CleanupStack::PopAndDestroy( eapType );
+    if ( buttonId == EAknCmdExit || buttonId == EEikCmdExit )
+        {
+        if (aQuick == EFalse)
+            {
+            TryExitL( buttonId );
+            }
+        else
+            {
+            iExiting = ETrue;
+            // Don't exit here. Framework command chain will
+            // cause a KERN-EXEC 3 panic. Handle the exit in 
+            // HandleDialogPageEventL(). 
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::PreLayoutDynInitL()
+    {
+    // Change title
+    ChangeTitleL( ETrue );
+    
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                              ControlOrNull( ETtlsSettingsListbox ) );
+    iSettingListBox->SetComponentsToInheritVisibility( ETrue );
+    
+    iEapTypesListBox = static_cast<CAknSingleNumberStyleListBox*>(
+                              ControlOrNull( ETtlsSettingsEapTypeListbox ) );
+    iEapTypesListBox->SetComponentsToInheritVisibility( ETrue );
+
+    iCipherSuiteListBox = static_cast<CAknSingleNumberStyleListBox*>(
+                               ControlOrNull( ETtlsSettingsCipherSuiteListbox ) );
+    iCipherSuiteListBox->SetComponentsToInheritVisibility( ETrue );
+    
+    // Get certificates before building the UI. 
+    // Will continue when certificates are received
+    iCertificates = iConnection->GetCertificateConnection( this );
+    User::LeaveIfError( iCertificates->Open() );
+    iCertificates->GetCertificates( &iUiUserCertificates, &iUiCACertificates );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CompleteReadCertificates
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::CompleteReadCertificates( const TInt aResult )
+    {
+    if ( aResult == KErrNone ) // Certifiocates are received from core
+        {
+        TRAPD( err, CompleteUiConstructionL() );
+        if ( err != KErrNone )
+            {
+            TRAP_IGNORE( TryExitL( KErrCancel ) );        
+            }        
+        }
+    else
+        {
+        TRAP_IGNORE( TryExitL( KErrCancel ) );
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CompleteUiConstructionL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::CompleteUiConstructionL()
+    {
+    // Initialize setting page 
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                    ControlOrNull( ETtlsSettingsListbox ) );
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );                                                 
+    DrawSettingsListL();
+
+    // Initialize EAP types page
+    iEapTypesListBox = static_cast<CAknSingleNumberStyleListBox*>( 
+                                ControlOrNull( ETtlsSettingsEapTypeListbox ) );
+    iEapTypesListBox->SetMopParent( this );
+    iEapTypesListBox->CreateScrollBarFrameL( ETrue );
+    iEapTypesListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iEapTypesListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iEapTypesListBox->SetListBoxObserver( this );     
+    
+    // Following deletes internal array created from resources. 
+    // To prevent memory leak.
+    MDesCArray* internalArray1 = iEapTypesListBox->Model()->ItemTextArray();
+    delete internalArray1;
+
+    // Initialize cipher suites page
+    iCipherSuiteListBox = static_cast<CAknSingleNumberStyleListBox*>( 
+                            ControlOrNull( ETtlsSettingsCipherSuiteListbox ) );
+    iCipherSuiteListBox->CreateScrollBarFrameL( ETrue );
+    iCipherSuiteListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iCipherSuiteListBox->UpdateScrollBarsL();
+    iCipherSuiteListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iCipherSuiteListBox->SetListBoxObserver( this );   
+        
+    //Following deletes internal array created from resources. 
+    // To prevent memory leak.
+    MDesCArray* internalArray2 = iCipherSuiteListBox->Model()->ItemTextArray();
+    delete internalArray2;
+
+    SetEapIconsL();
+    DrawEapListL( 0 );
+
+    SetCipherIconsL();
+    DrawCipherSuitesL();
+    
+    iIsUIConstructionCompleted = ETrue;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::PostLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::PostLayoutDynInitL()
+    {
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknNavigationControlContainer* naviPane = 
+                                static_cast<CAknNavigationControlContainer*>(
+                                        statusPane->ControlL( naviPaneUid ) );
+        CAknNavigationDecorator* naviDecorator = naviPane->ResourceDecorator();
+        if ( naviDecorator )
+            {
+            CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>( 
+                                        naviDecorator->DecoratedControl() );
+            tabGroup->SetActiveTabById( 0 ); 
+            tabGroup->SetTabFixedWidthL( KTabWidthWithOneTab );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+    
+    if ( subPane.IsPresent()&&subPane.IsAppOwned() )
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( 
+                                        statusPane->ControlL( titlePaneUid ) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();    
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_TTLS_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );    
+            }    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CEapTtlsUiDialog::OkToExitL( TInt aButtonId )
+    {
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+                if ( index == ESettingsPage )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }    
+                else if ( index == EEapTypePage )
+                    {
+                    ProcessCommandL( ETtlsUiCmdConfigure );
+                    }
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CEapTtlsUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            if( ( GetEnabledEapTypeCount() > KMinEnabledCount ) &&
+                  ( IsPlainMschapv2Enabled() || IsPapEnabled() ) )
+                {
+                HBufC* stringLabel;
+
+                if ( IsPlainMschapv2Enabled() )
+                    {
+                    stringLabel = StringLoader::LoadL(
+                            R_TTLS_INFO_PLAIN_MSCHAP_CANNOT_ENABLE_ALONG,
+                                                   iEikonEnv );
+                    }
+                else
+                    {
+                    stringLabel = StringLoader::LoadL(
+                            R_TTLS_INFO_PAP_CANNOT_ENABLE_ALONG,
+                                                   iEikonEnv );
+                    }
+                CleanupStack::PushL( stringLabel );
+                CAknInformationNote* dialog = new ( ELeave )
+                                            CAknInformationNote( ETrue );
+                dialog->ExecuteLD( *stringLabel );
+                CleanupStack::PopAndDestroy( stringLabel );
+                
+                // after showing the info note, EAP settings page
+                // must be shown
+                if( ActivePageId() == KEAPTTLSSETTINGSPAGE )
+                    {
+                    TKeyEvent keyRight = 
+                        {
+                            EKeyRightArrow,
+                            EStdKeyRightArrow,
+                            EModifierPureKeycode,
+                            0
+                        };
+                    CAknDialog::OfferKeyEventL
+                                            ( keyRight,
+                                              EEventKey );
+                    }
+                if( ActivePageId() == KEAPTTLSCIPHERPAGE )
+                    {
+                    TKeyEvent keyLeft = 
+                        {
+                            EKeyLeftArrow,
+                            EStdKeyLeftArrow,
+                            EModifierPureKeycode,
+                            0
+                        };
+                    CAknDialog::OfferKeyEventL
+                                            ( keyLeft,
+                                              EEventKey );
+                    }
+
+                iExiting = EFalse;    
+                ret = EFalse;
+                }
+            else
+                {
+                if( iIsUIConstructionCompleted )
+                    {
+                    iDataConnection->Update();
+                    ChangeTitleL( EFalse );
+                    ret = ETrue;
+                    }
+                }
+            break;
+            }
+            
+        case ETtlsUiCmdChange:
+            {
+            TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+            if ( index == ESettingsPage )
+                {
+                if( iIsUIConstructionCompleted )
+    				{
+        			ShowSettingPageL( EFalse );
+    				}
+    			else
+    			    {
+    				#if defined(_DEBUG) || defined(DEBUG)
+    				RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    				#endif
+    			    }
+                }
+            break;
+            }
+            
+        case ETtlsUiCmdConfigure:
+        case ETtlsUiCmdEnable:
+        case ETtlsUiCmdDisable:
+            {
+            ProcessCommandL( aButtonId );
+            ret = EFalse;
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::DrawSettingsListL()
+    {  
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+    TInt activeUserCertificate = CheckActiveUserCertificate();
+    TBuf<KMaxFullCertLabelLength> aActiveuserCertificateName = KEmptyString();
+    if ( activeUserCertificate != KErrNotFound )
+        {
+		TBuf<KMaxFullCertLabelLength> text;
+		GetFullCertLabelL( 
+                iUiUserCertificates->At( activeUserCertificate ).iCertEntry,
+                text );
+		aActiveuserCertificateName.Copy( text );		
+        }
+    else
+        {
+        TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TTLS_NOT_DEFINED );
+        aActiveuserCertificateName.Copy( *notDefinedText );
+        CleanupStack::PopAndDestroy( notDefinedText );
+        }
+
+    iSettingArray->AddTextItemL( aActiveuserCertificateName,
+                                 ETtlsSettingUserCert,
+                                 R_TTLS_USER_CERT_STRING,
+                                 R_TTLS_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    TInt activeCaCertificate = CheckActiveCaCertificate();
+    TBuf<KMaxFullCertLabelLength> aActiveCaCertificateName = KEmptyString();
+    if ( activeCaCertificate != KErrNotFound )
+        {
+		TBuf<KMaxFullCertLabelLength> text;
+		GetFullCertLabelL(
+                    iUiCACertificates->At( activeCaCertificate ).iCertEntry,
+                    text );
+		aActiveCaCertificateName.Copy( text );				
+        }
+    else
+        {
+        TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( 
+                                                        R_TTLS_NOT_DEFINED );
+        aActiveCaCertificateName.Copy( *notDefinedText );
+        CleanupStack::PopAndDestroy( notDefinedText );                
+        }
+
+    iSettingArray->AddTextItemL( aActiveCaCertificateName,
+                                 ETtlsSettingCaCert,
+                                 R_TTLS_CA_CERT_STRING,
+                                 R_TTLS_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+      
+    iSettingArray->AddBinarySettingItemL( R_TTLS_DISPLAY_AUTOUSECONF_PAGE, 
+                                          R_TTLS_USERNAME_INUSESTRING, 
+                                          R_TTLS_USERNAME_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualUsername() );
+
+    iSettingArray->AddTextItemL( iUiData->GetManualUsername(),
+                                 ETtlsTabSheetSettingsUsername,
+                                 R_TTLS_USERNAME_STRING,
+                                 R_TTLS_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+
+    iSettingArray->AddBinarySettingItemL( R_TTLS_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_TTLS_REALM_INUSESTRING, 
+                                          R_TTLS_REALM_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetUseManualRealm() );    
+
+    iSettingArray->AddTextItemL( iUiData->GetManualRealm(),
+                                 ETtlsTabSheetSettingsRealm,
+                                 R_TTLS_REALM_STRING,
+                                 R_TTLS_REALM_PAGE,
+                                 NULL,
+                                 ordinal++ );
+    
+    iSettingArray->AddBinarySettingItemL( R_TTLS_DISPLAY_AUTOUSECONF_PAGE,
+                                          R_TTLS_TLS_PRIVACY_STRING, 
+                                          R_TTLS_TLS_PRIVACY_AUTOUSECONF_TEXTS,
+                                          ordinal++,
+                                          *iUiData->GetTlsPrivacy() );
+        
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );    
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();  
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                         CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aMenuPane && aResourceId == R_TTLS_MENU_PANE )
+        {
+        if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+
+        TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+        if ( index == ESettingsPage )
+            {
+            aMenuPane->SetItemDimmed( ETtlsUiCmdEnable,    ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdDisable,   ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp,    ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown,  ETrue );
+            }
+        else if ( index == EEapTypePage )
+            {
+            aMenuPane->SetItemDimmed( ETtlsUiCmdChange, ETrue );
+
+            if ( iEapTypeViewArray->Count() > 0 )
+                {
+                TInt currentIndex = iEapTypesListBox->CurrentItemIndex();
+                TBool enabled = iUiEapTypes->At( currentIndex ).iIsEnabled;
+                
+                // Hide either "Enable" or "Disable", as appropriate.
+                aMenuPane->SetItemDimmed( ETtlsUiCmdEnable,  enabled );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, !enabled );
+
+                // Don't display "Configure" for disabled items
+                aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, !enabled );
+
+                // Don't display "Raise priority" nor "Lower priority" for 
+                // disabled items
+                aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, !enabled );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, !enabled );
+
+                if ( enabled )
+                    {
+                    if ( currentIndex == 0 )
+                        {
+                        // Can't go higher than top.
+                        aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, ETrue );
+                        }
+                    else if ( currentIndex == iEapTypeViewArray->Count()-1 ||
+                         ( currentIndex < iEapTypeViewArray->Count()-1 && 
+                         !iUiEapTypes->At( currentIndex + 1 ).iIsEnabled ) ) 
+                        {
+                        // Can't go lower than the last enabled item
+                        aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, ETrue );
+                        }
+                    }
+
+                }
+            else
+                {
+                aMenuPane->SetItemDimmed( ETtlsUiCmdEnable,    ETrue );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdDisable,   ETrue );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, ETrue );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp,    ETrue );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown,  ETrue );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdChange,    ETrue );
+                }
+            }
+        else if ( index == ECipherSuitePage )
+            {
+            aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp,    ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown,  ETrue );
+            aMenuPane->SetItemDimmed( ETtlsUiCmdChange,    ETrue );
+
+            if ( iCipherSuitesViewArray->Count() > 0 )
+                {
+                TInt currIndex = iCipherSuiteListBox->CurrentItemIndex();
+                TBool enabled = iUiCipherSuites->At( currIndex ).iIsEnabled;
+
+                // Hide either "Enable" or "Disable", as appropriate.
+                aMenuPane->SetItemDimmed( ETtlsUiCmdEnable,  enabled );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, !enabled );
+                }
+            else
+                {
+                aMenuPane->SetItemDimmed( ETtlsUiCmdEnable,  ETrue );
+                aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, ETrue );
+                }
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    TPageIds pageIndex = static_cast<TPageIds>( ActivePageIndex() );
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case ETtlsUiCmdChange:
+            {
+            if ( pageIndex == ESettingsPage )
+                {
+                if( iIsUIConstructionCompleted )
+    				{
+        			ShowSettingPageL( ETrue );
+    				}
+    			else
+    			    {
+    				#if defined(_DEBUG) || defined(DEBUG)
+    				RDebug::Print(_L("CEapTtlsUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    				#endif						
+    			    }
+                }    
+            break;
+            }
+
+        case ETtlsUiCmdMoveUp:
+            {
+            if ( pageIndex == EEapTypePage )
+                {
+                TInt cur = iEapTypesListBox->CurrentItemIndex();
+                MoveEapTypeL( cur, cur - 1 );
+                }
+            break;
+            }
+
+        case ETtlsUiCmdMoveDown:
+            {
+            if ( pageIndex == EEapTypePage )
+                {
+                TInt cur = iEapTypesListBox->CurrentItemIndex();
+                MoveEapTypeL( cur, cur + 1 );
+                }
+            break;
+            }
+
+        case ETtlsUiCmdEnable:
+            {
+            if ( pageIndex == ECipherSuitePage )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                iUiCipherSuites->At( index ).iIsEnabled = ETrue;
+                iCipherSuites->Update();
+                DrawCipherSuitesL();
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+                cba.DrawDeferred();
+                }
+            else if ( pageIndex == EEapTypePage )
+                {
+                TInt cur = iEapTypesListBox->CurrentItemIndex();
+                iUiEapTypes->At( cur ).iIsEnabled = ETrue;
+
+                iEapTypes->Update();
+
+                // enabling moves item to the top of the list
+                MoveEapTypeL( cur, 0 );                
+
+                // load the new CBA from resource
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();                
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE );
+                cba.DrawDeferred();
+                }                
+            break;
+            }
+
+        case ETtlsUiCmdDisable:
+            {
+            if ( pageIndex == ECipherSuitePage )
+                {
+                TInt index = iCipherSuiteListBox->CurrentItemIndex();
+                iUiCipherSuites->At( index ).iIsEnabled = EFalse;
+                iCipherSuites->Update();
+                DrawCipherSuitesL();    
+                CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                cba.DrawDeferred();        
+                }            
+            else if ( pageIndex == EEapTypePage )
+                {
+                TInt itemIndex = iEapTypesListBox->CurrentItemIndex();
+
+                if( GetEnabledEapTypeCount() > KMinEnabledCount )
+                    {
+                    // disabling moves item just after the last enabled one,
+                    // so find that position
+                    TInt next = itemIndex;
+                    
+                    while ( next < iUiEapTypes->Count() - 1 &&
+                            iUiEapTypes->At( next ).iIsEnabled )
+                        {
+                        ++next;
+                        }
+
+                    if ( next > itemIndex && 
+                         !iUiEapTypes->At( next ).iIsEnabled ) 
+                        {
+                        --next;
+                        }
+
+
+                    iUiEapTypes->At( itemIndex ).iIsEnabled = EFalse;
+
+                    // move item if needed
+                    MoveEapTypeL( itemIndex, next );
+                    iEapTypes->Update();                
+
+                    // Highlight follows movement.
+                    //iEapTypesListBox->SetCurrentItemIndex( next );
+                    
+                    // load the new CBA from resource
+                    CEikButtonGroupContainer& cba = ButtonGroupContainer();
+                    cba.SetCommandSetL( 
+                                     R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+                    cba.DrawDeferred();
+                    }
+                else
+                    {
+                    HBufC* stringLabel;
+                    stringLabel = StringLoader::LoadL(
+                                R_TTLS_INFO_CANNOT_DISABLE_ALL_EAP_PLUGINS,
+                                                       iEikonEnv );
+                    CleanupStack::PushL( stringLabel );
+                    CAknInformationNote* dialog = new ( ELeave )
+                                                CAknInformationNote( ETrue );
+                    dialog->ExecuteLD( *stringLabel );
+                    CleanupStack::PopAndDestroy( stringLabel );
+                    }
+                }
+            break;
+            }
+
+        case ETtlsUiCmdConfigure:
+            {
+            if ( pageIndex == EEapTypePage )
+                {
+                ConfigureL(EFalse);
+                }
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::PageChangedL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::PageChangedL( TInt aPageId )
+    {
+    if ( !iIsUIConstructionCompleted )
+        {
+        return;
+        }
+
+    if ( aPageId == KEAPTTLSSETTINGSPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        if (iEapTypesListBox->ScrollBarFrame())
+            {
+            iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        }
+     else if ( aPageId == KEAPTTLSEAPPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iEapTypesListBox->ScrollBarFrame())
+            {
+            iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        }
+    else if ( aPageId == KEAPTTLSCIPHERPAGE )
+        {
+        if (iSettingListBox->ScrollBarFrame())
+            {
+            iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iEapTypesListBox->ScrollBarFrame())
+            {
+            iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse);
+            }
+        if (iCipherSuiteListBox->ScrollBarFrame())
+            {
+            iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue);
+            }
+        }
+        
+    CEikButtonGroupContainer& cba = ButtonGroupContainer();
+    if( aPageId == KEAPTTLSSETTINGSPAGE )
+        {
+        cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_EDIT );
+        }
+    else if( aPageId == KEAPTTLSEAPPAGE )
+        {
+        cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE );
+        }
+    else if( aPageId == KEAPTTLSCIPHERPAGE )
+        {
+        TInt index = iCipherSuiteListBox->CurrentItemIndex();
+        if( ( *iUiCipherSuites )[ index ].iIsEnabled )
+            {
+            cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE );
+            }
+        else
+            {
+            cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE );
+            }
+        }
+    cba.DrawDeferred();
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::ShowSettingPageL( TInt aCalledFromMenu )
+    {
+    TInt index = iSettingListBox->CurrentItemIndex();
+    if ( index == EUserCertificateItem )
+        {
+        TInt activeUserCertificate = CheckActiveUserCertificate();
+        CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( 
+                                                KCertificateArrayGranularity );
+        CleanupStack::PushL( tempArray );
+    
+        TDesC* noneText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_TTLS_NONE_SELECTION );
+        tempArray->InsertL( 0, *noneText );
+        CleanupStack::PopAndDestroy( noneText );
+    
+        for ( TInt i = 0; i < iUiUserCertificates->Count() ; i++ )
+            {
+            TEapTlsPeapUiCertificate certificate = 
+                                                iUiUserCertificates->At( i );
+            SCertEntry entry = certificate.iCertEntry;
+			TBuf<KMaxFullCertLabelLength> text;
+			GetFullCertLabelL( entry, text);
+			tempArray->InsertL( i+1, text );
+            }
+        TInt selected( 0 );    
+        if ( activeUserCertificate == KErrNotFound )
+            {
+            selected = ShowRadioButtonSettingPageL( R_TTLS_USER_CERT_STRING, 
+                                                    tempArray, 0 );
+            }
+        else 
+            {
+            selected = ShowRadioButtonSettingPageL( R_TTLS_USER_CERT_STRING, 
+                                                    tempArray, 
+                                                    activeUserCertificate+1 );
+                                    //Plus 1 cause we added 'none' selection
+            }
+
+        CleanupStack::PopAndDestroy( tempArray );
+        UserCertificateHouseKeeping( selected );    
+        iCertificates->Update();
+        DrawSettingsListL(); // List must be drawn again at this stage
+        }
+    else if ( index == ECaCertificateItem )
+        {
+        TInt activeCaCertificate = CheckActiveCaCertificate();
+
+        CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( 
+                                                KCertificateArrayGranularity );
+        CleanupStack::PushL( tempArray );
+
+        TDesC* noneText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_TTLS_NONE_SELECTION );
+        tempArray->InsertL( 0, *noneText );
+        CleanupStack::PopAndDestroy( noneText );
+
+        for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+            {
+            TEapTlsPeapUiCertificate certificate = iUiCACertificates->At( i );
+            SCertEntry entry = certificate.iCertEntry;
+            TBuf<KMaxFullCertLabelLength> text;
+			GetFullCertLabelL( entry, text );
+			tempArray->InsertL( i+1, text );
+            }
+
+        TInt selected( 0 );
+        if ( activeCaCertificate == KErrNotFound )
+            {
+            selected = ShowRadioButtonSettingPageL( R_TTLS_CA_CERT_STRING, 
+                                                    tempArray, 0 );        
+            }
+        else
+            {
+            selected = ShowRadioButtonSettingPageL( R_TTLS_CA_CERT_STRING, 
+                                                    tempArray, 
+                                                    activeCaCertificate+1 );
+                                    //Plus 1 cause we added 'none' selection
+            }
+        CleanupStack::PopAndDestroy( tempArray );
+        CaCertificateHouseKeeping( selected );
+        iCertificates->Update();
+        DrawSettingsListL(); // List must be drawn again at this stage
+        }
+    else
+        {
+        CAknSettingItem* item = iSettingArray->Array()->At( index );
+        item->EditItemL( aCalledFromMenu );
+        item->StoreL();
+        }
+
+    DrawNow();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapPeapUiDialog::MoveEapTypeL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::MoveEapTypeL( TInt aOldPos, TInt aNewPos )
+    {
+    TEapTlsPeapUiEapType originalUpper = iUiEapTypes->At( aOldPos );
+    iUiEapTypes->Delete( aOldPos );
+    iUiEapTypes->InsertL( aNewPos, originalUpper );
+    iUiEapTypes->Compress();    // Might not be needed
+    iEapTypes->Update();
+    DrawEapListL( aNewPos );
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::DrawEapListL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::DrawEapListL( TInt aWantedIndex )
+    {    
+    iEapTypeViewArray->Reset();
+    RImplInfoPtrArray eapArray;
+    eapArray.Reset();
+
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray );
+    for ( TInt i = 0; i < iUiEapTypes->Count(); i++ )
+        {
+        TBuf<KMaxLengthOfEapLine> tempLine;
+        
+        if ( iUiEapTypes->At( i ).iIsEnabled )
+            {
+            _LIT( KNumTab, "%d\t" );
+            tempLine.AppendFormat( KNumTab, i+1 );
+            }
+        else
+            {
+            _LIT( KTab, "\t" );
+            tempLine.Append( KTab );
+            }
+        
+        for ( TInt index = 0; index < eapArray.Count(); index++ )
+            {
+            if ( eapArray[index]->DataType() == iUiEapTypes->At( i ).iEapType )
+                {
+                tempLine.Append( eapArray[index]->DisplayName() );
+                break;
+                }
+            }
+
+        if ( iUiEapTypes->At( i ).iIsEnabled )
+            {       // Add mark icon to indicate that the eap type is enabled
+            _LIT( KTab0, "\t0" );
+            tempLine.Append( KTab0 );
+            }
+
+        iEapTypeViewArray->InsertL( i, tempLine );
+        }
+
+    eapArray.ResetAndDestroy();
+    iEapTypesListBox->Model()->SetItemTextArray( iEapTypeViewArray );
+    iEapTypesListBox->HandleItemAdditionL();
+    iEapTypesListBox->SetCurrentItemIndex( aWantedIndex );
+    iEapTypesListBox->DrawDeferred();
+    iEapTypesListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::ShowRadioButtonSettingPageL
+// -----------------------------------------------------------------------------
+//
+TInt CEapTtlsUiDialog::ShowRadioButtonSettingPageL( TInt aTitle, 
+                                                    CDesCArrayFlat* aValues, 
+                                                    TInt aCurrentItem )
+    {
+    // title of the dialog
+    HBufC* title = iCoeEnv->AllocReadResourceLC( aTitle );
+
+    // We have everything to create dialog
+    CAknRadioButtonSettingPage* dlg = new( ELeave )CAknRadioButtonSettingPage(
+                                                R_RADIO_BUTTON_SETTING_PAGE,
+                                                aCurrentItem, 
+                                                aValues );
+    CleanupStack::PushL( dlg );
+    dlg->SetSettingTextL( *title ); 
+    CleanupStack::Pop( dlg );
+    dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged );
+    CleanupStack::PopAndDestroy( title ); // title
+    // index must be re-turned upside down, because options list is upside down
+    return aCurrentItem;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::DrawCipherSuitesL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::DrawCipherSuitesL()
+    {
+    iCipherSuitesViewArray->Reset();
+    TInt listCount( 0 );
+    TBuf<KMaxLengthOfSuiteName> temp;
+    for ( TInt i = 0; i < iUiCipherSuites->Count(); i++ )
+        {
+        temp.Zero();
+        _LIT( KTab, "\t" );
+        temp.Append( KTab ); 
+
+        TEapTlsPeapUiCipherSuite suite = iUiCipherSuites->At( i );
+        TUint32 suiteId = suite.iCipherSuite;
+
+        switch( suiteId )
+            {
+            case 0x0004:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_RSARC4MD5 );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0005:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_RSARC4SHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x000a:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_RSA3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );
+                break;
+                }
+
+            case 0x0016:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_DHERSA3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );            
+                break;
+                }
+
+            case 0x0013:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_DHEDSS3DESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );        
+                break;
+                }
+
+            case 0x002F:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_RSAAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );                
+                break;
+                }
+
+            case 0x0032:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_DHERSAAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );        
+                break;
+                }
+
+            case 0x0033:
+                {
+                HBufC* suite = iCoeEnv->AllocReadResourceLC( 
+                                                R_TTLS_SUITE_DHEDSSAESSHA );
+                temp.Append( *suite );
+                CleanupStack::PopAndDestroy( suite );                     
+                break;
+                }
+
+            default:
+                {
+                temp.Append( KEmptyString );
+                break;
+                }
+             }
+
+        if ( iUiCipherSuites->At( i ).iIsEnabled )
+            {       // Add mark icon to indicate that the suite is enabled
+            _LIT( KTab0, "\t0" );
+            temp.Append( KTab0 );
+            }
+
+        iCipherSuitesViewArray->InsertL( listCount, temp );
+        listCount++;                
+        }
+
+    iCipherSuiteListBox->Model()->SetItemTextArray( iCipherSuitesViewArray );
+    iCipherSuiteListBox->HandleItemAdditionL();
+    iCipherSuiteListBox->DrawDeferred();
+    iCipherSuiteListBox->UpdateScrollBarsL();        
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CheckActiveUserCertificate
+// -----------------------------------------------------------------------------
+//
+TInt CEapTtlsUiDialog::CheckActiveUserCertificate()
+    {
+    for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+        {
+        if ( iUiUserCertificates->At( i ).iIsEnabled )
+            {
+            return i;
+            }
+        }
+    
+    return KErrNotFound;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CheckActiveCaCertificate
+// -----------------------------------------------------------------------------
+//
+TInt CEapTtlsUiDialog::CheckActiveCaCertificate()
+    {
+    for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+        {
+        if ( iUiCACertificates->At( i ).iIsEnabled )
+            {
+            return i;
+            }
+        }
+
+    return KErrNotFound;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::UserCertificateHouseKeeping
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::UserCertificateHouseKeeping( TInt aSelected )
+    {
+    for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ )
+        {
+        iUiUserCertificates->At( i ).iIsEnabled = EFalse;
+        }
+
+    if ( aSelected != 0 ) // Zero index is none
+        {
+        iUiUserCertificates->At( aSelected-1 ).iIsEnabled = ETrue;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CaCertificateHouseKeeping
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::CaCertificateHouseKeeping( TInt aSelected )
+    {
+    for ( TInt i = 0; i < iUiCACertificates->Count(); i++ )
+        {
+        iUiCACertificates->At( i ).iIsEnabled = EFalse;
+        }
+
+    if ( aSelected != 0 ) // Zero index is none
+        {        
+        iUiCACertificates->At( aSelected-1 ).iIsEnabled = ETrue;    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::CreateEapTypeDataBaseL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::CreateEapTypeDataBaseL()
+    {
+    RImplInfoPtrArray eapArray;
+    eapArray.Reset();
+
+    REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray );
+    TInt allowedInTtlsCount( 0 );
+    for ( TInt i = 0; i < eapArray.Count(); i++ )
+        {
+        if ( !CEapType::IsDisallowedInsideTTLS(*eapArray[i]) )
+            {
+            CImplementationInformation* info = eapArray[i];
+            TEapTlsPeapUiEapType tempEapType;
+            tempEapType.iEapType = info->DataType();
+            
+            // BINARY RESOURCE DATA
+            
+            // [FE] [00 00 00] [TEapType_bigendian]
+            // OR
+            // [FE] [FF FF FF] [MSCHAPv2_bigendian]
+            
+            _LIT8( KExpEapFirstQuad, "\xFE\0\0\0" );
+            TPtrC8 firstQuad( tempEapType.iEapType.Ptr(), 4 );
+            // TUint32 dataType = BigEndian::Get32( tempEapType.iEapType.Ptr()+4 );
+            TUint32 dataType = ( tempEapType.iEapType[4] << 24 ) |
+                               ( tempEapType.iEapType[5] << 16 ) |
+                               ( tempEapType.iEapType[6] << 8 ) |
+                               tempEapType.iEapType[7];
+            
+    
+            if ( !firstQuad.Compare( KExpEapFirstQuad ) && 
+                 ( dataType == EAPSettings::EEapSim || 
+                   dataType == EAPSettings::EEapAka ) )
+                {
+                tempEapType.iIsEnabled = ETrue;
+                iUiEapTypes->InsertL( KFirstElement, tempEapType );
+                }
+            else
+                {
+                tempEapType.iIsEnabled = EFalse;
+                iUiEapTypes->InsertL( allowedInTtlsCount, tempEapType );
+                }
+
+            allowedInTtlsCount++;
+            }
+        }
+
+    __ASSERT_DEBUG( iUiEapTypes->Count() >= 2, User::Panic( _L("EAP-SIM/AKA missing"), 1) );
+    
+    // Check if EAP-SIM and EAP-AKA are in correct order
+    
+    // BINARY RESOURCE DATA
+    const TDesC8& firstEap = iUiEapTypes->At( KFirstElement ).iEapType;
+    const TDesC8& secondEap = iUiEapTypes->At( KSecondElement ).iEapType;
+    
+    TUint32 dataTypeFirst = ( firstEap[4] << 24 ) |
+                            ( firstEap[5] << 16 ) |
+                            ( firstEap[6] << 8 ) |
+                            firstEap[7];
+    TUint32 dataTypeSecond = ( secondEap[4] << 24 ) |
+                             ( secondEap[5] << 16 ) |
+                             ( secondEap[6] << 8 ) |
+                             secondEap[7];
+
+    // If not, switch them
+    if ( dataTypeFirst == EAPSettings::EEapAka &&
+        dataTypeSecond == EAPSettings::EEapSim )
+        {
+        TEapTlsPeapUiEapType tempEapType = iUiEapTypes->At( KFirstElement );
+        iUiEapTypes->Delete( KFirstElement );
+        iUiEapTypes->InsertL( KSecondElement, tempEapType );
+        }
+    
+    iEapTypes->Update();
+    eapArray.ResetAndDestroy();        
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::SetCipherIconsL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::SetCipherIconsL()
+    {
+    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 );
+    CleanupStack::PushL( icons );
+
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
+    CGulIcon* icon = CGulIcon::NewLC();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;    
+    AknsUtils::CreateColorIconL( skinInstance,
+                                 KAknsIIDQgnIndiMarkedAdd, 
+                                 KAknsIIDQsnIconColors, 
+                                 EAknsCIQsnIconColorsCG13, 
+                                 bitmap, 
+                                 mask, 
+                                 AknIconUtils::AvkonIconFileName(),
+                                 EMbmAvkonQgn_indi_marked_add, 
+                                 EMbmAvkonQgn_indi_marked_add_mask,
+                                 KRgbBlack );
+    icon->SetBitmap( bitmap );
+    icon->SetMask( mask );    
+    icons->AppendL( icon );
+                
+    CleanupStack::Pop( icon ); 
+    CleanupStack::Pop( icons ); // icons
+    
+    iCipherSuiteListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::SetEapIconsL
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::SetEapIconsL()
+    {
+    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 );
+    CleanupStack::PushL( icons );
+
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
+    CGulIcon* icon = CGulIcon::NewLC();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;    
+    AknsUtils::CreateColorIconL( skinInstance,
+                                 KAknsIIDQgnIndiMarkedAdd, 
+                                 KAknsIIDQsnIconColors, 
+                                 EAknsCIQsnIconColorsCG13, 
+                                 bitmap, 
+                                 mask, 
+                                 AknIconUtils::AvkonIconFileName(),
+                                 EMbmAvkonQgn_indi_marked_add, 
+                                 EMbmAvkonQgn_indi_marked_add_mask,
+                                 KRgbBlack );
+    icon->SetBitmap( bitmap );
+    icon->SetMask( mask );    
+    icons->AppendL( icon );
+                
+    CleanupStack::Pop( icon ); 
+    CleanupStack::Pop( icons ); // icons
+
+    iEapTypesListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::GetEnabledEapTypeCount
+// -----------------------------------------------------------------------------
+//
+TUint CEapTtlsUiDialog::GetEnabledEapTypeCount()
+    {
+    TUint itemCount( 0 );
+    for( TInt i( 0 ); i < iUiEapTypes->Count(); ++i )
+        {
+        if( iUiEapTypes->At( i ).iIsEnabled )
+            {
+            ++itemCount;
+            }
+        }
+    return itemCount;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::IsPlainMschapv2Enabled
+// -----------------------------------------------------------------------------
+//
+TBool CEapTtlsUiDialog::IsPlainMschapv2Enabled()
+    {
+    TBool isEnabled( EFalse );
+    for( TUint i( 0 ); i < iUiEapTypes->Count(); ++i )
+        {
+        // was: _LIT8( KPlainMsChapV2ExpandedId, "\xFE\xFF\xFF\xFF\0\0\0\x1A" );
+        // workaround:
+        _LIT8( KPlainMsChapV2ExpandedId, "\xFE\xFF\xFF\xFF\0\0\0\x63" );
+
+        const TDesC8& currEap = iUiEapTypes->At( i ).iEapType;
+
+        if ( !currEap.Compare( KPlainMsChapV2ExpandedId ) )
+            {
+            isEnabled = iUiEapTypes->At( i ).iIsEnabled;
+            break;
+            }
+
+        }
+    return isEnabled;
+    }
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::IsPapEnabled
+// -----------------------------------------------------------------------------
+//
+TBool CEapTtlsUiDialog::IsPapEnabled()
+    {
+    TBool isEnabled( EFalse );
+    for( TUint i( 0 ); i < iUiEapTypes->Count(); ++i )
+        {
+        _LIT8( KPapExpandedId, "\xFE\xFF\xFF\xFF\0\0\0\x62" );
+        const TDesC8& currEap = iUiEapTypes->At( i ).iEapType;
+        if ( !currEap.Compare( KPapExpandedId ) )
+            {
+            isEnabled = iUiEapTypes->At( i ).iIsEnabled;
+            break;
+            }
+        }
+    return isEnabled;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CEapTtlsUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CEapTtlsUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;
+    TPageIds index = static_cast<TPageIds>( ActivePageIndex() );
+    switch ( index )
+        {
+        case EEapTypePage:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_TTLS_TYPES;
+            break;
+            }
+
+        case ECipherSuitePage:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_TTLS_SUITES;
+            break;
+            }
+
+        default:
+            {
+            aContext.iContext = KSET_HLP_WLAN_EAP_TTLS_SETT;
+            break;
+            }
+        }
+    }
+
+
+void CEapTtlsUiDialog::GetFullCertLabelL( const SCertEntry& aCert, 
+                                         TDes& aFullLabel )
+    {
+    TInt length = 0;
+
+	// For label.
+    length += aCert.iLabel.Length();
+
+	// For separator between label and primary name.    
+    length += KNameSeparator.iTypeLength;    
+    
+    // For primary name.
+    length += aCert.iPrimaryName.Length();
+
+    if ( !( aCert.iLabel.Length() ) )
+        {	
+    	// For secondary name.
+	    length += aCert.iSecondaryName.Length();
+        }
+    
+    if( length > aFullLabel.MaxLength() )
+        {
+#if defined(_DEBUG) || defined(DEBUG)
+		RDebug::Print(_L("CEapTtlsUiDialog::GetFullCertLabelL - ERROR! Length Mismatch in Certificate's full name\n") );
+#endif
+        }
+
+    HBufC* label = HBufC::NewL( length );
+    label->Des().Append( aCert.iLabel );
+
+    label->Des().Append( KNameSeparator );
+    label->Des().Append( aCert.iPrimaryName );
+
+    if ( !( aCert.iLabel.Length() ) )
+        {
+    	// Secondary name, only if no label. Certificate manager does the same way.
+	    label->Des().Append( aCert.iSecondaryName );
+        }
+            
+	aFullLabel.Copy( label->Des().Left( aFullLabel.MaxLength() ) );   
+    
+    delete label;
+    label = NULL;
+    }
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/eapfastnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,4 @@
+EXPORTS
+	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 2 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/gtcnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/leapnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/mschapv2notifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/papnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eabi/eapfastnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,10 @@
+EXPORTS
+	_Z24ImplementationGroupProxyRi @ 1 NONAME
+	_Z13NotifierArrayv @ 2 NONAME
+	_ZTI19CEapFastPacPwDialog @ 3 NONAME ; #<TI>#
+	_ZTI20CEapFastDialogPlugin @ 4 NONAME ; #<TI>#
+	_ZTI21CEapFastPacFileDialog @ 5 NONAME ; #<TI>#
+	_ZTV19CEapFastPacPwDialog @ 6 NONAME ; #<VT>#
+	_ZTV20CEapFastDialogPlugin @ 7 NONAME ; #<VT>#
+	_ZTV21CEapFastPacFileDialog @ 8 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eabi/gtcnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,9 @@
+EXPORTS
+	_Z13NotifierArrayv @ 1 NONAME
+	_ZTI16CGtcDialogPlugin @ 2 NONAME ; #<TI>#
+	_ZTI23CGTCResponseQueryDialog @ 3 NONAME ; #<TI>#
+	_ZTI24CGTCMessageDisplayDialog @ 4 NONAME ; #<TI>#
+	_ZTV16CGtcDialogPlugin @ 5 NONAME ; #<VT>#
+	_ZTV23CGTCResponseQueryDialog @ 6 NONAME ; #<VT>#
+	_ZTV24CGTCMessageDisplayDialog @ 7 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eabi/leapnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	_Z13NotifierArrayv @ 1 NONAME
+	_ZTI11CLeapDialog @ 2 NONAME ; #<TI>#
+	_ZTI17CLeapDialogPlugin @ 3 NONAME ; #<TI>#
+	_ZTV11CLeapDialog @ 4 NONAME ; #<VT>#
+	_ZTV17CLeapDialogPlugin @ 5 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eabi/mschapv2notifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	_Z13NotifierArrayv @ 1 NONAME
+	_ZTI15CMsChapv2Dialog @ 2 NONAME ; #<TI>#
+	_ZTI21CMsChapv2DialogPlugin @ 3 NONAME ; #<TI>#
+	_ZTV15CMsChapv2Dialog @ 4 NONAME ; #<VT>#
+	_ZTV21CMsChapv2DialogPlugin @ 5 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eabi/papnotifdlgu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,11 @@
+EXPORTS
+	_Z13NotifierArrayv @ 1 NONAME
+	_ZTI14CPapAuthDialog @ 2 NONAME ; #<TI>#
+	_ZTI21CPapNotifDialogPlugin @ 3 NONAME ; #<TI>#
+	_ZTI22CPapChallengeMsgDialog @ 4 NONAME ; #<TI>#
+	_ZTI24CPapChallengeReplyDialog @ 5 NONAME ; #<TI>#
+	_ZTV14CPapAuthDialog @ 6 NONAME ; #<VT>#
+	_ZTV21CPapNotifDialogPlugin @ 7 NONAME ; #<VT>#
+	_ZTV22CPapChallengeMsgDialog @ 8 NONAME ; #<VT>#
+	_ZTV24CPapChallengeReplyDialog @ 9 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/data/2000cf2e.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2001-2009 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: EAP Notifier wrapper resource file
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#include <ecom/registryinfo.rh>
+#include <uikon.hrh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+	dll_uid = 0x2000cf2e;
+	interfaces =
+	{
+	INTERFACE_INFO
+		{
+		interface_uid = KUikonUidPluginInterfaceNotifiers;
+		implementations =
+				{
+				IMPLEMENTATION_INFO
+					{
+					implementation_uid = 0x2000cf2f;
+					version_no = 1;
+					display_name = "TTNOTIFY2V2 EAP notifier wrapper plugin";
+					default_data = "TTNOTIFY2V2";
+					opaque_data	 = "0";
+					}
+				};
+		}
+	};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/inc/eapnotifierdialoguiddefs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of the UIDs used by Connection Dialogs
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef __EAPNOTIFIERDIALOGUIDDEFS_H__
+#define __EAPNOTIFIERDIALOGUIDDEFS_H__
+
+// INCLUDES
+#include <e32std.h>
+
+
+// CONSTANTS
+
+// UIDs for EAP notifier plugins
+
+// ID of EAP-GTC dialog
+const TUid KUidGtcDialog        = { 0x101f8e7f };
+
+// ID of EAP-MSCHAPv2 dialog
+const TUid KUidMsChapv2Dialog   = { 0x101f8e69 };
+
+// ID of PAP dialog
+const TUid KUidPapDialog = { 0x200159A9 };
+
+#ifdef FF_WLAN_EXTENSIONS
+// ID of EAP-LEAP dialog
+const TUid KUidLeapDialog       = { 0x101f8ea9 };  
+#endif
+
+#endif  // __EAPNOTIFIERDIALOGUIDDEFS_H__ 
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/src/eapnotifwrapper.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,171 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of ecom plugin
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+// INCLUDE FILES
+#include "eapnotifierdialoguiddefs.h"
+
+#include <ecom/implementationproxy.h>
+#include <AknNotifierWrapper.h> // link against aknnotifierwrapper.lib
+
+
+// CONSTANTS
+const TInt KMyPriority =  MEikSrvNotifierBase2::ENotifierPriorityLow;
+const TInt KArrayGranularity = 4;
+ 
+
+// ---------------------------------------------------------
+// CleanupArray()
+// ---------------------------------------------------------
+//
+void CleanupArray( TAny* aArray )
+    {
+    CArrayPtrFlat<MEikSrvNotifierBase2>*     
+        subjects = static_cast<CArrayPtrFlat<MEikSrvNotifierBase2>*>( aArray );
+    TInt lastInd = subjects->Count()-1;
+    for ( TInt i = lastInd; i >= 0; i-- )
+        {
+        subjects->At( i )->Release();
+        }
+
+    delete subjects;
+    }
+    
+    
+// ---------------------------------------------------------
+// DoCreateNotifierArrayL()
+// ---------------------------------------------------------
+//
+CArrayPtr<MEikSrvNotifierBase2>* DoCreateNotifierArrayL()
+    {
+    CArrayPtrFlat<MEikSrvNotifierBase2>* subjects =
+        new ( ELeave )CArrayPtrFlat<MEikSrvNotifierBase2>( KArrayGranularity );
+    
+    CleanupStack::PushL( TCleanupItem( CleanupArray, subjects ) );
+
+    // Create Wrappers
+    CAknCommonNotifierWrapper* master = NULL;
+
+    // EAP-MSCHAPv2
+    _LIT( KMsChapv2NotifierPluginName, "mschapv2notifdlg.dll" );
+    master = CAknCommonNotifierWrapper::NewL( KUidMsChapv2Dialog,
+                                              KUidMsChapv2Dialog,
+                                              KMyPriority,
+                                              KMsChapv2NotifierPluginName,
+                                              1 );
+
+    CleanupStack::PushL( master );   
+    subjects->AppendL( master );
+    CleanupStack::Pop( master );
+
+
+
+    // EAP-GTC
+    _LIT( KGtcNotifierPluginName, "gtcnotifdlg.dll" );
+
+    // Session owning notifier(if default implementation is enough)
+    master = CAknCommonNotifierWrapper::NewL( KUidGtcDialog,
+                                         KUidGtcDialog,
+                                         KMyPriority,
+                                         KGtcNotifierPluginName,
+                                         1 ); // we don't use synch reply
+
+    CleanupStack::PushL( master );   
+    subjects->AppendL( master );
+    CleanupStack::Pop( master );
+
+  
+    // PAP
+    _LIT( KPapNotifierPluginName, "papnotifdlg.dll" );
+    master = CAknCommonNotifierWrapper::NewL( KUidPapDialog,
+                                              KUidPapDialog,
+                                              KMyPriority,
+                                              KPapNotifierPluginName,
+                                              1 );
+                                              
+    CleanupStack::PushL( master );   
+    subjects->AppendL( master );
+    CleanupStack::Pop( master );
+                                                
+
+
+#ifdef FF_WLAN_EXTENSIONS
+    
+    // EAP-LEAP
+    _LIT( KLeapNotifierPluginName, "leapnotifdlg.dll" );
+    master = CAknCommonNotifierWrapper::NewL( KUidLeapDialog,
+                                              KUidLeapDialog,
+                                              KMyPriority,
+                                              KLeapNotifierPluginName,
+                                              1 );
+
+    CleanupStack::PushL( master );   
+    subjects->AppendL( master );
+    CleanupStack::Pop( master );
+
+#endif
+                                            
+    CleanupStack::Pop();    // array cleanup
+    
+    return subjects;
+    }
+
+
+// ---------------------------------------------------------
+// NotifierArray()
+// ---------------------------------------------------------
+//
+CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
+    // old Lib main entry point
+    {
+    CArrayPtr<MEikSrvNotifierBase2>* array = 0;
+    TRAP_IGNORE( array = DoCreateNotifierArrayL() );
+    return array;
+    }
+
+
+// ---------------------------------------------------------
+// ImplementationTable
+// ---------------------------------------------------------
+//
+const TImplementationProxy ImplementationTable[] =
+    {
+#ifdef __EABI__
+    {{0x2000cf2f}, ( TFuncPtr )NotifierArray}
+#else
+    {{0x2000cf2f}, NotifierArray}
+#endif
+    };
+
+// ---------------------------------------------------------
+// ImplementationGroupProxy
+// entry point
+// ---------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
+                                                            TInt& aTableCount )
+    {
+    aTableCount = sizeof( ImplementationTable ) / 
+                  sizeof( TImplementationProxy ) ;
+    return ImplementationTable;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapAkaUi.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: EAP AKA UI Project mmp file
+*
+*/
+
+/*
+* %version: 21 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          eapakaui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x102072A5
+
+
+SOURCEPATH  ../EapAka/ConfigUi/src
+
+SOURCE  EapAkaUi.cpp
+SOURCE  EapAkaUiView.cpp
+SOURCE  EapAkaUiSettingArray.cpp
+
+
+USERINCLUDE     ../EapAka/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+// Resource files
+START RESOURCE ../data/EapAkaUi.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapGtcUi.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2001-2009 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: EAP GTC UI Project mmp file
+*
+*/
+
+/*
+* %version: 21 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          eapgtcui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x102072A9
+
+
+SOURCEPATH  ../EapGtc/ConfigUi/src
+
+SOURCE  EapGtcUi.cpp
+SOURCE  EapGtcUiView.cpp
+SOURCE  EapGtcUiSettingArray.cpp
+
+
+USERINCLUDE     ../EapGtc/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+
+// Resource files
+START RESOURCE ../data/EapGtcUi.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapMschapv2Ui.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2001-2009 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: EAP MsChapV2 UI Project mmp file
+*
+*/
+
+/*
+* %version: 23 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          eapmschapv2ui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x102072A8
+
+
+SOURCEPATH  ../EapMschapv2/ConfigUi/src
+
+SOURCE  EapMschapv2Ui.cpp
+SOURCE  EapMschapv2UiView.cpp
+SOURCE  EapMschapv2UiSettingArray.cpp
+
+
+USERINCLUDE     ../EapMschapv2/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+
+// Resource files
+START RESOURCE ../data/EapMschapv2Ui.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapPeapUi.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: EAP PEAP UI Project mmp file
+*
+*/
+
+/*
+* %version: 22 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          eappeapui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x102072AA
+
+
+SOURCEPATH  ../EapPeap/ConfigUi/src
+
+SOURCE  EapPeapUi.cpp
+SOURCE  EapPeapUiView.cpp
+SOURCE  EapPeapUiSettingArray.cpp
+
+
+USERINCLUDE     ../EapPeap/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+// Resource files
+START RESOURCE ../data/EapPeapUi.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapPluginConfig.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2001-2009 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: EAP Plugin Configuration UI Project mmp file
+*
+*/
+
+/*
+* %version: 23 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          eappluginconfig.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x102072BB
+CAPABILITY      CAP_ECOM_PLUGIN
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH      ../EapPluginConfig/src
+
+SOURCE          EAPPluginConfiguration.cpp
+SOURCE          EAPPlugInConfigurationDlg.cpp
+SOURCE          EAPPlugInConfigurationModel.cpp
+SOURCE          EAPPluginList.cpp
+SOURCE          EAPPluginConfigurationProxy.cpp
+
+
+USERINCLUDE     ../EapPluginConfig/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+
+START RESOURCE  ../data/EAPPluginConfigRes.rss
+
+HEADER
+TARGETPATH  RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END  // RESOURCE
+
+
+START RESOURCE  ../data/102072bb.rss
+TARGET eappluginconfig.rsc
+TARGETPATH ECOM_RESOURCE_DIR
+LANGUAGE_IDS
+
+END  // RESOURCE
+
+
+LIBRARY featmgr.lib
+LIBRARY euser.lib
+LIBRARY ecom.lib
+LIBRARY AknSkins.lib
+LIBRARY AknIcon.lib
+LIBRARY CommonEngine.lib
+LIBRARY HLPLCH.lib      // For Series 60 help
+LIBRARY eikcoctl.lib 
+LIBRARY eikdlg.lib
+LIBRARY eikcore.lib
+LIBRARY cone.lib
+LIBRARY avkon.lib
+LIBRARY bafl.lib 
+LIBRARY egul.lib
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapSimUi.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: EAP LEAP UI Project mmp file
+*
+*/
+
+/*
+* %version: 22 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          eapsimui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x102072A6
+
+SOURCEPATH  ../EapSim/ConfigUi/src
+
+SOURCE      EapSimUi.cpp
+SOURCE      EapSimUiView.cpp
+SOURCE      EapSimUiSettingArray.cpp
+
+
+USERINCLUDE     ../EapSim/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+// Resource files
+START RESOURCE ../data/EapSimUi.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapTlsUi.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2001-2009 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: EAP TLS UI Project mmp file
+*
+*/
+
+/*
+* %version: 21 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          eaptlsui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x102072AB
+
+
+SOURCEPATH  ../EapTls/ConfigUi/src
+
+SOURCE      EapTlsUi.cpp
+SOURCE      EapTlsUiView.cpp
+SOURCE      EapTlsUiSettingArray.cpp
+
+
+USERINCLUDE     ../EapTls/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+// Resource files
+START RESOURCE ../data/EapTlsUi.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/EapTtlsUi.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2001-2009 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: EAP TTLS UI Project mmp file
+*
+*/
+
+/*
+* %version: 22 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          eapttlsui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x10101219
+
+
+SOURCEPATH	../EapTtls/ConfigUi/src
+
+SOURCE  EapTtlsUi.cpp
+SOURCE  EapTtlsUiView.cpp
+SOURCE  EapTtlsUiSettingArray.cpp
+
+
+USERINCLUDE     ../EapTtls/ConfigUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+
+// Resource files
+START RESOURCE ../data/EapTtlsUi.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/GtcNotifDlg.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the GtcNotifDlg
+*
+*/
+
+/*
+* %version: 11.1.11 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          gtcnotifdlg.dll
+TARGETTYPE      DLL
+UID             0x101FDFAE 0x102072AE 
+CAPABILITY      CAP_GENERAL_DLL
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH      ../EapGtc/NotifierUi/src
+
+SOURCE          GtcNotifDlgPlugin.cpp 
+SOURCE          GTCResponseQueryDialog.cpp
+SOURCE          GTCMessageDisplayDialog.cpp
+
+
+USERINCLUDE     ../EapGtc/NotifierUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+
+START RESOURCE  ../data/GtcNotifDlgUi.rss
+
+HEADER
+TARGETPATH  RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/gtcnotifdlg.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/gtcnotifdlg.def
+#elif defined( WINS )
+    DEFFILE ../bwins/gtcnotifdlg.def
+#else
+    DEFFILE ../bmarm/gtcnotifdlg.def
+#endif
+
+
+LIBRARY euser.lib eikdlg.lib eiksrv.lib cone.lib commdb.lib eikcore.lib
+LIBRARY eikcoctl.lib bafl.lib
+LIBRARY avkon.lib
+LIBRARY AknSkins.lib
+LIBRARY charconv.lib
+LIBRARY commonengine.lib
+LIBRARY AknNotify.lib  
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/MsChapv2NotifDlg.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the MsChapv2NotifDlg
+*
+*/
+
+/*
+* %version: 10.1.10 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          mschapv2notifdlg.dll
+TARGETTYPE      DLL
+UID             0x101FDFAE 0x102072B2
+CAPABILITY      CAP_GENERAL_DLL
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH      ../EapMschapv2/NotifierUi/src
+
+SOURCE          MsChapv2NotifDlgPlugin.cpp 
+SOURCE          MsChapv2NotifDialog.cpp 
+
+
+USERINCLUDE     ../EapMschapv2/NotifierUi/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+
+START RESOURCE  ../data/MsChapv2NotifDlgUi.rss
+HEADER
+TARGETPATH  RESOURCE_FILES_DIR
+LANGUAGE_IDS
+END
+
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/mschapv2notifdlg.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/mschapv2notifdlg.def
+#elif defined( WINS )
+    DEFFILE ../bwins/mschapv2notifdlg.def
+#else
+    DEFFILE ../bmarm/mschapv2notifdlg.def
+#endif
+
+
+LIBRARY euser.lib eikdlg.lib eiksrv.lib cone.lib commdb.lib eikcore.lib
+LIBRARY eikcoctl.lib bafl.lib
+LIBRARY avkon.lib
+LIBRARY AknSkins.lib
+LIBRARY charconv.lib
+LIBRARY commonengine.lib
+LIBRARY AknNotify.lib  
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2001-2009 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: This file provides the information required for building theWLAN EAP Settings UI. 
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+// export iby files
+../rom/WlanEapSettingsUi.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(WlanEapSettingsUi.iby)
+../rom/WlanEapSettingsUiResources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WlanEapSettingsUiResources.iby)
+
+// export localised loc file
+../loc/wlaneapsettingsui.loc				MW_LAYER_LOC_EXPORT_PATH(wlaneapsettingsui.loc)
+../EapAka/ConfigUi/loc/eapakaui.loc			MW_LAYER_LOC_EXPORT_PATH(eapakaui.loc)
+../EapGtc/ConfigUi/loc/eapgtcui.loc			MW_LAYER_LOC_EXPORT_PATH(eapgtcui.loc)
+../EapGtc/NotifierUi/loc/gtcnotifdlg.loc		MW_LAYER_LOC_EXPORT_PATH(gtcnotifdlg.loc)
+../EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc		MW_LAYER_LOC_EXPORT_PATH(eapmschapv2ui.loc)
+../EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc	MW_LAYER_LOC_EXPORT_PATH(mschapv2notifdlg.loc)
+../EapPeap/ConfigUi/loc/eappeapui.loc			MW_LAYER_LOC_EXPORT_PATH(eappeapui.loc)
+../EapSim/ConfigUi/loc/eapsimui.loc			MW_LAYER_LOC_EXPORT_PATH(eapsimui.loc)
+../EapTls/ConfigUi/loc/eaptlsui.loc			MW_LAYER_LOC_EXPORT_PATH(eaptlsui.loc)
+../EapTtls/ConfigUi/loc/eapttlsui.loc			MW_LAYER_LOC_EXPORT_PATH(eapttlsui.loc)
+../pap/configui/loc/papui.loc			MW_LAYER_LOC_EXPORT_PATH(papui.loc)
+../pap/notifierui/loc/papnotifdlg.loc		MW_LAYER_LOC_EXPORT_PATH(papnotifdlg.loc)
+
+PRJ_MMPFILES
+
+// Settings dialogs
+EapSimUi.mmp
+EapTlsUi.mmp
+EapPeapUi.mmp
+EapTtlsUi.mmp
+EapMschapv2Ui.mmp
+EapGtcUi.mmp
+EapAkaUi.mmp
+papui.mmp
+
+// Notifiers components
+MsChapv2NotifDlg.mmp
+GtcNotifDlg.mmp
+papnotifdlg.mmp
+
+
+// Notifier wrapper
+eapnotifwrapper.mmp
+
+// Access Point UI interface module
+EapPluginConfig.mmp
+
+PRJ_TESTMMPFILES
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/eapnotifwrapper.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the eapnotifwrapper
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET      eapnotifwrapper.dll
+TARGETTYPE  PLUGIN 
+UID         0x10009D8D 0x2000CF2E
+VENDORID    VID_DEFAULT
+CAPABILITY  CAP_ECOM_PLUGIN
+
+LANG    SC
+
+SOURCEPATH  ../eapnotifwrapper/src
+SOURCE  eapnotifwrapper.cpp 
+
+USERINCLUDE			../eapnotifwrapper/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+START RESOURCE ../data/2000cf2e.rss 
+TARGET eapnotifwrapper.rsc
+TARGETPATH ECOM_RESOURCE_DIR
+END
+
+
+LIBRARY ecom.lib
+LIBRARY	aknnotifierwrapper.lib
+LIBRARY euser.lib
+
+DEBUGLIBRARY flogger.lib
+DEBUGLIBRARY efsrv.lib
+DEBUGLIBRARY cone.lib 
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/papnotifdlg.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2001-2009 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: Project specification file for pap/notifierui
+*
+*/
+
+/*
+* %version: 7 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          papnotifdlg.dll
+TARGETTYPE      DLL
+UID             0x101FDFAE 0x200159AA
+CAPABILITY      CAP_GENERAL_DLL
+VENDORID        VID_DEFAULT
+
+
+SOURCEPATH      ../pap/notifierui/src
+
+SOURCE          papnotifdlgplugin.cpp 
+SOURCE          papauthdialog.cpp
+SOURCE          papchallengemsgdialog.cpp
+SOURCE          papchallengereplydialog.cpp
+
+
+USERINCLUDE     ../pap/notifierui/inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+
+START RESOURCE  ../data/papnotifdlgui.rss
+HEADER
+TARGETPATH  RESOURCE_FILES_DIR
+LANGUAGE_IDS
+END
+
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/papnotifdlg.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/papnotifdlg.def
+#elif defined( WINS )
+    DEFFILE ../bwins/papnotifdlg.def
+#else
+    DEFFILE ../bmarm/papnotifdlg.def
+#endif
+
+
+
+LIBRARY euser.lib eikdlg.lib eiksrv.lib cone.lib commdb.lib eikcore.lib
+LIBRARY eikcoctl.lib bafl.lib
+LIBRARY avkon.lib
+LIBRARY AknSkins.lib
+LIBRARY charconv.lib
+LIBRARY commonengine.lib
+LIBRARY AknNotify.lib  
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/group/papui.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2001-2009 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: Project specification file for pap/configui
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET          papui.lib
+TARGETTYPE      lib
+UID             0x1000008d 0x200159AB
+
+SOURCEPATH  ../pap/configui/src
+
+SOURCE  papui.cpp
+SOURCE  papuisettingarray.cpp
+SOURCE  papuiview.cpp
+SOURCE  papuipwsettingitem.cpp
+
+USERINCLUDE     ../pap/configui/inc
+
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+// Resource files
+START RESOURCE ../data/papui.rss
+
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+
+END
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/loc/wlaneapsettingsui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,424 @@
+/*
+* Copyright (c) 2001-2009 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: Common UI strings for WLAN EAP Plugins
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:Command in options menu. Open configuration settings.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.1
+//
+#define qtn_wlan_options_eap_plugin_configure       "Configure"
+
+
+//d:Command in options menu. Enables a plugin.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.1
+//
+#define qtn_wlan_options_eap_plugin_enable          "Enable"
+
+
+//d:Command in options menu. Disables a plugin.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.1
+//
+#define qtn_wlan_options_eap_plugin_disable         "Disable"
+
+
+//d:MSK text. Open configuration settings.
+//l:control_pane_t3/opt7
+//w:
+//r:3.2
+//
+#define qtn_msk_wlan_eap_configure       "Configure"
+
+
+//d:MSK text. Enables a cipher suite.
+//l:control_pane_t3/opt7
+//w:
+//r:3.2
+//
+#define qtn_msk_wlan_eap_cs_enable          "Enable"
+
+
+//d:MSK text. Disables a cipher suite.
+//l:control_pane_t3/opt7
+//w:
+//r:3.2
+//
+#define qtn_msk_wlan_eap_cs_disable         "Disable"
+
+
+//d:Options list item, command. Selected plugin is moved up one row in a
+//d:numbered EAP type list, where list order represents the priority.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.1
+//
+#define qtn_wlan_options_eap_plugin_priority_up     "Raise priority"
+
+
+//d:Options list item, command. Selected plugin is moved down one row in a
+//d:numbered EAP type list, where list order represents the priority.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.1
+//
+#define qtn_wlan_options_eap_plugin_priority_down   "Lower priority"
+
+
+//d:Info note to the user when he is trying to disable all the EAP plugins
+//l:popup_note_window
+//w:
+//r:3.1
+//
+#define qtn_wlan_info_cannot_disable_all_eap_plugins   "At least one EAP plug-in has to be enabled"
+
+
+//d:The setting item for user name entry
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_username                  "User name"
+
+
+//d:The setting item that specifies what kind of user name is in use.
+//d:Possible options are "From SIM" 
+//d:(qtn_wlan_eap_sett_username_inuse_from_sim), "From certificate" 
+//d:(qtn_wlan_eap_sett_username_inuse_from_cert) or "User-configured"
+//d:(qtn_wlan_eap_sett_username_inuse_user)
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_username_inuse            "User name in use"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_username_inuse
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_username_inuse_from_sim   "From SIM"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_username_inuse
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_username_inuse_from_cert  "From certificate"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_username_inuse
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_username_inuse_user       "User-configured"
+
+
+//d:The setting item is for password promt
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_password                  "Password"
+
+
+//d:The setting item where the user can choose if he should be prompted for the
+//d:password or not. Possible options are "Yes" 
+//d:(qtn_wlan_eap_sett_passprompt_on) or "No" 
+//d:(qtn_wlan_eap_sett_passprompt_off).
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_passprompt                "Prompt password"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_passprompt
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_passprompt_on             "Yes"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_passprompt
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_passprompt_off            "No"
+
+
+//d:The setting item for Realm entry
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_realm                     "Realm"
+
+
+//d:The setting item that specifies what kind of realm is in use.
+//d:Possible options are "From SIM" (qtn_wlan_eap_sett_realm_inuse_from_sim),
+//d:"From certificate" (qtn_wlan_eap_sett_realm_inuse_from_cert) or 
+//d:"User-configured" (qtn_wlan_eap_sett_realm_inuse_user).
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_realm_inuse               "Realm in use"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_realm_inuse
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_realm_inuse_from_sim      "From SIM"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_realm_inuse
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_realm_inuse_from_cert     "From certificate"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_realm_inuse
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_realm_inuse_user          "User-configured"
+
+
+//d:The setting item for user certificate entry
+//d:Possible options are "(not defined)" (qtn_wlan_eap_cert_not_defined),
+//d:"None" (qtn_wlan_eap_cert_none_selection), or one of the installed user
+//d:certificates.
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_user_certificate          "User certificate"
+
+
+//d:The setting item for CA certificate entry.
+//d:Possible options are "(not defined)" (qtn_wlan_eap_cert_not_defined),
+//d:"None" (qtn_wlan_eap_cert_none_selection), or one of the installed user
+//d:certificates.
+//l:list_setting_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_sett_ca_certificate            "CA certificate"
+
+
+//d:Not defined text to qtn_wlan_eap_sett_user_certificate and 
+//d:qtn_wlan_eap_sett_ca_certificate setting items in case
+//d:no certificate has been selected.
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cert_not_defined               "(not defined)"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_user_certificate and
+//d:qtn_wlan_eap_sett_ca_certificate.
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cert_none_selection            "None"
+
+
+//d:Text in the tab for Settings page.
+//l:tabs_2_active_pane_t1/opt1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_tab_settings                   "Settings"
+
+
+//d:Text in the tab for EAP type selection page
+//l:tabs_2_active_pane_t1/opt1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_tab_eap_types                  "EAP types"
+
+
+//d:Text in the tab for Cipher suites selection page
+//l:tabs_2_active_pane_t1/opt1
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_tab_cipher_suites              "Cipher suites"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_rsarc4md5               "RSA,RC4,MD5"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_rsarc4sha               "RSA,RC4,SHA"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_rsa3dessha              "RSA,3DES,SHA"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_dhersa3dessha           "DHE-RSA,3DES,SHA"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_dhedss3dessha           "DHE-DSS,3DES,SHA"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_rsaaessha               "RSA,AES,SHA"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_dhersaaessha            "DHE-RSA,AES,SHA"
+
+
+//d:Cipher suite type text in list control
+//l:list_single_number_pane_t1/opt2
+//w:
+//r:3.1
+//
+#define qtn_wlan_eap_cipher_dhedssaessha            "DHE-DSS,AES,SHA"
+
+
+//d:The setting item that specifies if TLS privacy is used or not.
+//d:Possible options are "On" 
+//d:(qtn_wlan_eap_sett_tls_privacy_on) or "Off"
+//d:(qtn_wlan_eap_sett_tls_privacy_off)
+//l:list_setting_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_sett_tls_privacy               "TLS privacy"
+
+
+//d:One of the setting item values for qtn_wlan_eap_sett_tls_privacy
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_sett_tls_privacy_on            "On"
+
+//d:One of the setting item values for qtn_wlan_eap_sett_tls_privacy
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_sett_tls_privacy_off           "Off"
+
+
+//d:Information note for user when passwords do not match
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_info_passwords_do_not_match     "Passwords do not match, try again"
+
+
+//d:Error note for user when password is incorrect
+//l:popup_note_window
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_error_incorrect_password       "Incorrect password"
+
+
+//d:The popup query for user to create a PAC store password
+//l:popup_query_data_window
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_fast_prmpt_create_pac_password      "Create password for the encrypted PAC store:"
+
+
+//d:The popup query for user to verify a PAC store password
+//l:popup_query_data_window
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_fast_prmpt_verify_password      "Verify password:"
+
+
+//d:The popup query for user to set a PAC store password
+//l:popup_query_data_window
+//w:
+//r:3.2
+//
+#define qtn_wlan_eap_fast_prmpt_pac_password     "PAC store password:"
+
+//d:Default value text for a username setting item whose value has not yet been set. 
+//d:Used for the username setting qtn_wlan_eap_sett_username
+//l:list_set_graphic_pane_t1
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_sett_username_not_defined               "(not defined)"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/data/papui.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,239 @@
+/*
+* Copyright (c) 2001-2009 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: PAP UI resource file
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+//  RESOURCE IDENTIFIER
+NAME PAPC
+
+//  INCLUDES
+#include <eikon.rh>
+#include "papui.hrh"   // Enums for these resources
+#include <papui.loc>   // Localisation file
+#include <wlaneapsettingsui.loc>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.mbg>
+#include <avkon.loc>
+
+
+//  CONSTANTS  
+
+#define ESecUiQueryFlags (EGeneralQueryFlags | EEikDialogFlagNotifyEsc | EEikDialogFlagWait)
+
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+
+RESOURCE TBUF16 { buf=""; }
+
+
+RESOURCE CBA r_pap_ui_softkeys_options_back_edit
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EPapUiCmdChange; txt = qtn_msk_change; }
+        };
+    }
+    
+RESOURCE DIALOG r_pap_setting_dialog
+    {
+/*    flags = EEikDialogFlagFillAppClientRect | 
+            EEikDialogFlagCbaButtons | 
+            EEikDialogFlagWait | 
+            EEikDialogFlagNotifyEsc; */
+    
+    flags = EAknDialogSelectionList | EEikDialogFlagWait;
+    buttons = r_pap_ui_softkeys_options_back_edit;
+    items = 
+        { 
+        DLG_LINE
+            {
+            id = EPapSettingsListBox;
+            type = EAknCtSettingListBox;
+            control = LISTBOX 
+                {
+                flags = EAknListBoxMenuList;
+                };
+            }
+        }; 
+    }
+
+
+
+RESOURCE AVKON_SETTING_PAGE r_pap_username_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label= qtn_wlan_eap_sett_username;
+    type = EEikCtEdwin;
+    editor_resource_id = r_pap_username_editor;
+    }
+
+RESOURCE EDWIN r_pap_username_editor 
+    {
+    width = 9;
+    lines = 5;
+    maxlength = KPapUsernameMaxLength;
+    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
+    default_input_mode = EAknEditorTextInputMode;
+    default_case = EAknEditorLowerCase;
+    avkon_flags = EAknEditorFlagLatinInputModesOnly;
+    flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks;
+    }
+
+RESOURCE AVKON_SETTING_PAGE r_pap_password_popup_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_password;
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_pap_setting_enumerated_popup;
+    }
+    
+RESOURCE POPUP_SETTING_LIST r_pap_setting_enumerated_popup
+    {
+    flags = EAknPopupSettingListFlagInitialised;
+    }
+
+   
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_pap_password_prompt_choices
+    {
+    setting_texts_resource = r_pap_prompt_choices_resource;
+    popped_up_texts_resource = r_pap_prompt_choices_texts_array;
+    }       
+
+RESOURCE ARRAY r_pap_prompt_choices_resource
+    {
+    items=
+        {
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 1; 
+            text = qtn_wlan_eap_pap_sett_password_prompt; 
+            },
+
+        AVKON_ENUMERATED_TEXT 
+            { 
+            value = 0; 
+            text = qtn_wlan_eap_pap_sett_password_udef; 
+            }
+        };
+    }
+    
+RESOURCE ARRAY r_pap_prompt_choices_texts_array
+    {
+    items=
+        {
+        LBUF { txt = qtn_wlan_eap_pap_sett_password_prompt; },
+        LBUF { txt = qtn_wlan_eap_pap_sett_password_udef; }
+        };
+    }
+    
+RESOURCE AVKON_SETTING_PAGE r_pap_password_setting_page
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    label = qtn_wlan_eap_sett_password;
+    type = EEikCtSecretEd;
+    editor_resource_id = r_pap_setting_password;
+    }
+
+
+RESOURCE SECRETED r_pap_setting_password 
+    {
+    num_letters = KPapPasswordMaxLength;
+    }    
+
+// No dialog, make this as another setting page, only that
+// it is not visible when setting list is drawn.
+// It can be referred to and opened with the item id defined in .hrh.
+/*RESOURCE DIALOG r_pap_password_dialog
+    {
+    flags=ESecUiQueryFlags;
+    buttons=R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    items=
+        {
+        DLG_LINE
+            {
+            type=EAknCtQuery;
+            id=EGeneralQuery;
+            control= AVKON_DATA_QUERY 
+                { 
+                layout = ECodeLayout;
+                label = qtn_wlan_eap_sett_password;
+                control = SECRETED
+                    { 
+                    num_letters = KPapPasswordMaxLength;
+                    };
+                };
+            }
+        };
+    }
+*/   
+
+RESOURCE MENU_BAR r_pap_menubar
+    {
+    titles =
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_pap_menu_pane; 
+            txt = ""; 
+            }
+        };
+    }
+
+
+RESOURCE MENU_PANE r_pap_menu_pane
+    {
+    items =
+        {
+        MENU_ITEM 
+            { 
+            command = EPapUiCmdChange;
+            txt = qtn_options_change;
+            flags = EEikMenuItemAction; 
+            },
+            
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp;
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit;
+            txt = qtn_options_exit; 
+            }           
+        };
+    }
+
+
+// Resource strings
+RESOURCE TBUF r_pap_settings_title              { buf = qtn_wlan_eap_pap_title; }
+RESOURCE TBUF r_pap_username_not_defined        { buf = qtn_wlan_eap_sett_username_not_defined; }
+RESOURCE TBUF r_pap_define_username_info_note   { buf = qtn_wlan_eap_pap_define_user_name; }
+RESOURCE TBUF r_pap_username_setting_title              { buf = qtn_wlan_eap_sett_username; }
+RESOURCE TBUF r_pap_password_setting_title              { buf = qtn_wlan_eap_sett_password; }
+ 
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papui.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2001-2009 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: PAP UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _PAPUI_HRH_
+#define _PAPUI_HRH_
+
+#define KPapUsernameMaxLength 253
+#define KPapPasswordMaxLength 128
+
+enum TPapUiMenuCommands
+    {
+    EPapUiCmdUndefined = 6000,
+    EPapUiCmdChange
+    };
+
+enum TPapUiNotes
+    {
+    TPapUiGeneralError = 6100
+    };
+
+enum TPapUiLines
+	{
+	EPapSettingsListBox = 6200
+	};
+
+enum TPapSettingIds
+	{
+	EPapSettingUsernameSettingId=6300,
+	EPapSettingPassPromptSettingId,
+	EPapSettingPasswordSettingId
+	};
+
+enum TPapSettingItemId
+	{
+	EPapSettingPageUserName=6400,
+	EPapSettingPagePasswordPrompt,
+	EPapSettingPagePassword
+	};
+	
+#endif  //_PAPUI_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuipwsettingitem.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of PAP UI password setting item
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef _PAPUIPWSETTINGITEM_H_
+#define _PAPUIPWSETTINGITEM_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+
+// FORWARD DECLARATIONS
+class CPapSettingItemArray;
+
+// CLASS DECLARATION
+
+/**
+*  Password setting item class definition
+*/
+class CPapUiPwSettingItem : public CAknPasswordSettingItem
+    {
+    public:
+    
+        CPapUiPwSettingItem( TInt aIdentifier,
+            enum TAknPasswordSettingItemMode aMode,
+            TDes &aPassword,
+            CPapSettingItemArray* aParent );
+
+        ~CPapUiPwSettingItem();
+        
+                
+    public: // From CAknSettingItem
+        
+        /**
+        * Handles setting page events.
+        * @param aSettingPage  The originating setting page.
+        * @param aEventType A code for the event.
+        */
+        void HandleSettingPageEventL(
+            CAknSettingPage *aSettingPage, TAknSettingPageEvent aEventType );
+            
+    public: // new
+    
+        /**
+        * Deletes the password.
+        */
+        void DeletePasswordL();
+            
+        
+    private:
+        
+        // Reference, not owned
+        CPapSettingItemArray* iParent;		
+    };
+
+
+#endif // _PAPUIPWSETTINGITEM_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuisettingarray.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of PAP UI settings array
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#ifndef _PAPUISETTINGARRAY_H_
+#define _PAPUISETTINGARRAY_H_
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+#include "papui.hrh"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CPapSettingItemArray : public CBase
+    {
+    public:
+        static CPapSettingItemArray* NewL();
+        virtual ~CPapSettingItemArray();
+        CAknSettingItem* Item( TPapSettingItemId aItem );
+        CAknSettingItemArray* Array();
+        void StoreSettingsL();
+        void AddTextItemL( TDes& aBuffer, 
+                           TInt aId, 
+                           TInt aTitleResource, 
+                           TInt aSettingPageResource, 
+                           TInt aAssociatedResource, 
+                           TInt aOrdinal );
+        void AddBinarySettingItemL( TInt aSettingPageResourceId,
+                                    TInt aTitleResourceId,
+                                    TInt aAssociatedResourceId,
+                                    TInt aOrdinal,
+                                    TBool& aModifiedValue );
+        void AddPasswordItemL( TDes& aPassword, 
+                               TInt aId, 
+                               TInt aTitleResource, 
+                               TInt aSettingPageResource, 
+                               TInt aAssociatedResource, 
+                               TInt aOrdinal );
+        void PwItemCancelled( TBool aIsCancelled );                       
+        TBool IsPwItemCancelled();
+                                    
+
+    protected:
+        CPapSettingItemArray();
+        void ConstructL();
+ 
+
+    private:
+        CEikonEnv* iEnv;
+        CAknSettingItemArray* iArray;
+        TBool iPwItemCancelled;
+    };
+
+#endif  // _PAPUISETTINGARRAY_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuiview.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2001-2009 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: Header file of PAP UI setting dialog
+*
+*/
+
+/*
+* %version: 7 %
+*/
+
+#ifndef _PAPUIVIEW_H_
+#define _PAPUIVIEW_H_
+
+// INCLUDES
+#include <AknDialog.h>        // AVKON components
+#include <eikspane.h> // For changing status pane 
+#include <akntitle.h>
+#include <aknnavi.h>
+#include <aknsettingitemlist.h>
+#include <aknlists.h>
+#include <aknselectionlist.h>
+#include <eiklbo.h>
+#include "papui.hrh"
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsPeapUiDataConnection.h>
+#include <EapTlsPeapUiTlsPeapData.h>
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CSettingsListBoxItemDrawer;
+class CPapSettingItemArray;
+
+
+// CLASS DECLARATION
+
+/**
+*  Settings dialog class definition
+*/
+class CPapUiDialog : public CAknDialog,
+                     public MEikListBoxObserver
+    {
+    public:
+        CPapUiDialog( CEapTlsPeapUiConnection* aConnection, 
+                              TInt& aButtonId );
+
+        ~CPapUiDialog();
+
+        /**
+        * Create and launch dialog.
+        * @param aResourceId The resource ID of the dialog to load.
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( TInt aResourceId );
+        
+                
+    public: // From MEikListBoxObserver
+        
+        /**
+        * Handles list box events.
+        * @param aListBox   The originating list box.
+        * @param aEventType A code for the event.
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );                
+        
+        
+    protected:
+        void PreLayoutDynInitL();
+        TBool OkToExitL( TInt aButtonId );
+        void ProcessCommandL( TInt aCommand );
+
+    private:
+        void ChangeTitleL( TBool aIsStarted );
+        void DrawSettingsListL();
+        void ShowSettingPageL( TInt aCalledFromMenu );
+        void ShowUsernameSettingPageL();
+        void ShowPasswordSettingPageL(); 
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+        
+        /**
+        * Copy the setting data to the eapol db data pointer.
+        */
+        void UpdateEapolData();
+
+
+    private:
+        CEapTlsPeapUiConnection* iConnection;
+        CEapTlsPeapUiDataConnection* iDataConnection;        
+        CEapTlsPeapUiTlsPeapData* iUiData;
+        CPapSettingItemArray* iSettingArray;
+        CAknSettingStyleListBox* iSettingListBox;
+        CAknNavigationControlContainer* iNaviPane;
+        CAknNavigationDecorator* iNaviDecorator;        
+        HBufC* iPreviousText;
+        TInt* iButtonId;
+                
+        // Temporary UI data as shown on the Settings UI
+        TBuf<KPapUsernameMaxLength> iSettingUsername;
+        TBool iSettingPwPrompt;
+        TBuf<KPapPasswordMaxLength> iSettingPassword;
+        
+        
+        // Tells the status of UI construction. TRUE if UI construction is completed.
+		TBool iIsUIConstructionCompleted;
+		
+		TBool iUsernameCancelled;
+    };
+
+
+#endif // _PAPUIVIEW_H_
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/loc/papui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN PAP configuration settings
+*
+*/
+
+/*
+* %version: %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:UI title for main view
+//l:title_pane_t2/opt9
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_title     "PAP settings"
+
+
+//d:One of the setting item values for qtn_wlan_eap_pap_sett_password
+//l:list_set_graphic_pane_t1
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_sett_password_prompt     "Prompt"
+
+
+//d:One of the setting item values for qtn_wlan_eap_pap_sett_password
+//l:list_set_graphic_pane_t1
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_sett_password_udef      "User defined"
+
+//d:Information note when user accepts a password but
+//d: the user name is undefined
+//l:popup_note_window
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_define_user_name      "Please define a user name"
+
+
+
+
+
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papui.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of PAP UI class
+*
+*/
+
+/*
+* %version: 8 %
+*/
+
+// INCLUDE FILES
+#include <papui.h>
+#include <EapTlsPeapUiConnection.h>
+#include "papuiview.h"
+#include <papui.rsg>
+#include <bautils.h>
+#include <coemain.h>
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                               // ROM folder
+_LIT( KResourceFileName, "papui.rsc" );
+
+
+// CLASS DECLARATION
+class TResourceFileCleanupItem
+    {
+    public:
+        CCoeEnv* iCoeEnv;
+        TInt iResourceFileOffset;
+    }; 
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CleanupResourceFile
+// -----------------------------------------------------------------------------
+//
+static void CleanupResourceFile( TAny* aObject )
+    {
+    TResourceFileCleanupItem* item = 
+                        REINTERPRET_CAST( TResourceFileCleanupItem*, aObject );
+    item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset );
+    delete item;
+    }
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPapUi::CPapUi
+// -----------------------------------------------------------------------------
+//
+CPapUi::CPapUi( CEapTlsPeapUiConnection* aConnection ) 
+: iConnection( aConnection )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUi::NewL
+// -----------------------------------------------------------------------------
+//
+CPapUi* CPapUi::NewL( CEapTlsPeapUiConnection* aConnection )
+    {
+    CPapUi* self = new( ELeave ) CPapUi( aConnection );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPapUi::ConstructL()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUi::~CPapUi
+// -----------------------------------------------------------------------------
+//
+CPapUi::~CPapUi()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUi::InvokeUiL
+// -----------------------------------------------------------------------------
+//
+TInt CPapUi::InvokeUiL()
+    {
+    TFileName fileName;
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    CCoeEnv* coeEnv = CCoeEnv::Static();
+    
+    BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName );
+
+    TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem;
+
+    item->iCoeEnv = coeEnv;
+    CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) );
+
+    item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName );
+
+    TInt buttonId;
+    CPapUiDialog* settingsDlg = new( ELeave ) CPapUiDialog(
+        iConnection, buttonId );
+        
+    settingsDlg->ConstructAndRunLD( R_PAP_SETTING_DIALOG );
+
+    CleanupStack::PopAndDestroy();  // Resource file
+    
+    return buttonId;
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuipwsettingitem.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of PAP UI password setting item
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+// INCLUDE FILES
+#include "papuipwsettingitem.h"
+#include "papuisettingarray.h"
+#include <aknsettingitemlist.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPapUiPwSettingItem::CPapUiPwSettingItem
+// -----------------------------------------------------------------------------
+//
+CPapUiPwSettingItem::CPapUiPwSettingItem( TInt aIdentifier,
+            enum TAknPasswordSettingItemMode aMode,
+            TDes &aPassword,
+            CPapSettingItemArray* aParent )
+    : CAknPasswordSettingItem( aIdentifier, aMode, aPassword ),
+      iParent ( aParent )
+    {    
+    }
+
+ 
+
+// -----------------------------------------------------------------------------
+// CPapUiPwSettingItem::~CPapUiPwSettingItem
+// -----------------------------------------------------------------------------
+//
+CPapUiPwSettingItem::~CPapUiPwSettingItem()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CPapUiPwSettingItem::HandleSettingPageEventL
+// ---------------------------------------------------------
+//
+void CPapUiPwSettingItem::HandleSettingPageEventL(
+    CAknSettingPage * /*aSettingPage*/, TAknSettingPageEvent aEventType )
+    {
+    #if defined(_DEBUG) || defined(DEBUG)
+    RDebug::Print(_L("CPapUiPwSettingItem::HandleSettingPageEventL, event = %d"),
+        aEventType );
+    #endif
+
+    switch ( aEventType )
+        {
+        case EEventSettingCancelled:
+            {
+            iParent->PwItemCancelled( ETrue );
+            break;
+            }
+        
+        case EEventSettingChanged:             
+        case EEventSettingOked:
+            {
+            iParent->PwItemCancelled( EFalse );            
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }
+    
+// ---------------------------------------------------------
+// CPapUiPwSettingItem::DeletePasswordL
+// ---------------------------------------------------------
+//
+void CPapUiPwSettingItem::DeletePasswordL()
+    {
+    TPtr ptr = InternalTextPtr();
+    ptr.Copy( KNullDesC );
+    StoreL();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuisettingarray.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,247 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of PAP UI settings array
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+// INCLUDE FILES
+#include "papuisettingarray.h"
+#include "papui.hrh"
+#include "papuipwsettingitem.h"
+#include <papui.rsg>
+#include <aknsettingitemlist.h>
+#include <akntextsettingpage.h>
+
+// CONSTANTS
+_LIT( KEmptyPassword, "****" );
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::CPapSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CPapSettingItemArray::CPapSettingItemArray()
+    {
+    iEnv = CEikonEnv::Static();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::NewL
+// -----------------------------------------------------------------------------
+//
+CPapSettingItemArray* CPapSettingItemArray::NewL() 
+    {
+    CPapSettingItemArray* self = new( ELeave ) CPapSettingItemArray();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPapSettingItemArray::ConstructL() 
+    {
+    iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::~CPapSettingItemArray
+// -----------------------------------------------------------------------------
+//
+CPapSettingItemArray::~CPapSettingItemArray()
+    {
+    if( iArray ) 
+        {
+        // ResetAndDestroy()
+        iArray->ResetAndDestroy();
+        }    
+    delete iArray;   
+    iArray = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::Item
+// -----------------------------------------------------------------------------
+//
+CAknSettingItem* CPapSettingItemArray::Item( TPapSettingItemId aId )
+    {
+    for( TInt i = 0; i < iArray->Count(); i++ )
+        {
+        if( iArray->At( i )->Identifier() == aId )
+            {
+            return iArray->At( i );
+            }
+        }
+
+    __ASSERT_DEBUG( EFalse, User::Invariant() );
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CEapFastSettingItemArray::Array
+// -----------------------------------------------------------------------------
+//
+CAknSettingItemArray* CPapSettingItemArray::Array() 
+    {
+    return iArray;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::StoreSettingsL
+// -----------------------------------------------------------------------------
+//
+void CPapSettingItemArray::StoreSettingsL()
+    {
+    // Do what SettingItemList::StoreSettings would do. 
+    for( TInt i( 0 ); i < iArray->Count(); ++i ) 
+        {
+        iArray->At( i )->StoreL();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::AddTextItemL
+// -----------------------------------------------------------------------------
+//
+void CPapSettingItemArray::AddTextItemL( TDes& aBuffer, 
+                                             TInt aId, 
+                                             TInt aTitleResource, 
+                                             TInt aSettingPageResource, 
+                                             TInt aAssociatedResource, 
+                                             TInt aOrdinal)
+    {
+    // Create new setting item
+    CAknTextSettingItem* settingItem = 
+                            new( ELeave ) CAknTextSettingItem( aId, aBuffer );
+    CleanupStack::PushL( settingItem );
+    
+    HBufC* usernameNotDefinedText = iEnv->AllocReadResourceLC(
+        R_PAP_USERNAME_NOT_DEFINED );
+    settingItem->SetEmptyItemTextL( *usernameNotDefinedText );
+    CleanupStack::PopAndDestroy( usernameNotDefinedText );
+
+    settingItem->SetSettingPageFlags(
+        CAknTextSettingPage::EZeroLengthNotOffered );
+
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = iEnv->AllocReadResourceLC( aTitleResource );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList,
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+    // Items are destroyed in destructor when resetting array
+    CleanupStack::Pop( settingItem ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::AddBinarySettingItemL
+// -----------------------------------------------------------------------------
+//
+void CPapSettingItemArray::AddBinarySettingItemL( 
+                                                TInt aSettingPageResourceId,
+                                                TInt aTitleResourceId, 
+                                                TInt aAssociatedResourceId,
+                                                TInt aOrdinal, 
+                                                TBool& aModifiedValue )
+    {
+    CAknSettingItem* settingItem = new ( ELeave ) 
+        CAknBinaryPopupSettingItem( 0, aModifiedValue );
+    CleanupStack::PushL( settingItem );
+
+    HBufC* itemTitle = iEnv->AllocReadResourceLC( aTitleResourceId );
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResourceId, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResourceId );
+    iArray->AppendL( settingItem );
+
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+    
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::AddPasswordItemL
+// -----------------------------------------------------------------------------
+//
+void CPapSettingItemArray::AddPasswordItemL( TDes& aPassword, 
+                               TInt aId, 
+                               TInt aTitleResource, 
+                               TInt aSettingPageResource, 
+                               TInt aAssociatedResource, 
+                               TInt aOrdinal )
+    {
+    // Create new setting item    
+    CPapUiPwSettingItem* settingItem = new( ELeave ) CPapUiPwSettingItem( aId,
+                                            CAknPasswordSettingItem::EAlpha,
+                                            aPassword, this ); 
+    CleanupStack::PushL( settingItem );
+    settingItem->SetEmptyItemTextL( KEmptyPassword );
+    
+    settingItem->SetSettingPageFlags( 
+                                    CAknTextSettingPage::EZeroLengthAllowed );
+    
+    // Construct setting item with parametrized values
+    HBufC* itemTitle = iEnv->AllocReadResourceLC( aTitleResource );
+   
+
+    settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, 
+                             aSettingPageResource, EAknCtPopupSettingList, 
+                             NULL, aAssociatedResource );
+    
+    // Append item to settingitem-array
+    iArray->InsertL( aOrdinal, settingItem );
+    
+    CleanupStack::PopAndDestroy( itemTitle );
+    CleanupStack::Pop( settingItem );
+    }
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::PwItemCancelled
+// -----------------------------------------------------------------------------
+//    
+void CPapSettingItemArray::PwItemCancelled( TBool aIsCancelled )                       
+    {
+    iPwItemCancelled = aIsCancelled;
+    }
+
+// -----------------------------------------------------------------------------
+// CPapSettingItemArray::IsPwItemCancelled
+// -----------------------------------------------------------------------------
+//
+TBool CPapSettingItemArray::IsPwItemCancelled()
+    {
+    return iPwItemCancelled;
+    }
+ 
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuiview.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,649 @@
+/*
+* 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: Implementation of PAP UI settings dialog
+*
+*/
+
+/*
+* %version: 13 %
+*/
+
+// INCLUDE FILES
+#include "papuiview.h"
+#include "papuisettingarray.h"
+#include "papuipwsettingitem.h"
+#include "papui.hrh"
+#include <papui.rsg>
+#include <eikdialg.h>
+#include <AknDialog.h>
+#include <aknlists.h>
+#include <akntextsettingpage.h>
+#include <aknsettingitemlist.h>
+#include <aknnavi.h>
+#include <aknnavide.h>
+#include <aknnotewrappers.h>
+#include <StringLoader.h>
+#include <EapTlsPeapUiConnection.h>
+#include <EapTlsPeapUiDataConnection.h>
+#include <EapTlsPeapUiTlsPeapData.h>
+#include <featmgr.h>
+#include <hlplch.h>
+#include <csxhelp/cp.hlp.hrh>
+
+
+// CONSTANTS
+// UID of general settings app, in which help texts are included
+const TUid KHelpUidPlugin = { 0x100058EC };
+ 
+// MODULE DATA STRUCTURES
+enum TSettingIds
+    {
+    EUsernameItem=0,
+    EPasswordPromptItem,
+    EPasswordItem
+    };
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::CPapUiDialog
+// -----------------------------------------------------------------------------
+//
+CPapUiDialog::CPapUiDialog( CEapTlsPeapUiConnection* aConnection, 
+                              TInt& aButtonId ) 
+: CAknDialog(),
+  iConnection( aConnection ),
+  iNaviPane( 0 ), 
+  iNaviDecorator( 0 ),   
+  iButtonId( &aButtonId ),
+  iSettingPwPrompt( ETrue ),
+  iIsUIConstructionCompleted( EFalse ),
+  iUsernameCancelled( EFalse )
+    {    
+    }
+
+
+// ---------------------------------------------------------
+// CPapUiDialog::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CPapUiDialog::ConstructAndRunLD( TInt aResourceId )
+    {
+    CleanupStack::PushL( this );
+
+    iSettingArray = CPapSettingItemArray::NewL();
+    
+    User::LeaveIfError( iConnection->Connect() );
+
+    // Basic data
+    iDataConnection = iConnection->GetDataConnection();
+    if ( iDataConnection == 0 )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    User::LeaveIfError( iDataConnection->Open() );
+    User::LeaveIfError( iDataConnection->GetData( &iUiData ) );
+        
+    //Copy the eapol UI data to the temporary data shown on the setting UI
+    iSettingUsername.Copy( iUiData->GetPapUserName() );
+    iSettingPwPrompt = *( iUiData->GetPapPasswordPrompt() );
+    iSettingPassword.Copy( iUiData->GetPapPassword() );    
+
+    #if defined(_DEBUG) || defined(DEBUG)    
+    RDebug::Print(_L("When read from eapol, iSettingUsername = %S"), &iSettingUsername );
+    RDebug::Print(_L("When read from eapol, iSettingPwPrompt = %d"), iSettingPwPrompt );
+    RDebug::Print(_L("When read from eapol, iSettingPassword = %S"), &iSettingPassword );
+    #endif    
+    
+    FeatureManager::InitializeLibL();
+    
+    ConstructL( R_PAP_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it first...
+    CleanupStack::Pop( this );
+    
+    return CAknDialog::ExecuteLD( aResourceId );
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::~CPapUiDialog
+// -----------------------------------------------------------------------------
+//
+CPapUiDialog::~CPapUiDialog()
+    {
+
+    delete iNaviDecorator;
+            
+    if ( iSettingArray )
+        {
+        iSettingArray->Array()->ResetAndDestroy();
+        delete iSettingArray;
+        }
+
+    iSettingListBox = NULL;
+
+    if ( iDataConnection )
+        {
+        iDataConnection->Close();        
+        delete iDataConnection;
+        }
+
+    if ( iConnection )
+        {
+        iConnection->Close();        
+        }
+    
+    delete iPreviousText;
+        
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// ---------------------------------------------------------
+// CPapUiDialog::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CPapUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            OkToExitL( EPapUiCmdChange );         
+            break;
+            }
+
+        case EEventItemActioned:
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            break;
+            };
+        };
+    }    
+
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::PreLayoutDynInitL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::PreLayoutDynInitL()
+    {
+    ChangeTitleL( ETrue );
+    
+    TUid naviPaneUid;
+    naviPaneUid.iUid = EEikStatusPaneUidNavi;
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( naviPaneUid );
+    if ( subPane.IsPresent()&&subPane.IsAppOwned() )
+        {
+        iNaviPane = static_cast<CAknNavigationControlContainer*>( 
+                                        statusPane->ControlL( naviPaneUid ) );
+
+        // Set empty text to hide tabs.
+        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC );
+        iNaviPane->PushL( *iNaviDecorator );
+        }           
+
+    
+    // Initialize setting page 
+    iSettingListBox = static_cast<CAknSettingStyleListBox*>( 
+                                    ControlOrNull( EPapSettingsListBox ) );
+    iSettingListBox->SetMopParent( this );
+    iSettingListBox->CreateScrollBarFrameL( ETrue );
+    iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
+                                                CEikScrollBarFrame::EOff,
+                                                CEikScrollBarFrame::EAuto );
+    iSettingListBox->SetListBoxObserver( this );
+    DrawSettingsListL();
+
+    iIsUIConstructionCompleted = ETrue;
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::ChangeTitleL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::ChangeTitleL( TBool aIsStarted )
+    {
+    TUid titlePaneUid;
+    titlePaneUid.iUid = EEikStatusPaneUidTitle;
+
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+    CEikStatusPaneBase::TPaneCapabilities subPane = 
+                                statusPane->PaneCapabilities( titlePaneUid );
+    
+    if ( subPane.IsPresent() && subPane.IsAppOwned() )
+        {
+        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>(
+                                        statusPane->ControlL( titlePaneUid) );
+        if ( aIsStarted )
+            {
+            // Store previous application title text
+            const TDesC* prevText = titlePane->Text();    
+            iPreviousText = HBufC::NewL( prevText->Length() );
+            iPreviousText->Des().Append( *prevText );
+            TDesC* titleText = iEikonEnv->AllocReadResourceLC( 
+                                                    R_PAP_SETTINGS_TITLE );
+            titlePane->SetTextL( *titleText );
+            CleanupStack::PopAndDestroy( titleText ); 
+            }
+        else
+            {
+            // Set calling application title text back
+            titlePane->SetTextL( *iPreviousText );    
+            }    
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CPapUiDialog::OkToExitL( TInt aButtonId )
+    {
+    #if defined(_DEBUG) || defined(DEBUG)
+    RDebug::Print(_L("CPapUiDialog::OkToExitL") );
+    #endif   
+    
+    TBool ret( EFalse );
+    switch ( aButtonId )
+        {
+        case EEikBidOk:
+            {
+            if( iIsUIConstructionCompleted )
+                {
+                if ( iSettingListBox->IsFocused() )
+                    {
+                    ShowSettingPageL( EFalse );
+                    }    
+                }
+            else
+                {
+                #if defined(_DEBUG) || defined(DEBUG)
+				RDebug::Print(_L("CPapUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") );
+				#endif
+                }
+                
+            break;
+            }
+
+        case EAknSoftkeyOptions:
+            {
+            DisplayMenuL();
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+            {
+            UpdateEapolData();
+            ChangeTitleL( EFalse );
+            ret = ETrue;
+            break;
+            }
+        
+        case EPapUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+    			{
+        		ShowSettingPageL( EFalse );
+    			}
+    	    else
+    			{
+    			#if defined(_DEBUG) || defined(DEBUG)
+    			RDebug::Print(_L("CPapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    			#endif
+    			}
+
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+
+    if ( ret )
+        {
+        *iButtonId = aButtonId;
+        }
+
+    return ret;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::DrawSettingsListL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::DrawSettingsListL()
+    {
+    iSettingArray->Array()->ResetAndDestroy();
+    TInt ordinal = 0;
+    
+    // ---------------------------------------------------------------
+    // Username setting item. If the username has never been set,
+    // shows "(not defined)", otherwise shows the username.
+    iSettingArray->AddTextItemL( iSettingUsername,
+                                 EPapSettingPageUserName,
+                                 R_PAP_USERNAME_SETTING_TITLE,
+                                 R_PAP_USERNAME_PAGE,
+                                 NULL,
+                                 ordinal++ );
+                                 
+    // ---------------------------------------------------------------
+    // Password prompt setting item. Radio buttons Prompt/User defined.                                
+    iSettingArray->AddBinarySettingItemL( R_PAP_PASSWORD_POPUP_PAGE,
+                                          R_PAP_PASSWORD_SETTING_TITLE, 
+                                          R_PAP_PASSWORD_PROMPT_CHOICES,
+                                          ordinal++,
+                                          iSettingPwPrompt );
+                                          
+    // ---------------------------------------------------------------
+    // Password setting item. Never visible in the setting list, but the
+    // setting page opens when the user selects "User defined" in the
+    // password prompt setting item.
+    iSettingArray->AddPasswordItemL( iSettingPassword,
+                                 EPapSettingPagePassword,
+                                 R_PAP_PASSWORD_SETTING_TITLE,
+                                 R_PAP_PASSWORD_SETTING_PAGE,
+                                 NULL,
+                                 ordinal++ );
+                                 
+    // Set the last item hidden
+    CAknSettingItem* item = iSettingArray->Array()->At( EPasswordItem );
+    item->SetHidden( ETrue );
+                           
+                                                                                                           
+    iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() );    
+    iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
+    iSettingArray->Array()->RecalculateVisibleIndicesL();
+    iSettingListBox->HandleItemAdditionL();
+    iSettingListBox->UpdateScrollBarsL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::DynInitMenuPaneL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::DynInitMenuPaneL( TInt aResourceId, 
+                                         CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+    if ( aResourceId == R_PAP_MENU_PANE )
+        {
+        if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::UpdateEapolData
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::UpdateEapolData()
+    {
+    #if defined(_DEBUG) || defined(DEBUG)
+    RDebug::Print(_L("CPapUiDialog::UpdateEapolData") );    
+    RDebug::Print(_L("Saving username: %S"), &iSettingUsername );
+    RDebug::Print(_L("Saving pwprompt: %d"), iSettingPwPrompt );
+    RDebug::Print(_L("Saving password: %S"), &iSettingPassword );    
+    #endif
+        
+    // username
+    if ( iSettingUsername.Length() )
+        {
+        ( iUiData->GetPapUserName() ).Copy( iSettingUsername );
+        }
+    
+        
+    // pwprompt
+    *( iUiData->GetPapPasswordPrompt() ) = iSettingPwPrompt;
+       
+    // password
+    ( iUiData->GetPapPassword() ).Copy( iSettingPassword );
+        
+    iDataConnection->Update();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::ProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::ProcessCommandL( TInt aCommand )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch( aCommand )
+        {
+        case EAknCmdExit:
+            {
+            TryExitL( aCommand );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EPapUiCmdChange:
+            {
+            if( iIsUIConstructionCompleted )
+    			{
+        		ShowSettingPageL( ETrue );
+    			}
+    		else
+    			{
+    		    #if defined(_DEBUG) || defined(DEBUG)
+    			RDebug::Print(_L("CPapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") );
+    			#endif
+    			}
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// CPapUiDialog::ShowSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) 
+    {
+    #if defined(_DEBUG) || defined(DEBUG)
+    RDebug::Print(_L("CPapUiDialog::ShowSettingPageL") );
+    #endif    
+    
+    TInt index = iSettingListBox->CurrentItemIndex();
+    
+    if ( index == EUsernameItem )
+        {
+        ShowUsernameSettingPageL();
+        }
+    
+    else if ( index == EPasswordPromptItem )
+        {
+        // The previous value is needed for comparison,
+        // after the user has done the editing
+        TBool oldChoice = iSettingPwPrompt;
+        
+        // Show the radio button page and let the user edit
+        CAknSettingItem* item = iSettingArray->Array()->At( index );
+        item->EditItemL( aCalledFromMenu );
+        item->StoreL();
+        
+        // Check the new value
+        TBool newChoice = iSettingPwPrompt;
+        
+        // Prompt -> User defined
+        if ( oldChoice && !newChoice )
+            {
+            // Ask to set a password
+            ShowPasswordSettingPageL();
+            
+            // If the password item was cancelled,
+            // or if username was prompted and cancelled,
+            // restore "Prompt" for the password prompt setting
+            if ( iSettingArray->IsPwItemCancelled() || iUsernameCancelled )
+                {
+                // Toggle the setting back to Prompt without showing the page
+                item->EditItemL( EFalse );
+                item->StoreL();
+                }
+            }
+        
+        // User defined -> User defined        
+        else if ( !oldChoice && !newChoice )
+           {
+           // Ask to set a new password
+           ShowPasswordSettingPageL();
+           }
+        
+        // Prompt -> Prompt
+        else if ( oldChoice && newChoice )
+            {
+            // Do nothing
+            }
+
+        // User defined -> Prompt       
+        else if ( !oldChoice && newChoice )
+            {
+            // Remove the password
+            CPapUiPwSettingItem* pwItem =
+                static_cast< CPapUiPwSettingItem* >(
+                    iSettingArray->Array()->At( EPasswordItem ) );
+            pwItem->DeletePasswordL();
+            
+            }
+            
+        else
+            {
+            // It shouldn't be possible to end up here
+            }
+        
+        }
+        
+    else
+        {
+        // shouldn't end up here
+        }                
+
+    DrawNow();
+    }
+    
+// -----------------------------------------------------------------------------
+// CPapUiDialog::ShowUsernameSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::ShowUsernameSettingPageL() 
+    {
+    #if defined(_DEBUG) || defined(DEBUG)
+    RDebug::Print(_L("CPapUiDialog::ShowUsernameSettingPageL") );
+    #endif
+    
+    iUsernameCancelled = EFalse;
+    
+    CAknSettingItem* item = iSettingArray->Array()->At( EUsernameItem );
+    item->EditItemL( EFalse );
+    item->StoreL(); 
+    }
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::ShowPasswordSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::ShowPasswordSettingPageL() 
+    {
+    #if defined(_DEBUG) || defined(DEBUG)
+    RDebug::Print(_L("CPapUiDialog::ShowPasswordSettingPageL") );
+    #endif  
+    
+    CAknSettingItem* item = iSettingArray->Array()->At( EPasswordItem );
+    
+    item->EditItemL( EFalse );
+    item->StoreL();
+    DrawNow();
+
+    // If password is set, then username must also be defined    
+    if ( !iSettingUsername.Length() && !iSettingArray->IsPwItemCancelled() )
+        {
+        // Show an info note about missing username
+        HBufC* message = NULL;
+        message = StringLoader::LoadLC( R_PAP_DEFINE_USERNAME_INFO_NOTE );
+ 	    CAknInformationNote* note = new( ELeave ) CAknInformationNote( ETrue );
+        note->ExecuteLD( *message );
+		CleanupStack::PopAndDestroy( message );
+		
+		ShowUsernameSettingPageL();
+		
+		// If the username is still empty, it can only mean that the user has
+		// cancelled the operation -> remove the temporarily accepted password
+		if ( !iSettingUsername.Length() )
+		    {
+		    iUsernameCancelled = ETrue;
+		    // Remove the password
+            CPapUiPwSettingItem* pwItem =
+                static_cast< CPapUiPwSettingItem* >(
+                    iSettingArray->Array()->At( EPasswordItem ) );
+            pwItem->DeletePasswordL();
+		    }
+        }
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CPapUiDialog::GetHelpContext
+// -----------------------------------------------------------------------------
+//
+void CPapUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KHelpUidPlugin;    
+    aContext.iContext = KSET_HLP_WLAN_EAP_PAP;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/data/papnotifdlgui.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2001-2009 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: Resource file of PapNotifDlg
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+// RESOURCE IDENTIFIER
+NAME PAPN
+
+
+// INCLUDES
+#include <eikon.rh>
+#include <eikon.rsg>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.hrh>
+#include <avkon.loc>
+
+#include <papnotifdlg.loc>
+#include "papnotifui.hrh"
+
+
+// RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE DIALOG r_papnotif_username_password_query
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
+            EEikDialogFlagCbaButtons|EEikDialogFlagNotifyEsc;
+    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtMultilineQuery;
+            id = EMultilineFirstLine;
+            control = AVERELL_DATA_QUERY
+                { 
+                layout = EMultiDataFirstEdwin;
+                label = qtn_wlan_eap_pap_notif_username;
+                control = EDWIN
+                    {
+                    flags = 0;
+                    width = 5;
+                    lines = 1;
+                    maxlength = KPapUsernameMaxLength;
+                    default_case = EAknEditorLowerCase;
+                    allowed_case_modes = EAknEditorAllCaseModes;
+                    allowed_input_modes = EAknEditorAlphaInputMode | 
+                                          EAknEditorNumericInputMode |
+                                          EAknEditorPredictiveInputMode;
+                    default_input_mode = EAknEditorPredictiveInputMode;
+                    };
+                };
+            },
+
+        DLG_LINE
+            {
+            type = EAknCtMultilineQuery;
+            id = EMultilineSecondLine;
+            control = AVERELL_DATA_QUERY 
+                { 
+                layout = EMultiDataSecondSecEd;
+                label = qtn_wlan_eap_pap_notif_password;
+                control = SECRETED
+                    {
+                    num_letters = KPapPasswordMaxLength;
+                    };
+                };
+            }
+        };
+    }
+    
+RESOURCE CBA r_papnotif_softkeys_ok___select
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; },
+        CBA_BUTTON { },
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; }
+        };
+    }
+    
+    
+RESOURCE DIALOG r_pap_challenge_message_query
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
+            EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
+    buttons = r_papnotif_softkeys_ok___select;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtPopupHeadingPane;
+            id = EAknMessageQueryHeaderId;
+            control = AVKON_HEADING
+                {
+                label = qtn_wlan_eap_pap_notif_message;
+                };
+            },
+
+        DLG_LINE
+            {
+            type = EAknCtMessageQuery;
+            id = EAknMessageQueryContentId;
+            control = AVKON_MESSAGE_QUERY
+                {
+                };
+            }
+        };
+    }
+    
+RESOURCE DIALOG r_pap_challenge_reply_query
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
+            EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc;
+    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control= AVKON_DATA_QUERY
+                { 
+                layout = ECodeLayout;
+                label = qtn_wlan_eap_pap_notif_response;
+                control = SECRETED 
+                    {
+                    num_letters = KPapPasswordMaxLength;
+                    };
+                };
+            }
+        };
+    }
+         
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papauthdialog.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of authentication query dialog class of PapNotifDialog.
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#ifndef __PAPAUTHDIALOG_H__
+#define __PAPAUTHDIALOG_H__
+
+// INCLUDES
+#include <eikdialg.h>
+#include <badesca.h>
+#include <e32cons.h>
+#include <AknForm.h>
+#include <AknQueryDialog.h>
+#include "papnotifdlgplugin.h"
+
+
+// CLASS DECLARATION
+
+/**
+*/
+class CPapAuthDialog : public CAknMultiLineDataQueryDialog
+    {
+    protected:
+        CPapAuthDialog( CPapNotifDialogPlugin* aPlugin );
+        void ConstructL();
+
+    public:
+        static CPapAuthDialog* NewL( TDes& aUsername, TDes& aPassword, 
+                                      CPapNotifDialogPlugin* aPlugin );
+        ~CPapAuthDialog();
+
+    private:
+        virtual TBool OkToExitL( TInt aButtonId );
+        void HandleResourceChange( TInt aType );
+        
+    private:
+        CPapNotifDialogPlugin* iPlugin;     // Pointer to the notifier plugin
+
+    };
+
+#endif  // __PAPAUTHDIALOG_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengemsgdialog.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of PAP Challenge Message Display Dialog
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef __PAPCHALLENGEMSGDIALOG_H__
+#define __PAPCHALLENGEMSGDIALOG_H__
+
+// INCLUDES
+#include <aknmessagequerydialog.h>
+
+
+class CPapChallengeMsgDialog : public CAknMessageQueryDialog
+    {
+    public:
+        static CPapChallengeMsgDialog* NewL( const TDesC& aMessage, 
+                                               CPapNotifDialogPlugin* aPlugin );
+        ~CPapChallengeMsgDialog();
+  
+    private:
+        CPapChallengeMsgDialog( CPapNotifDialogPlugin* aPlugin );
+
+        virtual TBool OkToExitL( TInt aButtonId );
+        void HandleResourceChange( TInt aType );
+        
+    private:
+        CPapNotifDialogPlugin* iPlugin;     // Pointer to the notifier plugin
+    };
+
+#endif  // __PAPCHALLENGEMSGDIALOG_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengereplydialog.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of PAP Challenge Reply Dialog
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#ifndef __PAPCHALLENGEREPLYDIALOG_H__
+#define __PAPCHALLENGEREPLYDIALOG_H__
+
+// INCLUDES
+#include <AknQueryDialog.h>
+
+
+class CPapChallengeReplyDialog : public CAknTextQueryDialog
+    {
+    public:
+        static CPapChallengeReplyDialog* NewL( TDes& aResponse, 
+                                              CPapNotifDialogPlugin* aPlugin );
+        ~CPapChallengeReplyDialog();
+  
+    private:
+        CPapChallengeReplyDialog( TDes& aResponse,
+                                    CPapNotifDialogPlugin* aPlugin );
+
+        virtual TBool OkToExitL( TInt aButtonId );
+        void HandleResourceChange( TInt aType );
+        
+    private:
+        CPapNotifDialogPlugin* iPlugin;     // Pointer to the notifier plugin
+    };
+
+
+#endif  // __PAPCHALLENGEREPLYDIALOG_H__
+
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifdlgplugin.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of PAP Notif Dialog Plugin
+*
+*/
+
+/*
+* %version: 7 %
+*/
+
+#ifndef __PAPNOTIFDLGPLUGIN_H__
+#define __PAPNOTIFDLGPLUGIN_H__
+
+
+// INCLUDES
+#include <eikdialg.h>
+#include <e32std.h>
+#include <e32base.h>
+#include <cdblen.h>
+#include <eiknotapi.h>
+#include <AknForm.h>
+#include <AknQueryDialog.h>
+#include <aknPopup.h>
+#include <EapTtlsPapNotifierStruct.h>
+
+
+// CONSTANTS
+
+// UIDs for dialogs
+
+// ID of PAP username & password dialog
+const TUid KUidPapDialog   = { 0x200159A9 };  
+
+// Channel used for screen 
+const TUid KScreenOutputChannel = { 0x00000123 };  
+
+// Number of dialogs in this plugin
+const TInt KPluginGranularity   = 1;
+
+// ROM folder
+_LIT( KDriveZ, "z:" );
+
+// RSC file name.
+_LIT( KResourceFileName, "papnotifdlgui.rsc" );
+
+
+// GLOBAL FUNCTIONS
+
+/**
+* Array of connection dialog plugins.
+* @return A CArray of MEikSrvNotifierBase2 based classes.
+*/
+IMPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray();
+
+
+// CLASS DECLARATION
+
+class CPapAuthDialog;
+class CPapChallengeMsgDialog;
+class CPapChallengeReplyDialog;
+
+/**
+ * PAP notifier dialog plugin class
+ */
+class CPapNotifDialogPlugin : public CBase,
+                              public MEikSrvNotifierBase2
+    {
+    public:
+        static CPapNotifDialogPlugin* NewL();
+
+        ~CPapNotifDialogPlugin();
+
+        TNotifierInfo RegisterL();
+        TNotifierInfo Info() const;
+
+        TPtrC8 StartL( const TDesC8& aBuffer );
+        void StartL( const TDesC8& aBuffer, TInt aReplySlot,
+                     const RMessagePtr2& aMessage );
+
+        TPtrC8 UpdateL( const TDesC8& aBuffer );
+        void Cancel();
+        void CompleteL( TInt aStatus );
+        void Release();
+        
+    public: // new
+        
+        TDes& Username();
+        TDes& Password();
+
+        void SetAuthDlgDismissed();
+        void SetChallengeMsgDismissed();
+        void SetChallengeReplyDismissed();
+
+    protected:
+        CPapNotifDialogPlugin();
+
+        void ConstructL();
+
+    protected:
+        TNotifierInfo iInfo;        // Notifier info
+        RMessagePtr2 iMessage;      // Message
+        TInt iReplySlot;            // Reply slot
+        TBool iCancelled;           // ETrue if dialog cancelled
+
+    private:
+    
+        TInt iResource;             // Resource
+        
+        TPapUiNotifierInfo* iDataPtr;
+        TPckg<TPapUiNotifierInfo>* iDataPckgPtr;        
+            
+        CPapAuthDialog* iPapAuthDialog;
+        CPapChallengeMsgDialog* iPapChallengeMsgDialog;
+        CPapChallengeReplyDialog*iPapChallengeReplyDialog;
+
+        TUint iChallengeSize;
+
+        TBool iAuthDlgDismissed;
+        TBool iChallengeMsgDismissed;
+        TBool iChallengeReplyDismissed;		
+
+    };
+
+
+#endif  // __PAPNOTIFDLGPLUGIN_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifui.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2001-2009 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: PAP Notifier UI hrh file
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef _PAPNOTIFUI_HRH_
+#define _PAPNOTIFUI_HRH_
+
+#define KPapUsernameMaxLength 253
+#define KPapPasswordMaxLength 128
+
+
+	
+#endif  //_PAPNOTIFUI_HRH_
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/loc/papnotifdlg.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2001-2009 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: UI strings for WLAN PAP Notifier
+*
+*/
+
+/*
+* %version: %
+*/
+
+//  LOCALISATION STRINGS
+
+
+//d:Username query string.
+//l:popup_query_data_code_window_t4/opt2
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_notif_username    "PAP user name:"
+
+
+//d:Password query string.
+//l:popup_query_data_code_window_t4/opt2
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_notif_password    "Password:"
+
+//d:Message query string for PAP challenge/response.
+//l:heading_pane_t1
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_notif_message    "PAP challenge:"
+
+//d:User reply query string for PAP challenge/response.
+//l:popup_query_data_window_t3/opt2
+//w:
+//r:5.0.1
+//
+#define qtn_wlan_eap_pap_notif_response    "PAP reply:"
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papauthdialog.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of authentication query dialog class of Pap Notifier
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+// INCLUDE FILES
+#include <papnotifdlgui.rsg>
+#include "papnotifdlgplugin.h"
+#include "papauthdialog.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPapAuthDialog::CPapAuthDialog
+// -----------------------------------------------------------------------------
+//
+CPapAuthDialog::CPapAuthDialog( CPapNotifDialogPlugin* aPlugin )
+    : CAknMultiLineDataQueryDialog( ENoTone ), 
+    iPlugin( aPlugin )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapAuthDialog::NewL
+// -----------------------------------------------------------------------------
+//
+CPapAuthDialog* CPapAuthDialog::NewL( TDes& aUsername, TDes& aPassword,
+                                        CPapNotifDialogPlugin* aPlugin )
+    {
+    CPapAuthDialog* self = new( ELeave ) CPapAuthDialog( aPlugin );
+    CleanupStack::PushL( self );
+    if ( aUsername.Length() )
+        {
+        self->SetDataL( aUsername, aPassword );
+        }
+
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapAuthDialog::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPapAuthDialog::ConstructL()
+    {
+    #if defined( _DEBUG ) || defined( DEBUG )
+        RDebug::Print(_L("CPapAuthDialog::ConstructL") );
+    #endif
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapAuthDialog::~CPapAuthDialog
+// -----------------------------------------------------------------------------
+//
+CPapAuthDialog::~CPapAuthDialog()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapAuthDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CPapAuthDialog::OkToExitL( TInt aButtonId )
+    {
+    if ( CAknMultiLineDataQueryDialog::OkToExitL( aButtonId ) )
+        {
+        if ( aButtonId == EAknSoftkeyOk )
+            {
+            #if defined( _DEBUG ) || defined( DEBUG )
+                RDebug::Print(_L("CPapAuthDialog::OkToExitL, softkey OK") );
+            #endif
+            
+            // save the user entries to be sent back to eapol
+            CAknMultilineQueryControl* firstControl = FirstControl();
+            firstControl->GetText( iPlugin->Username() );
+
+            CAknMultilineQueryControl* secondControl = SecondControl();
+            secondControl->GetText( iPlugin->Password() );            
+            
+            iPlugin->SetAuthDlgDismissed();             
+            iPlugin->CompleteL( KErrNone );
+            return( ETrue );
+            }
+        else
+            {
+            #if defined( _DEBUG ) || defined( DEBUG )
+                RDebug::Print(_L("CPapAuthDialog::OkToExitL, softkey Cancel") );
+            #endif
+            
+            iPlugin->SetAuthDlgDismissed();
+            iPlugin->CompleteL( KErrCancel );
+            return( ETrue );
+            }
+        }
+
+    return( EFalse );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapAuthDialog::HandleResourceChange
+// -----------------------------------------------------------------------------
+//
+void CPapAuthDialog::HandleResourceChange( TInt aType )
+    {
+    CAknMultiLineDataQueryDialog::HandleResourceChange( aType );
+
+    if ( aType == KAknsMessageSkinChange )
+        {
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengemsgdialog.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of PAP Challenge Message Display Dialog
+*
+*/
+
+/*
+* %version: 7 %
+*/
+
+// INCLUDE FILES
+#include "papnotifdlgplugin.h"
+#include "papchallengemsgdialog.h"
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeMsgDialog::CPapChallengeMsgDialog
+// -----------------------------------------------------------------------------
+//
+CPapChallengeMsgDialog::CPapChallengeMsgDialog( CPapNotifDialogPlugin* aPlugin )
+: CAknMessageQueryDialog( ENoTone ), 
+  iPlugin( aPlugin )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeMsgDialog::~CPapChallengeMsgDialog
+// -----------------------------------------------------------------------------
+//
+CPapChallengeMsgDialog::~CPapChallengeMsgDialog()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeMsgDialog::NewL
+// -----------------------------------------------------------------------------
+//
+CPapChallengeMsgDialog* CPapChallengeMsgDialog::NewL( const TDesC& aMessage, 
+                                                    CPapNotifDialogPlugin* aPlugin )
+    {
+    CPapChallengeMsgDialog* self = new( ELeave ) CPapChallengeMsgDialog( aPlugin );
+
+    CleanupStack::PushL( self );
+    if ( aMessage.Length() )
+        {
+        self->SetMessageTextL( aMessage );
+        }
+
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeMsgDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CPapChallengeMsgDialog::OkToExitL( TInt aButtonId )
+    {
+    if ( CAknMessageQueryDialog::OkToExitL( aButtonId ) )
+        {
+        if ( aButtonId == EAknSoftkeyOk )
+            {
+            #if defined( _DEBUG ) || defined( DEBUG )
+                RDebug::Print(_L("CPapChallengeMsgDialog::OkToExitL, softkey OK") );
+            #endif
+            iPlugin->SetChallengeMsgDismissed();
+            iPlugin->CompleteL( KErrNone );
+            }
+        else
+            {
+            #if defined( _DEBUG ) || defined( DEBUG )
+                RDebug::Print(_L("CPapChallengeMsgDialog::OkToExitL, softkey Cancel") );
+            #endif
+            // Some cancel.
+            iPlugin->SetChallengeMsgDismissed();
+            iPlugin->CompleteL( KErrCancel );
+            }
+
+        return( ETrue );
+        }
+
+    return( EFalse ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeMsgDialog::HandleResourceChange
+// -----------------------------------------------------------------------------
+//
+void CPapChallengeMsgDialog::HandleResourceChange( TInt aType )
+    {
+    CAknMessageQueryDialog::HandleResourceChange( aType );
+    if ( aType == KAknsMessageSkinChange )
+        {
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengereplydialog.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of PAP Challenge Reply Dialog
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+// INCLUDE FILES
+#include "papnotifdlgplugin.h"
+#include "papchallengereplydialog.h"
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeReplyDialog::CPapChallengeReplyDialog
+// -----------------------------------------------------------------------------
+//
+CPapChallengeReplyDialog::CPapChallengeReplyDialog( TDes& aResponse, 
+                                                  CPapNotifDialogPlugin* aPlugin )
+: CAknTextQueryDialog( aResponse ), 
+  iPlugin( aPlugin )
+    {    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeReplyDialog::~CPapChallengeReplyDialog
+// -----------------------------------------------------------------------------
+//
+CPapChallengeReplyDialog::~CPapChallengeReplyDialog()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeReplyDialog::NewL
+// -----------------------------------------------------------------------------
+//
+CPapChallengeReplyDialog* CPapChallengeReplyDialog::NewL( TDes& aResponse, 
+                                                    CPapNotifDialogPlugin* aPlugin )
+    {
+    CPapChallengeReplyDialog* self = new( ELeave ) CPapChallengeReplyDialog( 
+                                                        aResponse, aPlugin );
+    return self;
+}
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeReplyDialog::OkToExitL
+// -----------------------------------------------------------------------------
+//
+TBool CPapChallengeReplyDialog::OkToExitL( TInt aButtonId )
+    {
+    if ( CAknTextQueryDialog::OkToExitL( aButtonId ) )
+       {
+        if ( aButtonId==EAknSoftkeyOk )
+            {
+            iPlugin->SetChallengeReplyDismissed();
+            iPlugin->CompleteL( KErrNone );
+            }
+        else
+            {
+            // Everything else is for cancel.
+            iPlugin->SetChallengeReplyDismissed();
+            iPlugin->CompleteL( KErrCancel );
+            }
+
+        return( ETrue );
+        }
+
+    return( EFalse ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapChallengeReplyDialog::HandleResourceChange
+// -----------------------------------------------------------------------------
+//
+void CPapChallengeReplyDialog::HandleResourceChange( TInt aType )
+    {
+    CAknTextQueryDialog::HandleResourceChange( aType );
+    if ( aType == KAknsMessageSkinChange )
+        {
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,489 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of PapNotifDlg dialog plugin.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+// INCLUDE FILES
+#include <coemain.h>
+#include <eikenv.h>
+#include <bautils.h>
+#include <data_caging_path_literals.hrh>
+#include <papnotifdlgui.rsg>
+
+#include <e32property.h>		// For RProperty 
+#include <UikonInternalPSKeys.h> // For KPSUidUikon and KUikGlobalNotesAllowed.
+
+#include <EapTtlsPapNotifierStruct.h>
+#include "papnotifdlgplugin.h"
+#include "papauthdialog.h"
+#include "papchallengemsgdialog.h"
+#include "papchallengereplydialog.h"
+
+// CONSTANTS
+//static const TUint KUtf8UnicodeRatio = 2;
+
+// ================= OTHER EXPORTED FUNCTIONS ==============
+
+// -----------------------------------------------------------------------------
+// CreateNotifiersL
+// -----------------------------------------------------------------------------
+//
+LOCAL_C void CreateNotifiersL( CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers )
+    {
+    MEikSrvNotifierBase2 *serNotify;
+    serNotify = CPapNotifDialogPlugin::NewL();
+    CleanupStack::PushL( serNotify );
+    aNotifiers->AppendL( serNotify );
+    CleanupStack::Pop( serNotify );
+    }
+
+
+// -----------------------------------------------------------------------------
+// NotifierArray
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray()
+    {
+    // NotifierArray() can't leave
+    CArrayPtrFlat< MEikSrvNotifierBase2 >* array = 
+                new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity );
+
+    if ( array )
+        {
+        TRAPD( err, CreateNotifiersL( array ) );
+        
+        if( err )
+            {
+            TInt count = array->Count();
+
+            while( count-- )
+                {
+                ( *array )[ count ]->Release();
+                }
+
+            delete array;
+            array = NULL;
+            }
+        }
+
+    return( array );
+    }
+
+
+//////////////////////////////////////////////////////////////
+// PAP dialog plugin
+/////////////////////////////////////////////////////////////
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::CPapNotifDialogPlugin
+// -----------------------------------------------------------------------------
+//
+CPapNotifDialogPlugin::CPapNotifDialogPlugin()
+: iCancelled( EFalse ),
+  iAuthDlgDismissed( EFalse ),
+  iChallengeMsgDismissed( EFalse ),
+  iChallengeReplyDismissed( EFalse )
+    {
+    iManager = NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::~CPapNotifDialogPlugin
+// -----------------------------------------------------------------------------
+//
+CPapNotifDialogPlugin::~CPapNotifDialogPlugin()
+    {
+    CCoeEnv::Static()->DeleteResourceFile( iResource );
+
+    if ( !iAuthDlgDismissed )
+        {
+        delete iPapAuthDialog;
+        }
+
+    if ( !iChallengeMsgDismissed )
+        {
+        delete iPapChallengeMsgDialog;
+        }
+
+    if ( !iChallengeReplyDismissed )
+        {
+        delete iPapChallengeReplyDialog;
+        }
+
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::RegisterL
+// -----------------------------------------------------------------------------
+//
+CPapNotifDialogPlugin::TNotifierInfo CPapNotifDialogPlugin::RegisterL()
+    {
+    iInfo.iUid      = KUidPapDialog;
+    iInfo.iPriority = ENotifierPriorityHigh;
+    iInfo.iChannel  = KUidPapDialog;
+    return iInfo;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::NewL
+// -----------------------------------------------------------------------------
+//
+CPapNotifDialogPlugin* CPapNotifDialogPlugin::NewL()
+    {
+    CPapNotifDialogPlugin* self = new( ELeave ) CPapNotifDialogPlugin();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::ConstructL()
+    {
+    #if defined( _DEBUG ) || defined( DEBUG )
+        RDebug::Print(_L("CPapNotifDialogPlugin::ConstructL") );
+    #endif
+    
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );   
+    fileName.Append( KResourceFileName );
+
+    BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName );
+    iResource = CCoeEnv::Static()->AddResourceFileL( fileName );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::StartL
+// -----------------------------------------------------------------------------
+//
+TPtrC8 CPapNotifDialogPlugin::StartL( const TDesC8& /*aBuffer*/ )
+    {
+    return KNullDesC8().Ptr();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::StartL
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::StartL( const TDesC8& aBuffer, 
+                                    TInt aReplySlot, 
+                                    const RMessagePtr2& aMessage )
+    {
+    #if defined( _DEBUG ) || defined( DEBUG )
+        RDebug::Print(_L("CPapNotifDialogPlugin::StartL") );
+    #endif
+    
+    iCancelled = EFalse;
+    iReplySlot = aReplySlot;
+    iMessage   = aMessage;
+     
+    // This object gets constructed only once but
+    // can get called many times. 
+    // So initialize everything here.
+    iAuthDlgDismissed = EFalse;
+    iChallengeMsgDismissed = EFalse;
+    iChallengeReplyDismissed = EFalse;
+    iPapAuthDialog = NULL;
+    iPapChallengeMsgDialog = NULL;
+    iPapChallengeReplyDialog = NULL;
+    iDataPtr = NULL;
+    iDataPckgPtr = NULL;
+    
+    // We are about to display the password prompt.
+    // Since this part of the code can be executed during the bootup, check if 
+    // the UI has really started up to display notes/dialogs.
+    TInt notesAllowed = 0;
+    TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, 
+                                 notesAllowed );
+
+    // The above call can return error. Ignore the error. What we care is 
+    // if notesAllowed has turned to 1 from 0.
+    if ( notesAllowed )
+        {    
+        iDataPtr = new( ELeave ) TPapUiNotifierInfo; 
+        iDataPckgPtr = new( ELeave ) TPckg<TPapUiNotifierInfo>( *iDataPtr );
+        iDataPckgPtr->Copy( aBuffer );
+        
+        #if defined( _DEBUG ) || defined( DEBUG )
+            RDebug::Print(_L("CPapNotifDialogPlugin::StartL, state = %d"), iDataPtr->iState );
+        #endif
+        
+        switch ( iDataPtr->iState )
+            {
+            case TPapUiNotifierInfo::EPapUiNotifierAuthQueryDialog:
+                {
+                iPapAuthDialog = CPapAuthDialog::NewL(
+                                        iDataPtr->iUsrPwdInfo.iUserName, 
+                                        iDataPtr->iUsrPwdInfo.iPassword,
+                                        this );
+                                        
+                #if defined( _DEBUG ) || defined( DEBUG )                                        
+                    RDebug::Print(_L("CPapNotifDialogPlugin::StartL, executing auth dialog") );
+                #endif
+                                                    
+                iPapAuthDialog->ExecuteLD( R_PAPNOTIF_USERNAME_PASSWORD_QUERY );
+                
+                #if defined( _DEBUG ) || defined( DEBUG )
+                    RDebug::Print(_L("CPapNotifDialogPlugin::StartL, auth dialog executed") );
+                #endif
+                
+                break;
+                }
+                
+            case TPapUiNotifierInfo::EPapUiNotifierPapChallengeSize:
+                {
+                iChallengeSize = iDataPtr->iSrvChallengeSize;
+                break;
+                }
+
+            case TPapUiNotifierInfo::EPapUiNotifierPapChallengeMsgDialog:
+                {
+                #if defined( _DEBUG ) || defined( DEBUG )
+                    RDebug::Print(_L("CPapNotifDialogPlugin::StartL, chal msg dialog start") );
+                #endif
+    
+                HBufC16* challengetext = HBufC16::NewLC( KMaxPapChallengeLength );
+                TPtr16 text = challengetext->Des();                
+                text.Copy( iDataPtr->iPapChallenge ); 
+
+                #if defined( _DEBUG ) || defined( DEBUG )
+                    RDebug::Print(_L("CPapNotifDialogPlugin::StartL, create chal msg dialog") );
+                #endif
+    
+                iPapChallengeMsgDialog = CPapChallengeMsgDialog::NewL( text,
+                    this );
+                #if defined( _DEBUG ) || defined( DEBUG )
+                    RDebug::Print(_L("CPapNotifDialogPlugin::StartL, executing chal msg dialog") );
+                #endif
+                    
+                iPapChallengeMsgDialog->ExecuteLD( R_PAP_CHALLENGE_MESSAGE_QUERY );
+                #if defined( _DEBUG ) || defined( DEBUG )
+                    RDebug::Print(_L("CPapNotifDialogPlugin::StartL, chal msg dialog executed") );
+                #endif
+
+                CleanupStack::PopAndDestroy( challengetext );
+                
+                break;
+                }
+
+            case TPapUiNotifierInfo::EPapUiNotifierPapChallengeReplyQueryDialog:
+                {
+                // construct and show the challenge reply dialog,
+                // save the reply in the password field                       
+                iPapChallengeReplyDialog = CPapChallengeReplyDialog::NewL(
+                    iDataPtr->iUsrPwdInfo.iPassword, this );
+                iPapChallengeReplyDialog->ExecuteLD( R_PAP_CHALLENGE_REPLY_QUERY);
+    
+                break;
+                }
+
+            default:
+                {
+                break;
+                }
+                                
+            }
+    
+        } 
+
+    // In case if the notes are not allowed, this message gets completed when
+    // EAPOL time out occurs and a subsequent call to cancel
+    }
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::UpdateL
+// -----------------------------------------------------------------------------
+//
+TPtrC8 CPapNotifDialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ )
+    {
+    return KNullDesC8().Ptr();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::Cancel
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::Cancel()
+    {
+    #if defined( _DEBUG ) || defined( DEBUG )
+        RDebug::Print(_L("CPapNotifDialogPlugin::Cancel") );
+    #endif
+    
+    if ( !iCancelled )
+        {
+        iCancelled = ETrue;
+        
+        if ( !iMessage.IsNull() )
+            {
+            iMessage.Complete( KErrCancel );
+            }
+
+        if ( !iAuthDlgDismissed && iPapAuthDialog )
+            {
+            iAuthDlgDismissed = ETrue;
+            delete iPapAuthDialog;
+            iPapAuthDialog = NULL;
+            }
+            
+        if ( !iChallengeMsgDismissed && iPapChallengeMsgDialog )
+            {
+            iChallengeMsgDismissed = ETrue;
+            delete iPapChallengeMsgDialog;
+            iPapChallengeMsgDialog = NULL;
+            }
+            
+        if ( !iChallengeReplyDismissed && iPapChallengeReplyDialog )
+            {
+            iChallengeReplyDismissed = ETrue;
+            delete iPapChallengeReplyDialog;
+            iPapChallengeReplyDialog = NULL;
+            }            
+        
+        }
+
+    if ( iDataPtr )
+        {
+        delete iDataPtr;
+        iDataPtr = NULL;
+        }
+
+    if ( iDataPckgPtr )
+        {
+        delete iDataPckgPtr;
+        iDataPckgPtr = NULL;
+        } 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::CompleteL
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::CompleteL( TInt aStatus )
+    {
+    #if defined( _DEBUG ) || defined( DEBUG )
+        RDebug::Print(_L("CPapNotifDialogPlugin::CompleteL") );
+    #endif
+    
+    if ( aStatus == KErrNone && !iMessage.IsNull() )
+        {
+        iMessage.WriteL( iReplySlot, *iDataPckgPtr );
+        }
+        
+    iCancelled = ETrue;
+    
+    if ( !iMessage.IsNull() )
+        {
+        iMessage.Complete( aStatus );
+        }
+
+    if ( iDataPtr ) 
+        {
+        delete iDataPtr;
+        iDataPtr = NULL;		
+        }
+
+    if ( iDataPckgPtr )
+        {
+        delete iDataPckgPtr;
+        iDataPckgPtr = NULL;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::Release
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::Release()
+    {
+    delete this;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::Info
+// -----------------------------------------------------------------------------
+//
+CPapNotifDialogPlugin::TNotifierInfo CPapNotifDialogPlugin::Info() const
+    {
+    return iInfo;
+    }
+    
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::Username
+// -----------------------------------------------------------------------------
+//
+TDes& CPapNotifDialogPlugin::Username()
+    {
+    return ( iDataPtr->iUsrPwdInfo.iUserName ) ;
+    }
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::Password
+// -----------------------------------------------------------------------------
+//
+TDes& CPapNotifDialogPlugin::Password()
+    {
+    return ( iDataPtr->iUsrPwdInfo.iPassword ) ;
+    }
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::SetAuthDlgDismissed
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::SetAuthDlgDismissed()
+    {
+    iAuthDlgDismissed = ETrue;
+    }
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::SetChallengeMsgDismissed
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::SetChallengeMsgDismissed()
+    {
+    iChallengeMsgDismissed = ETrue;
+    }
+
+// -----------------------------------------------------------------------------
+// CPapNotifDialogPlugin::SetChallengeReplyDismissed
+// -----------------------------------------------------------------------------
+//
+void CPapNotifDialogPlugin::SetChallengeReplyDismissed()
+    {
+    iChallengeReplyDismissed = ETrue;
+    }
+
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUi.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project WLAN EAP Settings UI
+*
+*/
+
+/*
+* %version: 11.1.10 %
+*/
+
+#ifndef __WLANEAPSETTINGSUI_IBY__
+#define __WLANEAPSETTINGSUI_IBY__
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+ECOM_PLUGIN( eapnotifwrapper.dll,2000cf2e.rsc )
+
+#ifdef FF_WLAN_EXTENSIONS
+file=ABI_DIR\BUILD_DIR\leapnotifdlg.dll     SHARED_LIB_DIR\leapnotifdlg.dll
+ECOM_PLUGIN( eapfastnotifdlg.dll,200100a5.rsc )
+#endif // FF_WLAN_EXTENSIONS
+
+file=ABI_DIR\BUILD_DIR\mschapv2notifdlg.dll     SHARED_LIB_DIR\mschapv2notifdlg.dll
+file=ABI_DIR\BUILD_DIR\gtcnotifdlg.dll     SHARED_LIB_DIR\gtcnotifdlg.dll
+
+file=ABI_DIR\BUILD_DIR\papnotifdlg.dll     SHARED_LIB_DIR\papnotifdlg.dll
+
+ECOM_PLUGIN( EapPluginConfig.dll,102072bb.rsc )
+
+#endif // __PROTOCOL_WLAN
+
+#endif // __WLANEAPSETTINGSUI_IBY__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUiResources.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project WlanEapSettingsUi
+*
+*/
+
+/*
+* %version: tr1cfwln#18 %
+*/
+
+#ifndef __WLANEAPSETTINGSUIRESOURCES_IBY__
+#define __WLANEAPSETTINGSUIRESOURCES_IBY__
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapSimUi.rsc            RESOURCE_FILES_DIR\EapSimUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapAkaUi.rsc            RESOURCE_FILES_DIR\EapAkaUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapMschapv2Ui.rsc       RESOURCE_FILES_DIR\EapMschapv2Ui.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapTlsUi.rsc            RESOURCE_FILES_DIR\EapTlsUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapPeapUi.rsc           RESOURCE_FILES_DIR\EapPeapUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapTtlsUi.rsc           RESOURCE_FILES_DIR\EapTtlsUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapGtcUi.rsc            RESOURCE_FILES_DIR\EapGtcUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\papui.rsc               RESOURCE_FILES_DIR\papui.rsc
+
+#ifdef FF_WLAN_EXTENSIONS
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapLeapUi.rsc           RESOURCE_FILES_DIR\EapLeapUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\LeapNotifDlgUi.rsc      RESOURCE_FILES_DIR\LeapNotifDlgUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\eapfastui.rsc           RESOURCE_FILES_DIR\eapfastui.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\eapfastnotifdlgui.rsc   RESOURCE_FILES_DIR\eapfastnotifdlgui.rsc
+#endif // FF_WLAN_EXTENSIONS
+
+DATA=DATAZ_\RESOURCE_FILES_DIR\MsChapv2NotifDlgUi.rsc  RESOURCE_FILES_DIR\MsChapv2NotifDlgUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\GtcNotifDlgUi.rsc       RESOURCE_FILES_DIR\GtcNotifDlgUi.rsc
+DATA=DATAZ_\RESOURCE_FILES_DIR\papnotifdlgui.rsc       RESOURCE_FILES_DIR\papnotifdlgui.rsc
+
+// For the EAPPluginConfig module
+DATA=DATAZ_\RESOURCE_FILES_DIR\EapPluginConfigRes.rsc  RESOURCE_FILES_DIR\EapPluginConfigRes.rsc
+
+#endif // __PROTOCOL_WLAN
+
+#endif // __WLANEAPSETTINGSUIRESOURCES_IBY__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUI.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project WPASecuritySettingsUI
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef __WPASECURITYSETTINGSUI_IBY__
+#define __WPASECURITYSETTINGSUI_IBY__
+
+#ifdef __PROTOCOL_WLAN
+FILE=ABI_DIR\BUILD_DIR\WPASecuritySettingsUI.dll    SHARED_LIB_DIR\WPASecuritySettingsUI.dll
+#else
+// stub for non-WLAN products
+FILE=ABI_DIR\BUILD_DIR\wpasecuritysettingsuistub.dll    SHARED_LIB_DIR\WPASecuritySettingsUI.dll
+#endif // __PROTOCOL_WLAN
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUIResources.iby	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2001-2009 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: Image description file for project WPASecuritySettingsUI
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+#ifndef __WPASECURITYSETTINGSUIRESOURCES_IBY__
+#define __WPASECURITYSETTINGSUIRESOURCES_IBY__
+
+#ifdef __PROTOCOL_WLAN
+
+DATA=DATAZ_\RESOURCE_FILES_DIR\WPASecuritySettingsUI.rsc	RESOURCE_FILES_DIR\WPASecuritySettingsUI.rsc
+
+#endif // __PROTOCOL_WLAN
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/bwinscw/WPASecuritySettingsUI_EKA2_ALRu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,17 @@
+EXPORTS
+	??1CWPASecuritySettings@@UAE@XZ @ 1 NONAME ; CWPASecuritySettings::~CWPASecuritySettings(void)
+	??1CWPASecuritySettingsUi@@UAE@XZ @ 2 NONAME ; CWPASecuritySettingsUi::~CWPASecuritySettingsUi(void)
+	?Cvt@CWPASecuritySettingsUi@@SAHXZ @ 3 NONAME ; int CWPASecuritySettingsUi::Cvt(void)
+	?DeleteL@CWPASecuritySettings@@QBEXK@Z @ 4 NONAME ; void CWPASecuritySettings::DeleteL(unsigned long) const
+	?EditL@CWPASecuritySettings@@QAEHAAVCWPASecuritySettingsUi@@ABVTDesC16@@@Z @ 5 NONAME ; int CWPASecuritySettings::EditL(class CWPASecuritySettingsUi &, class TDesC16 const &)
+	?IsValid@CWPASecuritySettings@@QBEHXZ @ 6 NONAME ; int CWPASecuritySettings::IsValid(void) const
+	?LoadL@CWPASecuritySettings@@QAEXKAAVCCommsDatabase@@@Z @ 7 NONAME ; void CWPASecuritySettings::LoadL(unsigned long, class CCommsDatabase &)
+	?NewL@CWPASecuritySettings@@SAPAV1@W4TSecurityMode@@@Z @ 8 NONAME ; class CWPASecuritySettings * CWPASecuritySettings::NewL(enum TSecurityMode)
+	?NewL@CWPASecuritySettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 9 NONAME ; class CWPASecuritySettingsUi * CWPASecuritySettingsUi::NewL(class CEikonEnv &)
+	?SaveL@CWPASecuritySettings@@QBEXKAAVCCommsDatabase@@W4TTypeOfSaving@@K@Z @ 10 NONAME ; void CWPASecuritySettings::SaveL(unsigned long, class CCommsDatabase &, enum TTypeOfSaving, unsigned long) const
+	?SetWPAPreSharedKey@CWPASecuritySettings@@QAEHABVTDesC16@@@Z @ 11 NONAME ; int CWPASecuritySettings::SetWPAPreSharedKey(class TDesC16 const &)
+	?LoadL@CWPASecuritySettings@@QAEXKAAVCMDBSession@CommsDat@@@Z @ 12 NONAME ; void CWPASecuritySettings::LoadL(unsigned long, class CommsDat::CMDBSession &)
+	?SaveL@CWPASecuritySettings@@QBEXKAAVCMDBSession@CommsDat@@W4TTypeOfSaving@@K@Z @ 13 NONAME ; void CWPASecuritySettings::SaveL(unsigned long, class CommsDat::CMDBSession &, enum TTypeOfSaving, unsigned long) const
+	?SetWPADisabledEAPPlugin@CWPASecuritySettings@@QAEHABVTDesC8@@@Z @ 14 NONAME ; int CWPASecuritySettings::SetWPADisabledEAPPlugin(class TDesC8 const &)
+	?SetWPAEnabledEAPPlugin@CWPASecuritySettings@@QAEHABVTDesC8@@@Z @ 15 NONAME ; int CWPASecuritySettings::SetWPAEnabledEAPPlugin(class TDesC8 const &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/data/WPASecuritySettingsUI.rss	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,330 @@
+/*
+* Copyright (c) 2001-2009 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: This file contains all the resources for the WPA Security Settings UI. 
+*
+*/
+
+/*
+* %version: tr1cfwln#21 %
+*/
+
+//  RESOURCE IDENTIFIER
+NAME    AWAS // 4 letter ID
+
+//  INCLUDES
+#include <eikon.rh>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <avkon.loc>
+
+#include "WPASecuritySettingsUI.hrh"
+#include <wpasecuritysettingsui.loc>
+
+
+//  RESOURCE DEFINITIONS
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf="WPASecuritySettings"; }
+
+
+//----------------------------------------------------
+//
+//  r_wpa_security_settings_menubar
+//  Menubar    
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_BAR r_wpa_security_settings_menubar
+    {
+    titles=
+        {
+        MENU_TITLE 
+            { 
+            menu_pane = r_wpa_security_settings_menu;
+            }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//
+//  r_wpa_security_settings_menu
+//  The Options menu
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_PANE r_wpa_security_settings_menu
+    {
+    items=
+        {
+        MENU_ITEM 
+            { 
+            command = EWpaSelCmdChange; 
+            txt = qtn_set_options_change; 
+            flags = EEikMenuItemAction;
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdHelp; 
+            txt = qtn_options_help; 
+            },
+
+        MENU_ITEM 
+            { 
+            command = EAknCmdExit; 
+            txt = qtn_options_exit; 
+            }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//
+//    r_wpasettings_pane_softkeys_options_back_edit
+//    WPA Security Settings softkeys
+//
+//----------------------------------------------------
+//
+RESOURCE CBA r_wpasettings_pane_softkeys_options_back_edit
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
+        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON { id = EWpaSelCmdChange; txt = qtn_msk_change; }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//
+//  r_wpasettings_dialog
+//  WPA Security Settings main dialog
+//
+//----------------------------------------------------
+//
+RESOURCE DIALOG r_wpasettings_dialog
+    {
+    flags = EEikDialogFlagWait | EEikDialogFlagNoDrag | 
+            EEikDialogFlagNoTitleBar | EEikDialogFlagFillAppClientRect |
+            EEikDialogFlagCbaButtons;
+
+    buttons = r_wpasettings_pane_softkeys_options_back_edit;
+
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtSettingListBox;
+            id = KWpaMainSettingsListboxId;
+            control = LISTBOX 
+                { 
+                flags = EAknListBoxSelectionList;
+                };
+            }
+        };
+    }
+
+
+//----------------------------------------------------
+//   
+//  r_setting_app_edwin_key_data
+//  Window to enter key data
+//
+//----------------------------------------------------
+//
+RESOURCE EDWIN r_setting_app_edwin_key_data
+    {
+    avkon_flags = EAknEditorFlagNoT9;
+    allowed_input_modes = EAknEditorTextInputMode | 
+    					  EAknEditorNumericInputMode | 
+    					  EAknEditorHalfWidthTextInputMode;
+    default_case = EAknEditorLowerCase;
+    maxlength = EMaxLengthOfPreSharedKey;
+    lines = 8;
+    }
+
+
+//----------------------------------------------------
+//   
+//  r_text_setting_page_key_data
+//  Setting page for entering key data
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_text_setting_page_key_data
+    {
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    number= EAknSettingPageNoOrdinalDisplayed;
+    label= qtn_wlan_sett_preshared_key;
+    type = EEikCtEdwin;
+    editor_resource_id = r_setting_app_edwin_key_data;
+    }
+
+
+
+//----------------------------------------------------
+//   
+//  r_setting_app_listbox
+//  Listbox for setting page
+//
+//----------------------------------------------------
+//
+RESOURCE LISTBOX r_setting_app_listbox
+    {
+    flags = EEikListBoxMultipleSelection;
+    }
+
+
+
+//----------------------------------------------------
+//
+//    r_wpasettings_pane_softkeys_ok_cancel_select
+//    WEP Security Settings softkeys
+//
+//----------------------------------------------------
+//
+RESOURCE CBA r_wpasettings_pane_softkeys_ok_cancel_select
+    {
+    buttons =
+        {
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; },
+        CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; },
+        CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; }
+        };
+    }
+
+
+
+//----------------------------------------------------
+//   
+//  r_radio_button_setting_page
+//  Setting page with radio buttons
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page
+    {
+    number = EAknSettingPageNoOrdinalDisplayed;
+    softkey_resource = r_wpasettings_pane_softkeys_ok_cancel_select;
+    type =  EAknSetListBox;
+    editor_resource_id= r_setting_app_listbox;
+    }
+
+
+
+//----------------------------------------------------
+//   
+//    r_wpa_sec_sett_conf_query
+//    ConfirmationQuery dialog
+//
+//----------------------------------------------------
+//
+RESOURCE DIALOG r_wpa_sec_sett_conf_query
+	{
+	flags = EGeneralQueryFlags;
+	buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
+	items =
+		{
+		DLG_LINE
+			{
+			type = EAknCtQuery;
+			id = EGeneralQuery;
+			control = AVKON_CONFIRMATION_QUERY
+				{
+				layout = EConfirmationQueryLayout;
+				};
+			}
+		};
+	}
+
+
+
+
+RESOURCE TBUF r_wpa_mode
+    { 
+    buf = qtn_wlan_sett_wpa_mode;
+    }
+        
+RESOURCE TBUF r_wpa_eap_config
+    { 
+    buf = qtn_wlan_sett_eap_plugin_config;
+    }
+        
+RESOURCE TBUF r_wpa_tkip_cipher
+    { 
+    buf = qtn_wlan_sett_allow_tkip;
+    }
+ 
+RESOURCE TBUF r_wpa_unencrypted_conn
+    {
+    buf = qtn_wlan_sett_unencrypted_conn;
+    }
+
+RESOURCE TBUF r_wpa_mode_eap
+    { 
+    buf = qtn_wlan_sett_wpa_mode_eap;
+    }
+
+RESOURCE TBUF r_wpa_mode_preshared_key
+    { 
+    buf = qtn_wlan_sett_wpa_mode_preshared_key;
+    }
+
+RESOURCE TBUF r_wpa_cipher_allowed
+    { 
+    buf = qtn_wlan_sett_tkip_allowed;
+    }
+
+RESOURCE TBUF r_wpa_cipher_not_allowed
+    { 
+    buf = qtn_wlan_sett_tkip_not_allowed;
+    }
+
+RESOURCE TBUF r_wpa_unencrypted_conn_not_allow
+    {
+    buf = qtn_wlan_sett_unencrypted_conn_not_allow;
+    }
+
+RESOURCE TBUF r_wpa_unencrypted_conn_allow
+    {
+    buf = qtn_wlan_sett_unencrypted_conn_allow;
+    }
+
+RESOURCE TBUF r_wpa_preshared_key_must_be_defined
+    { 
+    buf = qtn_selec_setting_compulsory;
+    }
+
+RESOURCE TBUF r_info_preshared_key_too_short
+    {
+    buf = qtn_wlan_info_preshared_key_too_short;
+    }
+
+RESOURCE TBUF r_info_preshared_key_not_hex
+    {
+    buf = qtn_wlan_info_preshared_key_not_hex;
+    }
+
+RESOURCE TBUF r_wpa_preshared_keydata_missing
+    {
+    buf = qtn_wlan_quest_preshared_key_data_missing;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/eabi/WPASecuritySettingsUI_EKA2_ALRu.def	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,21 @@
+EXPORTS
+	_ZN20CWPASecuritySettings4NewLE13TSecurityMode @ 1 NONAME
+	_ZN20CWPASecuritySettings5EditLER22CWPASecuritySettingsUiRK7TDesC16 @ 2 NONAME
+	_ZN20CWPASecuritySettings5LoadLEmR14CCommsDatabase @ 3 NONAME
+	_ZN20CWPASecuritySettingsD0Ev @ 4 NONAME
+	_ZN20CWPASecuritySettingsD1Ev @ 5 NONAME
+	_ZN20CWPASecuritySettingsD2Ev @ 6 NONAME
+	_ZN22CWPASecuritySettingsUi3CvtEv @ 7 NONAME
+	_ZN22CWPASecuritySettingsUi4NewLER9CEikonEnv @ 8 NONAME
+	_ZN22CWPASecuritySettingsUiD0Ev @ 9 NONAME
+	_ZN22CWPASecuritySettingsUiD1Ev @ 10 NONAME
+	_ZN22CWPASecuritySettingsUiD2Ev @ 11 NONAME
+	_ZNK20CWPASecuritySettings5SaveLEmR14CCommsDatabase13TTypeOfSavingm @ 12 NONAME
+	_ZNK20CWPASecuritySettings7DeleteLEm @ 13 NONAME
+	_ZNK20CWPASecuritySettings7IsValidEv @ 14 NONAME
+	_ZN20CWPASecuritySettings18SetWPAPreSharedKeyERK7TDesC16 @ 15 NONAME
+	_ZN20CWPASecuritySettings5LoadLEmRN8CommsDat11CMDBSessionE @ 16 NONAME
+	_ZNK20CWPASecuritySettings5SaveLEmRN8CommsDat11CMDBSessionE13TTypeOfSavingm @ 17 NONAME
+	_ZN20CWPASecuritySettings22SetWPAEnabledEAPPluginERK6TDesC8 @ 18 NONAME
+	_ZN20CWPASecuritySettings23SetWPADisabledEAPPluginERK6TDesC8 @ 19 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/group/WPASecuritySettingsUI.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2001-2009 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: This is project specification file for the WPASecuritySettingsUI. 
+*
+*/
+
+/*
+* %version: tr1cfwln#20 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET      WPASecuritySettingsUI.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+
+START RESOURCE  ../data/WPASecuritySettingsUI.rss
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+END  // RESOURCE
+
+
+SOURCEPATH ../src
+
+SOURCE WPASecuritySettings.cpp
+SOURCE WPASecuritySettingsImpl.cpp
+SOURCE WPASecuritySettingsUI.cpp
+SOURCE WPASecuritySettingsUiImpl.cpp
+SOURCE WPASecuritySettingsDlg.cpp
+SOURCE WPASecuritySettingsUiPanic.cpp
+
+// Component specific internal headers 
+USERINCLUDE			../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY FeatMgr.lib
+LIBRARY hlplch.lib
+LIBRARY euser.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY eikcoctl.lib
+LIBRARY avkon.lib
+LIBRARY eikdlg.lib
+LIBRARY bafl.lib
+LIBRARY commonengine.lib
+LIBRARY commdb.lib
+LIBRARY ecom.lib
+LIBRARY commsdat.lib
+
+DEBUGLIBRARY flogger.lib
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/WPASecuritySettingsUI_EKA2_ALR.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/WPASecuritySettingsUI_EKA2_ALR.def
+#endif
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/group/bld.inf	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2001-2009 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: This file provides the information required for building the whole of a WPASecuritySettingsUI. 
+*
+*/
+
+/*
+* %version: tr1cfwln#19 %
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+// export iby files
+../Rom/WPASecuritySettingsUI.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(WPASecuritySettingsUI.iby)
+../Rom/WPASecuritySettingsUIResources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WPASecuritySettingsUIResources.iby)
+
+// export localised loc file
+../loc/wpasecuritysettingsui.loc	MW_LAYER_LOC_EXPORT_PATH(wpasecuritysettingsui.loc)
+
+
+PRJ_MMPFILES
+// real implementation for WLAN products
+./WPASecuritySettingsUI.mmp
+// stub implementation for non-WLAN products
+./wpasecuritysettingsuistub.mmp
+
+
+PRJ_TESTMMPFILES
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/group/wpasecuritysettingsuistub.mmp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* 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: Project specification file for stub implementation of 
+*              WPA UI for non-WLAN products to support linking. 
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET      wpasecuritysettingsuistub.dll
+TARGETTYPE  DLL
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+
+SOURCE wpasecuritysettingsstub.cpp
+SOURCE wpasecuritysettingsuistub.cpp
+
+// Component specific internal headers 
+USERINCLUDE			../inc
+
+//Macro to /epoc32 headers
+MW_LAYER_SYSTEMINCLUDE
+
+//Used libraries
+LIBRARY euser.lib
+
+#if defined(ARMCC)
+    DEFFILE ../eabi/WPASecuritySettingsUI_EKA2_ALR.def
+#elif defined( WINSCW )
+    DEFFILE ../bwinscw/WPASecuritySettingsUI_EKA2_ALR.def
+#endif
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/SecuritySettingsLogger.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2001-2009 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: Logger utility.
+*
+*/
+
+/*
+* %version: tr1cfwln#6 %
+*/
+
+#ifndef SECURITYSETTINGSLOGGER_H
+#define SECURITYSETTINGSLOGGER_H
+
+
+// INCLUDES
+
+#include <e32std.h>
+#include <e32def.h>
+#include <flogger.h>
+
+
+#ifdef _DEBUG
+#define __SEC_SETT_LOG__
+#endif // _DEBUG
+
+
+#ifdef __SEC_SETT_LOG__
+
+// CONSTANTS
+
+// SecuritySettingsLogger logging directory.
+_LIT( KSecSettLogDir,                   "TestSecSett" );
+// SecSett log file name.
+_LIT( KSecSettLogFile,                  "SecSett.log" );
+// Format string: enter function.
+_LIT( KSecSettLogEnterFn,               "-> %S" );
+// Format string: leave function.
+_LIT( KSecSettLogLeaveFn,               "<- %S" );
+// Format string: time.
+_LIT( KSecSettLogTimeFormatString,      "%H:%T:%S:%*C2" );
+// Format string: timestamp.
+_LIT( KSecSettLogTimeStampFormatString, "%S %S" );
+
+// DEFINES
+
+// Write log: enter function.
+#define CLOG_ENTERFN( a )           \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::WriteFormat        \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        KSecSettLogEnterFn,         \
+        &temp                       \
+        );                          \
+    }
+
+// Write log: leave function.
+#define CLOG_LEAVEFN( a )           \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::WriteFormat        \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        KSecSettLogLeaveFn,         \
+        &temp                       \
+        );                          \
+    }
+
+// Write log: string 'a'.
+#define CLOG_WRITE( a )             \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::Write              \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        temp                        \
+        );                          \
+    }
+
+// Write log: formatted.
+#define CLOG_WRITE_FORMAT( a, b )   \
+    {                               \
+    _LIT( temp, a );                \
+    RFileLogger::WriteFormat        \
+        (                           \
+        KSecSettLogDir,             \
+        KSecSettLogFile,            \
+        EFileLoggingModeAppend,     \
+        temp,                       \
+        b                           \
+        );                          \
+    }
+
+// Write log: timestamp.
+#define CLOG_WRITE_TIMESTAMP( a )                                   \
+    {                                                               \
+    _LIT( temp, a );                                                \
+    TTime time;                                                     \
+    time.HomeTime();                                                \
+    TBuf<32> timeBuf;                                               \
+    TRAPD( err, time.FormatL( timeBuf, KSecSettLogTimeFormatString ) ); \
+    if ( !err )                                                     \
+        {                                                           \
+        RFileLogger::WriteFormat                                    \
+            (                                                       \
+            KSecSettLogDir,                                         \
+            KSecSettLogFile,                                        \
+            EFileLoggingModeAppend,                                 \
+            KSecSettLogTimeStampFormatString,                       \
+            &temp,                                                  \
+            &timeBuf                                                \
+            );                                                      \
+        }                                                           \
+    }
+
+#else // not defined __SEC_SETT_LOG__
+
+// DEFINES
+
+// Empty definition (disable log).
+#define CLOG_ENTERFN( a )
+
+// Empty definition (disable log).
+#define CLOG_LEAVEFN( a )
+
+// Empty definition (disable log).
+#define CLOG_WRITE( a )
+
+// Empty definition (disable log).
+#define CLOG_WRITE_FORMAT( a, b )
+
+// Empty definition (disable log).
+#define CLOG_WRITE_TIMESTAMP( a )
+
+#endif // __SEC_SETT_LOG__
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDefs.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2001-2009 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: Definitions. 
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+#ifndef WPASECURITYSETTINGSDEFS_H
+#define WPASECURITYSETTINGSDEFS_H
+
+
+// CONSTANTS
+
+
+// UID of application containing help texts (General Settings).
+LOCAL_D const TUid KWPASecuritySettingsUiHelpMajor = { 0x100058EC };
+
+
+#endif  // WPASECURITYSETTINGSDEFS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDlg.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,308 @@
+/*
+* Copyright (c) 2001-2009 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: Declares dialog. 
+*
+*/
+
+/*
+* %version: tr1cfwln#21 %
+*/
+
+#ifndef WPA_SECURITY_SETTINGS_DLG_H
+#define WPA_SECURITY_SETTINGS_DLG_H
+
+
+// ENUMERATIONS
+
+// Members to be showed in the setting pages
+enum TWpaMember
+    {
+    EWpaMode,           // WPA mode
+    EWpaEapConfig,      // EAP Plugin configuration
+    EWpaWpa2Only,       // Wpa2 only mode
+    EWpaPreSharedKey,    // Pre-shared key
+    EWpaUnencryptedConn
+    };
+
+
+// INCLUDES
+#include <AknDialog.h>
+#include <eiklbo.h>
+#include <aknlists.h>
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <commsdat.h>
+#else
+#include <commsdat.h>
+#include <commsdat_partner.h>
+#endif
+#include "WPASecuritySettingsImpl.h"
+
+// FORWARD DECLARATIONS
+class CAknTitlePane;
+class CWPASecuritySettingsImpl;
+class CEAPPluginConfigurationIf;
+
+
+// CLASS DECLARATION
+/**
+* CWPASecuritySettingsDlg dialog class
+*/
+NONSHARABLE_CLASS( CWPASecuritySettingsDlg ) : public CAknDialog, 
+                                               public MEikListBoxObserver
+    {
+
+    public: // Constructors and destructor
+
+        /**
+        * Create and launch dialog.
+        * @param aSecuritySettings Security settings
+        * @param aTitle Title of the dialog
+        * @return The ID of the button that closed the dialog
+        */
+        TInt ConstructAndRunLD( CWPASecuritySettingsImpl* aSecuritySettings,
+                                const TDesC& aTitle );
+
+
+        /**
+        * Two-phase construction.
+        * @param aEventStore A reference to hold the events happened
+        * @param aIapId Id of the IAP.
+        * @param aPlugin The EAP Configuration plugin.
+        * @return The constructed CWPASecuritySettingsDlg object.
+        */
+        static CWPASecuritySettingsDlg* NewL( TInt& aEventStore, 
+                                          const TUint32 aIapId,
+                                          CEAPPluginConfigurationIf* aPlugin );
+
+        /**
+        * Destructor.
+        */
+        ~CWPASecuritySettingsDlg();
+
+
+	protected:
+        /**
+        * Constructor.
+        * @param aEventStore A reference to hold the events happened
+        * @param aIapId Id of the IAP.
+        * @param aPlugin The EAP Configuration plugin.
+        */
+        CWPASecuritySettingsDlg( TInt& aEventStore, const TUint32 aIapId,
+                                 CEAPPluginConfigurationIf* aPlugin );
+
+
+    public:     // Functions from base classes
+        /**
+        * Handle key events. 
+        * @param aKeyEvent: key event
+        * @param aType: type of event
+        * @return The key response, if it was consumed or not. 
+        */
+		TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                     TEventCode aType );
+
+	private:    // Functions from base classes
+
+        /**
+        * This function is called by the dialog framework before the dialog is 
+        * sized and laid out.
+        */
+        virtual void PreLayoutDynInitL();
+
+
+        /**
+        * Handles a dialog button press for the specified button 
+        * @param aButtonId  The ID of the button that was activated.
+        * @return   ETrue to validate and exit the dialog, 
+        *           EFalse to keep the dialog active
+        */
+        TBool OkToExitL( TInt aButtonId );
+
+
+		/**
+        * Processes user commands.
+        * @param aCommandId ID of the command to respond to. 
+        */
+		virtual void ProcessCommandL( TInt aCommandId );
+
+
+		/**
+        * Handles list box events.
+        * @param aListBox   The originating list box. 
+        * @param aEventType A code for the event.
+        */
+		void HandleListBoxEventL( CEikListBox* aListBox, 
+                                  TListBoxEvent aEventType );
+
+        /**
+        * Get help context.
+        * @param aContext Help context is returned here.
+        */
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+        /**
+        * Initialize menu pane.
+        * @param aResourceId Menu pane resource id.
+        * @param CEikMenuPane Menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+
+    protected:  // New functions
+
+        /**
+        * Handles listbox data change
+        */
+        void HandleListboxDataChangeL();
+
+
+        /**
+        * Fills up the listbox with data
+        * @param aItemArray Array where to add the elements
+        * @param arr        Array to be used as list elements
+        * @param aRes       Array of resource IDs to be used for the 
+        *                   elements of arr
+        */
+        void FillListWithDataL( CDesCArrayFlat& aItemArray, 
+                                const TWpaMember& arr, const TInt* aRes );
+
+
+        /**
+        * Updates one 'textual' listbox item for the given member
+        * @param aMember    Value specifying which member has to be added to 
+        *                   the list
+        * @param aRes       Resource ID for the 'title text' for this member
+        * @param aPos       The current position of the item in the list
+        */
+        void UpdateTextualListBoxItemL( TWpaMember aMember, TInt aRes, 
+                                        TInt aPos );
+
+
+        /**
+        * Creates one 'textual' listbox item for the given member
+        * @param aMember    Value specifying which member has to be added to
+        *                   the list
+        * @param aRes       Resource ID for the 'title text' for this member
+        * @return The created listbox item text.
+        */
+        HBufC* CreateTextualListBoxItemL( TWpaMember aMember, TInt aRes );
+
+
+        /**
+        * Changes one setting. The setting, which is
+        * highlighted as current in the listbox is changed.
+        * @param aQuick ETrue if the setting is "two-choices", and can be 
+        *               automatically changed, without showing the list of 
+        *               elements
+        */
+        void ChangeSettingsL( TBool aQuick );
+
+
+        /**
+        * Shows a popup setting page (radio buttons) for the given member
+        * @param aDataMember    The member which needs to be changed
+        * @return   A boolean indicating whether the current setting
+        *           has been changed or not.
+        */
+        TBool ShowPopupSettingPageL( TWpaMember aDataMember );
+
+
+        /**
+        * Shows a popup text setting page for the given member
+        * @return   A boolean indicating whether the current setting
+        *           has been changed or not.
+        */
+        TBool ShowPopupTextSettingPageL();
+
+
+        /**
+        * Fills up a pop-up radio button setting page with the currently
+        * valid and available choices for the given member.
+        * @param aData      The member whose new setting is needed
+        * @param aCurrvalue The current value of the setting
+        * @return   An array of choices for the given member, pushed to the 
+        *           CleanupStack.
+        */
+        CDesCArrayFlat* FillPopupSettingPageLC( TWpaMember aData,
+                                                TInt& aCurrvalue );
+
+
+        /**
+        * Updates the given member's data with the new setting from the setting
+        * page.
+        * @param aData      The member to update
+        * @param aCurrvalue The new value
+        * @return   A boolean indicating if the value is actually changed
+        */
+        TBool UpdateFromPopupSettingPage( TWpaMember aData, TBool aCurrvalue );
+
+
+        /**
+        * Cleanup for the iEapConfigActive semaphore flag
+        * @since S60 5.0
+        * @param aPtr Pointer to this class
+        */
+        static void ResetEapConfigFlag( TAny* aPtr );
+        
+        /**
+        * @see CEikDialog
+        */
+        void HandleDialogPageEventL( TInt aEventID );
+
+    private: //data
+
+        // Stores the name of the connection, to be showed as the title.
+      	TBuf<CommsDat::KMaxTextLength> iConnectionName;
+
+        // Title pane. Not owned.
+        CAknTitlePane* iTitlePane;
+
+        // Pointer to the old title. Owned.
+        HBufC* iOldTitleText;
+
+        // Owned through resources, destroyed automatically by the dialog.
+        CAknSettingStyleListBox* iList;
+
+        // Array of the items. Not owned.
+        CDesCArrayFlat* iItemArray;
+
+        // Fields of the main view. Not owned.
+        TWpaMember* iFieldsMain;
+
+        // Titles of the main view. Not owned.
+        TInt* iTitlesMain;
+
+        // Pointer to the WPA Security Settings. Not owned.
+        CWPASecuritySettingsImpl* iSecuritySettings;
+
+        // To hold the events. Not owned.
+        TInt* iEventStore;
+        
+        // The Id of the AP.
+        TUint32 iIapId;
+
+        // The EAP Configuration plugin. Not owned.
+        CEAPPluginConfigurationIf* iPlugin;
+        
+        // Indicates whether the EAP plugin configuration is active
+        TBool iEapConfigActive;
+        
+        TBuf8<KWLANEAPLISTLENGTH> iEnabledPluginList;
+        TBuf8<KWLANEAPLISTLENGTH> iDisabledPluginList;
+    };
+
+
+#endif      // WPA_SECURITY_SETTINGS_DLG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,322 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWPASecuritySettingsImpl.  
+*
+*/
+
+/*
+* %version: tr1cfwln#28 %
+*/
+
+#ifndef WPASECURITYSETTINGSIMPL_H
+#define WPASECURITYSETTINGSIMPL_H
+
+// INCLUDES
+#include <e32base.h>
+#include <WlanCdbCols.h>
+
+#include <WPASecuritySettingsUI.h>
+
+#include <metadatabase.h>
+using namespace CommsDat;
+
+
+
+// CONST DECLARATIONS
+#define KWLANEAPLISTLENGTH 1024     // Max length of the EAP Plugin list
+
+
+// FORWARD DECLARATIONS
+class CCommsDatabase;
+class CEAPPluginConfigurationIf;
+
+// CLASS DECLARATION
+
+/**
+* WPA Security Settings.
+* Implementation behind proxy class CWPASecuritySettings.
+*/
+NONSHARABLE_CLASS( CWPASecuritySettingsImpl ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aSecurityMode  The chosen security mode. It can be 
+        *                       ESecurityMode8021x or ESecurityModeWpa
+        * @return The constructed CWPASecuritySettings object.
+        */
+        static CWPASecuritySettingsImpl* NewL( TSecurityMode aSecurityMode );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWPASecuritySettingsImpl();
+
+
+    protected:  // Constructors
+
+        /**
+        * Constructor.
+        * @param aSecurityMode  The chosen security mode. It can be 
+        *                       ESecurityMode8021x or ESecurityModeWpa
+        */
+        CWPASecuritySettingsImpl( TSecurityMode aSecurityMode );
+
+        /**
+        * Second-phase constructor.
+        */
+        void ConstructL();
+
+
+    public:     // New methods
+
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aCommsDb Comms database.
+        */
+        void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb );
+        
+
+        /**
+        * Save to database.
+        * @param aIapId     Wlan Service Table Id of the IAP to be saved
+        * @param aCommsDb   Comms database.
+        * @param aTypeOfSaving	Tells what kind of AP we are going to save: it 
+        *                       can be ESavingEditedAP, ESavingBrandNewAP, or 
+        *                       ESavingNewAPAsACopy
+        * @param aOldIapId  The old Id of the IAP; it is used to save the EAP 
+        *                   configuration, only when aIsNewAP is ETrue
+        */
+        void SaveL( TUint32 aIapId, CCommsDatabase& aCommsDb, 
+                    TTypeOfSaving aTypeOfSaving, TUint32 aOldIapId );
+
+
+        /**
+        * Delete from database. It actually just removes EAP Configuration.
+        * @param aIapId Id of the IAP to be saved
+        */
+        void DeleteL( TUint32 aIapId );
+
+
+        /**
+        * Tells if the settings are valid and can be saved
+        * @return ETrue if all the compulsory settings have been entered
+        */
+        TBool IsValid();
+
+
+        /**
+        * Sets the Pre-shared key
+        * @param aPreSharedKey  The key to be set
+        * @return KErrNone if successful, or an error code
+        */
+        TInt SetWPAPreSharedKey( const TDesC& aPreSharedKey );
+
+        /**
+        * Gets the type of Security set.
+        * @return The security mode in use. It can be ESecurityMode8021x or
+        *         ESecurityModeWpa
+        */
+        inline TSecurityMode SecurityMode() const;
+
+        
+        /**
+        * Tells if Pre-shared key is in use or not
+        * @return   ETrue if Pre-shared key is in use
+        */
+        inline TBool WPAMode() const;
+
+        
+        /**
+        * Sets the use of Pre-shared key.
+        * @param aWPAMode   ETrue if pre-shared key is in use
+        */
+        inline void SetWPAMode( const TBool aWPAMode );
+
+
+        /**
+        * Tells if it is WPA2 Only mode
+        * @return ETrue if it is WPA2 Only mode
+        */
+        inline TBool Wpa2Only() const;
+
+
+        /**
+        * Sets the WPA2 Only mode enabling variable
+        * @param aAllowed   ETrue if WPA2 Only mode is enabled
+        */
+        inline void SetWpa2Only( const TBool aAllowed );
+
+        
+        /**
+        * Tells if 802.1x Unencrypted connection is allowed
+        * @return ETrue if Unencrypted connection is allowed
+        */
+        inline TBool WPAUnencryptedConn() const;
+
+
+        /**
+        * Sets the 802.1x Unencrypted connection enabling variable
+        * @param aUnencryptedConn   ETrue if Unencrypted connection is allowed
+        */
+        inline void SetWPAUnencryptedConn( const TBool aUnencryptedConn );
+        
+
+        /**
+        * Returns the Pre-shared key
+        * @return The pre-shared key
+        */
+        inline TDes8* WPAPreSharedKey();
+
+
+        /**
+        * Sets the Pre-shared key
+        * @param aPreSharedKey  The key to be set
+        */
+        inline void SetWPAPreSharedKey( const TDesC8& aPreSharedKey );
+
+
+        /**
+        * Returns the content of the WlanEapList column of WLANServiceTable
+        * @return The content string
+        */
+        inline TDes* WPAEAPPlugin();
+
+        /**
+        * Returns the content of the WlanEnabledEapList column of 
+        * WLANServiceTable
+        * @return The content string. Ownership not passed!
+        */
+        inline HBufC8* WPAEnabledEAPPlugin();
+        
+        /**
+        * Returns the content of the WlanDisabledEapList column of 
+        * WLANServiceTable
+        * @return The content string. Ownership not passed!
+        */
+        inline HBufC8* WPADisabledEAPPlugin();
+
+        /**
+        * Sets the content of the WlanEapList column of WLANServiceTable
+        * @param aPluginList The content string to be set
+        */
+        inline void SetWPAEAPPlugin( const TDes& aPluginList );
+
+        /**
+        * Sets the content of the WlanEnabledEapList column of WLANServiceTable 
+        * (for expanded EAP types)
+        * @param aEnabledPluginList Enumeration of enabled plugins
+        * @return KErrNone if successful, or an error code
+        */
+        TInt SetWPAEnabledEAPPlugin( const TDesC8& aEnabledPluginList );
+
+        /**
+        * Sets the content of the WlanDisabledEapList column of WLANServiceTable 
+        * (for expanded EAP types)
+        * @param aDisabledPluginList Enumeration of disabled plugins
+        * @return KErrNone if successful, or an error code
+        */
+        TInt SetWPADisabledEAPPlugin( const TDesC8& aDisabledPluginList );
+
+        /**
+        * Sets the Id of the AP 
+        * @param aIapId  The Id to be set
+        */
+        inline void SetIapId( const TUint32 aIapId );
+        
+        /**
+        * Returns the Id of the AP 
+        * @return The Id
+        */
+        inline const TUint32 IapId();
+
+        /**
+        * Returns the pointer to the EAP Configuration plugin
+        * @return The EAP Configuration plugin
+        */
+        inline CEAPPluginConfigurationIf* Plugin();
+        
+        /**
+        * Load from database.
+        * @param aIapId Wlan Service Table Id of the IAP to be loaded
+        * @param aSession CommsDat session.
+        */
+        void LoadL( TUint32 aIapId, CMDBSession& aSession );
+        
+        
+        /**
+        * Save to database.
+        * @param aIapId     Wlan Service Table Id of the IAP to be saved
+        * @param aSession   CommsDat session.
+        * @param aTypeOfSaving	Tells what kind of AP we are going to save: it 
+        *                       can be ESavingEditedAP, ESavingBrandNewAP, or 
+        *                       ESavingNewAPAsACopy
+        * @param aOldIapId  The old Id of the IAP; it is used to save the EAP 
+        *                   configuration, only when aIsNewAP is ETrue
+        */
+        void SaveL( TUint32 aIapId, CMDBSession& aSession, 
+                    TTypeOfSaving aTypeOfSaving, TUint32 aOldIapId );
+
+    private:
+        /**
+        * Checks whether the given string is a valid PSK
+        * @since S60 5.0
+        * @param aPsk The string to be checked
+        * @return ETrue if the string is a valid PSK, EFalse otherwise.
+        */
+        TBool IsValidPsk( const TDesC8& aPsk );
+
+    private:    // Data 
+
+        // Security mode in use
+        TSecurityMode iSecurityMode;
+
+        // Pre-shared key in use or not
+        TBool iWPAMode;
+
+        // The content of the WlanEapList column of WLANServiceTable
+        TBuf<KWLANEAPLISTLENGTH> iWPAEAPPlugin;
+
+        // The pre-shared key
+        TBuf8<KWlanWpaPskLength> iWPAPreSharedKey;
+
+        // The content of the WlanEnabledEapList column of WLANServiceTable.
+        // Owned.
+        HBufC8 *iWPAEnabledEAPPlugin;
+        
+        // The content of the WlanDisabledEapList column of WLANServiceTable.
+        // Owned.
+        HBufC8 *iWPADisabledEAPPlugin;        
+
+        // WPA2 Only mode enabled or not
+        TBool iWpa2Only;
+ 
+        // 802.1x unencrypted connection allowed or not
+        TBool iWPAUnencryptedConn;
+        
+        // The Id of the AP.
+        TUint32 iIapId;
+
+        // The EAP Configuration plugin. Owned.
+        CEAPPluginConfigurationIf* iPlugin;
+    };
+
+// Include inline functions
+#include "WPASecuritySettingsImpl.inl"
+
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.inl	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,189 @@
+/*
+* Copyright (c) 2001-2009 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: CWPASecuritySettingsImpl inline functions
+*
+*/
+
+/*
+* %version: tr1cfwln#16 %
+*/
+
+#ifndef WPASECURITYSETTINGSIMPL_INL
+#define WPASECURITYSETTINGSIMPL_INL
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SecurityMode
+// ---------------------------------------------------------
+//
+inline TSecurityMode CWPASecuritySettingsImpl::SecurityMode() const
+    {
+    return iSecurityMode;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::WPAMode
+// ---------------------------------------------------------
+//
+inline TBool CWPASecuritySettingsImpl::WPAMode() const
+    { 
+    return iWPAMode; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::Wpa2Only
+// ---------------------------------------------------------
+//
+inline TBool CWPASecuritySettingsImpl::Wpa2Only() const
+    { 
+    return iWpa2Only; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::WPAUnencryptedConn
+// ---------------------------------------------------------
+//
+inline TBool CWPASecuritySettingsImpl::WPAUnencryptedConn() const
+    { 
+    return iWPAUnencryptedConn; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::WPAPreSharedKey
+// ---------------------------------------------------------
+//
+inline TDes8* CWPASecuritySettingsImpl::WPAPreSharedKey()
+    { 
+    return &iWPAPreSharedKey; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::WPAEAPPlugin
+// ---------------------------------------------------------
+//
+inline TDes* CWPASecuritySettingsImpl::WPAEAPPlugin()
+    {
+    return &iWPAEAPPlugin;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::WPAEnabledEAPPlugin
+// ---------------------------------------------------------
+//
+inline HBufC8* CWPASecuritySettingsImpl::WPAEnabledEAPPlugin()
+    {
+    return iWPAEnabledEAPPlugin;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::WPADisabledEAPPlugin
+// ---------------------------------------------------------
+//
+inline HBufC8* CWPASecuritySettingsImpl::WPADisabledEAPPlugin()
+    {
+    return iWPADisabledEAPPlugin;
+    }
+        
+    
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPAMode
+// ---------------------------------------------------------
+//
+inline void CWPASecuritySettingsImpl::SetWPAMode( const TBool aWPAMode )
+    { 
+    iWPAMode = aWPAMode; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWpa2Only
+// ---------------------------------------------------------
+//
+inline void CWPASecuritySettingsImpl::SetWpa2Only( const TBool aWpa2Only )
+    { 
+    iWpa2Only = aWpa2Only; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPAUnencryptedConn
+// ---------------------------------------------------------
+//
+inline void CWPASecuritySettingsImpl::SetWPAUnencryptedConn( const TBool aUnencryptedConn )
+    { 
+    iWPAUnencryptedConn = aUnencryptedConn; 
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPAPreSharedKey
+// ---------------------------------------------------------
+//
+inline void CWPASecuritySettingsImpl::SetWPAPreSharedKey(
+                                              const TDesC8& aWPAPreSharedKey )
+    {
+    iWPAPreSharedKey = aWPAPreSharedKey;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetIapId
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::SetIapId( const TUint32 aIapId )
+	{
+	iIapId = aIapId;
+	}
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::IapId
+// ---------------------------------------------------------
+//
+const TUint32 CWPASecuritySettingsImpl::IapId()
+	{
+	return iIapId;
+	}
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPAEAPPlugin
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::SetWPAEAPPlugin( const TDes& aPluginList )
+	{
+	iWPAEAPPlugin.Copy( aPluginList );
+	}
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::Plugin
+// ---------------------------------------------------------
+//
+CEAPPluginConfigurationIf* CWPASecuritySettingsImpl::Plugin()
+	{
+	return iPlugin;
+	}
+
+
+#endif 
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUI.hrh	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2001-2009 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: This file contains declarations for resources of WPASecuritySettingsUI. The file can be included in C++ or resource file. 
+*
+*/
+
+/*
+* %version: %
+*/
+
+#ifndef WPASecuritySettingsUI_HRH
+#define WPASecuritySettingsUI_HRH
+
+
+// Menu command IDs
+enum TWpaSelectorMenuCommands
+    {
+    EWpaSelCmdChange = 2468
+    };
+
+
+// dialog line IDs
+enum TWpaSelectorDllDlgLineId 
+    {
+    KWpaMainSettingsListboxId = 3 
+    };
+
+
+
+
+// The minimum length of PreSharedKey in ASCII encoding
+#define EMinLengthOfPreSharedKeyAscii 8
+                                            
+// The maximum length of PreSharedKey in ASCII encoding
+#define EMaxLengthOfPreSharedKeyAscii 63
+
+// The required length of PreSharedKey in hexadecimal digits
+#define ELengthOfPreSharedKeyHex 64
+
+// The maximum number of bytes occupied by the PSK
+#define EMaxLengthOfPreSharedKey ELengthOfPreSharedKeyHex
+
+
+#endif      //  WPASecuritySettingsUI_HRH
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiImpl.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2001-2009 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: Declaration of class CWPASecuritySettingsUiImpl.  
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef WPASECURITYSETTINGSUIIMPL_H
+#define WPASECURITYSETTINGSUIIMPL_H
+
+// INCLUDES
+
+#include <e32base.h>
+
+
+// FORWARD DECLARATIONS
+
+class CEikonEnv;
+class CWPASecuritySettings;
+class CWPASecuritySettingsUiImpl;
+class CWPASecuritySettingsImpl;
+
+
+// CLASS DECLARATION
+
+/**
+* WPA Security Settings UI implementation (behind proxy class
+* CWPASecuritySettingsUi)
+*/
+NONSHARABLE_CLASS( CWPASecuritySettingsUiImpl ) : public CBase
+    {
+
+    public:     // Constructors and destructor
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @param aEikEnv Eikon environment.
+        * @return The constructed CWPASecuritySettingsUiImpl object.
+        */
+        static CWPASecuritySettingsUiImpl* NewL( CEikonEnv& aEikEnv );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWPASecuritySettingsUiImpl();
+
+    protected:  // Constructors
+
+        /**
+        * Constructor.
+        * @param aEikEnv Eikon environment.
+        */
+        CWPASecuritySettingsUiImpl( CEikonEnv& aEikEnv );
+
+        /**
+        * Second-phase constructor.
+        */
+        void ConstructL();
+
+    public:     // New methods
+
+        /**
+        * Edit the settings.
+        * @param aSettings Settings to edit.
+        * @param aTitle Title Pane text to display during edit.
+        * @return Exit code. Value from CWPASecuritySettings::TEvent bits 
+        * combined.
+        */
+        TInt EditL( CWPASecuritySettingsImpl& aSettings, const TDesC& aTitle );
+
+
+    private:    // Data 
+
+        // To hold the events
+        TInt        iEventStore;
+
+        // Resource file offset.
+        TInt        iResOffset; 
+        
+        // Eikon environment. Not owned.
+        CEikonEnv*  iEikEnv;        
+    };
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiPanic.h	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2001-2009 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: Panic function and codes.     
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+#ifndef WPASECURITYSETTINGSUIPANIC_H
+#define WPASECURITYSETTINGSUIPANIC_H
+
+// TYPES
+
+/**
+* Panic reasons for WPA Security Settings UI.
+*/
+enum TWpaSecuritySettingsPanicCodes
+	{
+    EUnknownCase,
+    ETableNotFound
+	};
+
+
+// FUNCTION DECLARATIONS
+
+/**
+* Panic the thread.
+* @param aReason Reason for the panic.
+*/
+void Panic( TWpaSecuritySettingsPanicCodes aPanic );
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/loc/wpasecuritysettingsui.loc	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2001-2009 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: This is a localisation file for WPASecuritySettingsUI A .loc file is the one and only place where the logical strings to be localised are defined. 
+*
+*/
+
+/*
+* %version: tr1cfwln#7 %
+*/
+
+// LOCALISATION STRINGS
+
+
+//d:Command in options menu.
+//d:Modifies the currently selected item.
+//l:list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_set_options_change                  "Change"
+
+
+//d:First element of the Selection List
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wpa_mode                  "WPA/WPA2 mode"
+
+
+//d:Possible second element of the Selection List
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_eap_plugin_config         "EAP plug-in configuration"
+
+
+//d:Possible second element of the Selection List
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_preshared_key             "Pre-shared key"
+
+
+//d:Third element of the Selection List
+//l:list_setting_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_allow_tkip                "WPA2-only mode"
+
+
+//d:Fourth element of the Selection List
+//l:list_setting_pane_t1
+//w:
+//r:5.0
+//
+#define qtn_wlan_sett_unencrypted_conn         "Unencrypted connection"
+
+
+//d:Setting item for the first element of the Selection List
+//d:(qtn_wlan_sett_wpa_mode)
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wpa_mode_eap              "EAP"
+
+
+//d:Setting item for the first element of the Selection List
+//d:(qtn_wlan_sett_wpa_mode)
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_wpa_mode_preshared_key    "Pre-shared key"
+
+
+//d:Setting item for the third element of the Selection List
+//d:(qtn_wlan_sett_allow_tkip)
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_tkip_allowed              "No"
+
+
+//d:Setting item for the third element of the Selection List
+//d:(qtn_wlan_sett_allow_tkip)
+//l:list_set_graphic_pane_t1
+//w:
+//r:3.0
+//
+#define qtn_wlan_sett_tkip_not_allowed          "Yes"
+
+
+//d:Setting item for the fourth element of the Selection List
+//d:(qtn_wlan_sett_unencrypted_conn)
+//l:list_set_graphic_pane_t1
+//w:
+//r:5.0
+//
+#define qtn_wlan_sett_unencrypted_conn_not_allow  "Not allowed"
+
+
+//d:Setting item for the fourth element of the Selection List
+//d:(qtn_wlan_sett_unencrypted_conn)
+//l:list_set_graphic_pane_t1
+//w:
+//r:5.0
+//
+#define qtn_wlan_sett_unencrypted_conn_allow    "Allowed"
+
+
+//d:Information note for the user when the entered key is too short
+//l:popup_snote_single_text_window
+//w:
+//r:3.0
+//
+#define qtn_wlan_info_preshared_key_too_short   "Key must be at least 8 characters long"
+
+
+//d:Information note for the user when the entered key is not hexadecimal
+//l:popup_snote_single_text_window
+//w:
+//r:5.0
+//
+#define qtn_wlan_info_preshared_key_not_hex   "Invalid characters in pre-shared key. 64-digit key must be in hexadecimal format."
+
+
+//d:Confirmation query showed to the user when not all compulsory data have
+//d:been entered
+//l:popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_wlan_quest_preshared_key_data_missing "Pre-shared key data is compulsory. Security settings will not be saved. Continue?"
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettings.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,171 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettings.     
+*
+*/
+
+/*
+* %version: tr1cfwln#18 %
+*/
+
+// INCLUDE FILES
+
+#include "WPASecuritySettingsImpl.h"
+#include "WPASecuritySettingsUiImpl.h"
+
+#include <WPASecuritySettingsUI.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettings* CWPASecuritySettings::NewL( 
+                                                TSecurityMode aSecurityMode )
+    {
+    CWPASecuritySettings* settings = new ( ELeave ) CWPASecuritySettings();
+    CleanupStack::PushL( settings );
+    settings->iImpl = CWPASecuritySettingsImpl::NewL( aSecurityMode );
+    CleanupStack::Pop( settings ); 
+    return settings;    
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::~CWPASecuritySettings
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettings::~CWPASecuritySettings()
+    {
+    delete iImpl;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::LoadL( TUint32 aIapId, 
+                                           CCommsDatabase& aCommsDb )
+    {
+    iImpl->LoadL( aIapId, aCommsDb );
+    iImpl->SetIapId( aIapId );
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::SaveL( TUint32 aIapId, 
+                                           CCommsDatabase& aCommsDb, 
+                                           TTypeOfSaving aTypeOfSaving, 
+                                           TUint32 aOldIapId ) const
+    {
+    iImpl->SaveL( aIapId, aCommsDb, aTypeOfSaving, aOldIapId );
+    }
+    
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::EditL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::EditL( CWPASecuritySettingsUi& aUi,
+                                           const TDesC& aTitle )
+    {
+    return aUi.iImpl->EditL( *iImpl, aTitle );
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::DeleteL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::DeleteL( TUint32 aIapId ) const
+    {
+    iImpl->DeleteL( aIapId );
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::IsValid
+// ---------------------------------------------------------
+//
+EXPORT_C TBool CWPASecuritySettings::IsValid() const
+    {
+    return iImpl->IsValid();
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SetWPAPreSharedKey
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::SetWPAPreSharedKey( 
+                                                const TDesC& aPreSharedKey )
+    {
+    return iImpl->SetWPAPreSharedKey( aPreSharedKey );
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::LoadL( TUint32 aIapId, 
+                                           CMDBSession& aSession )
+    {
+    iImpl->LoadL( aIapId, aSession );
+    iImpl->SetIapId( aIapId );
+    }
+    
+    
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::SaveL( TUint32 aIapId,
+                                           CMDBSession& aSession,
+                                           TTypeOfSaving aTypeOfSaving,
+                                           TUint32 aOldIapId ) const
+    {
+    iImpl->SaveL( aIapId, aSession, aTypeOfSaving, aOldIapId );
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::SetWPAEnabledEAPPlugin( 
+                                            const TDesC8& aEnabledPluginList )
+    {
+    return iImpl->SetWPAEnabledEAPPlugin( aEnabledPluginList );
+    }
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::SetWPADisabledEAPPlugin( 
+                                            const TDesC8& aDisabledPluginList )
+    {
+    return iImpl->SetWPADisabledEAPPlugin( aDisabledPluginList );
+    }
+        
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsDlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,1128 @@
+/*
+* 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: Implementation of dialog.  
+*
+*/
+
+/*
+* %version: tr1cfwln#33 %
+*/
+
+// INCLUDE FILES
+#include "WPASecuritySettingsDlg.h"
+#include "WPASecuritySettingsUiPanic.h"
+
+#include "WPASecuritySettingsUI.hrh"
+
+#include "WPASecuritySettingsDefs.h"
+
+#include <csxhelp/cp.hlp.hrh>
+#include <hlplch.h>
+
+#include <featmgr.h>
+
+#include <akntitle.h>
+#include <aknradiobuttonsettingpage.h>
+#include <StringLoader.h>
+#include <aknnotewrappers.h>
+#include <akntextsettingpage.h>
+#include <EAPPluginConfigurationIf.h>
+
+#include <WPASecuritySettingsUI.rsg>
+
+
+// CONSTANT DECLARATIONS
+
+// Number of fields of main view
+LOCAL_D const TInt KNumOfFieldsMain = 3;     
+
+// Menu List item format
+_LIT( KTxtMenuListItemFormat, " \t%S\t\t" ); 
+
+// Number of spaces and tabs in KTxtMenuListItemFormat string
+LOCAL_D const TInt KSpaceAndTabsLength = 4;  
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::CWPASecuritySettingsDlg
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsDlg::CWPASecuritySettingsDlg( TInt& aEventStore, 
+                                          const TUint32 aIapId,
+                                          CEAPPluginConfigurationIf* aPlugin )
+: iEventStore( &aEventStore ),
+  iIapId( aIapId ),
+  iPlugin( aPlugin )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::~CWPASecuritySettingsDlg
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsDlg::~CWPASecuritySettingsDlg()
+    {
+    if ( iTitlePane )
+        {
+        // set old text back, if we have it...
+        if ( iOldTitleText )
+            {
+            TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) );
+            delete iOldTitleText;
+            }
+        }
+    
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::NewL
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsDlg* CWPASecuritySettingsDlg::NewL( TInt& aEventStore, 
+                                        const TUint32 aIapId,
+                                        CEAPPluginConfigurationIf* aPlugin )
+    {
+    CWPASecuritySettingsDlg* secSett = new ( ELeave )CWPASecuritySettingsDlg(
+                                                aEventStore, aIapId, aPlugin );
+    return secSett;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::ConstructAndRunLD
+// ---------------------------------------------------------
+//
+TInt CWPASecuritySettingsDlg::ConstructAndRunLD( 
+                                CWPASecuritySettingsImpl* aSecuritySettings,
+                                const TDesC& aTitle )
+    {
+	CleanupStack::PushL( this );
+
+    const TInt Titles_Wpa_Main[KNumOfFieldsMain+2] =
+        {
+        R_WPA_MODE,
+        R_WPA_EAP_CONFIG,
+        R_WPA_MODE_PRESHARED_KEY,
+        R_WPA_TKIP_CIPHER,
+        R_WPA_UNENCRYPTED_CONN
+        };
+
+    const TInt Fields_Wpa_Main[KNumOfFieldsMain+2] =
+        {
+        EWpaMode,
+        EWpaEapConfig,
+        EWpaPreSharedKey,
+        EWpaWpa2Only,
+        EWpaUnencryptedConn
+        };
+
+    iSecuritySettings = aSecuritySettings;
+    iConnectionName = aTitle;
+
+    iFieldsMain = ( TWpaMember* ) Fields_Wpa_Main;
+    iTitlesMain = MUTABLE_CAST( TInt*, Titles_Wpa_Main );
+
+    if ( !iSecuritySettings->WPAMode() && !iPlugin )
+        {
+        iSecuritySettings->SetWPAMode( ETrue );
+        *iEventStore |= CWPASecuritySettings::EModified;
+        }
+
+    FeatureManager::InitializeLibL();
+
+    ConstructL( R_WPA_SECURITY_SETTINGS_MENUBAR );
+    
+    // ExecuteLD will PushL( this ), so we have to Pop it...
+    CleanupStack::Pop( this ); // this
+	
+    return ExecuteLD( R_WPASETTINGS_DIALOG );
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::OkToExitL
+// ---------------------------------------------------------
+//
+TBool CWPASecuritySettingsDlg::OkToExitL( TInt aButtonId )
+    {
+    // Translate the button presses into commands for the appui & current
+    // view to handle
+    TBool retval( EFalse );
+    if ( aButtonId == EAknSoftkeyOptions )
+        {
+        DisplayMenuL();
+        }
+    else if ( aButtonId == EEikCmdExit )        // ShutDown requested
+        {
+        *iEventStore |= CWPASecuritySettings::EShutDownReq;
+        retval = ETrue;
+        }
+    else if ( aButtonId == EAknSoftkeyBack || aButtonId == EAknCmdExit )
+        {
+        if ( iSecuritySettings->WPAMode() )
+            {
+            if ( iSecuritySettings->IsValid() ) 
+                {
+                *iEventStore |= CWPASecuritySettings::EValid;
+                retval = ETrue;
+                }
+            else if ( aButtonId == EAknSoftkeyBack )
+                {
+                HBufC* stringHolder = StringLoader::LoadL(
+                                R_WPA_PRESHARED_KEYDATA_MISSING, iEikonEnv );
+                CleanupStack::PushL( stringHolder );
+
+                CAknQueryDialog *queryDialog = new (ELeave) CAknQueryDialog();
+
+                queryDialog->PrepareLC( R_WPA_SEC_SETT_CONF_QUERY );
+                queryDialog->SetPromptL( stringHolder->Des() );
+                retval = queryDialog->RunLD();
+
+                CleanupStack::PopAndDestroy( stringHolder );   // stringHolder
+                }
+            else
+                {
+                retval = ETrue;
+                }
+            }
+        else 
+            {
+            *iEventStore |= CWPASecuritySettings::EValid;
+            retval = ETrue;
+            }
+
+        if ( aButtonId == EAknCmdExit )
+            {
+            *iEventStore |= CWPASecuritySettings::EExitReq;
+            }
+        }
+    
+    else if( aButtonId == EWpaSelCmdChange )
+        {
+        ChangeSettingsL( ETrue );
+        retval = EFalse; // don't exit the dialog
+        }
+
+    return retval;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::OfferKeyEventL
+// ---------------------------------------------------------
+//
+TKeyResponse CWPASecuritySettingsDlg::OfferKeyEventL( 
+                                const TKeyEvent& aKeyEvent, TEventCode aType )
+    {
+    TKeyResponse retval( EKeyWasNotConsumed );
+
+    // Only interested in standard key events
+    if ( aType == EEventKey )
+        {
+        // If a menu is showing offer key events to it.
+        if ( CAknDialog::MenuShowing() )
+            {
+            retval = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
+            }
+        else
+            {
+            if ( iList )
+                {
+                // as list IS consuming, must handle because it IS the SHUTDOWN...
+                // or, a view switch is shutting us down...
+                if ( aKeyEvent.iCode == EKeyEscape )
+                    {
+                    ProcessCommandL( EEikCmdExit );
+                    retval = EKeyWasConsumed;
+                    }
+                else
+                    {
+                    retval = iList->OfferKeyEventL( aKeyEvent, aType );
+                    if ( *iEventStore & CWPASecuritySettings::EShutDownReq )
+                        {
+                        ProcessCommandL( EEikCmdExit );
+                        }
+                    else if ( *iEventStore & CWPASecuritySettings::EExitReq )
+                        {
+                        ProcessCommandL( EAknCmdExit );
+                        }
+                    }
+                }
+            else
+                {
+                if ( aKeyEvent.iCode == EKeyOK )
+                    {
+                    ProcessCommandL( EWpaSelCmdChange );
+                    retval = EKeyWasConsumed;
+                    }
+                }
+            }
+        }
+
+    return retval;
+    }
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::HandleDialogPageEventL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::HandleDialogPageEventL( TInt aEventID )
+    {
+     CAknDialog::HandleDialogPageEventL( aEventID );
+         if( *iEventStore & CWPASecuritySettings::EExitReq )
+             {        
+             // Exit requested, exit with EAknCmdExit. 
+             TryExitL( EAknCmdExit );
+             }   
+
+     }
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::HandleListboxDataChangeL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::HandleListboxDataChangeL()
+    {
+    // fill up our new list with data
+    CDesCArrayFlat* itemArray = new ( ELeave ) CDesCArrayFlat( 4 );
+    CleanupStack::PushL( itemArray );
+
+    FillListWithDataL( *itemArray, *iFieldsMain, iTitlesMain );
+
+    iList->Model()->SetItemTextArray( itemArray );
+
+    CleanupStack::Pop( itemArray ); // now it is owned by the LB, so pop it
+    iItemArray = itemArray;
+
+    iList->HandleItemAdditionL();
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::ProcessCommandL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::ProcessCommandL( TInt aCommandId )
+    {
+    if ( MenuShowing() )
+        {
+        HideMenu();
+        }
+
+    switch ( aCommandId )
+        {
+        case EWpaSelCmdChange:
+            {
+            ChangeSettingsL( EFalse );
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
+                                    iEikonEnv->EikAppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EAknSoftkeyBack:
+        case EAknCmdExit:
+        case EEikCmdExit:
+            {
+            TryExitL( aCommandId );
+            break;
+            }
+
+        default:
+            {
+            // silently ignore it
+            break;
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::HandleListBoxEventL( CEikListBox* /*aListBox*/,
+                                                   TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        case EEventItemSingleClicked:
+            {
+            ChangeSettingsL( ETrue );
+            break;
+            }
+
+        case EEventEditingStarted:
+        case EEventEditingStopped:
+        case EEventPenDownOnItem:
+        case EEventItemDraggingActioned:
+            {
+            break;
+            }
+
+        default:
+            {
+            // New events like
+            // EEventPanningStarted
+            // EEventPanningStopped
+            // EEventFlickStarted
+            // EEventFlickStopped
+            // EEventEmptyListClicked
+            // EEventEmptyAreaClicked
+            break;
+            };
+        };
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::PreLayoutDynInitL()
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::PreLayoutDynInitL()
+    {
+    // first get StatusPane
+    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
+
+    // then get TitlePane
+    iTitlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( 
+                                                    EEikStatusPaneUidTitle ) );
+    // if not already stored, store it for restoring
+    if ( !iOldTitleText )
+        {
+        iOldTitleText = iTitlePane->Text()->AllocL();
+        }
+
+    // set new titlepane text
+    iTitlePane->SetTextL( iConnectionName );
+
+    iList = STATIC_CAST( CAknSettingStyleListBox*, 
+                                        Control( KWpaMainSettingsListboxId ) );
+
+    iList->CreateScrollBarFrameL( ETrue );
+    iList->ScrollBarFrame()->SetScrollBarVisibilityL
+        ( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
+
+    HandleListboxDataChangeL();
+
+    iList->SetCurrentItemIndex( 0 );
+    iList->SetListBoxObserver( this );
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::DynInitMenuPaneL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::DynInitMenuPaneL( TInt aResourceId, 
+                                                CEikMenuPane* aMenuPane )
+    {
+    CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+    if ( aResourceId == R_WPA_SECURITY_SETTINGS_MENU )
+        {
+        if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp );
+            }
+        }
+    }
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::FillListWithDataL
+//----------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::FillListWithDataL( CDesCArrayFlat& aItemArray,
+                                                 const TWpaMember& arr, 
+                                                 const TInt* aRes )
+    {
+    TWpaMember* wpaMember = MUTABLE_CAST( TWpaMember*, &arr );
+
+    TInt numOfFields = iSecuritySettings->SecurityMode() == ESecurityModeWpa ? 
+                                        KNumOfFieldsMain : KNumOfFieldsMain-1;
+
+    for( TInt i = 0; i < numOfFields; i++ )
+        {
+        // 802.1x has no WpaMode (PSK not supported) and no Wpa2Only selection
+        if ( iSecuritySettings->SecurityMode() == ESecurityMode8021x && 
+                    (*wpaMember == EWpaMode ||*wpaMember == EWpaWpa2Only ) )
+            {
+            wpaMember++;
+            aRes++;
+            }
+        // If PSK in use, EAP plug-in configuration is not shown
+        if ( *wpaMember == EWpaEapConfig && iSecuritySettings->WPAMode() )
+            {
+            wpaMember++;
+            aRes++;
+            }
+            
+        if ( *wpaMember == EWpaEapConfig )
+            {
+            // Define a heap descriptor to hold all the item text
+            // HBufC is non-modifiable
+            HBufC* title = iEikonEnv->AllocReadResourceLC( *aRes );
+
+            // Define a heap descriptor to hold all the item text
+            HBufC* itemText = HBufC::NewLC( title->Length() + 
+                                            KSpaceAndTabsLength );
+
+            // Define a modifiable pointer descriptor to be able to append
+            // text to the non-modifiable heap descriptor itemText
+            TPtr itemTextPtr = itemText->Des();
+            itemTextPtr.Format( KTxtMenuListItemFormat, title );
+
+            aItemArray.AppendL( *itemText );
+
+            CleanupStack::PopAndDestroy( 2, title );   // itemText, title
+            
+            // If Eap in use, PreSharedKey is not shown
+            wpaMember++;
+            aRes++;
+            }
+        else            // EWpaMode, EWpaPreSharedKey, EWpaWpa2Only, EWpaUnencryptedConn:
+            {
+            if (( *wpaMember != EWpaUnencryptedConn ) || 
+                (FeatureManager::FeatureSupported( KFeatureIdFfWlanAuthenticationOnlySupport ) ) )
+                {
+                HBufC* itemText = CreateTextualListBoxItemL( *wpaMember, *aRes );
+                CleanupStack::PushL( itemText );
+                aItemArray.AppendL( itemText->Des() );
+                CleanupStack::PopAndDestroy( itemText );
+                }
+            }
+
+        wpaMember++;
+        aRes++;
+        }
+    }
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::UpdateTextualListBoxItemL
+//----------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::UpdateTextualListBoxItemL( TWpaMember aMember,
+                                                         TInt aRes, TInt aPos )
+    {
+    HBufC* itemText;
+    HBufC* title;
+
+    if ( aMember == EWpaEapConfig )
+        {
+        title = iEikonEnv->AllocReadResourceLC( aRes );
+
+        // Define a heap descriptor to hold all the item text
+        itemText = HBufC::NewLC( title->Length() + KSpaceAndTabsLength );
+
+        // Define a modifiable pointer descriptor to be able to append
+        // text to the non-modifiable heap descriptor itemText
+        TPtr itemTextPtr = itemText->Des();
+        itemTextPtr.Format( KTxtMenuListItemFormat, title );
+        }
+    else
+        {
+        itemText = CreateTextualListBoxItemL( aMember, aRes );
+        CleanupStack::PushL( itemText );
+        }
+
+    // first try to add, if Leaves, list will be untouched
+    iItemArray->InsertL( aPos, itemText->Des() );
+    // if successful, previous item is scrolled up with one,
+    // so delete that one...
+    if ( ++aPos < iItemArray->MdcaCount() )
+        {
+        iItemArray->Delete( aPos );
+        }
+
+    CleanupStack::PopAndDestroy( itemText );
+
+    if ( aMember == EWpaEapConfig )
+        {
+        CleanupStack::PopAndDestroy( title );   // title
+        }
+    }
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::CreateTextualListBoxItemL
+//----------------------------------------------------------
+//
+HBufC* CWPASecuritySettingsDlg::CreateTextualListBoxItemL( TWpaMember aMember,
+                                                           TInt aRes )
+    {
+    // Define a heap descriptor to hold all the item text
+    // HBufC is non-modifiable
+    HBufC* title = iEikonEnv->AllocReadResourceLC( aRes );
+
+    // both variables needed independently of the following conditions so I
+    // must declare them here...
+    HBufC16* value;
+    TUint32 valueResourceID;
+
+    switch ( aMember )
+        {
+        case EWpaMode:
+            {
+            valueResourceID = iSecuritySettings->WPAMode() ?
+                              R_WPA_MODE_PRESHARED_KEY : R_WPA_MODE_EAP;
+            break;
+            }
+        
+        case EWpaWpa2Only:
+            {
+            valueResourceID = iSecuritySettings->Wpa2Only() ?
+                              R_WPA_CIPHER_NOT_ALLOWED : R_WPA_CIPHER_ALLOWED;
+            break;
+            }
+
+        case EWpaUnencryptedConn:
+            {
+            valueResourceID = iSecuritySettings->WPAUnencryptedConn() ?
+                              R_WPA_UNENCRYPTED_CONN_ALLOW : R_WPA_UNENCRYPTED_CONN_NOT_ALLOW;
+            break;
+            }
+            
+        case EWpaPreSharedKey:
+            {
+            valueResourceID = 
+                        iSecuritySettings->WPAPreSharedKey()->Length() == 0 ?
+                        R_WPA_PRESHARED_KEY_MUST_BE_DEFINED : 0;
+
+            break;
+            }
+
+        default:
+            {
+            valueResourceID = 0;
+            break;
+            }
+        }
+
+    _LIT( KStars, "****" );
+    _LIT( KTxtListItemFormat, " \t%S\t\t%S" );
+    _LIT( KTxtCompulsory, "\t*" );
+
+    if ( valueResourceID )
+        {
+        // Read up value text from resource
+        value = iEikonEnv->AllocReadResourceLC( valueResourceID );
+        }
+    else
+        {
+        value = HBufC::NewLC( KStars().Length() );
+        value->Des().Copy( KStars ); 
+        }
+
+    // Define a heap descriptor to hold all the item text
+    // +4 for space and tab characters
+    TInt length = title->Length() + value->Length() + KSpaceAndTabsLength;    
+    if ( aMember == EWpaPreSharedKey )  // Compulsory
+        {
+        length += KTxtCompulsory().Length();
+        }
+
+    HBufC* itemText = HBufC::NewLC( length );
+
+    // Define a modifiable pointer descriptor to be able to append text to the
+    // non-modifiable heap descriptor itemText
+    TPtr itemTextPtr = itemText->Des();
+    itemTextPtr.Format( KTxtListItemFormat, title, value );
+    if ( aMember == EWpaPreSharedKey )  // Compulsory
+        {
+        itemTextPtr.Append( KTxtCompulsory );
+        }
+    CleanupStack::Pop( itemText );    // itemtext,
+
+    CleanupStack::PopAndDestroy( 2 ); // title, value
+
+    return itemText;
+    }
+
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::ShowPopupSettingPageL
+//----------------------------------------------------------
+//
+TBool CWPASecuritySettingsDlg::ShowPopupSettingPageL( TWpaMember aData )
+    {
+    TInt currvalue( 0 );
+    TBool retval( EFalse );
+    TInt attr_resid( 0 );
+    
+    CDesCArrayFlat* items = FillPopupSettingPageLC( aData,  currvalue );
+
+    
+    if ( aData == EWpaUnencryptedConn)
+        {
+        attr_resid = R_WPA_UNENCRYPTED_CONN;
+        }
+    else
+        {
+        attr_resid = aData == EWpaMode ? R_WPA_MODE : R_WPA_TKIP_CIPHER;
+        }
+
+    HBufC* titlebuf = iEikonEnv->AllocReadResourceLC( attr_resid );
+    CAknRadioButtonSettingPage* dlg = new ( ELeave )CAknRadioButtonSettingPage(
+                            R_RADIO_BUTTON_SETTING_PAGE, currvalue, items );
+    CleanupStack::PushL( dlg ); 
+    TPtrC ptr( titlebuf->Des() );
+    dlg->SetSettingTextL( ptr );
+    CleanupStack::Pop( dlg ); // dlg
+        
+    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) )
+        {
+    	retval = UpdateFromPopupSettingPage( aData, ( TBool )currvalue );
+	    }
+
+    CleanupStack::PopAndDestroy( titlebuf );
+    CleanupStack::PopAndDestroy( items );   // items. It deletes also all 
+                                            // elements in the array.
+    return retval;
+    }
+
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::ShowPopupTextSettingPageL
+//----------------------------------------------------------
+//
+TBool CWPASecuritySettingsDlg::ShowPopupTextSettingPageL()
+    {
+    TBool retval( EFalse );
+
+    HBufC16* bufKeyData = HBufC16::NewLC( EMaxLengthOfPreSharedKey );
+    TPtr16 ptrKeyData( bufKeyData->Des() );
+
+    TBool showPage( ETrue );
+    while ( showPage )
+        {
+        CAknTextSettingPage* settingPage = 
+                new( ELeave )CAknTextSettingPage( R_TEXT_SETTING_PAGE_KEY_DATA,
+                ptrKeyData, EAknSettingPageNoOrdinalDisplayed );
+
+        if ( settingPage->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) )
+            {
+            HBufC8* buf8 = HBufC8::NewLC( bufKeyData->Des().Length() );
+            buf8->Des().Copy( bufKeyData->Des() ); 
+
+            if ( bufKeyData->Des().Length() < EMinLengthOfPreSharedKeyAscii )
+                {
+                HBufC* stringLabel;
+                
+                stringLabel = StringLoader::LoadL( 
+                                                R_INFO_PRESHARED_KEY_TOO_SHORT,
+                                                iEikonEnv );
+
+                CleanupStack::PushL( stringLabel );
+
+	            CAknInformationNote* dialog = new ( ELeave )
+                                                CAknInformationNote( ETrue );
+	            dialog->ExecuteLD( *stringLabel );
+
+                CleanupStack::PopAndDestroy( stringLabel );   // stringLabel
+
+                ptrKeyData.Zero();
+                }
+            else
+                {
+                if ( iSecuritySettings->SetWPAPreSharedKey( ptrKeyData ) != 
+                                                                     KErrNone )
+                    {
+                    HBufC* stringLabel;
+                    stringLabel = StringLoader::LoadL( 
+                                                R_INFO_PRESHARED_KEY_NOT_HEX );
+                    CleanupStack::PushL( stringLabel );
+
+    	            CAknInformationNote* dialog = new ( ELeave )
+                                                  CAknInformationNote( ETrue );
+                    CleanupStack::Pop( stringLabel );
+                    	
+      	            dialog->ExecuteLD( *stringLabel );
+      	            
+                    delete stringLabel;
+                    }
+                else
+                    {
+                    retval = ETrue;
+                    showPage = EFalse;
+                    }
+
+                }
+
+            CleanupStack::PopAndDestroy( buf8 ); // buf8
+            }
+        else
+            {
+            showPage = EFalse;
+            }
+        }
+
+    CleanupStack::PopAndDestroy( bufKeyData ); // bufKeyData
+
+    return retval;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::FillPopupSettingPageLC
+// ---------------------------------------------------------
+//
+CDesCArrayFlat* CWPASecuritySettingsDlg::FillPopupSettingPageLC( 
+                                                            TWpaMember aData,
+                                                            TInt& aCurrvalue )
+    {
+    CDesCArrayFlat* items = new( ELeave)CDesCArrayFlat( 1 );
+    CleanupStack::PushL( items );
+
+    if ( aData == EWpaMode )
+        {
+        if ( iPlugin )
+            {
+            aCurrvalue = iSecuritySettings->WPAMode();
+
+            items->AppendL( *iEikonEnv->AllocReadResourceLC( R_WPA_MODE_EAP ) );
+            CleanupStack::PopAndDestroy();
+            }
+        else
+            {
+            aCurrvalue = 0;
+            }
+
+        items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                                R_WPA_MODE_PRESHARED_KEY ) );
+        CleanupStack::PopAndDestroy();
+        }
+    else if ( aData == EWpaWpa2Only )
+        {
+        items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                                R_WPA_CIPHER_ALLOWED ) );
+        CleanupStack::PopAndDestroy();
+        items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                                R_WPA_CIPHER_NOT_ALLOWED ) );
+        CleanupStack::PopAndDestroy();
+
+        aCurrvalue = iSecuritySettings->Wpa2Only();
+        }
+    else    // EWpaUnencryptedConn
+        {
+        items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WPA_UNENCRYPTED_CONN_NOT_ALLOW ) );
+        CleanupStack::PopAndDestroy();
+        items->AppendL( *iEikonEnv->AllocReadResourceLC( 
+                                            R_WPA_UNENCRYPTED_CONN_ALLOW ) );
+        CleanupStack::PopAndDestroy();
+
+        aCurrvalue = iSecuritySettings->WPAUnencryptedConn();
+        }
+    
+    return items;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::UpdateFromPopupSettingPage
+// ---------------------------------------------------------
+//
+TBool CWPASecuritySettingsDlg::UpdateFromPopupSettingPage( TWpaMember aData,
+                                                           TBool aCurrvalue )
+    {
+    TBool retVal( EFalse );
+
+    if ( aData == EWpaMode )
+        {
+        if ( !iPlugin )
+            {
+            aCurrvalue = ETrue;
+            }
+
+        if ( iSecuritySettings->WPAMode() != aCurrvalue )
+            {
+            iSecuritySettings->SetWPAMode( aCurrvalue );
+            retVal = ETrue;
+            }
+        }
+    else if ( aData == EWpaWpa2Only )
+        {
+        if ( iSecuritySettings->Wpa2Only() != aCurrvalue )
+            {   
+            iSecuritySettings->SetWpa2Only( aCurrvalue );
+            retVal = ETrue;
+            }
+        }
+    else  // EWpaUnencryptedConn
+        {
+        if ( iSecuritySettings->WPAUnencryptedConn() != aCurrvalue )
+            {   
+            iSecuritySettings->SetWPAUnencryptedConn( aCurrvalue );
+            retVal = ETrue;
+            }
+        }
+
+    return retVal;
+    }
+
+
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::ChangeSettingsL
+//----------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::ResetEapConfigFlag( TAny* aPtr )
+    {
+    CWPASecuritySettingsDlg* self = 
+                         static_cast<CWPASecuritySettingsDlg*>( aPtr );
+                         
+    self->iEapConfigActive = EFalse;
+    }
+
+
+//----------------------------------------------------------
+// CWPASecuritySettingsDlg::ChangeSettingsL
+//----------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::ChangeSettingsL( TBool aQuick )
+    {
+    TInt itemIndex;
+    TInt shift;
+
+    itemIndex = ( Max( iList->CurrentItemIndex(), 0 ) );
+
+    //In 802.1x the first item is EapConfig and second item is UncryptedConn
+    if (iSecuritySettings->SecurityMode() == ESecurityMode8021x)
+        {
+        shift = ( itemIndex == EWpaMode ) ? 1 : 3;
+        }
+    else
+        {
+        shift = ( itemIndex >= EWpaWpa2Only || 
+                ( itemIndex == EWpaEapConfig && 
+                        iSecuritySettings->WPAMode() ) ) ? 1 : 0;
+        }
+    
+    TWpaMember* ptr = iFieldsMain + itemIndex + shift;
+    TInt* titPtr = iTitlesMain + itemIndex + shift;
+
+    switch ( *ptr  )
+        {
+        case EWpaMode:
+            { // Pop-up setting item
+            TBool changed( ETrue );
+            if ( aQuick )
+                {
+                if ( iPlugin )
+                    {
+                    iSecuritySettings->SetWPAMode( 
+                                            !iSecuritySettings->WPAMode() );
+                    }
+                else
+                    {
+                    changed = EFalse;
+                    }
+                }
+            else
+                {
+                changed = ShowPopupSettingPageL( EWpaMode );
+                }
+
+            if ( changed )
+                {
+                UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex );
+                *iEventStore |= CWPASecuritySettings::EModified;
+
+                TInt shiftItem = iSecuritySettings->WPAMode() ? 2 : 1;
+
+                ptr += shiftItem;
+                titPtr += shiftItem;
+
+                UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex+1 );
+                iList->SetCurrentItemIndexAndDraw( itemIndex+1 );
+                }
+            break;
+            }
+
+        case EWpaWpa2Only:
+            { // Setting item with two available values
+            TBool changed( ETrue );
+            if ( aQuick )
+                {
+                iSecuritySettings->SetWpa2Only( 
+                                            !iSecuritySettings->Wpa2Only() );
+                }
+            else
+                {
+                changed = ShowPopupSettingPageL( EWpaWpa2Only );
+                }
+
+            if ( changed )
+                {
+                UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex );
+                *iEventStore |= CWPASecuritySettings::EModified;
+                }
+            break;
+            }
+
+        case EWpaUnencryptedConn:
+             { // Setting item with two available values
+             TBool changed( ETrue );
+             if ( aQuick )
+                 {
+                 iSecuritySettings->SetWPAUnencryptedConn( 
+                                             !iSecuritySettings->WPAUnencryptedConn() );
+                 }
+             else
+                 {
+                 changed = ShowPopupSettingPageL( EWpaUnencryptedConn );
+                 }
+
+             if ( changed )
+                 {
+                 UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex );
+                 *iEventStore |= CWPASecuritySettings::EModified;
+                 }
+             break;
+             }
+
+        case EWpaPreSharedKey:
+            { // Text setting item
+            if ( ShowPopupTextSettingPageL() )
+                {
+                UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex );
+                *iEventStore |= CWPASecuritySettings::EModified;
+                }
+            break;
+            }
+
+        case EWpaEapConfig:
+            {
+            if ( iPlugin && !iEapConfigActive )
+                {
+                iEapConfigActive = ETrue;
+                CleanupStack::PushL( TCleanupItem( ResetEapConfigFlag, this ) );
+                
+
+                // using expanded EAP types
+                iEnabledPluginList = (
+                               iSecuritySettings->WPAEnabledEAPPlugin()? 
+                                    (TDesC8&)*iSecuritySettings->WPAEnabledEAPPlugin(): 
+                                    KNullDesC8 );
+                                    
+                iDisabledPluginList = (
+                               iSecuritySettings->WPADisabledEAPPlugin()?
+                                    (TDesC8&)*iSecuritySettings->WPADisabledEAPPlugin():
+                                    KNullDesC8 );
+
+                TInt buttonId = iPlugin->EAPPluginConfigurationL( 
+                                                     iEnabledPluginList, 
+                                                     iDisabledPluginList, 
+                                                     iIapId,
+                                                     iConnectionName );
+
+                CleanupStack::PopAndDestroy( 1 ); // ResetEapConfigFlag
+                
+                if ( buttonId == EEikCmdExit )        // ShutDown requested
+                    {
+                    *iEventStore |= CWPASecuritySettings::EShutDownReq;
+                    }
+                else if ( buttonId == EAknCmdExit )
+                    {
+                    *iEventStore |= CWPASecuritySettings::EExitReq;
+                    }
+
+                if ( !iSecuritySettings->WPAEnabledEAPPlugin() || 
+                     iEnabledPluginList != 
+                                    *iSecuritySettings->WPAEnabledEAPPlugin() )
+                    {
+                    User::LeaveIfError( 
+                        iSecuritySettings->SetWPAEnabledEAPPlugin( 
+                                                        iEnabledPluginList ) );
+                    *iEventStore |= CWPASecuritySettings::EModified;
+                    }
+    
+                if ( !iSecuritySettings->WPADisabledEAPPlugin() ||
+                     iDisabledPluginList != 
+                                   *iSecuritySettings->WPADisabledEAPPlugin() )
+                    {
+                    User::LeaveIfError( 
+                        iSecuritySettings->SetWPADisabledEAPPlugin( 
+                                                        iDisabledPluginList ) );
+                    *iEventStore |= CWPASecuritySettings::EModified;
+                    }
+
+                // If exiting from the menu, pass it on 
+                if( buttonId == EAknCmdExit )
+                    {
+                    if (aQuick == EFalse)
+                        {
+                            TryExitL( buttonId );
+                        }
+                        // Don't exit here if aQuick==ETrue. 
+                        // Framework command chain will
+                        // cause a KERN-EXEC 3 panic. Handle the exit in 
+                        // HandleDialogPageEventL(). 
+                    }
+                }
+            
+            return;
+            }
+
+
+        default:
+            {
+            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
+            break;
+            }
+        }
+
+    iList->ScrollToMakeItemVisible( itemIndex );
+    iList->SetCurrentItemIndexAndDraw( itemIndex );
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsDlg::GetHelpContext
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsDlg::GetHelpContext( TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KWPASecuritySettingsUiHelpMajor;
+    if ( iSecuritySettings->SecurityMode() == ESecurityModeWpa )
+        {
+        aContext.iContext = KSET_HLP_WLAN_WPA_MAIN;
+        }
+    else    // iSecuritySettings->SecurityMode() == ESecurityMode8021x
+        {
+        aContext.iContext = KSET_HLP_WLAN_8021X_MAIN;
+        }
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsImpl.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,879 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettingsImpl.     
+*
+*/
+
+/*
+* %version: tr1cfwln#29 %
+*/
+
+// INCLUDE FILES
+
+#include "WPASecuritySettingsUiPanic.h"
+
+#include "WPASecuritySettingsUI.hrh"
+
+#include <WPASecuritySettingsUI.h>
+#include <commdb.h>
+#include <EAPPluginConfigurationIf.h>
+#include "WPASecuritySettingsImpl.h"
+
+#include <commsdattypesv1_1.h>
+#include <cmmanagertablefields.h>
+#include <wlancontainer.h>
+
+
+// CONSTANTS
+LOCAL_D const TUint32 KUidNone = 0;     // Invalid id
+LOCAL_D const TUint32 E8021X = 4;       // 802.1X security mode
+LOCAL_D const TUint32 EWpa = 8;         // Wpa security mode
+LOCAL_D const TUint32 EWpa2 = 16;       // Wpa2 only security mode
+
+LOCAL_D const TUint32 KExpEapTypeLength = 8;    // expanded EAP type length
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::NewL
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsImpl* CWPASecuritySettingsImpl::NewL( 
+                                                TSecurityMode aSecurityMode )
+    {
+    CWPASecuritySettingsImpl* settings = new ( ELeave ) 
+                                    CWPASecuritySettingsImpl( aSecurityMode );
+    CleanupStack::PushL( settings );
+    settings->ConstructL();
+    CleanupStack::Pop( settings ); 
+    return settings;    
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::CWPASecuritySettingsImpl
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsImpl::CWPASecuritySettingsImpl( 
+                                                TSecurityMode aSecurityMode )
+: iSecurityMode( aSecurityMode ),
+  iWPAMode( EFalse ),
+  iWpa2Only( EFalse ),
+  iWPAUnencryptedConn( EFalse )
+    {
+    iWPAEAPPlugin.Zero();
+    iWPAPreSharedKey.Zero();
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::ConstructL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::ConstructL()
+    {
+    _LIT8( KMatchString, "EAPPConfig" );
+	TRAPD( err, iPlugin = CEAPPluginConfigurationIf::NewL( KMatchString ) );
+    if ( err != KErrNone && err != KEComErrNoInterfaceIdentified )
+        {
+        User::Leave( err );
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::~CWPASecuritySettingsImpl
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsImpl::~CWPASecuritySettingsImpl()
+    {
+    delete iWPAEnabledEAPPlugin;
+    delete iWPADisabledEAPPlugin;
+    delete iPlugin;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::LoadL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::LoadL( TUint32 aIapId, 
+                                      CCommsDatabase& aCommsDb )
+    {
+    if ( aIapId == KUidNone )
+        {
+        return;
+        }
+
+    CCommsDbTableView* wLanServiceTable;
+        
+    wLanServiceTable = aCommsDb.OpenViewMatchingUintLC(
+                    TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId );
+
+    TInt errorCode = wLanServiceTable->GotoFirstRecord();
+    if ( errorCode == KErrNone )
+        {
+        if ( iSecurityMode == ESecurityMode8021x )
+            {
+            // in 802.1x PSK mode is not supported
+            iWPAMode = EFalse;
+            }
+        else
+            {
+            // Get WPA Mode
+            TRAPD( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_ENABLE_WPA_PSK ),
+                                                    ( TUint32& ) iWPAMode ) );
+            if ( err != KErrNone )
+                { // do not leave if value is not present in table...
+                if ( err != KErrUnknown )
+                    User::Leave( err );
+                }
+            }
+        
+        TUint32 secMode = 0;
+        // Get WPA2 Only Mode
+        TRAPD( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_SECURITY_MODE ),
+                                                 secMode ) );
+        if ( err != KErrNone )
+            { // do not leave if value is not present in table...
+            if ( err != KErrUnknown )
+                User::Leave( err );
+            }
+
+        iWpa2Only = secMode == EWpa2;
+
+        // Get Unencrypted Connection mode for 802.1x
+        if ( iSecurityMode == ESecurityMode8021x )
+            {
+            // WLAN_WPA_KEY_LENGTH is used also for Unencrypted Connection mode
+            TRAPD( err2, wLanServiceTable->ReadUintL( TPtrC( WLAN_WPA_KEY_LENGTH ),
+                                                ( TUint32& ) iWPAUnencryptedConn ) );
+            if ( err2 != KErrNone )
+                { // do not leave if value is not present in table...
+                if ( err2 != KErrUnknown )
+                    User::Leave( err2 );
+                }
+            }
+
+        // Get EAP list
+    	iWPAEAPPlugin.Copy( *wLanServiceTable->ReadLongTextLC( 
+                                                        TPtrC( WLAN_EAPS ) ) );
+	    CleanupStack::PopAndDestroy();
+	    
+	    if ( !iWPAEAPPlugin.Length() )
+	        {
+	        // no data found in the old column, use the new ones
+
+	        // enabled EAP types
+	        HBufC *data = wLanServiceTable->ReadLongTextLC( 
+	                                              TPtrC( WLAN_ENABLED_EAPS ) );
+
+            TPtrC8 reint( reinterpret_cast<const TUint8*>( data->Ptr() ), 
+	                                                       data->Size() );
+            
+        	delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL;
+        	iWPAEnabledEAPPlugin = reint.AllocL();
+
+            CleanupStack::PopAndDestroy( data );
+            
+            
+            // 2. disabled EAP types
+            data = wLanServiceTable->ReadLongTextLC( 
+	                                             TPtrC( WLAN_DISABLED_EAPS ) );
+            
+            reint.Set( reinterpret_cast<const TUint8*>( data->Ptr() ), 
+	                                                    data->Size() );
+	                                                    
+        	delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL;
+        	iWPADisabledEAPPlugin = reint.AllocL();
+
+	        CleanupStack::PopAndDestroy( data );
+	        }
+	    else
+	        {
+	        // generate appropriate entries in the new enabled and disabled list,
+	        // overwriting those values 
+	        
+	        // count the + and - signs to determine the size of enabled and 
+	        // disabled descriptors
+	        TLex lex( iWPAEAPPlugin );
+            
+	        TInt numPlus = 0;
+	        TInt numMinus = 0;
+	        TChar ch;
+	        while ( !lex.Eos() )
+	            {
+	            ch = lex.Get();
+	            if ( ch == '+' ) ++numPlus;
+	            else if ( ch == '-' ) ++numMinus;
+	            }
+	            
+            // each entry consumes 8 bytes in binary format
+            delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL;
+            iWPAEnabledEAPPlugin = HBufC8::NewL( 8 * numPlus );
+            
+            delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL;
+            iWPADisabledEAPPlugin = HBufC8::NewL( 8 * numMinus );
+
+            lex.Assign( iWPAEAPPlugin );
+            
+            while ( !lex.Eos() )
+                {
+                // beginning of implementation UID
+                TInt16 implUid = 0;
+                
+                if ( lex.Val( implUid ) != KErrNone || !implUid )
+                    {
+                    // if the old string is corrupted, null out both lists
+                    iWPAEnabledEAPPlugin->Des().Zero();
+                    iWPADisabledEAPPlugin->Des().Zero();
+                    break;
+                    }
+
+                // append it to the appropriate list ('+' enabled, '-' disabled)
+                _LIT8( KPadding, "\xFE\0\0\0\0\0\0" );
+                _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0");
+                const TInt KPlainMsChapV2ImplUid = 99;
+                
+                if ( implUid > 0 )
+                    {
+                    iWPAEnabledEAPPlugin->Des().Append( 
+                                        Abs( implUid ) == KPlainMsChapV2ImplUid? 
+                                                    KMsChapV2Padding: KPadding );
+                    iWPAEnabledEAPPlugin->Des().Append( Abs( implUid ) );
+                    }
+                else if (implUid < 0 )
+                    {
+                    iWPADisabledEAPPlugin->Des().Append( 
+                                        Abs( implUid ) == KPlainMsChapV2ImplUid? 
+                                                    KMsChapV2Padding: KPadding );
+                    iWPADisabledEAPPlugin->Des().Append( Abs( implUid ) );
+                    }
+                
+                // swallow the delimiter (',')
+                lex.Get();
+                }
+                
+            // finally, wipe old column data
+            iWPAEAPPlugin.Zero();
+	        }
+	        
+        // Get PreShared Key
+	    if ( iSecurityMode != ESecurityMode8021x )
+	        {
+            wLanServiceTable->ReadTextL( TPtrC( WLAN_WPA_PRE_SHARED_KEY ), 
+                                    iWPAPreSharedKey );
+	        }
+
+        if ( !IsValidPsk( iWPAPreSharedKey ) )
+            {       
+            // invalid key format
+            iWPAPreSharedKey.Zero();
+            }
+        }
+
+    CleanupStack::PopAndDestroy( wLanServiceTable );  // wLanServiceTable
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SaveL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::SaveL( TUint32 aIapId, 
+                                      CCommsDatabase& aCommsDb,
+                                      TTypeOfSaving aTypeOfSaving,
+                                      TUint32 aOldIapId )
+    {
+    CCommsDbTableView* wLanServiceTable;
+
+    // Caller MUST initiate a transaction, WE WILL NOT.
+
+    wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( 
+                    TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId );
+    TInt errorCode = wLanServiceTable->GotoFirstRecord();
+
+    if ( errorCode == KErrNone )
+        {
+        wLanServiceTable->UpdateRecord();
+        }
+    else
+        {
+        TUint32 dummyUid( KUidNone );
+        User::LeaveIfError( wLanServiceTable->InsertRecord( dummyUid ) );
+
+        // Save link to LAN service
+        wLanServiceTable->WriteUintL( TPtrC( WLAN_SERVICE_ID ), aIapId );
+        }
+
+    // Save WPA Mode
+    if ( iSecurityMode != ESecurityMode8021x )
+        {
+        wLanServiceTable->WriteUintL( TPtrC( WLAN_ENABLE_WPA_PSK ), 
+                                  ( TUint32& ) iWPAMode );
+        }
+
+    TUint32 secMode;
+
+    if ( iSecurityMode == ESecurityMode8021x )
+        {
+        secMode = E8021X;
+        }
+    else if ( iWpa2Only )
+        {
+        secMode = EWpa2;
+        }
+    else
+        {
+        secMode = EWpa;
+        }
+
+    // Save security mode
+    wLanServiceTable->WriteUintL( TPtrC( WLAN_SECURITY_MODE ), secMode );
+
+    // With expanded EAP types allowed we no longer need the old column
+    iWPAEAPPlugin.Zero(); 
+
+    // Save EAP list
+    wLanServiceTable->WriteLongTextL( TPtrC( WLAN_EAPS ), iWPAEAPPlugin );
+
+
+    // Save the expanded EAPs
+    wLanServiceTable->WriteTextL( TPtrC( WLAN_ENABLED_EAPS ), 
+                                  iWPAEnabledEAPPlugin? 
+                                        (const TDesC8&)*iWPAEnabledEAPPlugin: 
+                                        (const TDesC8&)KNullDesC8 );
+
+    wLanServiceTable->WriteTextL( TPtrC( WLAN_DISABLED_EAPS ), 
+                                  iWPADisabledEAPPlugin? 
+                                        (const TDesC8&)*iWPADisabledEAPPlugin: 
+                                        (const TDesC8&)KNullDesC8 );
+ 
+
+
+    if ( iSecurityMode == ESecurityMode8021x )
+        {
+        // In 802.1x WpaKeyLength is not used 
+        // and the field is reused to save UnencryptedConn mode
+        wLanServiceTable->WriteUintL( TPtrC( WLAN_WPA_KEY_LENGTH ), 
+                                      ( TUint32& ) iWPAUnencryptedConn );
+        }
+    else
+        {
+        // Save PreShared Key
+        wLanServiceTable->WriteTextL( TPtrC( WLAN_WPA_PRE_SHARED_KEY ), 
+                                  iWPAPreSharedKey );
+    
+        // Save PreShared Key Length
+        wLanServiceTable->WriteUintL( TPtrC( WLAN_WPA_KEY_LENGTH ), 
+                                        iWPAPreSharedKey.Length() );
+        }
+
+    wLanServiceTable->PutRecordChanges();
+
+    if ( iPlugin )
+        {
+        if ( aTypeOfSaving == ESavingBrandNewAP )
+            {
+            iPlugin->ChangeIapIDL( aOldIapId, aIapId );
+            }
+        else if ( aTypeOfSaving == ESavingNewAPAsACopy )
+            {
+            iPlugin->CopySettingsL( aOldIapId, aIapId );
+            }
+        }
+
+    CleanupStack::PopAndDestroy( wLanServiceTable );  // wLanServiceTable
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::DeleteL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::DeleteL( TUint32 aIapId )
+    {
+    if ( iPlugin )
+        {
+        iPlugin->DeleteSettingsL( aIapId );
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::IsValid
+// ---------------------------------------------------------
+//
+TBool CWPASecuritySettingsImpl::IsValid()
+    {
+    TBool retval = ETrue;
+    if ( iWPAMode || !iPlugin )
+        {
+        retval = IsValidPsk( iWPAPreSharedKey );
+        }
+
+    return retval;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::IsValidPsk
+// ---------------------------------------------------------
+//
+TBool CWPASecuritySettingsImpl::IsValidPsk( const TDesC8& aPsk )
+    {
+    TBool ret( EFalse );
+
+    TInt len = aPsk.Length();
+    
+    ret = ( len >= EMinLengthOfPreSharedKeyAscii && 
+            len <= EMaxLengthOfPreSharedKeyAscii );
+               
+    if ( !ret && len == ELengthOfPreSharedKeyHex )
+        {
+        // perhaps it is hex
+        ret = ETrue;
+        
+        for ( TInt i = 0; i < len; ++i )
+            {
+            TChar ch( aPsk[i] );
+            if ( !ch.IsHexDigit() )
+                {
+                // got a bad character
+                ret = EFalse;
+                break;
+                }
+            }
+        }
+    
+    return ret;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPAPreSharedKey
+// ---------------------------------------------------------
+//
+TInt CWPASecuritySettingsImpl::SetWPAPreSharedKey( 
+                                                const TDesC& aPreSharedKey )
+    {
+    TInt ret( KErrNone );
+    
+    HBufC8* buf8 = HBufC8::New( aPreSharedKey.Length() );
+    
+    if ( buf8 )
+        {
+        TPtr8 pskPtr( buf8->Des() );
+        pskPtr.Copy( aPreSharedKey ); 
+
+        if ( IsValidPsk( pskPtr ) )
+            {
+            SetWPAPreSharedKey( pskPtr );
+            SetWPAMode( ETrue );
+            }
+        else
+            {
+            ret = KErrArgument;
+            }
+
+        delete buf8;
+        }
+    else
+        {
+        ret = KErrNoMemory;
+        }
+    
+    return ret;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPAEnabledEAPPlugin
+// ---------------------------------------------------------
+//
+TInt CWPASecuritySettingsImpl::SetWPAEnabledEAPPlugin( 
+                                             const TDesC8& aEnabledPluginList )
+	{
+	delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL;
+
+    if ( aEnabledPluginList.Length() % KExpEapTypeLength )
+        {
+        // valid expanded EAP types occupy 8 bytes each
+        return KErrArgument;
+        }
+
+	if ( aEnabledPluginList.Length() )
+	    {
+	    iWPAEnabledEAPPlugin = aEnabledPluginList.Alloc();
+	    if ( !iWPAEnabledEAPPlugin )
+	        {
+	        return KErrNoMemory;
+	        }
+	    }
+	
+	return KErrNone;
+	}
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SetWPADisabledEAPPlugin
+// ---------------------------------------------------------
+//
+TInt CWPASecuritySettingsImpl::SetWPADisabledEAPPlugin( 
+                                            const TDesC8& aDisabledPluginList )
+	{
+	delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL;
+
+    if ( aDisabledPluginList.Length() % KExpEapTypeLength )
+        {
+        // valid expanded EAP types occupy 8 bytes each
+        return KErrArgument;
+        }
+        
+	if ( aDisabledPluginList.Length() )
+	    {
+	    iWPADisabledEAPPlugin = aDisabledPluginList.Alloc();
+	    if ( !iWPADisabledEAPPlugin )
+	        {
+	        return KErrNoMemory;
+	        }
+	    }
+	
+	return KErrNone;
+	}
+	
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::LoadL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::LoadL( TUint32 aIapId, 
+                                      CMDBSession& aSession )
+    {
+    if ( aIapId == KUidNone )
+        {
+        return;
+        }
+        
+    // Load WLAN service table        
+    // first get WLAN table id
+    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
+        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( generic );    
+    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
+    generic->LoadL( aSession );
+    TMDBElementId wlanTableId = generic->TableId();
+    
+    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
+                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
+                                    
+    // prime with service id                
+    *sidField = aIapId;
+
+    if( generic->FindL( aSession) )
+        {
+        if ( iSecurityMode == ESecurityMode8021x )
+            {
+            // in 802.1x PSK mode is not supported
+            iWPAMode = EFalse;
+            }
+        else
+            {
+            // Get WPA mode
+            CMDBField<TUint>* enableWpaPskField = static_cast<CMDBField<TUint>*>
+                          ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) );
+            iWPAMode = *enableWpaPskField;
+            }
+        
+        // Get WPA2 Only Mode
+        CMDBField<TUint>* secModeField = static_cast<CMDBField<TUint>*>
+                               ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) );
+        TUint32 secMode = *secModeField;
+        iWpa2Only = secMode == EWpa2;
+ 
+        // Get 802.1x Unencrypted Connection saved in reused WpaKeyLengthField
+        if ( iSecurityMode == ESecurityMode8021x )
+            {
+            CMDBField<TUint>* WpaKeyLengthField = static_cast<CMDBField<TUint>*>
+                          ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) );
+            iWPAUnencryptedConn = *WpaKeyLengthField;
+            }
+        
+        // Get EAP plugins
+        CMDBField<TDesC>* wlanEapsField = static_cast<CMDBField<TDesC>*>
+                                  ( generic->GetFieldByIdL( KCDTIdWlanEaps ) );
+        iWPAEAPPlugin = *wlanEapsField;
+        
+	    if ( !iWPAEAPPlugin.Length() )
+	        {
+	        // no data found in the old column, use the new ones
+
+	        // enabled EAP types
+            CMDBField<TDesC8>* wlanEnabledEapsField = 
+                          static_cast<CMDBField<TDesC8>*>
+                          ( generic->GetFieldByIdL( KCDTIdWlanEnabledEaps ) );
+
+        	delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL;
+        	iWPAEnabledEAPPlugin = 
+        	             ( ( const TDesC8& ) *wlanEnabledEapsField ).AllocL();
+
+            
+            // disabled EAP types
+            CMDBField<TDesC8>* wlanDisabledEapsField = 
+                          static_cast<CMDBField<TDesC8>*>
+                          ( generic->GetFieldByIdL( KCDTIdWlanDisabledEaps ) );
+            
+        	delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL;
+        	iWPADisabledEAPPlugin = 
+        	             ( ( const TDesC8& ) *wlanDisabledEapsField ).AllocL();
+
+	        }
+	    else
+	        {
+	        // generate appropriate entries in the new enabled and disabled list,
+	        // overwriting those values 
+	        
+	        // count the + and - signs to determine the size of enabled and 
+	        // disabled descriptors
+	        TLex lex( iWPAEAPPlugin );
+            
+	        TInt numPlus = 0;
+	        TInt numMinus = 0;
+	        TChar ch;
+	        while ( !lex.Eos() )
+	            {
+	            ch = lex.Get();
+	            if ( ch == '+' ) ++numPlus;
+	            else if ( ch == '-' ) ++numMinus;
+	            }
+	            
+            // each entry consumes 8 bytes in binary format
+            delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL;
+            iWPAEnabledEAPPlugin = HBufC8::NewL( 8 * numPlus );
+            
+            delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL;
+            iWPADisabledEAPPlugin = HBufC8::NewL( 8 * numMinus );
+
+            lex.Assign( iWPAEAPPlugin );
+            
+            while ( !lex.Eos() )
+                {
+                // beginning of implementation UID
+                TInt16 implUid = 0;
+                
+                if ( lex.Val( implUid ) != KErrNone || !implUid )
+                    {
+                    // if the old string is corrupted, null out both lists
+                    iWPAEnabledEAPPlugin->Des().Zero();
+                    iWPADisabledEAPPlugin->Des().Zero();
+                    break;
+                    }
+
+                // append it to the appropriate list ('+' enabled, '-' disabled)
+                _LIT8( KPadding, "\xFE\0\0\0\0\0\0" );
+                _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0");
+                const TInt KPlainMsChapV2ImplUid = 99;
+                
+                if ( implUid > 0 )
+                    {
+                    iWPAEnabledEAPPlugin->Des().Append( 
+                                        Abs( implUid ) == KPlainMsChapV2ImplUid? 
+                                                    KMsChapV2Padding: KPadding );
+                    iWPAEnabledEAPPlugin->Des().Append( Abs( implUid ) );
+                    }
+                else if (implUid < 0 )
+                    {
+                    iWPADisabledEAPPlugin->Des().Append( 
+                                        Abs( implUid ) == KPlainMsChapV2ImplUid? 
+                                                    KMsChapV2Padding: KPadding );
+                    iWPADisabledEAPPlugin->Des().Append( Abs( implUid ) );
+                    }
+                
+                // swallow the delimiter (',')
+                lex.Get();
+                }
+                
+            // finally, wipe old column data
+            iWPAEAPPlugin.Zero();
+	        }
+
+        // GetWPA preshared key
+	    if ( iSecurityMode != ESecurityMode8021x )
+	        {
+            CMDBField<TDesC8>* wpaPskField = static_cast<CMDBField<TDesC8>*>
+                       ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) );
+            iWPAPreSharedKey = *wpaPskField;
+	        }
+	    
+        if ( !IsValidPsk( iWPAPreSharedKey ) )
+            {       
+            // invalid key format
+            iWPAPreSharedKey.Zero();
+            }
+        }
+    
+    CleanupStack::PopAndDestroy( generic );
+    }
+    
+    
+// ---------------------------------------------------------
+// CWPASecuritySettingsImpl::SaveL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsImpl::SaveL( TUint32 aIapId, 
+                                      CMDBSession& aSession,
+                                      TTypeOfSaving aTypeOfSaving,
+                                      TUint32 aOldIapId )
+    {
+    const TInt KRetryWait = 100000;    // Wait time between retries in TTimeIntervalMicroSeconds32
+    const TInt KRetryCount = 50;       // Max retry count
+
+    // Load WLAN service table
+    // first get WLAN table id
+    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
+        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( generic );    
+    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
+    generic->LoadL( aSession );
+    TMDBElementId wlanTableId = generic->TableId();
+    
+    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
+                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
+    
+    // prime with service id                
+    *sidField = aIapId;
+    
+    TBool found = generic->FindL( aSession);
+   
+    // If loading failed, WLAN service record will be 
+    // created and StoreL()-d, otherwise, ModifyL()
+
+    if ( iSecurityMode != ESecurityMode8021x )
+        {
+        // Set WPA mode
+        CMDBField<TUint>* enableWpaPskField = static_cast<CMDBField<TUint>*>
+                ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) );
+        enableWpaPskField->SetL( iWPAMode );
+        }
+    
+    // Set security mode
+    TUint32 secMode;
+    if ( iSecurityMode == ESecurityMode8021x )
+        {
+        secMode = E8021X;
+        }
+    else if ( iWpa2Only )
+        {
+        secMode = EWpa2;
+        }
+    else
+        {
+        secMode = EWpa;
+        }
+    CMDBField<TUint>* secModeField = static_cast<CMDBField<TUint>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) );
+    secModeField->SetL( secMode );
+    
+    // Save EAP list
+    CMDBField<TDesC>* wlanEapsField = static_cast<CMDBField<TDesC>*>
+                                ( generic->GetFieldByIdL( KCDTIdWlanEaps ) );
+
+    // when using the expanded EAP types, wipe out data in the old column
+    iWPAEAPPlugin.Zero();
+
+    wlanEapsField->SetL( iWPAEAPPlugin );
+
+    // Save the expanded EAPs
+    CMDBField<TDesC8>* wlanEnabledEapsField = static_cast<CMDBField<TDesC8>*>
+                           ( generic->GetFieldByIdL( KCDTIdWlanEnabledEaps ) );
+    wlanEnabledEapsField->SetL( iWPAEnabledEAPPlugin? 
+                                    (const TDesC8&)*iWPAEnabledEAPPlugin: 
+                                    (const TDesC8&)KNullDesC8 );
+
+
+    CMDBField<TDesC8>* wlanDisabledEapsField = static_cast<CMDBField<TDesC8>*>
+                          ( generic->GetFieldByIdL( KCDTIdWlanDisabledEaps ) );
+    wlanDisabledEapsField->SetL( iWPADisabledEAPPlugin? 
+                                    (const TDesC8&)*iWPADisabledEAPPlugin: 
+                                    (const TDesC8&)KNullDesC8 );
+
+    // Save PreShared Key length
+    CMDBField<TUint>* keyLengthField = static_cast<CMDBField<TUint>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) );
+    if ( iSecurityMode == ESecurityMode8021x )
+        {
+        // In 802.1x keyLengthField is reused to contain Unencrypted Connection info
+        keyLengthField->SetL( iWPAUnencryptedConn );
+        }
+    else
+        {
+        keyLengthField->SetL( iWPAPreSharedKey.Length() );
+        
+        // Save PreShared Key
+        CMDBField<TDesC8>* wpaPskField = static_cast<CMDBField<TDesC8>*>
+                           ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) );
+        wpaPskField->SetL( iWPAPreSharedKey );
+        }
+    
+    TInt error( KErrNone );
+    
+    // Saving changes
+    for ( TInt i( 0 ); i < KRetryCount; i++ )
+        {
+        
+        // If table existed modify it
+        if( found )
+            {
+            TRAP( error, generic->ModifyL( aSession ) );
+            }
+                   
+        // Otherwise store a new record
+        else
+            {
+            generic->SetRecordId( KCDNewRecordRequest );
+            TRAP( error, generic->StoreL( aSession ) );
+            }
+                  
+        // If operation failed with KErrLocked, we'll retry.
+        if ( KErrLocked == error )
+            {
+            User::After( KRetryWait );
+            }
+        
+        // Otherwise break the retry loop.
+        else 
+            {
+            break;        
+            }
+        }
+    
+    // If the save operation failed, leave now. 
+    User::LeaveIfError( error );
+
+    CleanupStack::PopAndDestroy( generic );
+            
+    if ( iPlugin )
+        {
+        if ( aTypeOfSaving == ESavingBrandNewAP )
+            {
+            iPlugin->ChangeIapIDL( aOldIapId, aIapId );
+            }
+        else if ( aTypeOfSaving == ESavingNewAPAsACopy )
+            {
+            iPlugin->CopySettingsL( aOldIapId, aIapId );
+            }
+        }
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUI.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettingsUi.  
+*
+*/
+
+/*
+* %version: tr1cfwln#10 %
+*/
+
+// INCLUDE FILES
+#include "WPASecuritySettingsUiImpl.h"
+
+#include <WPASecuritySettingsUI.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUi::NewLC
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettingsUi* CWPASecuritySettingsUi::NewL( 
+                                                        CEikonEnv& aEikEnv )
+    {
+    CWPASecuritySettingsUi* secSett = new( ELeave )CWPASecuritySettingsUi;
+    CleanupStack::PushL( secSett );
+    secSett->iImpl = CWPASecuritySettingsUiImpl::NewL( aEikEnv );
+    CleanupStack::Pop( secSett ); // secSett
+    return secSett;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUi::~CWPASecuritySettingsUi
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettingsUi::~CWPASecuritySettingsUi()
+    {
+    delete iImpl;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUi::Cvt()
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettingsUi::Cvt()
+    {
+    return KErrNone;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiImpl.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettingsUiImpl. 
+*
+*/
+
+/*
+* %version: tr1cfwln#11 %
+*/
+
+// INCLUDE FILES
+#include "WPASecuritySettingsUiImpl.h"
+#include "WPASecuritySettingsDlg.h"
+#include "WPASecuritySettingsImpl.h"
+
+#include <bautils.h>
+#include <WPASecuritySettingsUI.h>
+
+#include <data_caging_path_literals.hrh>
+
+
+// CONSTANTS
+_LIT( KDriveZ, "z:" );                                    // ROM folder
+_LIT( KResourceFileName, "WPASecuritySettingsUI.rsc" );   // RSC file name.
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUiImpl::NewL
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsUiImpl* CWPASecuritySettingsUiImpl::NewL( 
+                                                        CEikonEnv& aEikEnv )
+    {
+    CWPASecuritySettingsUiImpl* uiImpl = 
+                        new( ELeave ) CWPASecuritySettingsUiImpl( aEikEnv );
+    CleanupStack::PushL( uiImpl );
+    uiImpl->ConstructL();
+    CleanupStack::Pop( uiImpl ); // uiImpl
+    return uiImpl;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUiImpl::CWPASecuritySettingsUiImpl
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsUiImpl::CWPASecuritySettingsUiImpl( CEikonEnv& aEikEnv )
+: iEventStore( ENone ), 
+  iEikEnv( &aEikEnv )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUiImpl::~CWPASecuritySettingsUiImpl
+// ---------------------------------------------------------
+//
+CWPASecuritySettingsUiImpl::~CWPASecuritySettingsUiImpl()
+    {
+    if ( iResOffset )
+        {
+        iEikEnv->DeleteResourceFile( iResOffset );
+        }
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUiImpl::ConstructL
+// ---------------------------------------------------------
+//
+void CWPASecuritySettingsUiImpl::ConstructL()
+    {
+    TFileName fileName;
+
+    fileName.Append( KDriveZ );
+    fileName.Append( KDC_RESOURCE_FILES_DIR );
+    fileName.Append( KResourceFileName );
+
+    BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), fileName );
+    iResOffset = iEikEnv->AddResourceFileL( fileName );
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUiImpl::EditL
+// ---------------------------------------------------------
+//
+TInt CWPASecuritySettingsUiImpl::EditL( CWPASecuritySettingsImpl& aSettings,
+                                        const TDesC& aTitle )
+    {
+    iEventStore = ENone;
+
+    CWPASecuritySettingsDlg* secSettDlg = 
+                        CWPASecuritySettingsDlg::NewL( iEventStore, 
+                                                       aSettings.IapId(), 
+                                                       aSettings.Plugin() );
+    secSettDlg->ConstructAndRunLD( &aSettings, aTitle );
+
+    return iEventStore;
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiPanic.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2001-2009 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: Implementation of panic function.     
+*
+*/
+
+/*
+* %version: tr1cfwln#8 %
+*/
+
+// INCLUDE FILES
+
+#include "WPASecuritySettingsUiPanic.h"
+
+#include <e32std.h>
+
+
+// ================= LOCAL FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// Panic()
+// ---------------------------------------------------------
+//
+void Panic( TWpaSecuritySettingsPanicCodes aPanic )
+    {
+    _LIT( kWpaSet, "WPASecuritySettingsUi" );
+    User::Panic( kWpaSet, aPanic );
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsstub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of class CWPASecuritySettings for 
+*              non-WLAN products to support linking 
+*
+*/
+
+/*
+* %version: 2 %
+*/
+
+// INCLUDE FILES
+#include <WPASecuritySettingsUI.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettings* CWPASecuritySettings::NewL( 
+                                                TSecurityMode /*aSecurityMode*/ )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::~CWPASecuritySettings
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettings::~CWPASecuritySettings()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::LoadL( TUint32 /*aIapId*/, 
+                                           CCommsDatabase& /*aCommsDb*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::SaveL( TUint32 /*aIapId*/, 
+                                           CCommsDatabase& /*aCommsDb*/, 
+                                           TTypeOfSaving /*aTypeOfSaving*/, 
+                                           TUint32 /*aOldIapId*/ ) const
+    {
+    }
+    
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::EditL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::EditL( CWPASecuritySettingsUi& /*aUi*/,
+                                           const TDesC& /*aTitle*/ )
+    {
+    return KErrNotSupported;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::DeleteL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::DeleteL( TUint32 /*aIapId*/ ) const
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::IsValid
+// ---------------------------------------------------------
+//
+EXPORT_C TBool CWPASecuritySettings::IsValid() const
+    {
+    return EFalse;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SetWPAPreSharedKey
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::SetWPAPreSharedKey( 
+                                                const TDesC& /*aPreSharedKey*/ )
+    {
+    return KErrNotSupported;
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::LoadL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::LoadL( TUint32 /*aIapId*/, 
+                                           CMDBSession& /*aSession*/ )
+    {
+    }
+    
+    
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C void CWPASecuritySettings::SaveL( TUint32 /*aIapId*/,
+                                           CMDBSession& /*aSession*/,
+                                           TTypeOfSaving /*aTypeOfSaving*/,
+                                           TUint32 /*aOldIapId*/ ) const
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::SetWPAEnabledEAPPlugin( 
+                                            const TDesC8& /*aEnabledPluginList*/ )
+    {
+    return KErrNotSupported;
+    }
+
+// ---------------------------------------------------------
+// CWPASecuritySettings::SaveL
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettings::SetWPADisabledEAPPlugin( 
+                                            const TDesC8& /*aDisabledPluginList*/ )
+    {
+    return KErrNotSupported;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsuistub.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2001-2009 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: Stub implementation of class CWPASecuritySettingsUi for 
+*              non-WLAN products to support linking 
+*
+*/
+
+/*
+* %version: 2 %
+*/
+
+// INCLUDE FILES
+#include <WPASecuritySettingsUI.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUi::NewLC
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettingsUi* CWPASecuritySettingsUi::NewL( 
+                                                        CEikonEnv& /*aEikEnv*/ )
+    {
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUi::~CWPASecuritySettingsUi
+// ---------------------------------------------------------
+//
+EXPORT_C CWPASecuritySettingsUi::~CWPASecuritySettingsUi()
+    {
+    }
+
+
+
+// ---------------------------------------------------------
+// CWPASecuritySettingsUi::Cvt()
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CWPASecuritySettingsUi::Cvt()
+    {
+    return KErrNotSupported;
+    }
+// End of File